View Full Version : A pair of new (non vintage) CP/M computers

July 19th, 2009, 04:24 AM
I've posted before on the N8VEM project but this development is just too exciting to keep under wraps. The project is now stable enough to go into boxes! Not quite with all the screws done up, but getting close *grin*

See attached photos - this pair of CP/M computers were both just chips and components only two days ago.

Z80 running at 3.68Mhz
Approx 0.25W power consumption
64k working ram
448k battery backed ram disk
16k rom disk containing xmodem and a few other essential files
Socket for uDrive (4dsystems) for 2gig of sd card storage
20x4 LCD display
PockeTerm for driving a VGA display.
2 serial RS232 ports
Yishi wireless module for wireless xmodem file transfers up to 1000 metres
Internet access via Lantronix MSS100 modules
Able to run games, wordstar and multiple programming languages

I'm using these as wireless repeater nodes in a wireless mesh. The concept of a mesh is quite simple - flick a switch on a board anywhere in wireless contact with at least one node, and somewhere on another node a relay closes. Or, sample a voltage 0-5V on a board and somewhere else a voltage 0-5V is available. Behind the scenes is about 500 lines of Basic code on each node, plus all the Assembly and other code needed to run the N8VEM. In my case the mesh is a series of fixed solar powered repeaters and the data is water tank levels and pumps being turned on and off, but it could equally be a group of mobile robots communicating within a house or other applications.

Next step - build some more! The only snag is that these boxes don't look very vintage. Anyone know how to speed up that yellowing process?!

July 19th, 2009, 06:42 AM
Mighty impressive Doc :thewave:
You have done a magnanimous job :clap: :happy3:

Any free time you get, it would be a tremendous effort to
prepare a detailed documentation on the hardware and
software aspects of your work :computer:.


July 19th, 2009, 07:04 AM
That's just too cool!!!

Right now Im just happy that I finally got an IDE hard drive in my Model 4p...

and Im still working on getting it partitioned 'correctly and fully'!

Something like that may be in the future tho!!!


July 19th, 2009, 08:05 AM
Not to stray too far off topic, but what did you use to interface the ide to the 4p?

July 20th, 2009, 07:17 AM
Very awesome :-) Starting to look like an actual computer. Bet that'll get a lot of new folks involved which could be great for the project.

July 26th, 2009, 01:36 AM
Thanks for all the encouraging replies! Now there are 4 (see attached).

I had to go offline for a bit as this wireless mesh software was driving me crazy with a bug. I'll describe it and I bet some will spot the error before I get to the end. Ok, all boards are listening via a serial port. One board works fine. Two or more boards start giving errors after a while. The boards are in different rooms and talking via wireless so no power supply problems. They are running sbasic, and due to some earlier errors I have it running in debug mode. If a board receives a perfect data packet, all is fine. But occasionally a board will reset when two data packets collide. Colliding data packets can generate any random byte from 00H to FFH. Boards don't crash totally, rather, they go back to CP/M.

Question: - What random byte could be setting a board back to CP/M from any point in the program?

Yes, after posing it that way, the answer is likely to be the byte that is used by other CP/M programs, ie 03H, ie ^C.

And so I went back to the instructions with the instruction that turns on and off the error tracing and found this:

$LINES suppresses line number generation during compilation;
this speeds up program execution, at the cost of
meaningful error messages, and should be used only
after the program is fully debugged
This also stops ^C aborting the program

And so, disabling error checking means the program now works.

I ran the mesh software for 24 hours straight with messages bouncing all over and clashing and no problems at all.

Where this is heading is a rather old-school system where you measure the volts on a battery (say a 12V car battery) and display it on a 0-20V analog voltmeter. Except that the voltmeter might be many kilometers away and the message went via many hops wirelessly between these CP/M repeaters.

I LOVE CPM!! It is the only operating system I know of that can solve this problem - ie this is too complicated for picaxes and other small pic processors. And Windows uses too much power and the multitasking makes it too unreliable. CP/M is the perfect mix of low power and reliability and simplicity and flexibility.

And when I'm bored of programming, I can still see if I can beat pacman at the proper clock frequency *grin*.

July 26th, 2009, 02:31 AM
Not to stray too far off topic, but what did you use to interface the ide to the 4p?

Its called a GIDE and this group in Germany has some available in kit form...


It occupies the CPU socket and does a great job... It is even able to BOOT the 4p when set to the $Cx addresses!!!
(of course I had to modify the boot sector 'a touch'... :) )
It also has an onboard clock tho Im having trouble with the 24hr mode (likely my doing... 12 is okay tho!)

Tell them LEE in PS sent you! (not that it will help!)

Hijack over! :D

July 26th, 2009, 05:29 AM
Hi! James system uses his mini-N8VEM v7 SBC design for the main board. He has done a great job and his system is truly a wonder to behold!

I recall some builders have plugged in GIDE boards to use IDE hard drives. Alternatively you could also use the Disk IO board for IDE and floppy drives.

However, for the low power systems such as James design, I would recommend using the uDrive for low power. Adding real IDE or floppy drives is going to draw lots of current. James design support uDrive right now so that's a good thing.

I am working with some builder on the N8VEM mailing list to develop a PropIO board that will plug into the ECB backplane. It will provide some of the functionality such as using VGA monitor, PS/2 keyboard and those micro SD cards. However by plugging into the ECB directly I believe it will be fast. Development is underway now and I have a partial prototype on the bench now with the VGA monitor portion working.

That being said, James has an incredible system here. It is marvelous and I am very glad to see new home brew CP/M systems coming to life.

Thanks and have a nice day!

Andrew Lynch