Add Iomega Zip drive emulation.
This commit is contained in:
parent
6ecdd2efd0
commit
5fd2fd40aa
22 changed files with 2954 additions and 1809 deletions
|
|
@ -19,7 +19,7 @@ dells200.c device.c disc.c disc_fdi.c disc_img.c disc_sector.c dma.c esdi_at.c f
|
||||||
hdd.c hdd_esdi.c hdd_file.c headland.c i430lx.c i430fx.c i430vx.c ide.c ide_atapi.c intel.c intel_flash.c io.c jim.c joystick_ch_flightstick_pro.c joystick_standard.c joystick_sw_pad.c \
|
hdd.c hdd_esdi.c hdd_file.c headland.c i430lx.c i430fx.c i430vx.c ide.c ide_atapi.c intel.c intel_flash.c io.c jim.c joystick_ch_flightstick_pro.c joystick_standard.c joystick_sw_pad.c \
|
||||||
joystick_tm_fcs.c keyboard.c keyboard_amstrad.c keyboard_at.c keyboard_olim24.c keyboard_pcjr.c keyboard_xt.c \
|
joystick_tm_fcs.c keyboard.c keyboard_amstrad.c keyboard_at.c keyboard_olim24.c keyboard_pcjr.c keyboard_xt.c \
|
||||||
laserxt.c lpt.c lpt_dac.c lpt_dss.c mca.c mcr.c mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_msystems.c mouse_ps2.c mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c \
|
laserxt.c lpt.c lpt_dac.c lpt_dss.c mca.c mcr.c mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_msystems.c mouse_ps2.c mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c \
|
||||||
opti495.c paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c ps2.c ps2_mca.c ps2_nvr.c nvr_tc8521.c rom.c rtc.c rtc_tc8521.c scat.c scsi.c scsi_53c400.c scsi_aha1540.c scsi_cd.c scsi_hd.c \
|
opti495.c paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c ps2.c ps2_mca.c ps2_nvr.c nvr_tc8521.c rom.c rtc.c rtc_tc8521.c scat.c scsi.c scsi_53c400.c scsi_aha1540.c scsi_cd.c scsi_hd.c scsi_zip.c \
|
||||||
serial.c sio.c sis496.c sound.c sound_ad1848.c sound_adlib.c sound_adlibgold.c sound_audiopci.c sound_cms.c sound_emu8k.c sound_gus.c \
|
serial.c sio.c sis496.c sound.c sound_ad1848.c sound_adlib.c sound_adlibgold.c sound_audiopci.c sound_cms.c sound_emu8k.c sound_gus.c \
|
||||||
sound_mpu401_uart.c sound_opl.c sound_pas16.c sound_ps1.c sound_pssj.c sound_sb.c sound_sb_dsp.c sound_sn76489.c \
|
sound_mpu401_uart.c sound_opl.c sound_pas16.c sound_ps1.c sound_pssj.c sound_sb.c sound_sb_dsp.c sound_sn76489.c \
|
||||||
sound_speaker.c sound_ssi2001.c sound_wss.c sound_ym7128.c soundopenal.c tandy_eeprom.c tandy_rom.c \
|
sound_speaker.c sound_ssi2001.c sound_wss.c sound_ym7128.c soundopenal.c tandy_eeprom.c tandy_rom.c \
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ dells200.o device.o disc.o disc_fdi.o disc_img.o disc_sector.o dma.o esdi_at.o f
|
||||||
hdd.o hdd_esdi.o hdd_file.o headland.o i430lx.o i430fx.o i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o \
|
hdd.o hdd_esdi.o hdd_file.o headland.o i430lx.o i430fx.o i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o \
|
||||||
joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o \
|
joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o \
|
||||||
laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o \
|
laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o \
|
||||||
opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o \
|
opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o scsi_zip.o \
|
||||||
serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_emu8k.o sound_gus.o \
|
serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_emu8k.o sound_gus.o \
|
||||||
sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_sb.o sound_sb_dsp.o sound_sn76489.o \
|
sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_sb.o sound_sb_dsp.o sound_sn76489.o \
|
||||||
sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o \
|
sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o \
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ dells200.o device.o disc.o disc_fdi.o disc_img.o disc_sector.o dma.o esdi_at.o f
|
||||||
hdd.o hdd_esdi.o hdd_file.o headland.o i430lx.o i430fx.o i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o \
|
hdd.o hdd_esdi.o hdd_file.o headland.o i430lx.o i430fx.o i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o \
|
||||||
joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o \
|
joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o \
|
||||||
laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o \
|
laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o \
|
||||||
opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o \
|
opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o scsi_zip.o \
|
||||||
serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_emu8k.o sound_gus.o \
|
serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_emu8k.o sound_gus.o \
|
||||||
sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_sb.o sound_sb_dsp.o sound_sn76489.o \
|
sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_sb.o sound_sb_dsp.o sound_sn76489.o \
|
||||||
sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o \
|
sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o \
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o ali1429.o amstrad
|
||||||
i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o \
|
i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o \
|
||||||
keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o \
|
keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o \
|
||||||
mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o \
|
mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o \
|
||||||
scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_dbopl.o \
|
scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o scsi_zip.o serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_dbopl.o \
|
||||||
sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
||||||
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o \
|
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o \
|
||||||
sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o timer.o um8881f.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o timer.o um8881f.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o ali1429.o amstrad
|
||||||
i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o \
|
i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o \
|
||||||
keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o \
|
keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o \
|
||||||
mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o \
|
mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o \
|
||||||
scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_dbopl.o \
|
scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o scsi_zip.o serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_dbopl.o \
|
||||||
sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
||||||
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o \
|
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o \
|
||||||
sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o timer.o um8881f.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o timer.o um8881f.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o ali1429.o amstrad
|
||||||
i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o \
|
i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o \
|
||||||
keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o \
|
keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o \
|
||||||
mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o \
|
mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o \
|
||||||
scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_dbopl.o \
|
scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o scsi_zip.o serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_dbopl.o \
|
||||||
sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
||||||
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o \
|
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o \
|
||||||
sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o timer.o um8881f.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o timer.o um8881f.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o ali1429.o amstrad
|
||||||
i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o \
|
i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o \
|
||||||
keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o \
|
keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o \
|
||||||
mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o \
|
mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o \
|
||||||
scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_dbopl.o \
|
scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o scsi_zip.o serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_dbopl.o \
|
||||||
sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
||||||
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o \
|
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o \
|
||||||
sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o timer.o um8881f.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o timer.o um8881f.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o ali1429.o amstrad
|
||||||
i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o \
|
i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o \
|
||||||
keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o \
|
keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o \
|
||||||
mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o \
|
mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o \
|
||||||
scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_dbopl.o \
|
scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o scsi_zip.o serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_dbopl.o \
|
||||||
sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
||||||
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o \
|
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o \
|
||||||
soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o timer.o um8881f.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o timer.o um8881f.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ device.o dells200.o disc.o disc_fdi.o disc_img.o disc_sector.o dma.o esdi_at.o f
|
||||||
hdd.o hdd_esdi.o hdd_file.o headland.o i430lx.o i430fx.o i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o \
|
hdd.o hdd_esdi.o hdd_file.o headland.o i430lx.o i430fx.o i430vx.o ide.o ide_atapi.o intel.o intel_flash.o io.o jim.o joystick_ch_flightstick_pro.o joystick_standard.o joystick_sw_pad.o \
|
||||||
joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o \
|
joystick_tm_fcs.o keyboard.o keyboard_amstrad.o keyboard_at.o keyboard_olim24.o keyboard_pcjr.o keyboard_xt.o \
|
||||||
laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o \
|
laserxt.o lpt.o lpt_dac.o lpt_dss.o mca.o mcr.o mem.o mfm_at.o mfm_xebec.o model.o mouse.o mouse_msystems.o mouse_ps2.o mouse_serial.o neat.o nmi.o nvr.o nvr_tc8521.o olivetti_m24.o \
|
||||||
opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o \
|
opti495.o paths.o pc.o pci.o pic.o piix.o pit.o ppi.o ps1.o ps2.o ps2_mca.o ps2_nvr.o rom.o rtc.o rtc_tc8521.o scat.o scsi.o scsi_53c400.o scsi_aha1540.o scsi_cd.o scsi_hd.o scsi_zip.o \
|
||||||
serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_emu8k.o sound_gus.o \
|
serial.o sio.o sis496.o sound.o sound_ad1848.o sound_adlib.o sound_adlibgold.o sound_audiopci.o sound_cms.o sound_emu8k.o sound_gus.o \
|
||||||
sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_sb.o sound_sb_dsp.o sound_sn76489.o \
|
sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_sb.o sound_sb_dsp.o sound_sn76489.o \
|
||||||
sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o \
|
sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o soundopenal.o t1000.o t3100e.o tandy_eeprom.o tandy_rom.o \
|
||||||
|
|
|
||||||
|
|
@ -6,16 +6,19 @@
|
||||||
#include "ibm.h"
|
#include "ibm.h"
|
||||||
#include "hdd_file.h"
|
#include "hdd_file.h"
|
||||||
|
|
||||||
void hdd_load(hdd_file_t *hdd, int d, const char *fn)
|
void hdd_load_ext(hdd_file_t *hdd, const char *fn, int spt, int hpc, int tracks, int read_only)
|
||||||
{
|
{
|
||||||
if (hdd->f == NULL)
|
if (hdd->f == NULL)
|
||||||
{
|
{
|
||||||
/* Try to open existing hard disk image */
|
/* Try to open existing hard disk image */
|
||||||
hdd->f = fopen64(fn, "rb+");
|
if (read_only)
|
||||||
|
hdd->f = fopen64(fn, "rb");
|
||||||
|
else
|
||||||
|
hdd->f = fopen64(fn, "rb+");
|
||||||
if (hdd->f == NULL)
|
if (hdd->f == NULL)
|
||||||
{
|
{
|
||||||
/* Failed to open existing hard disk image */
|
/* Failed to open existing hard disk image */
|
||||||
if (errno == ENOENT)
|
if (errno == ENOENT && !read_only)
|
||||||
{
|
{
|
||||||
/* Failed because it does not exist,
|
/* Failed because it does not exist,
|
||||||
so try to create new file */
|
so try to create new file */
|
||||||
|
|
@ -37,10 +40,16 @@ void hdd_load(hdd_file_t *hdd, int d, const char *fn)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
hdd->spt = hdc[d].spt;
|
hdd->spt = spt;
|
||||||
hdd->hpc = hdc[d].hpc;
|
hdd->hpc = hpc;
|
||||||
hdd->tracks = hdc[d].tracks;
|
hdd->tracks = tracks;
|
||||||
hdd->sectors = hdc[d].spt * hdc[d].hpc * hdc[d].tracks;
|
hdd->sectors = spt * hpc * tracks;
|
||||||
|
hdd->read_only = read_only;
|
||||||
|
}
|
||||||
|
|
||||||
|
void hdd_load(hdd_file_t *hdd, int d, const char *fn)
|
||||||
|
{
|
||||||
|
hdd_load_ext(hdd, fn, hdc[d].spt, hdc[d].hpc, hdc[d].tracks, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void hdd_close(hdd_file_t *hdd)
|
void hdd_close(hdd_file_t *hdd)
|
||||||
|
|
@ -73,6 +82,9 @@ int hdd_write_sectors(hdd_file_t *hdd, int offset, int nr_sectors, void *buffer)
|
||||||
{
|
{
|
||||||
off64_t addr;
|
off64_t addr;
|
||||||
int transfer_sectors = nr_sectors;
|
int transfer_sectors = nr_sectors;
|
||||||
|
|
||||||
|
if (hdd->read_only)
|
||||||
|
return 1;
|
||||||
|
|
||||||
if ((hdd->sectors - offset) < transfer_sectors)
|
if ((hdd->sectors - offset) < transfer_sectors)
|
||||||
transfer_sectors = hdd->sectors - offset;
|
transfer_sectors = hdd->sectors - offset;
|
||||||
|
|
@ -93,6 +105,9 @@ int hdd_format_sectors(hdd_file_t *hdd, int offset, int nr_sectors)
|
||||||
uint8_t zero_buffer[512];
|
uint8_t zero_buffer[512];
|
||||||
int transfer_sectors = nr_sectors;
|
int transfer_sectors = nr_sectors;
|
||||||
|
|
||||||
|
if (hdd->read_only)
|
||||||
|
return 1;
|
||||||
|
|
||||||
memset(zero_buffer, 0, 512);
|
memset(zero_buffer, 0, 512);
|
||||||
|
|
||||||
if ((hdd->sectors - offset) < transfer_sectors)
|
if ((hdd->sectors - offset) < transfer_sectors)
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,11 @@ typedef struct hdd_file_t
|
||||||
int hpc;
|
int hpc;
|
||||||
int tracks;
|
int tracks;
|
||||||
int sectors;
|
int sectors;
|
||||||
|
int read_only;
|
||||||
} hdd_file_t;
|
} hdd_file_t;
|
||||||
|
|
||||||
void hdd_load(hdd_file_t *hdd, int d, const char *fn);
|
void hdd_load(hdd_file_t *hdd, int d, const char *fn);
|
||||||
|
void hdd_load_ext(hdd_file_t *hdd, const char *fn, int spt, int hpc, int tracks, int read_only);
|
||||||
void hdd_close(hdd_file_t *hdd);
|
void hdd_close(hdd_file_t *hdd);
|
||||||
int hdd_read_sectors(hdd_file_t *hdd, int offset, int nr_sectors, void *buffer);
|
int hdd_read_sectors(hdd_file_t *hdd, int offset, int nr_sectors, void *buffer);
|
||||||
int hdd_write_sectors(hdd_file_t *hdd, int offset, int nr_sectors, void *buffer);
|
int hdd_write_sectors(hdd_file_t *hdd, int offset, int nr_sectors, void *buffer);
|
||||||
|
|
|
||||||
13
src/ide.c
13
src/ide.c
|
|
@ -27,6 +27,7 @@
|
||||||
#include "hdd_file.h"
|
#include "hdd_file.h"
|
||||||
#include "scsi.h"
|
#include "scsi.h"
|
||||||
#include "scsi_cd.h"
|
#include "scsi_cd.h"
|
||||||
|
#include "scsi_zip.h"
|
||||||
#endif
|
#endif
|
||||||
#include "ide.h"
|
#include "ide.h"
|
||||||
|
|
||||||
|
|
@ -100,6 +101,7 @@ typedef struct IDE
|
||||||
} IDE;
|
} IDE;
|
||||||
|
|
||||||
int cdrom_channel = 2;
|
int cdrom_channel = 2;
|
||||||
|
int zip_channel = -1;
|
||||||
|
|
||||||
IDE ide_drives[4];
|
IDE ide_drives[4];
|
||||||
|
|
||||||
|
|
@ -404,7 +406,12 @@ void resetide(void)
|
||||||
ide_drives[d].type = IDE_CDROM;
|
ide_drives[d].type = IDE_CDROM;
|
||||||
scsi_bus_atapi_init(&ide_drives[d].atapi.bus, &scsi_cd, d);
|
scsi_bus_atapi_init(&ide_drives[d].atapi.bus, &scsi_cd, d);
|
||||||
}
|
}
|
||||||
else
|
else if (zip_channel == d)
|
||||||
|
{
|
||||||
|
ide_drives[d].type = IDE_CDROM;
|
||||||
|
scsi_bus_atapi_init(&ide_drives[d].atapi.bus, &scsi_zip, d);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
loadhd(&ide_drives[d], d, ide_fn[d]);
|
loadhd(&ide_drives[d], d, ide_fn[d]);
|
||||||
}
|
}
|
||||||
|
|
@ -732,10 +739,6 @@ void writeide(int ide_board, uint16_t addr, uint8_t val)
|
||||||
timer_update_outstanding();
|
timer_update_outstanding();
|
||||||
|
|
||||||
ide->atapi.bus_state = 0;
|
ide->atapi.bus_state = 0;
|
||||||
/* timer_process();
|
|
||||||
idecallback[ide_board]=1;//30*IDE_TIME;
|
|
||||||
timer_update_outstanding();
|
|
||||||
ide->pos=0;*/
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case 0xF0:
|
case 0xF0:
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ extern int idecallback[2];
|
||||||
|
|
||||||
extern char ide_fn[4][512];
|
extern char ide_fn[4][512];
|
||||||
|
|
||||||
extern int cdrom_channel;
|
extern int cdrom_channel, zip_channel;
|
||||||
|
|
||||||
uint32_t atapi_get_cd_channel(int channel);
|
uint32_t atapi_get_cd_channel(int channel);
|
||||||
uint32_t atapi_get_cd_volume(int channel);
|
uint32_t atapi_get_cd_volume(int channel);
|
||||||
|
|
|
||||||
8
src/pc.c
8
src/pc.c
|
|
@ -35,6 +35,7 @@
|
||||||
#include "plat-keyboard.h"
|
#include "plat-keyboard.h"
|
||||||
#include "plat-midi.h"
|
#include "plat-midi.h"
|
||||||
#include "plat-mouse.h"
|
#include "plat-mouse.h"
|
||||||
|
#include "scsi_zip.h"
|
||||||
#include "serial.h"
|
#include "serial.h"
|
||||||
#include "sound.h"
|
#include "sound.h"
|
||||||
#include "sound_cms.h"
|
#include "sound_cms.h"
|
||||||
|
|
@ -609,6 +610,7 @@ void closepc()
|
||||||
lpt1_device_close();
|
lpt1_device_close();
|
||||||
mouse_emu_close();
|
mouse_emu_close();
|
||||||
device_close_all();
|
device_close_all();
|
||||||
|
zip_eject();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*int main()
|
/*int main()
|
||||||
|
|
@ -727,6 +729,8 @@ void loadconfig(char *fn)
|
||||||
cdrom_enabled = config_get_int(CFG_MACHINE, NULL, "cdrom_enabled", 0);
|
cdrom_enabled = config_get_int(CFG_MACHINE, NULL, "cdrom_enabled", 0);
|
||||||
cdrom_channel = config_get_int(CFG_MACHINE, NULL, "cdrom_channel", 2);
|
cdrom_channel = config_get_int(CFG_MACHINE, NULL, "cdrom_channel", 2);
|
||||||
|
|
||||||
|
zip_channel = config_get_int(CFG_MACHINE, NULL, "zip_channel", -1);
|
||||||
|
|
||||||
p = (char *)config_get_string(CFG_MACHINE, NULL, "cdrom_path", "");
|
p = (char *)config_get_string(CFG_MACHINE, NULL, "cdrom_path", "");
|
||||||
if (p) strcpy(image_path, p);
|
if (p) strcpy(image_path, p);
|
||||||
else strcpy(image_path, "");
|
else strcpy(image_path, "");
|
||||||
|
|
@ -870,7 +874,9 @@ void saveconfig(char *fn)
|
||||||
config_set_int(CFG_MACHINE, NULL, "cdrom_enabled", cdrom_enabled);
|
config_set_int(CFG_MACHINE, NULL, "cdrom_enabled", cdrom_enabled);
|
||||||
config_set_int(CFG_MACHINE, NULL, "cdrom_channel", cdrom_channel);
|
config_set_int(CFG_MACHINE, NULL, "cdrom_channel", cdrom_channel);
|
||||||
config_set_string(CFG_MACHINE, NULL, "cdrom_path", image_path);
|
config_set_string(CFG_MACHINE, NULL, "cdrom_path", image_path);
|
||||||
|
|
||||||
|
config_set_int(CFG_MACHINE, NULL, "zip_channel", zip_channel);
|
||||||
|
|
||||||
config_set_int(CFG_MACHINE, NULL, "hdc_sectors", hdc[0].spt);
|
config_set_int(CFG_MACHINE, NULL, "hdc_sectors", hdc[0].spt);
|
||||||
config_set_int(CFG_MACHINE, NULL, "hdc_heads", hdc[0].hpc);
|
config_set_int(CFG_MACHINE, NULL, "hdc_heads", hdc[0].hpc);
|
||||||
config_set_int(CFG_MACHINE, NULL, "hdc_cylinders", hdc[0].tracks);
|
config_set_int(CFG_MACHINE, NULL, "hdc_cylinders", hdc[0].tracks);
|
||||||
|
|
|
||||||
92
src/pc.xrc
92
src/pc.xrc
|
|
@ -110,6 +110,13 @@
|
||||||
<label>Disable BPB checking</label>
|
<label>Disable BPB checking</label>
|
||||||
<checkable>1</checkable>
|
<checkable>1</checkable>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="separator"/>
|
||||||
|
<object class="wxMenuItem" name="IDM_DISC_ZIP">
|
||||||
|
<label>Load _ZIP drive...</label>
|
||||||
|
</object>
|
||||||
|
<object class="wxMenuItem" name="IDM_EJECT_ZIP">
|
||||||
|
<label>Eject ZIP drive</label>
|
||||||
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="wxMenu" name="IDM_CDROM">
|
<object class="wxMenu" name="IDM_CDROM">
|
||||||
<label>_CD-ROM</label>
|
<label>_CD-ROM</label>
|
||||||
|
|
@ -477,8 +484,7 @@
|
||||||
</object>
|
</object>
|
||||||
|
|
||||||
<ids-range name="IDC_PANEL" start="10" />
|
<ids-range name="IDC_PANEL" start="10" />
|
||||||
<ids-range name="IDC_HDD" start="100" />
|
<ids-range name="IDC_COMBODRIVETYPE" start="100" />
|
||||||
<ids-range name="IDC_CDROM" start="200" />
|
|
||||||
<ids-range name="IDC_EDIT_FN" start="300" />
|
<ids-range name="IDC_EDIT_FN" start="300" />
|
||||||
<ids-range name="IDC_FILE" start="400" />
|
<ids-range name="IDC_FILE" start="400" />
|
||||||
<ids-range name="IDC_EJECT" start="500" />
|
<ids-range name="IDC_EJECT" start="500" />
|
||||||
|
|
@ -1164,24 +1170,16 @@
|
||||||
<flag>wxEXPAND</flag>
|
<flag>wxEXPAND</flag>
|
||||||
<border>5</border>
|
<border>5</border>
|
||||||
<object class="wxBoxSizer">
|
<object class="wxBoxSizer">
|
||||||
<orient>wxHORIZONTAL</orient>
|
<orient>wxHORIZONTAL</orient>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<flag>wxALL | wxALIGN_CENTER_VERTICAL</flag>
|
<flag>wxALL</flag>
|
||||||
<border>5</border>
|
<border>5</border>
|
||||||
<object class="wxRadioButton" name="IDC_HDD[0]">
|
<object class="wxComboBox" name="IDC_COMBODRIVETYPE[0]">
|
||||||
<style>wxRB_GROUP</style>
|
<style>wxCB_DROPDOWN|wxCB_READONLY</style>
|
||||||
<label>Hard drive</label>
|
<size>350,-1</size>
|
||||||
<value>0</value>
|
<value></value>
|
||||||
</object>
|
<content />
|
||||||
</object>
|
|
||||||
<object class="sizeritem">
|
|
||||||
<option>0</option>
|
|
||||||
<flag>wxALL | wxALIGN_CENTER_VERTICAL</flag>
|
|
||||||
<border>5</border>
|
|
||||||
<object class="wxRadioButton" name="IDC_CDROM[0]">
|
|
||||||
<label>CD-ROM</label>
|
|
||||||
<value>0</value>
|
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="spacer">
|
<object class="spacer">
|
||||||
|
|
@ -1367,21 +1365,13 @@
|
||||||
<orient>wxHORIZONTAL</orient>
|
<orient>wxHORIZONTAL</orient>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<flag>wxALL | wxALIGN_CENTER_VERTICAL</flag>
|
<flag>wxALL</flag>
|
||||||
<border>5</border>
|
<border>5</border>
|
||||||
<object class="wxRadioButton" name="IDC_HDD[1]">
|
<object class="wxComboBox" name="IDC_COMBODRIVETYPE[1]">
|
||||||
<style>wxRB_GROUP</style>
|
<style>wxCB_DROPDOWN|wxCB_READONLY</style>
|
||||||
<label>Hard drive</label>
|
<size>350,-1</size>
|
||||||
<value>0</value>
|
<value></value>
|
||||||
</object>
|
<content />
|
||||||
</object>
|
|
||||||
<object class="sizeritem">
|
|
||||||
<option>0</option>
|
|
||||||
<flag>wxALL | wxALIGN_CENTER_VERTICAL</flag>
|
|
||||||
<border>5</border>
|
|
||||||
<object class="wxRadioButton" name="IDC_CDROM[1]">
|
|
||||||
<label>CD-ROM</label>
|
|
||||||
<value>0</value>
|
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="spacer">
|
<object class="spacer">
|
||||||
|
|
@ -1567,21 +1557,13 @@
|
||||||
<orient>wxHORIZONTAL</orient>
|
<orient>wxHORIZONTAL</orient>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<flag>wxALL | wxALIGN_CENTER_VERTICAL</flag>
|
<flag>wxALL</flag>
|
||||||
<border>5</border>
|
<border>5</border>
|
||||||
<object class="wxRadioButton" name="IDC_HDD[2]">
|
<object class="wxComboBox" name="IDC_COMBODRIVETYPE[2]">
|
||||||
<style>wxRB_GROUP</style>
|
<style>wxCB_DROPDOWN|wxCB_READONLY</style>
|
||||||
<label>Hard drive</label>
|
<size>350,-1</size>
|
||||||
<value>0</value>
|
<value></value>
|
||||||
</object>
|
<content />
|
||||||
</object>
|
|
||||||
<object class="sizeritem">
|
|
||||||
<option>0</option>
|
|
||||||
<flag>wxALL | wxALIGN_CENTER_VERTICAL</flag>
|
|
||||||
<border>5</border>
|
|
||||||
<object class="wxRadioButton" name="IDC_CDROM[2]">
|
|
||||||
<label>CD-ROM</label>
|
|
||||||
<value>0</value>
|
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="spacer">
|
<object class="spacer">
|
||||||
|
|
@ -1767,21 +1749,13 @@
|
||||||
<orient>wxHORIZONTAL</orient>
|
<orient>wxHORIZONTAL</orient>
|
||||||
<object class="sizeritem">
|
<object class="sizeritem">
|
||||||
<option>0</option>
|
<option>0</option>
|
||||||
<flag>wxALL | wxALIGN_CENTER_VERTICAL</flag>
|
<flag>wxALL</flag>
|
||||||
<border>5</border>
|
<border>5</border>
|
||||||
<object class="wxRadioButton" name="IDC_HDD[3]">
|
<object class="wxComboBox" name="IDC_COMBODRIVETYPE[3]">
|
||||||
<style>wxRB_GROUP</style>
|
<style>wxCB_DROPDOWN|wxCB_READONLY</style>
|
||||||
<label>Hard drive</label>
|
<size>350,-1</size>
|
||||||
<value>0</value>
|
<value></value>
|
||||||
</object>
|
<content />
|
||||||
</object>
|
|
||||||
<object class="sizeritem">
|
|
||||||
<option>0</option>
|
|
||||||
<flag>wxALL | wxALIGN_CENTER_VERTICAL</flag>
|
|
||||||
<border>5</border>
|
|
||||||
<object class="wxRadioButton" name="IDC_CDROM[3]">
|
|
||||||
<label>CD-ROM</label>
|
|
||||||
<value>0</value>
|
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="spacer">
|
<object class="spacer">
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
#include "scsi.h"
|
#include "scsi.h"
|
||||||
#include "scsi_cd.h"
|
#include "scsi_cd.h"
|
||||||
#include "scsi_hd.h"
|
#include "scsi_hd.h"
|
||||||
|
#include "scsi_zip.h"
|
||||||
|
|
||||||
#define STATE_IDLE 0
|
#define STATE_IDLE 0
|
||||||
#define STATE_COMMAND 1
|
#define STATE_COMMAND 1
|
||||||
|
|
@ -346,6 +347,8 @@ void scsi_bus_init(scsi_bus_t *bus)
|
||||||
{
|
{
|
||||||
if (cdrom_channel == c)
|
if (cdrom_channel == c)
|
||||||
bus->devices[c] = &scsi_cd;
|
bus->devices[c] = &scsi_cd;
|
||||||
|
else if (zip_channel == c)
|
||||||
|
bus->devices[c] = &scsi_zip;
|
||||||
else
|
else
|
||||||
bus->devices[c] = &scsi_hd;
|
bus->devices[c] = &scsi_hd;
|
||||||
|
|
||||||
|
|
|
||||||
1099
src/scsi_zip.c
Normal file
1099
src/scsi_zip.c
Normal file
File diff suppressed because it is too large
Load diff
7
src/scsi_zip.h
Normal file
7
src/scsi_zip.h
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#include "scsi.h"
|
||||||
|
|
||||||
|
extern scsi_device_t scsi_zip;
|
||||||
|
|
||||||
|
void zip_load(char *fn);
|
||||||
|
void zip_eject();
|
||||||
|
int zip_loaded();
|
||||||
232
src/wx-config.c
232
src/wx-config.c
|
|
@ -39,6 +39,7 @@ static char hd_new_name[512];
|
||||||
static int hd_new_spt, hd_new_hpc, hd_new_cyl;
|
static int hd_new_spt, hd_new_hpc, hd_new_cyl;
|
||||||
static int hd_new_type;
|
static int hd_new_type;
|
||||||
static int new_cdrom_channel;
|
static int new_cdrom_channel;
|
||||||
|
static int new_zip_channel;
|
||||||
|
|
||||||
extern int pause;
|
extern int pause;
|
||||||
|
|
||||||
|
|
@ -365,7 +366,7 @@ int config_dlgsave(void* hdlg)
|
||||||
temp_voodoo != voodoo_enabled || temp_dynarec != cpu_use_dynarec ||
|
temp_voodoo != voodoo_enabled || temp_dynarec != cpu_use_dynarec ||
|
||||||
temp_fda_type != fdd_get_type(0) || temp_fdb_type != fdd_get_type(1) ||
|
temp_fda_type != fdd_get_type(0) || temp_fdb_type != fdd_get_type(1) ||
|
||||||
temp_mouse_type != mouse_type || hdd_changed || hd_changed || cdrom_channel != new_cdrom_channel ||
|
temp_mouse_type != mouse_type || hdd_changed || hd_changed || cdrom_channel != new_cdrom_channel ||
|
||||||
strcmp(lpt1_device_name, lpt_device_get_internal_name(temp_lpt1_device))
|
zip_channel != new_zip_channel || strcmp(lpt1_device_name, lpt_device_get_internal_name(temp_lpt1_device))
|
||||||
#ifdef USE_NETWORKING
|
#ifdef USE_NETWORKING
|
||||||
|| temp_network_card != network_card_current
|
|| temp_network_card != network_card_current
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -454,6 +455,7 @@ int config_dlgsave(void* hdlg)
|
||||||
hdc[3] = hd[3];
|
hdc[3] = hd[3];
|
||||||
|
|
||||||
cdrom_channel = new_cdrom_channel;
|
cdrom_channel = new_cdrom_channel;
|
||||||
|
zip_channel = new_zip_channel;
|
||||||
|
|
||||||
if (has_been_inited)
|
if (has_been_inited)
|
||||||
{
|
{
|
||||||
|
|
@ -737,9 +739,51 @@ int config_dlgproc(void* hdlg, int message, INT_PARAM wParam, LONG_PARAM lParam)
|
||||||
|
|
||||||
hd_changed = 0;
|
hd_changed = 0;
|
||||||
new_cdrom_channel = cdrom_channel;
|
new_cdrom_channel = cdrom_channel;
|
||||||
|
new_zip_channel = zip_channel;
|
||||||
|
|
||||||
hdconf_init(hdlg);
|
hdconf_init(hdlg);
|
||||||
|
|
||||||
|
h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBODRIVETYPE[0]"));
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"Hard drive");
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"CD-ROM");
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"Iomega Zip");
|
||||||
|
if (cdrom_channel == 0)
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 1, 0);
|
||||||
|
else if (zip_channel == 0)
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 2, 0);
|
||||||
|
else
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 0, 0);
|
||||||
|
h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBODRIVETYPE[1]"));
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"Hard drive");
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"CD-ROM");
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"Iomega Zip");
|
||||||
|
if (cdrom_channel == 1)
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 1, 0);
|
||||||
|
else if (zip_channel == 1)
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 2, 0);
|
||||||
|
else
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 0, 0);
|
||||||
|
h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBODRIVETYPE[2]"));
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"Hard drive");
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"CD-ROM");
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"Iomega Zip");
|
||||||
|
if (cdrom_channel == 2)
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 1, 0);
|
||||||
|
else if (zip_channel == 2)
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 2, 0);
|
||||||
|
else
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 0, 0);
|
||||||
|
h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBODRIVETYPE[3]"));
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"Hard drive");
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"CD-ROM");
|
||||||
|
wx_sendmessage(h, WX_CB_ADDSTRING, 0, (LONG_PARAM)"Iomega Zip");
|
||||||
|
if (cdrom_channel == 3)
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 1, 0);
|
||||||
|
else if (zip_channel == 3)
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 2, 0);
|
||||||
|
else
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 0, 0);
|
||||||
|
|
||||||
#ifdef USE_NETWORKING
|
#ifdef USE_NETWORKING
|
||||||
recalc_net_list(hdlg, romstomodel[romset]);
|
recalc_net_list(hdlg, romstomodel[romset]);
|
||||||
|
|
||||||
|
|
@ -1237,13 +1281,16 @@ static void update_hdd_cdrom(void* hdlg)
|
||||||
|
|
||||||
for (i = 0; i < 4; ++i)
|
for (i = 0; i < 4; ++i)
|
||||||
{
|
{
|
||||||
b = !is_mfm && (new_cdrom_channel == i);
|
b = !is_mfm && ((new_cdrom_channel == i) || (new_zip_channel == i));
|
||||||
sprintf(s, "IDC_HDD[%d]", i);
|
pclog("update_hdd_cdrom: i=%i b=%i new_cdrom_channel=%i new_zip_channel=%i\n", i, b, new_cdrom_channel, new_zip_channel);
|
||||||
|
sprintf(s, "IDC_COMBODRIVETYPE[%d]", i);
|
||||||
h = wx_getdlgitem(hdlg, WX_ID(s));
|
h = wx_getdlgitem(hdlg, WX_ID(s));
|
||||||
wx_sendmessage(h, WX_BM_SETCHECK, b ? 0 : 1, 0);
|
if (i == new_cdrom_channel)
|
||||||
sprintf(s, "IDC_CDROM[%d]", i);
|
wx_sendmessage(h, WX_CB_SETCURSEL, 1, 0);
|
||||||
h = wx_getdlgitem(hdlg, WX_ID(s));
|
else if (i == new_zip_channel)
|
||||||
wx_sendmessage(h, WX_BM_SETCHECK, b ? 1 : 0, 0);
|
wx_sendmessage(h, WX_CB_SETCURSEL, 2, 0);
|
||||||
|
else
|
||||||
|
wx_sendmessage(h, WX_CB_SETCURSEL, 0, 0);
|
||||||
sprintf(s, "IDC_EDIT_FN[%d]", i);
|
sprintf(s, "IDC_EDIT_FN[%d]", i);
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !b);
|
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !b);
|
||||||
sprintf(s, "IDC_FILE[%d]", i);
|
sprintf(s, "IDC_FILE[%d]", i);
|
||||||
|
|
@ -1612,39 +1659,14 @@ int hdconf_update(void* hdlg)
|
||||||
|
|
||||||
update_hdd_cdrom(hdlg);
|
update_hdd_cdrom(hdlg);
|
||||||
|
|
||||||
int i, j;
|
int i;
|
||||||
for (i = 0; i < 4; ++i)
|
for (i = 0; i < 4; ++i)
|
||||||
{
|
{
|
||||||
sprintf(s, "IDC_HDD_LABEL[%d]", i*10);
|
sprintf(s, "IDC_HDD_LABEL[%d]", i*10);
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
||||||
sprintf(s, "IDC_HDD[%d]", i);
|
sprintf(s, "IDC_COMBODRIVETYPE[%d]", i);
|
||||||
|
h = wx_getdlgitem(hdlg, WX_ID(s));
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
||||||
sprintf(s, "IDC_CDROM[%d]", i);
|
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
|
||||||
if (i >= 2)
|
|
||||||
{
|
|
||||||
sprintf(s, "IDC_EDIT_FN[%d]", i);
|
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
|
||||||
sprintf(s, "IDC_FILE[%d]", i);
|
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
|
||||||
sprintf(s, "IDC_EJECT[%d]", i);
|
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
|
||||||
sprintf(s, "IDC_NEW[%d]", i);
|
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
|
||||||
sprintf(s, "IDC_EDIT_SPT[%d]", i);
|
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
|
||||||
sprintf(s, "IDC_EDIT_HPC[%d]", i);
|
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
|
||||||
sprintf(s, "IDC_EDIT_CYL[%d]", i);
|
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
|
||||||
sprintf(s, "IDC_TEXT_SIZE[%d]", i);
|
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
|
||||||
for (j = 1; j < 6; ++j)
|
|
||||||
{
|
|
||||||
sprintf(s, "IDC_HDD_LABEL[%d]", i*10+j);
|
|
||||||
wx_enablewindow(wx_getdlgitem(hdlg, WX_ID(s)), !is_mfm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
h = wx_getdlgitem(hdlg, WX_ID("IDC_CONFIGUREHDD"));
|
h = wx_getdlgitem(hdlg, WX_ID("IDC_CONFIGUREHDD"));
|
||||||
|
|
@ -2036,60 +2058,122 @@ int hdconf_dlgproc(void* hdlg, int message, INT_PARAM wParam, LONG_PARAM lParam)
|
||||||
wx_sendmessage(h, WX_WM_SETTEXT, 0, (LONG_PARAM)s);
|
wx_sendmessage(h, WX_WM_SETTEXT, 0, (LONG_PARAM)s);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else if (ID_IS("IDC_HDD[0]"))
|
else if (ID_IS("IDC_COMBODRIVETYPE[0]"))
|
||||||
{
|
{
|
||||||
if (new_cdrom_channel == 0)
|
int type;
|
||||||
new_cdrom_channel = -1;
|
|
||||||
|
h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBODRIVETYPE[0]"));
|
||||||
|
type = wx_sendmessage(h, WX_CB_GETCURSEL, 0, 0);
|
||||||
|
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case 0: /*Hard drive*/
|
||||||
|
if (new_cdrom_channel == 0)
|
||||||
|
new_cdrom_channel = -1;
|
||||||
|
if (new_zip_channel == 0)
|
||||||
|
new_zip_channel = -1;
|
||||||
|
break;
|
||||||
|
case 1: /*CD-ROM*/
|
||||||
|
new_cdrom_channel = 0;
|
||||||
|
if (new_zip_channel == 0)
|
||||||
|
new_zip_channel = -1;
|
||||||
|
break;
|
||||||
|
case 2: /*Zip*/
|
||||||
|
new_zip_channel = 0;
|
||||||
|
if (new_cdrom_channel == 0)
|
||||||
|
new_cdrom_channel = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
update_hdd_cdrom(hdlg);
|
update_hdd_cdrom(hdlg);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else if (ID_IS("IDC_HDD[1]"))
|
else if (ID_IS("IDC_COMBODRIVETYPE[1]"))
|
||||||
{
|
{
|
||||||
if (new_cdrom_channel == 1)
|
int type;
|
||||||
new_cdrom_channel = -1;
|
|
||||||
|
h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBODRIVETYPE[1]"));
|
||||||
|
type = wx_sendmessage(h, WX_CB_GETCURSEL, 0, 0);
|
||||||
|
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case 0: /*Hard drive*/
|
||||||
|
if (new_cdrom_channel == 1)
|
||||||
|
new_cdrom_channel = -1;
|
||||||
|
if (new_zip_channel == 1)
|
||||||
|
new_zip_channel = -1;
|
||||||
|
break;
|
||||||
|
case 1: /*CD-ROM*/
|
||||||
|
new_cdrom_channel = 1;
|
||||||
|
if (new_zip_channel == 1)
|
||||||
|
new_zip_channel = -1;
|
||||||
|
break;
|
||||||
|
case 2: /*Zip*/
|
||||||
|
new_zip_channel = 1;
|
||||||
|
if (new_cdrom_channel == 1)
|
||||||
|
new_cdrom_channel = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
update_hdd_cdrom(hdlg);
|
update_hdd_cdrom(hdlg);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else if (ID_IS("IDC_HDD[2]"))
|
else if (ID_IS("IDC_COMBODRIVETYPE[2]"))
|
||||||
{
|
{
|
||||||
if (new_cdrom_channel == 2)
|
int type;
|
||||||
new_cdrom_channel = -1;
|
|
||||||
|
h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBODRIVETYPE[2]"));
|
||||||
|
type = wx_sendmessage(h, WX_CB_GETCURSEL, 0, 0);
|
||||||
|
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case 0: /*Hard drive*/
|
||||||
|
if (new_cdrom_channel == 2)
|
||||||
|
new_cdrom_channel = -1;
|
||||||
|
if (new_zip_channel == 2)
|
||||||
|
new_zip_channel = -1;
|
||||||
|
break;
|
||||||
|
case 1: /*CD-ROM*/
|
||||||
|
new_cdrom_channel = 2;
|
||||||
|
if (new_zip_channel == 2)
|
||||||
|
new_zip_channel = -1;
|
||||||
|
break;
|
||||||
|
case 2: /*Zip*/
|
||||||
|
new_zip_channel = 2;
|
||||||
|
if (new_cdrom_channel == 2)
|
||||||
|
new_cdrom_channel = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
update_hdd_cdrom(hdlg);
|
update_hdd_cdrom(hdlg);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else if (ID_IS("IDC_HDD[3]"))
|
else if (ID_IS("IDC_COMBODRIVETYPE[3]"))
|
||||||
{
|
{
|
||||||
if (new_cdrom_channel == 3)
|
int type;
|
||||||
new_cdrom_channel = -1;
|
|
||||||
update_hdd_cdrom(hdlg);
|
h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBODRIVETYPE[3]"));
|
||||||
return TRUE;
|
type = wx_sendmessage(h, WX_CB_GETCURSEL, 0, 0);
|
||||||
|
|
||||||
}
|
switch (type)
|
||||||
else if (ID_IS("IDC_CDROM[0]"))
|
{
|
||||||
{
|
case 0: /*Hard drive*/
|
||||||
new_cdrom_channel = 0;
|
if (new_cdrom_channel == 3)
|
||||||
|
new_cdrom_channel = -1;
|
||||||
|
if (new_zip_channel == 3)
|
||||||
|
new_zip_channel = -1;
|
||||||
|
break;
|
||||||
|
case 1: /*CD-ROM*/
|
||||||
|
new_cdrom_channel = 3;
|
||||||
|
if (new_zip_channel == 3)
|
||||||
|
new_zip_channel = -1;
|
||||||
|
break;
|
||||||
|
case 2: /*Zip*/
|
||||||
|
new_zip_channel = 3;
|
||||||
|
if (new_cdrom_channel == 3)
|
||||||
|
new_cdrom_channel = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
update_hdd_cdrom(hdlg);
|
update_hdd_cdrom(hdlg);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else if (ID_IS("IDC_CDROM[1]"))
|
|
||||||
{
|
|
||||||
new_cdrom_channel = 1;
|
|
||||||
update_hdd_cdrom(hdlg);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
else if (ID_IS("IDC_CDROM[2]"))
|
|
||||||
{
|
|
||||||
new_cdrom_channel = 2;
|
|
||||||
update_hdd_cdrom(hdlg);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
else if (ID_IS("IDC_CDROM[3]"))
|
|
||||||
{
|
|
||||||
new_cdrom_channel = 3;
|
|
||||||
update_hdd_cdrom(hdlg);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
3433
src/wx-resources.cpp
3433
src/wx-resources.cpp
File diff suppressed because it is too large
Load diff
|
|
@ -13,6 +13,7 @@
|
||||||
#include "hdd.h"
|
#include "hdd.h"
|
||||||
#include "ide.h"
|
#include "ide.h"
|
||||||
#include "cdrom-image.h"
|
#include "cdrom-image.h"
|
||||||
|
#include "scsi_zip.h"
|
||||||
#include "wx-common.h"
|
#include "wx-common.h"
|
||||||
|
|
||||||
drive_info_t drive_info[10];
|
drive_info_t drive_info[10];
|
||||||
|
|
@ -79,7 +80,19 @@ drive_info_t* get_machine_info(char* s, int* num_drive_info) {
|
||||||
drive_info[pos].readflash = readflash_get(READFLASH_HDC, i);
|
drive_info[pos].readflash = readflash_get(READFLASH_HDC, i);
|
||||||
readflash_clear(READFLASH_HDC, i);
|
readflash_clear(READFLASH_HDC, i);
|
||||||
pos++;
|
pos++;
|
||||||
} else if (strlen(ide_fn[i]) > 0)
|
}
|
||||||
|
else if (!hdd_controller_current_is_mfm() && i == zip_channel)
|
||||||
|
{
|
||||||
|
strcpy(drive_info[pos].fn, "");
|
||||||
|
drive_info[pos].enabled = zip_loaded();
|
||||||
|
drive_info[pos].drive = i;
|
||||||
|
drive_info[pos].drive_letter = drive;
|
||||||
|
drive_info[pos].type = DRIVE_TYPE_FDD;
|
||||||
|
drive_info[pos].readflash = readflash_get(READFLASH_HDC, i);
|
||||||
|
readflash_clear(READFLASH_HDC, i);
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
else if (strlen(ide_fn[i]) > 0)
|
||||||
{
|
{
|
||||||
strcpy(drive_info[pos].fn, ide_fn[i]);
|
strcpy(drive_info[pos].fn, ide_fn[i]);
|
||||||
drive_info[pos].enabled = 1;
|
drive_info[pos].enabled = 1;
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
#include "nvr.h"
|
#include "nvr.h"
|
||||||
#include "plat-joystick.h"
|
#include "plat-joystick.h"
|
||||||
#include "plat-midi.h"
|
#include "plat-midi.h"
|
||||||
|
#include "scsi_zip.h"
|
||||||
#include "sound.h"
|
#include "sound.h"
|
||||||
#include "thread.h"
|
#include "thread.h"
|
||||||
#include "disc.h"
|
#include "disc.h"
|
||||||
|
|
@ -855,6 +856,21 @@ int wx_handle_command(void* hwnd, int wParam, int checked)
|
||||||
wx_checkmenuitem(hmenu, wParam, bpb_disable);
|
wx_checkmenuitem(hmenu, wParam, bpb_disable);
|
||||||
saveconfig(NULL);
|
saveconfig(NULL);
|
||||||
}
|
}
|
||||||
|
else if (ID_IS("IDM_DISC_ZIP"))
|
||||||
|
{
|
||||||
|
char zip_fn[256] = "";
|
||||||
|
|
||||||
|
if (!getfile(hwnd,
|
||||||
|
"Disc image (*.img)|*.img|All files (*.*)|*.*",
|
||||||
|
zip_fn))
|
||||||
|
{
|
||||||
|
zip_load(openfilestring);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (ID_IS("IDM_EJECT_ZIP"))
|
||||||
|
{
|
||||||
|
zip_eject();
|
||||||
|
}
|
||||||
else if (ID_IS("IDM_MACHINE_TOGGLE"))
|
else if (ID_IS("IDM_MACHINE_TOGGLE"))
|
||||||
{
|
{
|
||||||
if (emulation_state != EMULATION_STOPPED)
|
if (emulation_state != EMULATION_STOPPED)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue