Added a quaternary IDE controller on ports 1E8-1EF/3EE;

The tertiary and quaternary IDE controllers are now fully configurable;
The IRQ of the RTL8029AS network card is now configurable;
CopyQM floppy images are now supported.
This commit is contained in:
OBattler
2016-12-28 23:34:00 +01:00
parent ad1fd0a5f6
commit 17e2cd6776
13 changed files with 1072 additions and 1210 deletions

View File

@@ -40,22 +40,36 @@
#define IDM_CDROM_REAL 40200
#define IDM_CDROM_ENABLED 40300
#define IDM_CDROM_SCSI 40400
#define IDM_SCSI_ENABLED 40500
#define IDM_SCSI_BASE130 40501
#define IDM_SCSI_BASE134 40502
#define IDM_SCSI_BASE230 40503
#define IDM_SCSI_BASE234 40504
#define IDM_SCSI_BASE330 40505
#define IDM_SCSI_BASE334 40506
#define IDM_SCSI_IRQ9 40507
#define IDM_SCSI_IRQ10 40508
#define IDM_SCSI_IRQ11 40509
#define IDM_SCSI_IRQ12 40510
#define IDM_SCSI_IRQ14 40511
#define IDM_SCSI_IRQ15 40512
#define IDM_SCSI_DMA5 40513
#define IDM_SCSI_DMA6 40514
#define IDM_SCSI_DMA7 40515
#define IDM_IDE_TER_ENABLED 40500
#define IDM_IDE_TER_IRQ9 40501
#define IDM_IDE_TER_IRQ10 40502
#define IDM_IDE_TER_IRQ11 40503
#define IDM_IDE_TER_IRQ12 40504
#define IDM_IDE_TER_IRQ14 40505
#define IDM_IDE_TER_IRQ15 40506
#define IDM_IDE_QUA_ENABLED 40507
#define IDM_IDE_QUA_IRQ9 40508
#define IDM_IDE_QUA_IRQ10 40509
#define IDM_IDE_QUA_IRQ11 40510
#define IDM_IDE_QUA_IRQ12 40511
#define IDM_IDE_QUA_IRQ14 40512
#define IDM_IDE_QUA_IRQ15 40513
#define IDM_SCSI_ENABLED 40600
#define IDM_SCSI_BASE130 40601
#define IDM_SCSI_BASE134 40602
#define IDM_SCSI_BASE230 40603
#define IDM_SCSI_BASE234 40604
#define IDM_SCSI_BASE330 40605
#define IDM_SCSI_BASE334 40606
#define IDM_SCSI_IRQ9 40607
#define IDM_SCSI_IRQ10 40608
#define IDM_SCSI_IRQ11 40609
#define IDM_SCSI_IRQ12 40610
#define IDM_SCSI_IRQ14 40611
#define IDM_SCSI_IRQ15 40612
#define IDM_SCSI_DMA5 40613
#define IDM_SCSI_DMA6 40614
#define IDM_SCSI_DMA7 40615
#define IDC_COMBO1 1000
#define IDC_COMBOVID 1001
@@ -91,87 +105,117 @@
#define IDC_EDIT5 1034
#define IDC_EDIT6 1035
#define IDC_COMBOHDT 1036
#define IDC_TEXT1 1040
#define IDC_TEXT2 1041
#define IDC_EDITC 1050
#define IDC_CFILE 1051
#define IDC_CNEW 1052
#define IDC_EDITD 1053
#define IDC_DFILE 1054
#define IDC_DNEW 1055
#define IDC_EJECTC 1056
#define IDC_EJECTD 1057
#define IDC_EDITE 1058
#define IDC_EFILE 1059
#define IDC_ENEW 1060
#define IDC_EDITF 1061
#define IDC_FFILE 1062
#define IDC_FNEW 1063
#define IDC_EJECTE 1064
#define IDC_EJECTF 1065
#define IDC_EDITG 1066
#define IDC_GFILE 1067
#define IDC_GNEW 1068
#define IDC_EDITH 1069
#define IDC_HFILE 1070
#define IDC_HNEW 1071
#define IDC_EJECTG 1072
#define IDC_EJECTH 1073
#define IDC_MEMSPIN 1070
#define IDC_MEMTEXT 1071
#define IDC_CHDD 1080
#define IDC_CCDROM 1081
#define IDC_DHDD 1082
#define IDC_DCDROM 1083
#define IDC_EHDD 1084
#define IDC_ECDROM 1085
#define IDC_FHDD 1086
#define IDC_FCDROM 1087
#define IDC_GHDD 1088
#define IDC_GCDROM 1089
#define IDC_HHDD 1090
#define IDC_HCDROM 1091
#define IDC_STEXT1 1100
#define IDC_STEXT2 1101
#define IDC_STEXT3 1102
#define IDC_STEXT4 1103
#define IDC_STEXT5 1104
#define IDC_STEXT6 1105
#define IDC_STEXT7 1106
#define IDC_STEXT8 1107
#define IDC_STEXT_DEVICE 1108
#define IDC_TEXT_MB 1120
#define IDC_EJECTC 1040
#define IDC_EDITC 1050
#define IDC_CFILE 1060
#define IDC_CNEW 1070
#define IDC_CHDD 1080
#define IDC_CCDROM 1090
#define IDC_EDIT_C_SPT 1200
#define IDC_EDIT_C_HPC 1201
#define IDC_EDIT_C_CYL 1202
#define IDC_EDIT_D_SPT 1203
#define IDC_EDIT_D_HPC 1204
#define IDC_EDIT_D_CYL 1205
#define IDC_EDIT_E_SPT 1206
#define IDC_EDIT_E_HPC 1207
#define IDC_EDIT_E_CYL 1208
#define IDC_EDIT_F_SPT 1209
#define IDC_EDIT_F_HPC 1210
#define IDC_EDIT_F_CYL 1211
#define IDC_EDIT_G_SPT 1212
#define IDC_EDIT_G_HPC 1213
#define IDC_EDIT_G_CYL 1214
#define IDC_EDIT_H_SPT 1215
#define IDC_EDIT_H_HPC 1216
#define IDC_EDIT_H_CYL 1217
#define IDC_TEXT_C_SIZE 1220
#define IDC_TEXT_D_SIZE 1221
#define IDC_TEXT_E_SIZE 1222
#define IDC_TEXT_F_SIZE 1223
#define IDC_TEXT_G_SIZE 1224
#define IDC_TEXT_H_SIZE 1225
#define IDC_EDIT_C_HPC 1210
#define IDC_EDIT_C_CYL 1220
#define IDC_EDIT_C_FN 1230
#define IDC_TEXT_C_SIZE 1240
#define IDC_EJECTD 1041
#define IDC_EDITD 1051
#define IDC_DFILE 1061
#define IDC_DNEW 1071
#define IDC_DHDD 1081
#define IDC_DCDROM 1091
#define IDC_EDIT_D_SPT 1201
#define IDC_EDIT_D_HPC 1211
#define IDC_EDIT_D_CYL 1221
#define IDC_EDIT_D_FN 1231
#define IDC_TEXT_D_SIZE 1241
#define IDC_EJECTE 1042
#define IDC_EDITE 1052
#define IDC_EFILE 1062
#define IDC_ENEW 1072
#define IDC_EHDD 1082
#define IDC_ECDROM 1092
#define IDC_EDIT_E_SPT 1202
#define IDC_EDIT_E_HPC 1212
#define IDC_EDIT_E_CYL 1222
#define IDC_EDIT_E_FN 1232
#define IDC_TEXT_E_SIZE 1242
#define IDC_EJECTF 1043
#define IDC_EDITF 1053
#define IDC_FFILE 1063
#define IDC_FNEW 1073
#define IDC_FHDD 1083
#define IDC_FCDROM 1093
#define IDC_EDIT_F_SPT 1203
#define IDC_EDIT_F_HPC 1213
#define IDC_EDIT_F_CYL 1223
#define IDC_EDIT_F_FN 1233
#define IDC_TEXT_F_SIZE 1243
#define IDC_EJECTG 1044
#define IDC_EDITG 1054
#define IDC_GFILE 1064
#define IDC_GNEW 1074
#define IDC_GHDD 1084
#define IDC_GCDROM 1094
#define IDC_EDIT_G_SPT 1204
#define IDC_EDIT_G_HPC 1214
#define IDC_EDIT_G_CYL 1224
#define IDC_EDIT_G_FN 1234
#define IDC_TEXT_G_SIZE 1244
#define IDC_EJECTH 1045
#define IDC_EDITH 1055
#define IDC_HFILE 1065
#define IDC_HNEW 1075
#define IDC_HHDD 1085
#define IDC_HCDROM 1095
#define IDC_EDIT_H_SPT 1205
#define IDC_EDIT_H_HPC 1215
#define IDC_EDIT_H_CYL 1225
#define IDC_EDIT_H_FN 1235
#define IDC_TEXT_H_SIZE 1245
#define IDC_EJECTI 1046
#define IDC_EDITI 1056
#define IDC_IFILE 1066
#define IDC_INEW 1076
#define IDC_IHDD 1086
#define IDC_ICDROM 1096
#define IDC_EDIT_I_SPT 1206
#define IDC_EDIT_I_HPC 1216
#define IDC_EDIT_I_CYL 1226
#define IDC_EDIT_I_FN 1236
#define IDC_TEXT_I_SIZE 1246
#define IDC_EJECTJ 1047
#define IDC_EDITJ 1057
#define IDC_JFILE 1067
#define IDC_JNEW 1077
#define IDC_JHDD 1087
#define IDC_JCDROM 1097
#define IDC_EDIT_J_SPT 1207
#define IDC_EDIT_J_HPC 1217
#define IDC_EDIT_J_CYL 1227
#define IDC_EDIT_J_FN 1237
#define IDC_TEXT_J_SIZE 1247
#define IDC_MEMSPIN 1100
#define IDC_MEMTEXT 1101
#define IDC_STEXT1 1102
#define IDC_STEXT2 1103
#define IDC_STEXT3 1104
#define IDC_STEXT4 1105
#define IDC_STEXT5 1106
#define IDC_STEXT6 1107
#define IDC_STEXT7 1108
#define IDC_STEXT8 1109
#define IDC_STEXT_DEVICE 1110
#define IDC_TEXT_MB 1111
#define IDC_TEXT1 1115
#define IDC_TEXT2 1116
#define IDC_CONFIGUREVID 1200
#define IDC_CONFIGURESND 1201
@@ -188,12 +232,13 @@
#define WM_RESETD3D WM_USER
#define WM_LEAVEFULLSCREEN WM_USER + 1
#define C_BASE 6 /* End at 38. */
#define D_BASE 60 /* End at 92. */
#define E_BASE 114 /* End at 146. */
#define F_BASE 168 /* End at 200. */
#define G_BASE 222 /* End at 254. */
#define H_BASE 276 /* End at 308. */
#define CMD_BASE 334
#define DLG_HEIGHT 366
#define C_BASE 6
#define D_BASE 44
#define E_BASE 82
#define F_BASE 120
#define G_BASE 158
#define H_BASE 196
#define I_BASE 234
#define J_BASE 272
#define CMD_BASE 314
#define DLG_HEIGHT 346