Kategorien
Vollständiger Name/Bezeichnung
… kleine Beschreibung … … mit Bild rechtsbündig … Darstellungs-Größe auf ca.200px eingstellt
// OSD SPI commands: // // 8'b00000000 NOP // 8'b001H0NNN write data to osd buffer line <NNN> (H - highlight) // 8'b0100--KE enable OSD display (E) and disable Amiga keyboard (K) // 8'b1000000B reset Minimig (B - reset to bootloader) // 8'b100001AA set autofire rate // 8'b1001---S set cpu speed // 8'b1010--SS set scanline mode // 8'b1011-SMC set hard disk config (C - enable HDC, M - enable Master HDD, S - enable Slave HDD) // 8'b1100FF-S set floppy speed and drive number // 8'b1101-EAN set chipset features (N - ntsc, A - OCS A1000, E - ECS) // 8'b1110HHLL set interpolation filter (H - Hires, L - Lores) // 8'b1111SSCC set memory configuration (S - Slow, C - Chip)
Floppy.v
//decoded SPI commands reg cmd_fdd; //SPI host accesses floppy drive buffer reg cmd_hdd_rd; //SPI host reads task file registers reg cmd_hdd_wr; //SPI host writes task file registers reg cmd_hdd_data_wr; //SPI host writes data to HDD buffer reg cmd_hdd_data_rd; //SPI host reads data from HDD buffer cmd_fdd <= rx_data[15:13]==3'b000 ? 1 : 0; cmd_hdd_rd <= rx_data[15:12]==4'b1000 ? 1 : 0; cmd_hdd_wr <= rx_data[15:12]==4'b1001 ? 1 : 0; cmd_hdd_data_wr <= rx_data[15:12]==4'b1010 ? 1 : 0; cmd_hdd_data_rd <= rx_data[15:12]==4'b1011 ? 1 : 0;
HDD.h
#define CMD_IDECMD 0x04 #define CMD_IDEDAT 0x08 #define CMD_IDE_REGS_RD 0x80 #define CMD_IDE_REGS_WR 0x90 #define CMD_IDE_DATA_WR 0xA0 #define CMD_IDE_DATA_RD 0xB0 #define CMD_IDE_STATUS_WR 0xF0 #define IDE_STATUS_END 0x80 #define IDE_STATUS_IRQ 0x10 #define IDE_STATUS_RDY 0x08 #define IDE_STATUS_REQ 0x04 #define IDE_STATUS_ERR 0x01 #define ACMD_RECALIBRATE 0x10 #define ACMD_IDENTIFY_DEVICE 0xEC #define ACMD_INITIALIZE_DEVICE_PARAMETERS 0x91 #define ACMD_READ_SECTORS 0x20 #define ACMD_WRITE_SECTORS 0x30 #define ACMD_READ_MULTIPLE 0xC4 #define ACMD_WRITE_MULTIPLE 0xC5 #define ACMD_SET_MULTIPLE_MODE 0xC6
FDD.h
// floppy disk interface defs #define CMD_RDTRK 0x01 #define CMD_WRTRK 0x02 // floppy status #define DSK_INSERTED 0x01 /*disk is inserted*/ #define DSK_WRITABLE 0x10 /*disk is writable*/
fpga.c
#define CMD_HDRID 0xAA69
osd.h
/*constants*/ #define OSDCTRLUP 0x01 /*OSD up control*/ #define OSDCTRLDOWN 0x02 /*OSD down control*/ #define OSDCTRLSELECT 0x04 /*OSD select control*/ #define OSDCTRLMENU 0x08 /*OSD menu control*/ #define OSDCTRLRIGHT 0x10 /*OSD right control*/ #define OSDCTRLLEFT 0x20 /*OSD left control*/ // some constants #define OSDNLINE 8 // number of lines of OSD #define OSDLINELEN 256 // single line length in bytes #define OSDCMDREAD 0x00 // OSD read controller/key status #define OSDCMDWRITE 0x20 // OSD write video data command #define OSDCMDENABLE 0x41 // OSD enable command #define OSDCMDDISABLE 0x40 // OSD disable command #define OSDCMDRST 0x80 // OSD reset command #define OSDCMDAUTOFIRE 0x84 // OSD autofire command #define OSDCMDCFGSCL 0xA0 // OSD settings: scanlines effect #define OSDCMDCFGIDE 0xB0 // OSD enable HDD command #define OSDCMDCFGFLP 0xC0 // OSD settings: floppy config #define OSDCMDCFGCHP 0xD0 // OSD settings: chipset config #define OSDCMDCFGFLT 0xE0 // OSD settings: filter #define OSDCMDCFGMEM 0xF0 // OSD settings: memory config #define DISABLE_KEYBOARD 0x02 // disable keyboard while OSD is active