I use sd to cf adapters for a long time, they work very nice. Look at the board behind the CPU. I use a 2GB sd card in the cf adapter.
Unfortunately, in my case, a similar looking SD to CF adapter blocks with each SD card (I tested from 128MB to 16GB) the start of RomWBW ~30 sec to finally start with a message of no media. I use the official IDE module from the PLCC PPI.Using the SD to IDE adapter on the same SD cards starts the system and accesses their contents. It is possible that my adapter is different, despite the similarity. It is comforting to know that it works on a buffered CF module.
SCMonitor's CF information Apps does not run on my Z280 hardware, so I did a quick mod of my monitor to send the "Identity" command ($EC) and display the returned raw data. The raw data are byte-swapped, so the adapter information is:
Rev 1.5 FC-1307 SD to CF Adapter V1.5
I guess it is a newer model (rev1.5) than yours (rev 1.3).
Bill
Tadeusz wrote:I checked this adapter with Steve's test program, the top result on Spencer and Karl's #10f modules gives the same result, below already correctly recognised SD card after using the buffered CF module.
Perhaps this correctly read information is different from the adapters you have? I am curious about the results.
--
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/7eae9ffd-5419-4d48-8c10-06cfcde24d24n%40googlegroups.com.
FWIW, I tried a couple of the full size SD adapters with a selection of cards and didn't get any positive results. They were just tested with the standard image I use on CF cards, and the test was just a working/non-working test, but after a few goes I gave up on them.Spencer
Interesting discussion... I have never tried one of these SD-CF adapters. I just ordered a couple of them and should get them on Thursday. This should allow me to replicate most of the scenarios being described.I guess there could be an issue with RomWBW, but it seems unlikely since there do not seem to be any issues with CF Cards in general (other than hardware anomalies on the unbuffered boards).
I have received the SD-CF Adapters that I ordered. In the attached picture, the first one (Red) is like everyone else seems to have. The second one (White) also calls itself an Extreme CF Adapter, but says something about "3rd generation" -- no idea what that refers to.Red identifies itself as:SN: "50277237 "
Revision: "Rev 1.3 "
Model: "FC-1307 SD to CF Adapter V1.3 "White identifies itself as:SN: "2C1003531 "
Revision: "00000011"
Model: "INIC-2051 CompactFlash Card "
Access via a PPIDE interface was universally successful on all platforms.
It looks like I have a not fully working SD to CF adapter, or there are differences in the operation of the IDE modules.
Hi Philip,I have already ordered a second one that looks the same and will check that it works in the IDE module. What bothers me is that the adapter I currently have works in a particular CF module (which works on similarly to the SC145).
How was /SEL generated? Just with addresses and /M1? I assume 15080MB is the correct disk size? Did ACT32 consistently read 96MB disk size. ACT and AC logic are so fast which can generate reflection affecting proper CF access.
After a temporary absence due to illness, I'm back with new news of progress.
The /RD signal delay allows any CF card to be recognised but there are problems reading it correctly (I need to bridge the buffer). I managed to recognise undetected by all the CF and IDE modules available to me - SanDisk Ultra 2GB.
The interesting thing is that the use of /IOWR must be combined with /WR of the processor, the signals /IORQ OR /WR prevent the detection of cards.
--
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/6cea7f4d-69b0-44a2-8c91-1fd7fccfdab5n%40googlegroups.com.
Schematic attached. If anyone with a better grasp of IDE can see any issues that would be much appreciated :)I'm happy to share gerbers etc if anyone's interested.Dylan
--
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/CAFC0-0X5u6m-b8dLL1t3K7SUcH38uJ-tHxgSjNyBfgyc92TLkg%40mail.gmail.com.
I've mashed together the official CF card and IDE modules along with the through hole CF socket mentioned before.
Gerbers attached. I've exported those from EasyEDA so hopefully they're compatible.Sorry, I should have added, the board is a 4 layer board. Signals on the top and bottom layers, power and ground on the inner layers.
Dylan wrote:I'm keen to give CPM-IDE a go, however, there is a slight hitch.The only ROM I have for the Pageable ROM Module is the one-time-programmable 27C512 that came with the kit.It looks like the local Jaycar has a 27C256 that I think will be suitable so I'll try and grab one when I get a chance.
I've used Winbond W27C512 and SST 27C256 both from Ali Express. Cheap, and worth the gamble, imho.
What I'm wondering is how hard would it be to modify CPM-IDE to work with the 512k ROM/RAM module?
Pretty easy. I should set up z88dk to support the 512k/512k Module one day, but in the interim there are just two places you need to touch code.1. In the set up for the 64k/64k shadow RAM set up where the code wrapped in __IO_RAM_SHADOW_AVAILABLE can be deleted and replaced by code for the 512k/512k Module.
I've had a quick look at the CPM-IDE source, but I'm rather out of my depth. Any pointers where to look would be helpful :)
Have a read of this guide. It should cover most of the places where code needs to be adjusted. Start from a nightly or a clone of z88dk, and go from there.
--
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/977291ed-4e51-457e-9729-a3448210e26en%40googlegroups.com.
Hi Phillip, I've tracked down a pair of M27C256B (32KB) ROMs and burnt rc2014-sio-cpm22.hex to one of them.However, something isn't working quite right. I see this when I reset the system:RC2014 CP/M-IDE
feilipu 2022
> :?I've swapped everything I can think to swap but the result is consistent. This is with or without a PPIDE module installed (same result for the official module and my CF card version).If I swap back to the supplied ROM and move the jumpers back I can boot into SCM so I think the system itself is happy.I'm suspicious of my ROM. I believe it's a 150ns part, so I thought it might be too slow. That said, I halved the clock speed and repeated the tests at 57600 8n2 and got the same result.I noticed you'd uploaded a new version of the .hex file recently so I've tried that and the version I checked out a couple days ago.My other thought is that the 27C256 needs different jumper settings than the 27C512. I'll have a dig into that idea later, but for now I'm hoping you'll see the :? output and that will mean something to you :)Thanks,Dylan
--
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/CAFC0-0VfkBXx7%2B93LaoRsqLaUt50-eVVLj62srJob_mETOEeOw%40mail.gmail.com.
Sorry, as soon as I read your reply I remembered reading that in the instructions. RTFM :)I think I'm largely there... just some odd behaviour I can't quite understand.
I've connected an FTDI adapter to both of the serials. At power up I see the :? prompt on both.If I type : into port A I'm into the monitor. For example:
RC2014 CP/M-IDE
feilipu 2022
> :? :-)
> help
RC2014 - CP/M IDE Monitor v2.2
The following functions are built in:
cpm [file][][][] - initiate CP/M with up to 4 drive files
mount [option] - mount a FAT file system
ls [path] - directory listing
cd [path] - change the current working directory
pwd - show the current working directory
ds - disk status
dd [sector] - disk dump, sector in decimal
md [origin] - memory dump, origin in hexadecimal
help - this is it
exit - exit and restart
> mount
rc=0 FR_OK
> ds
FAT type = FAT32
Bytes/Cluster = 4096
> ls
----A 2022/09/05 05:22 8388608 BBCBASIC.CPM
----A 2022/09/05 05:23 8388608 HITECHC.CPM
----A 2022/09/05 05:23 8388608 MSBASCOM.CPM
13 File(s), 109051904 bytes total
0 Dir(s), 3878211584 bytes free
> cpm sys.cpm
Opening "sys.cpm" at LBA 148376
Initialised CP/M
This is where it gets weird. The A> prompt then appears on serial port B. Issuing commands like dir return garbage (but not random, for example the minicom version string appears in the output). e.g output from port B:
RC2014 CP/M-IDEfeilipu 2022
> :?A>
A>
A>dir
A: D.>S0! q : MFm^! 9I : !IMU!2 W : w~#.Lzp !PM
A>inicom2.7.1
INICOM2.7.1?A>
A>b:
Bdos Err On B: Select
--
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/edc7c08f-9a31-401c-b757-f7f77fe518cbn%40googlegroups.com.
RC2014 CP/M-IDE
feilipu 2022
> :?A>
A>
A>dir
A: D.>S0! q : MFm^! 9I : !IMU!2 W : w~#.Lzp !PM
A>inicom2.7.1
INICOM2.7.1?A>
Otherwise, seeing this junk from CP/M is concerning, as it means something is wrong with the serial connection.Either the terminal is being overrun, or something's wrong with the SIO interface, as it is being transmitted by the RC2014.Please check the CR situation, and let me know.
A>b:Bdos Err On B: SelectYou are getting an error here because you didn't specify a B: drive "drive file".Your CPM command should look like:cpm filefor.a filefor.B filefor.C filefor.Di.e. for examplecpm sys.cpm zork.cpm hitechc.cpm user.cpmto get the maximum of 4 active drives.
--
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/336055e9-5287-4636-b58e-82e35a2648fdn%40googlegroups.com.
I don't think the files will be fragmented. The procedure I followed was:git clone the repounzip all the CPM disk images on the local diskuse gparted to partition/format the CF cardcopy *.zip to the CF cardIs there a trivial way to inspect the FAT table to ensure the files are contiguous?My only thought is that gparted likes to leave 1MB of empty space at the start of the disk when partitioning it. I don't imagine this would have any impact but I could try again setting the offset to zero.
The hardware reset and the canary value makes sense. You had mentioned that in the docs. I won't worry about this :)I'll let you know how I get on with my tinkering this evening.Dylan
I don't think the files will be fragmented. The procedure I followed was:git clone the repounzip all the CPM disk images on the local diskuse gparted to partition/format the CF cardcopy *.zip to the CF card
Is there a trivial way to inspect the FAT table to ensure the files are contiguous?
--
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/51a477c7-ada1-4a19-a0dd-8cd2e00c4f79n%40googlegroups.com.
Dylan wrote:Is there a trivial way to inspect the FAT table to ensure the files are contiguous?Oddly enough there is actually a FATFS application example to do exactly this test.If it turns out that fragmented files was your issue, then it would be worth adding this as a "check" before allowing them as valid CP/M drive files.Otherwise, it could just be an additional shell function. I think there might be space available if needed.
Dylan wrote:Is there a trivial way to inspect the FAT table to ensure the files are contiguous?Oddly enough there is actually a FATFS application example to do exactly this test.
Just to see what happens. I've added the function to the code.It does cost quite a bit of time at at CP/M load time, as all of each file needs to be seeked through.
--
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/e9fa477a-9db9-4ac3-9c49-8cdd3361688en%40googlegroups.com.
If I try running a program from disk immediately after startup it returns to the monitor, e.g.RC2014 CP/M-IDE
feilipu 2022
> :-)
> cpm sys.cpm
Opening "sys.cpm" at LBA 148376
Initialised CP/MA>stat
RC2014 CP/M-IDE
feilipu 2022
> :-)
I've tried both minicom and picocom and I think they're only sending CR, but the settings are a little unclear so it's possible this is still wrong.
--
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/409b1004-aef3-4f6e-921c-a8acd776bb80n%40googlegroups.com.
The ^C fixes the issue :)
--
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/cc1fd01b-eb89-429e-97bb-ae50307962ean%40googlegroups.com.
Yes, the issue still occurs with the official IDE module. I’ve tried a 4GB CF card, and two types of SD card adapters. The results are consistent.
I’m wondering if something is different about the power on state of my setup. The unused portion at the end of my ROM chip is all 1’s. But that seems unlikely to have any impact. Could there be an uninitialised variable or buffer that’s getting a different value on power up?
Dylan wrote:
I’m wondering if something is different about the power on state of my setup. The unused portion at the end of my ROM chip is all 1’s. But that seems unlikely to have any impact. Could there be an uninitialised variable or buffer that’s getting a different value on power up?Yes. I think you’re right. It is some kind of initialisation problem. Particularly as relogging the drives cures it.
Yesterday, I suspected the BIOS dirbf and hstbuf. I recently moved them to be uninitialised to reduce boot time. So you could grab a ROM from last week to check that possibility.But, last night I dug into the BDOS and BIOS processes and hstbuf is filled before use, and that’s is where the BDOS DIRBUF pointer is also filled.So I’m not sure there’s a root cause arising from that.
I’ll go to my hardware archive and try to set up a vanilla Plus / Pro system to see if I can replicate the issue.
--
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/df06e0f6-2ef2-4a66-b50d-c99447a7206en%40googlegroups.com.
It works!
I've done a superficial test with the ACIA serial adapter. I'll do some more thorough tests later today, then burn a SIO version and repeat.
--
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/66ae54bc-4ae2-4c34-9ee0-ff141a6b1392n%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAPBs7ARPcC8bRBwjfCsEP31LXHSyZrLc_qqsVVAO%3DPTcKUxrMQ%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAG2GuRYG_SiE4Le2xd72WNWYit7_macNEfZyZj%3DaipG4gWcpkQ%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/CAPBs7AQJ9CvfwrduWNkUbrqv%3Dr9OX%3DpT8erpuyFB22W4qkGHBg%40mail.gmail.com.
Dylan wrote:
Hi Richard, the CF socket is https://www.mouser.com/ProductDetail/200-CFT12501LDRA01SLThere are some good notes about using that socket here: https://github.com/PickledDog/rc-cfcardIn particular the anchors are plastic so can't be directly soldered to the board. You need to fill them with solder (I used solder paste) then heat the plated through hole socket to melt the solder. I was a little clumsy with this step and touched the soldering iron tip to the plastic anchors which caused them to melt a little bit. The through hole pins are very tightly packed, so are tricky to solder. A found a very fine tipped soldering iron helpful here and some solder wick to fix my inevitable mistakes :)I've shared the design from EasyEDA: https://oshwlab.com/dylan_3481/cf-ppide-for-rc2014_copy
Dylan
I'm awaiting delivery of my version of your PPI CF Module PCB with great expectation now. And I'll get some built up as soon as I can.I'll have 2 or 3 PCBs spare (in AU/NZ area), so if someone wants one for postage plus A$10 (production cost) let me know.I've done a superficial test with the ACIA serial adapter. I'll do some more thorough tests later today, then burn a SIO version and repeat.The SIO Module build has additional benefits including 2x serial ports (obviously) for a separate TTY port, and allowing the standard DDT and SID CP/M tools to work using RST7.In the ACIA Module build the RST7 is already taken by the interrupt handler, so those two standard CP/M tools would need to be patched to work.The SIO Module build also has faster I/O because it supports IM2 vectored interrupts, so for example transmitting and receiving bytes go to different (shorter / faster) interrupt handlers, and each port has its own set of interrupt handlers too.
I am using your CPM-IDE v2.2 in a rig of SC108 (CPU etc) SC104 (SIO2) and RC2014 IDE Adapter rev 2 (Electrified) with a 40 pin DOM. It is powered through a backplane 5V USB-3 supply (A USB-2.2 supply was insufficient and system would reboot a lot).
I note that after booting into the system monitor (typing colon at serial A) that the first disk command e.g. "ls" will fail. Repeat the command, and it works, and all subsequent commands are fine.
On my rig the scenario is totally reproducible.
Any thoughts on why that first access is troublesome ?
--
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/aef08d98-7ce8-4e74-aa55-8c1b21e71e8en%40googlegroups.com.
--
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/aef08d98-7ce8-4e74-aa55-8c1b21e71e8en%40googlegroups.com.
The command, e.g. "ls" is taken correctly but then receiving something like disk error back. Other disk related command could be used instead of ls, fail if first disk related command after boot.
I attach three scenarios, that show the problem. Focussing on "ls" (first disk access seems key)
RC2014 CP/M-IDEfeilipu 2022> :? :-)> lsrc=3 FR_NOT_READY
RC2014 CP/M-IDEfeilipu 2022> :? :-)> frag sys.cpmChecking "sys.cpm"rc=12 FR_NOT_ENABLED
> lsrc=3 FR_NOT_READY> frag sys.cpmChecking "sys.cpm" at LBA 11904 is OK>Phillip wrote:Richard wrote:The command, e.g. "ls" is taken correctly but then receiving something like disk error back. Other disk related command could be used instead of ls, fail if first disk related command after boot.Ah. Yes. Only ls and cpm commands do an auto-mount. To allow one command initialisation of CP/M.Other disk commands need the mount command first, which mounts the drive. Otherwise they’ll return a disk error.Perhaps that’s it?
Use the mount command before using other commands. Only ls and cpm do an auto-mount.This is done because reissue of a mount function as part of a command will reinitialise memory and make it more difficult for debugging if needed.
This is done because reissue of a mount function as part of a command will reinitialise memory and make it more difficult for debugging if needed.
I'm awaiting delivery of my version of your CF Card PPIDE Module PCB with great expectation now. And I'll get some built up as soon as I can.
I'll have 2 or 3 PCBs spare (in AU/NZ area), so if someone wants one for postage plus A$10 (production cost) let me know.
My PCB order arrived, and I've built up a few of Dylan's CF Card PPIDE Modules. They look, and work, great!Both modern CF Cards and CF-SD Adapters are working for me.
There is no such thing as a 'CF standard'.
I have completed work on the CF interface. This was achieved without too much complexity. It works as expected, even with a troublesome SD to CF adapter and a SanDisk 2GB card that didn't work under either interface.
I'm afraid shipping from Poland to Australia will be more expensive than ordering these PCBs from a Chinese factory. I'm making the Gerber files available here for non-commercial use, it's probably a more reasonable solution.
The most important piece of information is missing here - the CF connector is exactly as used in the official CF module - Attend 101D-TAA-R01. It is available at major electronics shops, I bought mine at tme.eu.