Second Compact Flash

383 views
Skip to first unread message

flyingbird

unread,
May 21, 2021, 7:49:32 AM5/21/21
to RC2014-Z80
Hi,

It's possible connect to RC2014 with RomWBW 2nd CF module addressed at 0x20 to have IDE1 drive with K: - P: discs ?

Thanks,
Lumir

Karl Albert Brokstad

unread,
May 21, 2021, 8:13:03 AM5/21/21
to rc201...@googlegroups.com
The answer is yes
Karl


Sent from my iPhone

On 21 May 2021, at 13:49, flyingbird <vanek...@gmail.com> wrote:

Hi,


It's possible connect to RC2014 with RomWBW 2nd CF module addressed at 0x20 to have IDE1 drive with K: - P: discs ?

Thanks,
Lumir

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/1a34a977-d01f-4dea-9bd6-a1152cca8c5en%40googlegroups.com.

Wayne Warthen

unread,
May 21, 2021, 12:06:55 PM5/21/21
to RC2014-Z80
On Friday, May 21, 2021 at 4:49:32 AM UTC-7 flyingbird wrote:
It's possible connect to RC2014 with RomWBW 2nd CF module addressed at 0x20 to have IDE1 drive with K: - P: discs ?

Karl is correct that it is possible.  However, the configuration options for doing this depend on the type of CF Module you are adding.  If you are adding an 8255-based module, then it will be detected automatically at that startup.

-Wayne 

Spencer Owen

unread,
May 21, 2021, 12:44:45 PM5/21/21
to rc201...@googlegroups.com
If you're doing this with the RC2014 Compact Flash Module, you will need to make a little modification to the back of the PCB for it to use 0x20. Cut the short track between pin 13 and the lone pad. Then add a wire joining that pad with the one directly below it in the middle of the chip (connected to pin 11).

Spencer 

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
CompactFlash__01__01.png

flyingbird

unread,
Jun 15, 2021, 11:38:51 AM6/15/21
to RC2014-Z80
Hi,

I have 2nd CF card installed, but it not works, I get message IDE1: NO MEDIA:

512KB ROM, 512KB RAM

SIO0: IO=0x80 SIO MODE=115200,8,N,1
SIO1: IO=0x82 SIO MODE=115200,8,N,1
DSRTC: MODE=STD IO=0xC0 NOT PRESENT
MD: UNITS=2 ROMDISK=384KB RAMDISK=384KB
IDE: IO=0x10 MODE=RC
IDE0: 8-BIT LBA BLOCKS=0x0001E900 SIZE=61MB
IDE1: NO MEDIA
PPIDE: IO=0x20 PPI NOT PRESENT

I don't have soldered 74138 on second one - instead I routed PORT32 (pin #11) from 1st to PORT16 on 2nd one. Any idea ?  

Bye,
Lumir


Dne pátek 21. května 2021 v 18:44:45 UTC+2 uživatel Spencer Owen napsal:

Wayne Warthen

unread,
Jun 15, 2021, 9:16:43 PM6/15/21
to RC2014-Z80
On Tuesday, June 15, 2021 at 8:38:51 AM UTC-7 flyingbird wrote:
Hi,

I have 2nd CF card installed, but it not works, I get message IDE1: NO MEDIA:

I don't have soldered 74138 on second one - instead I routed PORT32 (pin #11) from 1st to PORT16 on 2nd one. Any idea ?  

Both IDE0 and IDE1 refer to the first IDE interface.  IDE0 will be the master IDE device and IDE1 will be the slave IDE device.  If you are using the official Compact Flash adapter, then IDE1 will never show any media because there is no slot to accept a slave device.  Since you have added a second IDE interface, you will need to activate this interface using a custom ROM build.  You will need the following configuration statements:

IDECNT .SET 2 ; IDE: NUMBER OF IDE INTERFACES TO DETECT (1-3), 2 DRIVES EACH
IDE1MODE .SET IDEMODE_RC ; IDE 1: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
IDE1BASE .SET $20 ; IDE 1: IO BASE ADDRESS

If you are able to do this and install the updated ROM, you should see IDE0 thru IDE3 at boot.  Your original CF card should show up on IDE0 and your new CF card should show up on IDE2.

-Wayne
...
 

flyingbird

unread,
Jun 18, 2021, 6:20:59 AM6/18/21
to RC2014-Z80
Hi all,
so I ordered TL866 programmer and flashed custom image with  wwarthen  modification to ST39SF040. But I'am still not happy - I tried CLRDIR C: but stil see only A-J drives:

IDE: IO=0x10 MODE=RC
IDE0: 8-BIT LBA BLOCKS=0x0001E900 SIZE=61MB
IDE1: NO MEDIA
IDE: IO=0x20 MODE=RC
IDE2: 8-BIT LBA BLOCKS=0x0001E900 SIZE=61MB
IDE3: NO MEDIA

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

When accessing C:-F:, LED 2 on i/o card is blinking and also LED on 1st. CF
When accessing G:-J: LED 4 on i/o card is blinking  and also LED on 2nd. CF
... as expected.

Any other idea to have drives K:-P: ?
Lumir
Dne středa 16. června 2021 v 3:16:43 UTC+2 uživatel wwar...@gmail.com napsal:

Spencer Owen

unread,
Jun 18, 2021, 6:35:03 AM6/18/21
to rc201...@googlegroups.com
Hi Lumir,

Just to rule out any hardware issues, do you get the same results if you swap the two compact flash modules with each other in the backplane?  Also, to rule out issues with the CF cards, do you get the same results if you swap the two CF cards over?

Cheers

Spencer

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.

flyingbird

unread,
Jun 18, 2021, 6:50:09 AM6/18/21
to RC2014-Z80
Spencer,

1st thing isn't possible, Both card are stacked together with common bus header - bcs. I haven't free slot.
Swapping cards give same result.

Cf slot on 1st module is soldered by me, so I'll try inspect in on microscope, 2.nd is soldered by you.

Lumir.

Dne pátek 18. června 2021 v 12:35:03 UTC+2 uživatel Spencer Owen napsal:

Spencer Owen

unread,
Jun 18, 2021, 6:59:50 AM6/18/21
to rc201...@googlegroups.com
Hi Lumir,

Ah, ok.  I know that sometimes if the CF module is too far from the CPU then it might not behave properly, so the suggestion to swap them around would have shown that up. But if they are attached, then the bus lengths are only going to be a few mm different at the most, so that should not matter at all.

If the module that you soldered is the one giving drive 0 and 2 then it sounds like that is ok. Lets hope that my soldering is good enough too :)

Spencer

Wayne Warthen

unread,
Jun 18, 2021, 1:24:01 PM6/18/21
to RC2014-Z80
On Friday, June 18, 2021 at 3:20:59 AM UTC-7 flyingbird wrote:
Hi all,
so I ordered TL866 programmer and flashed custom image with  wwarthen  modification to ST39SF040. But I'am still not happy - I tried CLRDIR C: but stil see only A-J drives:

IDE: IO=0x10 MODE=RC
IDE0: 8-BIT LBA BLOCKS=0x0001E900 SIZE=61MB
IDE1: NO MEDIA
IDE: IO=0x20 MODE=RC
IDE2: 8-BIT LBA BLOCKS=0x0001E900 SIZE=61MB
IDE3: NO MEDIA

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

The hardware is working exactly right and you have successfully built a copy of RomWBW that now recognizes the second CF module.  The additional IDE interfaces (IDE2: & IDE3:) are now showing up.  This is all good.

The reason you are still only seeing IDE drive C: thru J: is due to the behavior of RomWBW.  Since drive letters are a limited resource in CP/M, RomWBW uses a boot-time algorithm to evenly allocate drive letters to each hard disk type device.  Previously, you had only 1 hard disk type device, so 8 drive letters (C:-J:) were all mapped to this device (IDE0).  Now you have 2 hard disk type devices.  So, RomWBW maps 4 drive letters to each device.  C:-F: are mapped to the first 4 slices of IDE0: and G:-J: are mapped to the first 4 slices of IDE2.  This is all working as intended.

So, your question is how to use additional drive letters.  Not a problem.  RomWBW provides the ASSIGN command that allows drive letters to be assigned, removed, or reassigned dynamically as desired.  The ASSIGN command is documented in "RomWBW Applications.pdf".  As an example, if you wanted to assign K: to the fifth slice of IDE0:, you would use the command:

ASSIGN K:=IDE0:4

The effects of the ASSIGN command are not persistent.  If you restart the OS, the drive assignment will revert to the RomWBW defaults.  If you want custom drive letter assignments each time you boot, then you can create a PROFILE.SUB file with the ASSIGN commands and it will be executed at each boot.  The PROFILE.SUB file must be on the boot drive.  You  cannot write files to the ROM drive, so booting from the ROM drive does not allow this.  Instead, I recommend you boot to a slice on one of your hard disk devices because you can easily place a persistent PROFILE.SUB file there.

Hope this helps.

-Wayne
 

flyingbird

unread,
Jul 1, 2021, 11:50:02 AM7/1/21
to RC2014-Z80
Little Bro #retrocomputer now works with two Compact Flash modules stacked together. https://twitter.com/l_vanek/status/1410626440748572673


Dne pátek 18. června 2021 v 19:24:01 UTC+2 uživatel wwar...@gmail.com napsal:

Wayne Warthen

unread,
Jul 1, 2021, 12:46:14 PM7/1/21
to RC2014-Z80
On Thursday, July 1, 2021 at 8:50:02 AM UTC-7 flyingbird wrote:
Little Bro #retrocomputer now works with two Compact Flash modules stacked together. https://twitter.com/l_vanek/status/1410626440748572673

Nice to see it working.

-Wayne 

flyingbird

unread,
Jul 2, 2021, 2:44:23 AM7/2/21
to RC2014-Z80

Thx to all !
Bye,
Lumir


Dne čtvrtek 1. července 2021 v 18:46:14 UTC+2 uživatel wwar...@gmail.com napsal:

Spencer Owen

unread,
Jul 2, 2021, 5:29:29 AM7/2/21
to rc201...@googlegroups.com
Good work there Lumir,

I love the way that you've got 6 modules in a 5 slot backplane. I am just wondering what the maximum limit for a 12 slot backplane is now :)

Thanks for documenting it too.  Hopefully it'll be helpful for others.

Spencer

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages