udo-munk / z80pack

A Zilog Z80 and Intel 8080 systems emulation
MIT License
162 stars 37 forks source link

intelmds: change controller present logic on reset #424

Closed sneakywumpus closed 3 months ago

sneakywumpus commented 3 months ago

Noticed this during testing when I did my monster clean-up.

The emulator has all three disk controllers (SD, DD, HD) attached. When ISIS boots it configures itself on the present bits returned by the controllers, and since all three controllers set the present bit, ISIS always configured itself for a hard drive system, and if you only had drivea.dsk (= DD unit 0) in the disks directory, you couldn't do anything, since ISIS tried to access the not available drivei.dsk as the system disk (HD unit 0 = F0), and always shows error 30 (drive not ready).

Changed the reset logic of the controllers to no set the present bit when no disk images are available.

Now you need to have at least one disk image (or two HD images) in the disks directory on startup for each controller you want to use.

sneakywumpus commented 3 months ago

The emulator was correct before, but I changed this for convenience, so that you don't have to recompile the emulator without the HD controller, if you only want to use floppy disks.

sneakywumpus commented 3 months ago

This isn't correct... now there is no way to create a new system hard drive from within ISIS... Need to think about this.