wwarthen / RomWBW

System Software for Z80/Z180/Z280 Computers
GNU Affero General Public License v3.0
332 stars 98 forks source link

SC126 Z180: CP/M 2.2 drive letters assigned to missing SD card #365

Closed skullandbones closed 12 months ago

skullandbones commented 1 year ago

@wwarthen I realised that I can use the CF card module from my RC2014 Z80 system on my SC126 Z180 system.

So I connected both the SD card (SD0) and the CF card (IDE0) and everything worked. By default 4 drive letters were assigned to each card.

However, when I booted the SC126 with the SD card module disconnected and with the CF card module connected I noticed the following:

RomWBW HBIOS v3.3.0-dev.57, 2023-09-29

Small Computer SC126 [SCZ180_sc126] Z8S180-N @ 18.432MHz IO=0xC0
0 MEM W/S, 2 I/O W/S, INT MODE 2, Z180 MMU
512KB ROM, 512KB RAM
ROM VERIFY: 00 00 00 00 PASS

AY: MODE=RCZ180 IO=0x68 NOT PRESENT
ASCI0: IO=0xC0 ASCI W/BRG MODE=115200,8,N,1
ASCI1: IO=0xC1 ASCI W/BRG MODE=115200,8,N,1
DSRTC: MODE=STD IO=0x0C Sat 2000-01-01 00:00:02 CHARGE=OFF
MD: UNITS=2 ROMDISK=384KB RAMDISK=256KB
FD: MODE=RCWDC IO=0x50 NOT PRESENT
IDE: IO=0x10 MODE=RC
IDE0: ATA 8-BIT LBA BLOCKS=0x0077F800 SIZE=3839MB
IDE1: NO MEDIA
PPIDE: IO=0x20 PPI NOT PRESENT
SD: MODE=SC OPR=0x0C CNTR=0xCA TRDR=0xCB DEVICES=1
SD0: NO MEDIA
FP: IO=0x00 NOT PRESENT

Unit        Device      Type              Capacity/Mode
----------  ----------  ----------------  --------------------
Char 0      ASCI0:      RS-232            115200,8,N,1
Char 1      ASCI1:      RS-232            115200,8,N,1
Disk 0      MD0:        RAM Disk          256KB,LBA
Disk 1      MD1:        ROM Disk          384KB,LBA
Disk 2      IDE0:       CompactFlash      3839MB,LBA
Disk 3      IDE1:       Hard Disk         --
Disk 4      SD0:        SD Card           --

Small Computer SC126 [SCZ180_sc126] Boot Loader

Boot [H=Help]: C:

Loading CP/M 2.2...

CBIOS v3.3.0-dev.57 [WBW]

Configuring Drives...

        A:=MD0:0
        B:=MD1:0
        C:=IDE0:0
        D:=IDE0:1
        E:=IDE0:2
        F:=IDE0:3
        G:=SD0:0
        H:=SD0:1
        I:=SD0:2
        J:=SD0:3

        1513 Disk Buffer Bytes Free

CP/M-80 v2.2, 54.0K TPA

B>

As expected disk 4 the SD card is not detected.

However, the SD card is assigned drive letters G: through to J:

I was expecting C: through to J: to be assigned to the CF card (IDE0) just like on my RC2014. There is no SD card module on my RC2014, just the CF card module is present.

I guess that most people would be using an SD card with the SC126 as that is more convenient than a CF card.

So I guess that there is a bug in the default drive letter assignment routine because SD0 does not exist and yet is assigned drive letters.

Thanks,

Regards, Dean

wwarthen commented 1 year ago

Hi @skullandbones,

Yes, it looks like you are right. Since SD0 had no media at boot time, it should not have been assigned any drive letters. There were some recent changes to this mechanism. I will review this, but may need a few days because I am in the middle of some other work.

Thanks,

Wayne

wwarthen commented 12 months ago

This should be corrected in the dev branch, so I am going to close this issue now.

Thanks,

Wayne