cj7hawk
Veteran Member
Hi All,
Thought I'd stick this in it's own thread as I progress, since it's come up in many past threads... So I've been writing ( written? ) a new CP/M for Z80 based on CPM/2.2 in much the same way as DOS was created - I began with the system calls and recreated it, then worked to build compatability. It's pretty much like CP/M2.2, but does change a little bit, and there's still bugs.
So I figure I'd start with what the Loki was.
In 1985, Sir Clive Sinclair ( who built the zx80, zx81, zx Spectrum, QL, etc ) was about to go bankrupt. Trying to stave off his creditors, he proposed a new computer system that would outperform most and equal the very best in the way they were the very best. He intended to steal all the great ideas and build them into a new computer called the Loki, and then sell it for around 10 to 20% of what those computers cost.
It had interesting specs.
512 x 192 graphics, 64 colours per pixel, four pixel planes, and built in Bit Blit as seen on the Amiga 1000
Synthesizer quality sound ( think Sound Blaster which came out much later )
128K minimum of memory, heading up towards 512K.
ZX Spectrum Backwardly compatible.
8MHz z80 or maybe even a 12MHz z280
Modular design
And Hardware Vector Graphics.
Light Pen
All for 200 GBP.
It was said to be impossible at the time... however after examining all of the records, there were some specifications that made sense given the level of hardware development of the ZX Spectrum at the time, and I believe it was entirely possible to achieve the goal within the technology limitations in late 1985. All by literally stealing the best ideas from every other computer, just as Sir Clive said he would.
We never got to see the Loki, and it's been a long term goal of mine to finally build it, using only the technology of the era, and within the price constraints of the era.
Oh, and unlike all of Sir Clive's other computers, this one was going to run CP/M software.
Seems he was finally learning from his earlier misteps and realized the best ideas are stolen from others... Or, as the master once said, Absorb what is useful, Discard what is not and add something of your own.
Because I haven't had much time to work on the hardware, I began writing an assembler, then an emulator, and finally a new version of CP/M which I simply call LokiOS. It looks like CP/M, runs like CP/M, and so far, seems to run CP/M software OK. I've been testing it with various BASICs for CP/M so far. Working in an emulator helped me accelerate software development, and has been a great base for learning new skills, as well as better understanding the day to day skills I need for my day job.
The architecture of this intends to aim for up to 1Mb of memory, in a truly abstract model, that is simple to make in Hardware, to achieve the low cost goals of the project. The memory uses what I call Memory As Disk, reusing CP/Ms disk handling routines to control and populate memory management tables, and allow programs to easily break the 64K limit set by the default z80 architecture, even if they don't know anything about paging, or don't support it.
The basic architecture of the memory system looks something like this ( below ).
I am still building it, getting rid of the bugs, and even changing my mind at times. All thoughts and comments or questions welcomed
Thanks
David
Thought I'd stick this in it's own thread as I progress, since it's come up in many past threads... So I've been writing ( written? ) a new CP/M for Z80 based on CPM/2.2 in much the same way as DOS was created - I began with the system calls and recreated it, then worked to build compatability. It's pretty much like CP/M2.2, but does change a little bit, and there's still bugs.
So I figure I'd start with what the Loki was.
In 1985, Sir Clive Sinclair ( who built the zx80, zx81, zx Spectrum, QL, etc ) was about to go bankrupt. Trying to stave off his creditors, he proposed a new computer system that would outperform most and equal the very best in the way they were the very best. He intended to steal all the great ideas and build them into a new computer called the Loki, and then sell it for around 10 to 20% of what those computers cost.
It had interesting specs.
512 x 192 graphics, 64 colours per pixel, four pixel planes, and built in Bit Blit as seen on the Amiga 1000
Synthesizer quality sound ( think Sound Blaster which came out much later )
128K minimum of memory, heading up towards 512K.
ZX Spectrum Backwardly compatible.
8MHz z80 or maybe even a 12MHz z280
Modular design
And Hardware Vector Graphics.
Light Pen
All for 200 GBP.
It was said to be impossible at the time... however after examining all of the records, there were some specifications that made sense given the level of hardware development of the ZX Spectrum at the time, and I believe it was entirely possible to achieve the goal within the technology limitations in late 1985. All by literally stealing the best ideas from every other computer, just as Sir Clive said he would.
We never got to see the Loki, and it's been a long term goal of mine to finally build it, using only the technology of the era, and within the price constraints of the era.
Oh, and unlike all of Sir Clive's other computers, this one was going to run CP/M software.
Seems he was finally learning from his earlier misteps and realized the best ideas are stolen from others... Or, as the master once said, Absorb what is useful, Discard what is not and add something of your own.
Because I haven't had much time to work on the hardware, I began writing an assembler, then an emulator, and finally a new version of CP/M which I simply call LokiOS. It looks like CP/M, runs like CP/M, and so far, seems to run CP/M software OK. I've been testing it with various BASICs for CP/M so far. Working in an emulator helped me accelerate software development, and has been a great base for learning new skills, as well as better understanding the day to day skills I need for my day job.
The architecture of this intends to aim for up to 1Mb of memory, in a truly abstract model, that is simple to make in Hardware, to achieve the low cost goals of the project. The memory uses what I call Memory As Disk, reusing CP/Ms disk handling routines to control and populate memory management tables, and allow programs to easily break the 64K limit set by the default z80 architecture, even if they don't know anything about paging, or don't support it.
The basic architecture of the memory system looks something like this ( below ).
I am still building it, getting rid of the bugs, and even changing my mind at times. All thoughts and comments or questions welcomed
Thanks
David