Comments (6)
The on-board ROM doesn't understand CF cards and can only boot from SRAM cards. It wouldn't be difficult to write a simple sideloader which could boot from a CF card, but you still need a way to get it onto the machine in the first place --- CP/M trashes all the RAM so you'd need to reload it each time.
from cpmish.
I see; so the ROM can figure out that a RAM card is in there but can't see the CF card as one, no matter how you format it.
I was hoping there was a way to format the CF card so the first 2 MB would be recognized as RAM non volatile, so you can save documents and the bootloader; and then sideload the bootloader from the first 2 mb area on the device to boot the CPM running on the remaining space of the CF card. Is there any way to get this accomplished?
I also assume that you can't swap on the fly a RAM card with a CF card; otherwise it would be possible to use the RAM card as storage, boot CPM and then swap the RAM card with the CF card where CPM is on. I heard that it is possible to damage the device if you remove the card while the unit is on, so I don't see this as being a feasible solution
from cpmish.
That would actually be possible. You'd put a Basic program on the SRAM card which prompts you to swap to the CF card and then boots from it. (You can't use bootable SRAM cards for storage, sadly.)
Regarding hot-swapping cards: I honestly have no idea. The manual tells you not to, but that could just be because the software can't handle it.
from cpmish.
That would wipe the card thought, right? Which means that every time I want to run CPM again I would have to plug the serial cable and re-download on the card the bootable executable that I would run via basic.
I am thinking at this point that it is not really feasible to do so and instead it is just simpler to use the floppy to boot and then swap the OS main partition to the card.
Maybe in the future someone will be able to write an updated ROM that can be burned on a chip and installed in the device; which would include a bootloader to use the PCMCIA CF card adapter directly.
from cpmish.
You'd load the bootstrap program from the SRAM card, run it, and then change to the CF card. The bootstrap would then load CP/M proper from that. Talking to a CF card is actually not difficult as it's just IDE, so a Basic program which just self-assembles just enough to load the 512-byte boot sector of the CF card would be totally possible. See https://github.com/davidgiven/cpmish/blob/master/arch/nc200/supervisor/pcmcia.inc. Then, that would load the rest of the supervisor. The SRAM card itself never gets written to.
For me, the tricky bit is that I don't have a battery for my SRAM card so I can't use it as persistent storage!
Re a ROM update: yes, that would be the most sensible way to do it. It's socketed, too, which would make it easy to replace.
from cpmish.
Thanks for the explanation. So it is actually possible to leave the SRAM card untouched and use it as bootstrap for the actual OS that would be on the CF card. Once the program reside in memory it should be possible to press the power button and remove the SRAM card and swap it with the CF card; so neither the main board nor the pc cards will fry by swapping while the unit is on.
Assuming you have no plans to set up this memory exchange bootloader right? I'll try to give it a shot but this is all foreign to me, as I am not familiar with baremetal hardware development. And if nobody ever made an updated ROM I assume there is not even the desire to get that started.
What battery is your SRAM card using? I just used a standard button battery and it works fine with mine (it is not a CR232 but a slightly smaller one; sold online for very cheap)
from cpmish.
Related Issues (20)
- "Preparing memory." on booting cpmish on an NC200. HOT 6
- CP/M tm is a trademark and itself is copyrighted by DRI and it heirs. HOT 2
- What CP/M hosted C compiler is used? HOT 5
- Other platforms, can we add? HOT 16
- supporting banked memory HOT 3
- Parallel/peripheral projects, informational HOT 1
- BBC BASIC hangs on emulators HOT 9
- QE: Insert mode sets dirty flag even if immediately aborted HOT 1
- Build fails on macOS due to unrecognised `dd` parameter HOT 2
- Build failing on macOS with "error: image must be a multiple of 6 pixels across" HOT 8
- Debuggers (DDT, SID/ZSID and Z8E) not working HOT 1
- Having difficulties building under MacOS Mojave HOT 5
- Arch and SUSE linux compatibility
- Boot cpmish without a floppy or SRAM card? HOT 4
- Pre-made image that can be "flashed" on a floppy on Windows? HOT 4
- support for standard NC200 disk format or 22disk formats for floppy?
- support for Tandy 100? HOT 1
- Overlap when download on Mac HOT 1
- Gotek Floppy Emulator on Brother Super PowerNote? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cpmish.