z80playground / cpm-fat

CP/M for the Z80 Playground that runs on the FAT disk format
GNU General Public License v3.0
20 stars 9 forks source link

Auto start CP/M #42

Closed gd-99 closed 3 years ago

gd-99 commented 3 years ago

As requested attached is a PDF document explaining how I auto start CP/M while retaining the ability to drop into the monitor first as necessary. This is accomplished through an additional configuration file found under the CPM folder on the memory-stick.

WARNINGS: I have recreated the PDF from memory /back tracking my modifications, so I may well have forgotten to add a crucial bit. This and the fact the process will mean re-compiling cpm.asm and reprogramming the EEPROM, means if it is wrong in a bad way your Z80-Playground will turn into a very pretty brick. I strongly advise experimenting with a spare EEPROM - plenty on eBay. Ultimately I am not a programmer, I just hack other peoples code around!

Please let me know if I have missed out some code and I will re-check my source. Finally please note as detailed in the PDF, this mod is untested on an actual Z80-Playground. It has been tested with no adverse effects on my Z80 SBC.

So if you are still brave /fool enough to go ahead here is my write up. CPM-AutoBoot.pdf

Enjoy...

z80playground commented 3 years ago

Nice! I may implement this in the next release. Other people have asked for it.

skx commented 3 years ago

Just for comparison the way I tried to solve this was to stuff input from a config-file into the input-buffer of the monitor.

I've not yet been able to test it, as I'm waiting for an EEPROM programmer to arive.

https://github.com/skx/z80-playground-cpm-fat/pull/2

z80playground commented 3 years ago

I have implemented something similar to this in release 1.09. If you put a line into your uart.cfg file like this: AUTO c Then the "c" command will automatically be run in the monitor, thus starting CP/M automatically at boot-up. Or you could put AUTO t to start tiny basic, for example. Note, this is in the UART.CFG file, not in a different file, as was suggested, but I thought it would keep the whole thing simple.