Distinctive Excellence category of the NXP Design Challenge

21 Jun 2011

Has anyone tried to have look at the Distinctive Excellence entry of Monte Chan / Porta mbed: Portable and Programmable mbed ? If you download the entry file (NXP 3784.zip) you will get an error during unzipping. Is this intended from Circuit Cellar as the entry is protected or is it just a mistake ?

23 Jun 2011

Seems nobody is interested in the Design Entries. I am sorry for the guys who participated and had a lot of work. Not even a reaction from CC Mag.

24 Jun 2011

HI Voy Ager,

Sorry it has taken a while to reply...

I saw the same thing too so I contacted Circuit Cellar to ask them to fix the file and upload it again. I'll let you know when they've done it.

Cheers, Chris

06 Jul 2011

I think it's working now

06 Jul 2011

No, still not working

11 Jul 2011

Hi voy ager,

I just tried it and I can't open the zip file either.

I'll have to check with CC first but I am happy to send you a copy of the original entry. Is there any particular bit you're interested in?



11 Jul 2011

Hi Monte,

thanks for your info. Well i grew up with CP/M and used to implement it on several Z80 and 8080 Computers. I also developed a lot of boards for these computers such as Floppy boards, Video boards and Harddisk boards. My favorite Assembler package was the Cromemco system. I had a lot of fun with that stuff. I am still working with different microcontrollers and sensor boards for the chemical industry. Nower days with C++, Pascal and Forth. Ok time goes on. This is the reason why i would like to read your entry and see your code how you managed to get this old system running on this little micro. I must say i have to show respect to your work. Yes sure, you can send me a copy of your original entry. I would be happy to read it.


11 Jul 2011

Hi Voy,

I have posted off an email to Circuit Cellar to have the link fixed and check to see if I have permission to send you and other interested parties the file. Hopefully I will hear from them soon.

The full documentation contains instructions on how to construct the Boot sector and system tracks to get CP/M working. The source files includes the object code for the Monitor ROM. The monitor contains a command to easily copy files across into the virtual machine memory.

I would appreciate your feedback from the documentation. I hope the code has been laid out in an easily comprehendable format.

Be aware that with a few extra lines of code, the project will work with USB Floppy Disk Drives, USB Hard Disks, USB Midi, USB Parallel Printer Cable, USB Joysticks and mice etc along with the remainder of the mbed I/O including I2S and TCP/IP on Ethernet all of which is available to the CP/M virtual machine. The methods of how to do this are in the documentation.

The mbed has a bigger sister called LPC1788 that should run all of this (including the 1024 x 768 colour video output to an LCD) intrachip for the exception of the external LCD frame buffer. I am just hoping that NXP will release it as a part of the mbed family or at least have it supported by their online cloud compiler. Who knows what one can accomplish with this? A really funky Retro Games platform?

The design is open allowing enabling and alternate soft core or cores to be used. I noticed that there are a few new Z80 soft cores on the mbed site. These could be used but be warned of potential bugs in them. Alternatively, you could you use a 6502 soft core to create a Commodore 64, PET, VIC-20, Apple or other 6502 system.



13 Jul 2011

@ Very Compact

Hi Monte, today i tried it once again, and oops it works. Okay the first download size was about 8Mb and the new one now is nearly 50Mb. A very small difference. But at least it works. After having a first sneak i saw that there is no code for the AVR. Is this intended or just missing? I will read your work and i am sure that i will have question here and there. I also had a look at the datasheet of the LPC1788. Sounds great. If NXP will not present a mbed based on that chip we will have to do it ourselves. Could be a new challenge. Thanks for help.


14 Jul 2011

Hi Voy, I emailed Circuit Cellar asking to fix the link and they have. Many thanks to Circuit Cellar.

I'm happy to answer all your questions. The AVR CRTC is not mandatory. The project will work without the AVR.

Without changing any project code the mbed connection to the AVR can be connected to an RS232 level shifter and be connected to an alternative device such as a computer running a Serial Terminal Emulator or even a real Video Terminal.

With a tiny change to the project code, the console output can be redirected to a PC through the USB Serial Interface. The same applies to the console input if you wish not to use a USB keyboard.

The CRTC functionality is also accomplishable using an mbed but this will require an additional mbed device. I have noticed several libraries on the mbed site that produce VGA video output that could be possibly be used.

The lack of AVR code is intentional because the AVR code will not assemble on the mbed online compiler. Basic details of the AVR code can be obtained from previous Circuit Cellar Articles and contest entries.

You will also notice that all of my code is in C/C++ without any assembly instructions ensuring the code is portable.