I'm wondering if it is possible to add support for up to four hard disks or ISO CD-ROMs or not?
Looking at the pc.rc, win-hdconf.c and resources.h, it is possible to add support for secondary master (drive E) and secondary slave (drive F) hard drives or ISO CD-ROMs.
Award SiS 496/497, Intel Premiere/PCI, Intel Advanced/EV and Award 430VX PCI (the BIOSes that are all supported by PCem) all have support for up to four IDE devices.
What do you think? I don't have the patch where a future revision of PCem can support up to four IDE devices, but I'm new to adding patches, sadly.
Here's what I have so far in the pc.rc file and it's only preliminary. I don't know if I'll have the the time to do the rest...
Code: Select all
MENUITEM "&Configure IDE devices...",IDM_HDCONF
Code: Select all
HdConfDlg DIALOGEX 0, 0, 210, 172
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Configure IDE devices"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,31+12,152,50,14
PUSHBUTTON "Cancel",IDCANCEL,101+12,152,50,14
LTEXT "Primary Master (Drive C)",IDC_STATIC,7,6,27,10
EDITTEXT IDC_EDIT_C_FN, 7, 22, 136, 12, WS_DISABLED
PUSHBUTTON "...",IDC_CFILE,7 + 136, 22, 16, 14
PUSHBUTTON "New",IDC_CNEW,7 + 136 + 16, 22, 24, 14
PUSHBUTTON "Eject", IDC_EJECTC, 7 + 136 + 16 + 24, 22, 24, 14
EDITTEXT IDC_EDIT_C_SPT,36,38,16,12, WS_DISABLED
EDITTEXT IDC_EDIT_C_HPC,94,38,16,12, WS_DISABLED
EDITTEXT IDC_EDIT_C_CYL,152,38,28,12, WS_DISABLED
LTEXT "Sectors:",IDC_STATIC,7,38,27,10
LTEXT "Heads:",IDC_STATIC,63,38,29,8
LTEXT "Cylinders:",IDC_STATIC,120,38,32,12
LTEXT "", IDC_TEXT_C_SIZE, 7, 54, 136, 12
LTEXT "Primary Slave (Drive D)",IDC_STATIC,7,76,27,10
EDITTEXT IDC_EDIT_D_FN, 7, 92, 136, 12, WS_DISABLED
PUSHBUTTON "...",IDC_DFILE,7 + 136, 92, 16, 14
PUSHBUTTON "New",IDC_DNEW,7 + 136 + 16, 92, 24, 14
PUSHBUTTON "Eject", IDC_EJECTD, 7 + 136 + 16 + 24, 92, 24, 14
EDITTEXT IDC_EDIT_D_SPT,36,108,16,12, WS_DISABLED
EDITTEXT IDC_EDIT_D_HPC,94,108,16,12, WS_DISABLED
EDITTEXT IDC_EDIT_D_CYL,152,108,28,12, WS_DISABLED
LTEXT "Sectors:",IDC_STATIC,7,108,27,10
LTEXT "Heads:",IDC_STATIC,63,108,29,8
LTEXT "Cylinders:",IDC_STATIC,120,108,32,12
LTEXT "", IDC_TEXT_D_SIZE, 7, 124, 136, 12
LTEXT "Secondary Master (Drive E)",IDC_STATIC,7,6,27,10
EDITTEXT IDC_EDIT_E_FN, 7, 162, 136, 12, WS_DISABLED
PUSHBUTTON "...",IDC_EFILE,7 + 136, 162, 16, 14
PUSHBUTTON "New",IDC_ENEW,7 + 136 + 16, 162, 24, 14
PUSHBUTTON "Eject", IDC_EJECTE, 7 + 136 + 16 + 24, 162, 24, 14
EDITTEXT IDC_EDIT_E_SPT,36,178,16,12, WS_DISABLED
EDITTEXT IDC_EDIT_E_HPC,94,178,16,12, WS_DISABLED
EDITTEXT IDC_EDIT_E_CYL,152,178,28,12, WS_DISABLED
LTEXT "Sectors:",IDC_STATIC,7,178,27,10
LTEXT "Heads:",IDC_STATIC,63,178,29,8
LTEXT "Cylinders:",IDC_STATIC,120,178,32,12
LTEXT "", IDC_TEXT_E_SIZE, 7, 194, 136, 12
LTEXT "Secondary Slave (Drive F)",IDC_STATIC,7,76,27,10
EDITTEXT IDC_EDIT_F_FN, 7, 232, 136, 12, WS_DISABLED
PUSHBUTTON "...",IDC_FFILE,7 + 136, 232, 16, 14
PUSHBUTTON "New",IDC_FNEW,7 + 136 + 16, 232, 24, 14
PUSHBUTTON "Eject", IDF_EJECTF, 7 + 136 + 16 + 24, 232, 24, 14
EDITTEXT IDC_EDIT_F_SPT,36,248,16,12, WS_DISABLED
EDITTEXT IDC_EDIT_F_HPC,94,248,16,12, WS_DISABLED
EDITTEXT IDC_EDIT_F_CYL,152,248,28,12, WS_DISABLED
LTEXT "Sectors:",IDC_STATIC,7,248,27,10
LTEXT "Heads:",IDC_STATIC,63,248,29,8
LTEXT "Cylinders:",IDC_STATIC,120,248,32,12
LTEXT "", IDC_TEXT_F_SIZE, 7, 264, 136, 12
END
If this does go through, we would also have to modify support for four hard disks or CD-ROMs in the win-hdconf.c and resources.h files. If I'm totally missing anything, please let me know.