--
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+unsubscribe@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/c8931120-0256-47bb-97dc-ecf7d35b9705%40googlegroups.com.
But are there plans to let it work with the "Dual Serial Module SIO/2" ?
(the ACIA is 'retired' :-) )
This is the first outing of my IDE board, I was thinking I would have to get a paged ram/rom board to run CP/M for the IDE disk but Philips version has made this not necessary now.Luckily I had a home made 6850 / ESP8266 board ready to hook up, mine can be jumpered for 0x40/0x80.I'm well pleased, it seems to have all 'just worked' :-) Thanks.
I'd call that a result, here are the photos to prove it.
I'm not sure how to use it yet, I've a bit of reading to do.
RC2014 - CP/M Monitor
feilipu 2018
> help
RC2014 - CP/M IDE Monitor v0.1
The following functions are built in:
cpm [file][][][] - initiate CP/M with up to 4 drive files
md - [origin] - memory dump
help - this is it
exit - exit and halt
ls [path] - directory listing
mount [path][option] - mount a FAT file system
ds [drive] - disk status
dd [drive][sector] - disk dump, sector in hex
> mount 1
rc=0 FR_OK
> ls
D-HS- 2018/03/22 23:10 0 SYSTEM~1
----A 2018/02/23 21:05 16777216 SYS.CPM
----A 2017/11/01 00:01 16777216 USER.CPM
----A 2018/02/04 21:42 16777216 ZORK.CPM
3 File(s), 50331648 bytes total
1 Dir(s), 13586432 bytes free
> cpm sys.cpm user.cpm zork.cpm
Opening "sys.cpm" at LBA 189
Opening "user.cpm" at LBA 32957
Opening "zork.cpm" at LBA 65725
Initialised CP/M
A>dir a:
A: ASM COM : DDT COM : ED COM : EXIT COM
A: INFO COM : LOAD COM : LUA COM : LU COM
A: MAC COM : MBASIC COM : MLOAD COM : MOVCPM COM
A: PIP COM : SH COM : STAT COM : SUBMIT COM
A: LS COM : SYSGEN COM : TE COM : UNARC COM
A: UNCR COM : USQ COM : XSUB COM : Z80ASM COM
A: ZEXALL COM : ZEXDOC COM : ZSID COM : ZTRAN COM
A: CAL COM : DUMP COM : KERMIT COM : SHSAVE COM
A: SH OVR : ERASE SUB : FULLPRMP SUB : NORMPRMP SUB
A>dir b:
B: CPSKER HEX : CPVGEN HEX
A>dir c:
C: FILE_ID DIZ : ZORK1 COM : ZORK1 DAT : ZORK2 COM
C: ZORK2 DAT : ZORK3 COM : ZORK3 DAT
A>sh
MicroShell - Version 2.0
Copyright(c)1982 New Generation Systems
A0% dir
A: ASM COM : DDT COM : ED COM : EXIT COM : INFO COM
A: LOAD COM : LUA COM : LU COM : MAC COM : MBASIC COM
A: MLOAD COM : MOVCPM COM : PIP COM : SH COM : STAT COM
A: SUBMIT COM : LS COM : SYSGEN COM : TE COM : UNARC COM
A: UNCR COM : USQ COM : XSUB COM : Z80ASM COM : ZEXALL COM
A: ZEXDOC COM : ZSID COM : ZTRAN COM : CAL COM : DUMP COM
A: KERMIT COM : SHSAVE COM : SH OVR : ERASE SUB : FULLPRMP SUB
A: NORMPRMP SUB
A0% I had loaded three disks on the first successful boot but hadn't noticed that the terminal was issuing cr/lf which triggers the limited directory listing problem - only one file ws being shown. setting the terminal to send CR only fixes this.
I can't find the AES demo program, I'll get a bigger CF card and load the other images.
I'll need somewhere to keep my programs too. Below is a capture of a better boot sequence. Is there a way to automate the boot, something like autoexec.bat ? David.
Is there a way to automate the boot, something like autoexec.bat ? David.Good idea. I was leaving it very manual as for the past months I've been looking at bytes in memory, and trying to make things work. So a good user interface was the last thing on my mind.
I've tried your new binary image, it works, thank you.
Actually what I had in mind was the very thing you said you did not want to do, read a file with some monitor commands in it to initialise the system.This would then allow the system to boot directly into cp/m if that is what you wanted. I'd imagine you could write a few lines in an offline editor.Of course the disk would need to be mounted first to be able to do that.
I have a couple of questions regarding the i/o map, I would like to be able to add in some other cards, in particular another serial card.I would no need o/s driver support initially but I can see it would be an advantage to be able to use aux: prn: or whatever.
I started to write a SIO2 driver for z88dk but gave up when I realised that the existing 6850 driver interrupt wasn't working properly.
I understand this problem has now been fixed to when I have time I should try again but it is heavy going understanding the z88dk system.I think integration with eclipse could help here - it saw you have been looking into this yourself, how do you find it?
I tried to add my parallel input / output card but when I did that the system would not boot properly, this surprised me as I thought that the lower i/o space was unused.Could you let me know please if there is anything in the software which accesses i/o memory apart from the Page, IDE, and UART registers?
I'm using a compact flash to IDE adaptor with a 512kB card which as all your disk image files on it. Initially I had the CF adaptor set to 3v3, in this state neither of the three leds on the card (Power, Active, and Card detect) ever lit. I changed the jumper to 5V and now they all work as expected. The LED on Ed's IDE card flashed at the same time as the CF adaptor LED. However after a power cycle or reset the the IDE adaptor LEDS are all unlit and the LED on Ed's IDE adaptor is lit. This changes when the card is accessed by a ls command even though the card is mounted. (I think I read somewhere that the card is only initialised at first access even though it is mounter so that could partly explain this)I mentioned that I am using my 6850 - ESP8266 card to view the console, I've mad a small modification to this to feed 5v onto the ESP8266 taken from the un-switched 5v input to the RC2014 back-plane. This allows me to power cycle the main board without loosing my wifi link to the console. I find I have to power cycle the system quite often, pressing the reset button does not always restore the system, I don't know why, it could be I am using a dodgy eprom or something, it doesn't always boot.
I have added a power up reset chip onto the Z80 board and a tantalum decoupling capacitor onto the back plane, I am using what I think is a good power supply. ESP8266s are a bit power hungry so that is another avenue to check on my system. I find a reset more likely to succeed if I exit cp/m first, I guess this is something to do with the page signal. If I dont do this then a power cycle is needed to regain control. sometimes a wait is needed too, i.e. power off for a minute.
Next I'll be adding some of my own archive cp/m programs onto the template drives, to see what I can do with it. nothing spectacular is planned, I'm just curious to see how it is going to work.
I've tried your new binary image, it works, thank you.Great. I'm not planning on touching it now for a week or so, so the latest CPM-IDE HEX version should stand long enough to make it worth burning.
There will be a driver for the SIO/2 for the z88dk and for this build. A benefactor has provided, and it is on its way.
Will take a while to get here, but stand by.
I've tried your new binary image, it works, thank you.Great. I'm not planning on touching it now for a week or so, so the latest CPM-IDE HEX version should stand long enough to make it worth burning.
The SIO/2 drivers are progressing, but the SIO is proving to be a difficult beast to tame. It seemingly behaves randomly.Also, most of the implementations I am referencing don't agree with the datasheet in important details, so it is difficult to know who to believe.Anyway it doesn't matter because solving issues is part of the fun.
I had some time today to try the new SIO version of CP/Mthe new build is working well for me on both SIO and ACIA cards.
I'm preferring to use the SIO card now to make use of the two ports available.
The second port will be handy for Kermit file transfers, I've proved its working on on the TTY port.I can send and receive files from my PC, I've been using the David Goodwin's windows gui version of Kermit from here: Kermit95
There are some brief instructions for using kermit here: Kermit example which I followed (except the second serial is TTY).
One thing which did confuse me at the outset was the lack of any echo on either serial port, just the monitor sign on appears. After checking everything and even burning another eprom I eventually read the instructions and typed ':' and the system sprang into life. I never saw the ':' echoed on the terminal, whichever port I used.
At one point I thought my system was broken the 'canary' was holding onto something but it came back to life after tea.
It will be interesting to see if Ed's sound card will co-exist in this configuration.
I was a bit hasty saying things were going well, although Kermit appeared to receive files properly on the RC2014, they never get saved onto the fie system. transfers to the PC are working ok. its a shame as the automatic file serving on the PC is going to be handy. is this version of Kermit usable on standard RC2014, I'll try it and see.
> PIP B:A_FILE.COM=A_FILE.COMOne thing which did confuse me at the outset was the lack of any echo on either serial port, just the monitor sign on appears.
After checking everything and even burning another eprom I eventually read the instructions and typed ':' and the system sprang into life.
Now that the new SIO/2 drivers have been pulled into Z88DK and are part of the new -subtype=sio option, I've also created a new CP/M-IDE SIO build.This version of CP/M-IDE doesn't strictly comply with the original intention; to get CP/M running as fast as possible on the minimum RC2014 hardware.But it doesn't stray too far from the intention and, since CP/M needs to have at least two physical ports to work well, adding SIO support was a natural thing to do.To write the SIO/2 drivers, I've gone back to the original datasheets and the Leventhal book from 1983 to see what they had to offer. For me it was a great learning experience with Z80 IM2 mode, and working for the first time with a Zilog peripheral device that could steer its interrupts using the IM2 interrupt response process. I always find it enlightening when I actually write the code, because the words in the datasheets don't mean that much to me until I have to study and "know" each bit.
Some build and usage notes.
For the SIO, to get to the shell prompt > after restarting the RC2014 use a colon : not a space .Why? Because I can't see a space, and I like to know that I'm actually sending a character.The SIO Port B is configured with no remote echo. That is usual for TTY interfaces, that might waste bandwidth by sending echo characters back. Use local echo.The SIO Port A is configured with echo as normal. These options are just Z88DK input terminal configurations, that can be easily changed at build time.DDT works with the SIO implementation, but it doesn't work with the ACIA version.This is because of the use of the RST38 interrupt for IM1 mode. Other threads have covered this.A lot of people seem to report troubles with Compact Flash cards in 8 bit mode.Perhaps try using Ed's IDE card to drive the CF in PATA 16 bit mode?It might take away some pain.
Would your version of CP/M work with the RC2014 512KB ROM/RAM board as used by romwbw?
This version of CP/M-IDE doesn't strictly comply with the original intention; to get CP/M running as fast as possible on the minimum RC2014 hardware.
Also, now there is a Dr SM Baker SIO/2 build in the RC2014 Repository.
Now that the new SIO/2 drivers have been pulled into Z88DK and are part of the new -subtype=sio option, I've also created a new CP/M-IDE SIO build.This version of CP/M-IDE doesn't strictly comply with the original intention; to get CP/M running as fast as possible on the minimum RC2014 hardware. But it doesn't stray too far from the intention and, since CP/M needs to have at least two physical ports to work well, adding SIO support was a natural thing to do.
Also, now there is a Dr SM Baker SIO/2 build in the RC2014 Repository.I don't have one of these boards, but since the only change is addressing the SIO/2, it should just work.Some build and usage notes.
- For the SIO version, to get to the shell prompt > after restarting the RC2014 use a colon : not a space . Why? Because I can't see a space, and I like to know that I'm actually sending a character.
- The SIO Port B is configured with no remote echo. That is usual for TTY interfaces, that might waste bandwidth by sending echo characters back. Use local echo.
- The SIO Port A is configured with echo as normal. These options are just Z88DK input terminal configurations, that can be easily changed at build time.
B>A:PIP C:TEST.HEX=TEST.HEXI had a think about how to avoid the bounce interrupt from the SIO Tx, originated by the final byte in the buffer, and fixed it for the two SIO builds.
--
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+unsubscribe@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/be42a892-8cda-4d0b-bde2-1e0cb5c1e12b%40googlegroups.com.
For a long time, I've been looking at making a very cut down version of CP/M for the RC2014.
Able to work off the minimum set of cards and most importantly being able to load from ROM and from FATFS formatted IDE drives.
And now that I've reached a reflection point in my YAZ180 development,I was finally able to move some of that CP/M work over to the RC2014.
I read this topic when I initially joined RC2014 forum in March. I didn't understand the discussion at the time. I'm a little bit smarter now so my understanding of CP/M-IDE is that it runs CP/M 2.2 from FATFS formated CF. The big advantage is that files can be easily transferred from PC or other desktops. There are other improvement like interrupt driven serial port.
I have ported CP/M2.2 and CP/M3 (non banked version only--banked version is too hard for me) to Z280RC, but FATFS and interrupt driven serial ports are big attractions. There is also Z88DK connection lurking in the background that I don't yet understand. Since Z280RC is single module, it certainly meets the "minimal set" approach. So I like to know what's the process for porting CP/M-IDE to Z280RC?
* The Z280RC has 16-bit-wide IDE that's bus connected so there are no 82C55 interface to worry about. It does require Z280 specific IN and OUT instructions that works with 16-bit I/O.
* Z280 has an additional interrupt mode, Mode 3, which is the prefer mode of operation for Z280. I'm in the process of getting smart about it.
* Track 0 of CF is the "ROM" for Z280RC. CP/M 2.2, 3, monitors (including SC Monitor) are located there. More importantly, the cold bootstrap code is located in the CF's boot sector. I can relocate the ROM codes, but cold bootstrap is hardwired to the boot sector. It is unclear to me whether the Z280RC's cold bootstrap code can coexist with FATFS. I do know that Z280RC bootstrap code is about 160 bytes and does not intrude on the Partition entries of Master Boot Record at 0x1BE-0x1EE, if that helps.
* What role does Z88DK plays in CP/M-IDE? In following up to your suggestion about raise an issue for 'Z280 support" with Z88DK I started reading their discussions. It is way over my head! I'm just the little guy trying to use some features of the high level languages, if they start to ask me questions about what I need, I probably won't even understand their questions. So can I skip Z88DK for another day?
PS, comments about your latest issue with CCP not restarting properly:
1. Have you tried different CF disks and the problem gets better or worst?
2. Have you tried PIP with verify, e.g. A:PIP C:=*.*[V]
By the sounds of it, I'm not going to be affected by the bug that you're hunting :-( But if there are any tests I can do with that combination of equipment, let me know.Spencer
On 30 May 2018 at 10:15, phillip.stevens wrote:
Over the past few weeks I've been stalking an interesting (nasty) bug related to CP/M-IDE, CF cards, and the IDE interface.The symptom only appears when using a CF card, and only when using the IDE interface. Basically the CP/M-IDE CCP is not properly restarted, once a command disk related command has been correctly completed, and the terminal just hangs after a CR. The command can be a complex PIP command, or simple CCP internal command like DIR.B>A:PIP C:TEST.HEX=TEST.HEXSuccessfully completes, (because the files are correctly copied from B: to C:) but then hangs when returning, for example.But even a DIR following a successful disk related command fails.It only happens when using the RC2014 IDE interface with a CF card. It does not happen when using same code on the same platform with a PATA drive.
It could be that the CCP is not being rewritten following a "large" command, i.e. a RAM toggle failure, but the failure following the DIR command seem to rule that out.To be honest, I've no idea why it is failing.Ed, Spencer, could you share your experience with CF cards on CP/M-IDE, please? Does it work for you?
On 30 May 2018 at 10:15, phillip.stevens wrote:Over the past few weeks I've been stalking an interesting (nasty) bug related to CP/M-IDE, CF cards, and the IDE interface.
Got a sniff of an answer, but it may be only partially right.I was using MLOAD v2.1 to create my binaries after using PIP to transfer them, which was all well and good. Except that MLOAD v2.1 has a bug where it overwrites the first 6 bytes of the CCP. Normally a warm restart rewrites the CCP, but where is doesn't (such as following an inbuilt CCP command), then oops. And, there's my symptom, a hang after a simple CCP command.
I've pushed MLOAD v2.5 up to the CP/M drives directory inside CP/M-IDE, and a new version is in RunCPM too.
Perhaps that's the end of it.
Now that the new SIO/2 drivers have been pulled into Z88DK and are part of the new -subtype=sio option, I've also created a new CP/M-IDE SIO build.
To write the SIO/2 drivers, I've gone back to the original datasheets and the Leventhal book from 1983 to see what they had to offer. For me it was a great learning experience with Z80 IM2 mode, and working for the first time with a Zilog peripheral device that could steer its interrupts using the IM2 interrupt response process. I always find it enlightening when I actually write the code, because the words in the datasheets don't mean that much to me until I have to study and "know" each bit.
Also, now there is a Dr SM Baker SIO/2 build in the RC2014 Repository.I don't have one of these boards, but since the only change is addressing the SIO/2, it should just work.Some build and usage notes.
For the SIO, to get to the shell prompt > after restarting the RC2014 use a colon : not a space.Why? Because I can't see a space, and I like to know that I'm actually sending a character.The SIO Port B is configured with no remote echo. That is usual for TTY interfaces, that might waste bandwidth by sending echo characters back. Use local echo.The SIO Port A is configured with echo as normal. These options are just Z88DK input terminal configurations, that can be easily changed at build time.DDT works with the SIO implementation, but it doesn't work with the ACIA version.This is because of the use of the RST38 interrupt for IM1 mode. Other threads have covered this.A lot of people seem to report troubles with Compact Flash cards in 8 bit mode.
Perhaps try using Ed's IDE card or Spencer's IDE card to drive the CF in PATA 16 bit mode?
It might take away some pain.
There are a few notes about the things that need to be configured in z88dk to convert from Spencer's SIO/2 to Dr Baker's SIO/2 in the commit comment.But, a diff of the two builds shows the few bytes that needed to change.
Also, now there is a Dr SM Baker SIO/2 build in the RC2014 Repository.
Some build and usage notes.For the SIO, to get to the shell prompt > after restarting the RC2014 use a colon : not a space.Why? Because I can't see a space, and I like to know that I'm actually sending a character.The SIO Port B is configured with no remote echo. That is usual for TTY interfaces, that might waste bandwidth by sending echo characters back. Use local echo.The SIO Port A is configured with echo as normal. These options are just Z88DK input terminal configurations, that can be easily changed at build time.DDT works with the SIO implementation, but it doesn't work with the ACIA version.This is because of the use of the RST38 interrupt for IM1 mode. Other threads have covered this.
Since quite a few ingredients into CP/M-IDE build have been updated recently, I've compiled and released a new version today.
But, of course the standard CP/M implementation provided hasn't changed (in quite a few decades).
- ChaN has released a v0.14 of FatFS, and that is included.
- The ZSDCC 4.0.0 has been in use for some time and was used for the compilation,
> cpmcp -f rc2014v1-16MB USER.CPM 0:*.* ~/Desktop/cpm_drives/user.cpm/
> cpmcp -f rc2014-16MB USER.CPM ~/Desktop/cpm_drives/user.cpm/*.* 0:diskdef rc2014-16MB
seclen 512
tracks 1024
sectrk 32
blocksize 4096
maxdir 1024
skew 0
boottrk -
os 2.2
endAs usual the Hex Files are in the RC2014 Repository under CP/M-IDE for both ACIA and SIO serial boards.
Phillip Stevens wrote:Also, now there is a Dr SM Baker SIO/2 build in the RC2014 Repository.Some build and usage notes.For the SIO, to get to the shell prompt > after restarting the RC2014 use a colon : not a space.Why? Because I can't see a space, and I like to know that I'm actually sending a character.The SIO Port B is configured with no remote echo. That is usual for TTY interfaces, that might waste bandwidth by sending echo characters back. Use local echo.The SIO Port A is configured with echo as normal. These options are just Z88DK input terminal configurations, that can be easily changed at build time.DDT works with the SIO implementation, but it doesn't work with the ACIA version.This is because of the use of the RST38 interrupt for IM1 mode. Other threads have covered this.Since quite a few ingredients into CP/M-IDE build have been updated recently, I've compiled and released a new version today.But, of course the standard CP/M implementation provided hasn't changed (in quite a few decades).
- ChaN has released a v0.14 of FatFS, and that is included.
- The ZSDCC 4.0.0 has been in use for some time and was used for the compilation,
In another place there was some discussion about converting the maximum number of files in a drive to 1024 or 2048.
I was planning to make this change for CP/M-IDE too, and so there's no time like now.
It is a trivial change. Just notify the BIOS that there are up to 2048 directory entries, and reserve sufficient allocation blocks for the directory entries. Changes only 3 bytes.
It took only a little while to rework all my drives into the new format. And it was quite simple using cpmtools commands to copy the contents of the legacy formatted drive to a directory, and then copy them back onto a a newly formatted drive.
> cpmcp -f rc2014v1-16MB USER.CPM 0:*.* ~/Desktop/cpm_drives/user.cpm/
> cpmcp -f rc2014-8MB USER.CPM ~/Desktop/cpm_drives/user.cpm/*.* 0:
This new disk definition needs to be copied to the cpmtools diskdefs file. In linux this is found in /etc/cpmtools/diskdefs
diskdef rc2014-8MB
seclen 512
tracks 512
sectrk 32
blocksize 4096
maxdir 2048
skew 0
boottrk -
os 2.2
end
Also, now there is a Dr SM Baker SIO/2 build in the RC2014 Repository.Some build and usage notes.For the SIO, to get to the shell prompt > after restarting the RC2014 use a colon : not a space.Why? Because I can't see a space, and I like to know that I'm actually sending a character.The SIO Port B is configured with no remote echo. That is usual for TTY interfaces, that might waste bandwidth by sending echo characters back. Use local echo.The SIO Port A is configured with echo as normal. These options are just Z88DK input terminal configurations, that can be easily changed at build time.
Since quite a few ingredients into CP/M-IDE build have been updated recently, I've compiled and released a new version today.
But, of course the standard CP/M implementation provided hasn't changed (in quite a few decades).
- ChaN has released a v0.14 of FatFS, and that is included.
- The ZSDCC 4.0.0 has been in use for some time and was used for the compilation,
In another place there was some discussion about converting the maximum number of files in a drive to 1024 or 2048.I was planning to make this change for CP/M-IDE too, and so there's no time like now.
And so I've learned that CP/M 2.2 can only support 8 MB files, because of 16-bit arithmetic used when calculating ARECORD offsets.SO I'VE UPDATED V2.0 TO USE 8MB DRIVES WITH UP TO 2048 FILES, AS BELOW.It is a trivial change. Just notify the BIOS that there are up to 2048 directory entries, and reserve sufficient allocation blocks for the directory entries. Changes only 3 bytes.It took only a little while to rework all my drives into the new format. And it was quite simple using cpmtools commands to copy the contents of the legacy formatted drive to a directory, and then copy them back onto a a newly formatted drive.> cpmcp -f rc2014v1-16MB USER.CPM 0:*.* ~/Desktop/cpm_drives/user.cpm/
> cpmcp -f rc2014-8MB USER.CPM ~/Desktop/cpm_drives/user.cpm/*.* 0:This new disk definition needs to be copied to the cpmtools diskdefs file. In linux this is found in /etc/cpmtools/diskdefs
diskdef rc2014-8MB
seclen 512
tracks 64
sectrk 256
blocksize 4096
maxdir 2048
skew 0
boottrk -
os 2.2
endSome build and usage notes.For the SIO, to get to the shell prompt > after restarting the RC2014 use a colon : not a space.Why? Because I can't see a space, and I like to know that I'm actually sending a character.The SIO Port B is configured with no remote echo. That is usual for TTY interfaces, that might waste bandwidth by sending echo characters back. Use local echo.The SIO Port A is configured with echo as normal. These options are just Z88DK input terminal configurations, that can be easily changed at build time.
And, I think I'm finished now for a while. HEX files for RC2014 Plus + Spencer's IDE interface in the usual place.
As background, there's info about CP/M-IDE here. Its designed to be cheap, fast, and very vanilla CP/M.
But as it uses FAT formatted hard drives (DOM, CF, IDE, 40 pin, 44 pin), you can store as many "CP/M drive" files on your hard drive as you like. Literally thousands of CP/M drives are possible.And since Spencer's now got a new stock of IDE Hard Drive Modules on hand, let's get started. This IDE Module works much more reliably than 8 bit CF Modules.There are some RC2014 compatible memory systems that are built with 128kB RAM devices, and these are now enabled to support the additional 64kB of RAM from C and assembly CP/M applications.The SC108 Processor Module, the SC114 SBC, the Pickled Dog RAM/ROM, and the simple Memory Module, are four examples of memory systems that will work.Anything that toggles the RAM at 0x30 and toggles ROM at 0x38 will work.
just arrived for me those compact flash ide44/2.0 mm adaptor, pretty much as in the image IMG_0532.jpg
I am just wondering what is the connector (female) plugged into it, part-no hopefully ?
(connector searches on mouser not exactly easy)
I have a ide cable here with 20+19pin connectors
on it, it don't fit those.
thanks
--
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/407692e6-dabd-4db6-8b3b-505593e98846n%40googlegroups.com.
just arrived for me those compact flash ide44/2.0 mm adaptor, pretty much as in the image IMG_0532.jpg
I am just wondering what is the connector (female) plugged into it, part-no hopefully ?
hmm i see, thanks Phillip
ok, so more parts before i can experiment with
CF.... ebay from china is taking forever....strangely though
aliexpress quite qik, < 4weeks (to australia)
44-pin female ide cable
As background, there's info about CP/M-IDE here. Its designed to be cheap, fast, and very vanilla CP/M.
But as it uses FAT formatted hard drives (DOM, CF, IDE, 40 pin, 44 pin), you can store as many "CP/M drive" files on your hard drive as you like. Literally thousands of CP/M drives are possible.And since Spencer's now got a new stock of IDE Hard Drive Modules on hand, let's get started. This IDE Module works much more reliably than 8 bit CF Modules.
I've just finished a new CP/M-IDE platform for the 8085 CPU Module.Perhaps it is the first 8085 based CP/M for the RC2014 platform?.
Since the 8085 CPU Module breaks out the 8085 SOD pin to an FTDI interface, I've added a LPT: device to the normal CRT: on the ACIA interface.
As background, there's info about CP/M-IDE here. Its designed to be cheap, fast, and very vanilla CP/M.
But as it uses FAT formatted hard drives (DOM, CF, IDE, 40 pin, 44 pin), you can store as many "CP/M drive" files on your hard drive as you like. Literally thousands of CP/M drives are possible.And since Spencer's now got a new stock of IDE Hard Drive Modules on hand, let's get started. This IDE Module works much more reliably than 8 bit CF Modules.I've just finished a new CP/M-IDE platform for the 8085 CPU Module.Perhaps it is the first 8085 based CP/M for the RC2014 platform?.Since the 8085 CPU Module breaks out the 8085 SOD pin to an FTDI interface, I've added a LPT: device to the normal CRT: on the ACIA interface.
Is there any reason why an SD card could not be used instead of a DOM using an adapter like this?; https://www.amazon.co.uk/dp/B08SK4G7RP?ref_=cm_sw_r_cp_ud_dp_EF0NY9XV105ER3B6B8PJ
Andy wrote:Is there any reason why an SD card could not be used instead of a DOM using an adapter like this?; https://www.amazon.co.uk/dp/B08SK4G7RP?ref_=cm_sw_r_cp_ud_dp_EF0NY9XV105ER3B6B8PJ
I've just done a new Version 2.3 Release of CP/M-IDE for 2023.There have been two major additions since the last release, being support for Compact Flash (8-bit) IDE Modules and the inclusion of a shell hload function enabling CP/M applications to be loaded without any connected or enabled disk system.Following a long collaborative thread on IDE (PPIDE and CF) Adapters I've provided two new versions of CP/M-IDE with support for CF Modules. One version for the RC2014 Pro completely standard hardware, and a second version for the 8085 CPU Module.This now makes 5 different hardware versions supported, all based on the basic (inexpensive) RC2014 Pro hardware. It is possible to produce many further pre-prepared variations supporting alternate hardware (such as shadow RAM, and other serial modules), but I think it is getting into diminishing return to support them.The standard CF Module v1.3 is supported by the two new versions (pro and acia85cf), but Tadeusz has produced a new CF Module v2.0 version that is fundamentally more reliable than previous CF Module iterations and his v2.0 version has been tested working with both large CF Cards (1GB and 2GB) and SD to CF Adapters.The shell hload function enables precompiled CP/M applications or programs to be uploaded to RAM and run without loading CP/M and without any CP/M disk system attached. The program must be encoded in Intel HEX, and it can use the CP/M BDOS serial APIs but the BDOS disk APIs are not supported (as it is assumed no disk is attached). Typically the program would be loaded from 0x0100 address and run, but there is no obligation to do this. The program is initialised by jumping to the first address found encoded in the HEX, once the program is loaded, and this can be anywhere.The hload function can be used to load a program which can then format FATFS disks, create CP/M drive files, and also manage FATFS disks, without reliance on CP/M. It can also be used to directly load CP/M games or debugging programs as needed without reliance on CP/M.As I'd like to avoid scope creep, I'd like this to be the last major set of changes for CP/M-IDE. It now does everything that a CP/M system needs to do, and it is as optimised as I can make it. Obviously, I'll be continuing to maintain the code base and will provide fixes if and when issues are found.
For a long time, I've been looking at making a very cut down version of CP/M for the RC2014.Able to work off the minimum set of cards and most importantly being able to load from ROM and from FATFS formatted IDE drives.
There is now a new Version 2.4 Release of CP/M-IDE.
POWER 3.08 ApplicationThere are issues with the POWER 3.08 file management application. It is an application that does some advanced file access. I've spent quite some time investigating what it is doing, and have found that it uses BDOS call #50 often. This BDOS call is not supported by CP/M 2.2, yet the program works successfully on other CP/M 2.2 implementations. I'm at a loss as to what this application is doing (or assuming) that CP/M-IDE doesn't provide.
One of the silly things BDOS does on entry is to jump to itself, just leaving a gap of 8 bytes.So I had removed that jump to optimise out (10 cycles) of silliness, and started directly with the entry code.PUBLIC _cpm_bdos_fbase
_cpm_bdos_fbase: ;entry for the cpm bdos
JP FBASE
DEFS 8 ;error vectors;
; Entry into bdos. (DE) or (E) are the parameters passed. The
; function number desired is in register (C).
;
FBASE:
EX DE,HL ;save the (DE) parameters.
LD (PARAMS),HL
On Tuesday, 24 June 2025 at 13:32:32 UTC+1 Phillip Stevens wrote:One of the silly things BDOS does on entry is to jump to itself, just leaving a gap of 8 bytes.So I had removed that jump to optimise out (10 cycles) of silliness, and started directly with the entry code.
That is the specific specfied layout of the BDOS, specifically so that - as you haveseen - you can find the BDOS entries and other code. Here is the original 1979 DR code:jmp bdose ;past parameter block
;
; ************************************************
; *** relative locations 0009 - 000E ***
; ************************************************
;
pererr: dw persub ;permanent error subroutine
selerr: dw selsub ;select error subroutine
roderr: dw rodsub ;ro disk error subroutine
roferr: dw rofsub ;ro file error subroutine
;
;
bdose: ;arrive here from user programs
xchg
--
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, visit https://groups.google.com/d/msgid/rc2014-z80/ed4a4167-7d5c-4f97-839f-3460e2474c8dn%40googlegroups.com.
Phillip Stevens wrote:
> But the formal BDOS entry point has always been defined as the call to 0x0005 which
> contained a jump and the address of the entry point (at 0x0006).
(0006) was also always defined at the top of usable memory. Code was able to modify
(0006) to point to a lower address to claim memory at the top of memory, and put a
JP to the read BDOS there to chain on to the actual BDOS.
Phillip Stevens wrote:
> So it is an interesting historical phenomenon that, to my knowledge, no other
> application writer has used their knowledge of internals of the BDOS to their
> advantage. (...)
On this topic, are the four error vectors used by anything other than the BDOS itself?
Are they allowed to be read by user applications? Are they allowed to be written by
user applications?