-
It runs CP/M now!
07/10/2024 at 21:47 • 0 commentsIt's been a while since last update on this project, but it is certainly not dead.
Since beginning one of my goals was running CP/M on that piece of vintage Polish hardware. And I am happy to announce that this particular goal post had been finally reached today. I was finally able to but CP/M 2.2 and load/execute some programs under that OS.
I must admit it wasn't easy. First I had to prepare bootloader to fetch some some code from CF card and copy it to RAM. From software point of view interfacing Compact Flash card is quite easy task (it is certainly easier that connecting modern SD card to such vintage system) but for some reason initially I was unable to get stable and repeatable results. Some cards weren't working at all while some other were highly unstable, dropping some data during transfers. I was able to find only one card that appeared to be "compatible" with POLON. Fortunately with some help on on-line forums I was able to track down the reason behind such behavior. It turned out that I made a little mistake while designing hardware and omitted buffer on data lines between CPU and memory card. Single 74HC245 chip solved the problem.
While I was able to reliably copy the code between card and RAM, I began slow process of writing CP/M bios, bridging the gaps between my hardware and vintage OS. Implementing console and disk related I/O routines turned out to be relatively easy. After few days I saw prompt and was able to execute commands. Unfortunately at this point system had been extremely unstable. Finding and fixing all the bugs took me another few weeks.
I set myself a deadline. I decided it would be nice to had it running before 11th of July - 30th thirtieth anniversary of death of Garry Kildall - creator of CP/M. I thought that running his system on piece of historical Polish hardware would be a nice way to celebrate his memory.
At this point system is capable of running smaller programs and built in commands. There are still things to be done. At this point file system is read only, because wrote procedure haven't been implemented yet. I also need to add support of additional partitions on CF card, pretending to be additional drives. Memory use need to be optimized, because at this point CP/M only uses fraction of available resources.
Next "bigger" goal would be running some game, like "Zork" or "Collosal Cave Adventure" on my system.
I think it is worth to admit that POLON is still capable of running TinyBasic, that was his original "user interface" basically from the beginning. Desired mode can be selected by the user at boot time - we can either run Basic from EPROM or load CP/M from CF card.
-
It has it own case now
07/23/2022 at 18:23 • 0 commentsComputer finally got it own metal case. I also used that opportunity to upgrade power supply. Now POLON is powered directly from 230V mains power.
-
It supports TV now!
05/20/2021 at 12:44 • 0 commentsSome time ago I was able to make some further developments.
At this point computer is able to supporty standard PS/2 keyboard and print text on TV screen. Due to lack of time I wasn't able to make any further developments in recent months, but soon I will try to write some assembly code, implementing simple terminal screen.
-
Significant update
11/11/2019 at 11:03 • 0 commentsProject grows. Recently I added second board, containing some chips:
- M6242B real time clock
- 8242 AT keyboard controller
- 8259 interrupt controller
- TMS9929 video chip with SRAM memory
There is also a connector for CF card module.
After testing added components under TinyBasic my plan is to port and run CP/M on this small computer.