• Please review our updated Terms and Rules here

Interested in a home brew Z80 computer project?

Hi All,

OK, more good news this weekend!

First, the PCB is continuing to grind its way through the autorouter and optimizer. The first pass took several *days* to complete and was painfully slow on the basement computer. I have ordered a replacement CPU for the unit, a Prescott 3.2 GHz P4 with 1M cache and 800 MHz FSB, to replace the rather lame Northwood 2.6 GHz Celeron with 128K cache and 400 MHz FSB.

It appears the first pass cleared away some of the debris that was choking the optimizer as the second pass appears to be progressing *much* better. This PCB never did complete the autorouter so it may have been beyond a marginal case; I manually routed the last connection when the autorouter went into an endless loop. It may take some time for the optimizer to clean the PCB up enough for it to have any real effect.

Second, I just received authorization from the author to release the new N8VEM (aka, da' Andy, dandy, etc) SBC simulator! It is implemented in the SIMH and hopefully will be part of the mainstream release eventually. The fileset can be found on the N8VEM website. It is easy to start and use but I recommend reading the SIMH documentation included to get a better feel for how it works.

You can use the ROMIMAGE.BIN included which is the latest N8VEM software. It includes an updated CBIOS with 1MB ROM drive (F:) support. You'll find the complete CP/M distribution on the F: drive. If you think of any handy utilities which should be included, please let me know. Plain vanilla CP/M applications are preferred, especially small ones (ie, all files small enough to fit in TPA). File transfers are *much* easier than they were but are still a manual process.

Thanks and have a good week! Be careful out there! Please let me know if you have any questions or would like further explanations.

Andrew Lynch
 
Hello Andrew....I am Baaaaack! :biggrin:

...If you think of any handy utilities which should be included, please let me know...

One thing that comes into mind, although on the hardware side, is to implement a
single-step feature with 7-segment and/or LEDs indicating Address vs. Data information.
This feature can be added to the existing Dandy board, or it could be an add-on board
connected to the ECB extension.


...I am not a CP/M guru or even an expert on vintage computers or electronics. I am but a child student at the feet of the real masters...

...And you have done a monumental job of relaying your knowledge to all your friends.
Having sat through some of the discussion sessions on comp.os.cpm and noticed
the snobbish attitude of some of the contributors there, I...for one...am very thankful of
all your efforts.

Regarding my curiosity about ROMIMAGE.BIN file, I noticed that there are rows after rows of
$0 zerrrros there that reminded me so much of "my own bank account"!! :violin:
I guess it hit a nerve in me or something...:happy7:


ziloo
 
Last edited:
Hello Andrew....I am Baaaaack! :biggrin:

Hi! Good Morning. How are you today? I hope all is well.

One thing that comes into mind, although on the hardware side, is to implement a
single-step feature with 7-segment and/or LEDs indicating Address vs. Data information.
This feature can be added to the existing Dandy board, or it could be an add-on board
connected to the ECB extension.

Thank you for asking that question. Fortunately, I have an answer for it. I built such a ECB board for the original Test Prototype computer. It is the bus debugger board. It requires the ECB backplane to work though. So my plan is to get the SBC done first, then order the ECB backplane (the design is pretty much already done for it), and then design the bus debugger board.

The current implementation of the bus debugger provides LEDs for all the address, data, and control and has a PPI for verification of IO port working. It has about 40 LEDs on it as I recall. My plan is to add a single step mode and reset circuit to it as well.

I found that device amazingly handy on the previous computer system.

...And you have done a monumental job of relaying your knowledge to all your friends.
Having sat through some of the discussion sessions on comp.os.cpm and noticed
the snobbish attitude of some of the contributors there, I...for one...am very thankful of
all your efforts.

I am very happy it is useful to people.

Regarding my curiosity about ROMIMAGE.BIN file, I noticed that there are rows after rows of
$0 zerrrros there that reminded me so much of "my own bank account"!! :violin:
I guess it hit a nerve in me or something...:happy7:



ziloo

Yes, that is correct. Most of the 1MB ROMIMAGE.BIN is empty. It is just waiting for some worthwhile information to add to the F: drive and essential utilities for the A: drive as well. I still have to hand code the tiny utilities into the A: ROM drive. I was thinking I would add the IDE drive format utility and maybe a utility to get at the NVRAM in the DS1302. There is no hurry right now though.

My top priority is to get the revised PCB out of the autorouter. It is still grinding along. Who knows how long it is going to require but it sure is taking its sweet time about optimising. It made some progress overnight but not much.

As for the bank account, I think we can all appreciate that feeling from some time or another... :) My goal is to keep the cost as low as possible and just offer the PCB. The rest of the parts can be obtained in many ways to keep costs down. My recommendation is to raid the junk box first, then obsolete/junk PCs and/or scrap electronic equipment. I suspect an enterprising person could recover most if not all the parts necessary from scrap recovery of a few PC boards. All of the components were selected with that idea in mind. I admit the 512Kx8 SRAM will be a little more difficult.

On that note, if someone has a spare 128Kx8 SRAM 32 pin DIP chip I could borrow for testing, I could verify that a smaller, less expensive SRAM chip could be used. I do not have any but I do have some from some 128Kx8 SRAMs old 486 motherboards (got them as salvage from a scrapper) in the 32 pin "narrow" 0.3" format but they won't fit into the socket.

Have a nice day and thank you very much for your interest!

Andrew Lynch
 
Hi All,

The PCB is still in respin grinding away. Who knows how long this is going to take but with the current CPU (the Celeron) it is still taking more than 2 days per pass. I suspect there are several to go. Hopefully the new CPU when it arrives will speed things up. Of course, the PCB is so heavily constrained with all the improved clearances that it may not be able to have many more effective optimizer passes.

Last night I used the new SIMH simulator and updated the RTC.COM code to allow full functionality. The previous code had been mostly "proof of concept" in that it allowed you to set a time but only a specific time hard coded into the program. Now it allows you to enter whatever time and date you'd like. Using the simulator to write and debug programs is very nice. You can get a good idea as to how well the program will work and then upload it easily to the SBC using XMODEM and run from RAM drive. Quick and easy. If the program is working and worth keeping permanently, you can use the SIMH simulator to make an updated ROM image.

Having a EPROM programmer is not absolutely essential but I recommend one for any potential owners. Although the ROM socket is designed for the 27C080 many chips will likely work in the 32 pin socket. How many and which will just have to be discovered as the system is built.

Thanks and have a nice day!

Andrew Lynch

PS, just quick update from yesterday... I finished updating the RTC program so now it supports full functionality to initialize, set, display, etc the TOD. Also added a function to allow arbitrary reads and writes to any DS1302 memory register. This allows full working access to the DS1302 NVRAM. The SBC supports 31 bytes of NVRAM for retaining configuration data as needed but so far other than basic access to the NVRAM and the contents there are no applications which actually use the capability.

Regarding the PCB respin on my basement computer, after a week or so of trying and only accomplishing 2 full passes, I decided the approach had some sort of major flaw and shut it down. The initial autorouting on that machine resulted in 298 vias at the beginning and had reduced it to 255 or so. The PCB had serious problems but I am not sure what is causing it. Instead, I am restarting the job upstairs on the main PC. As of this morning it had completed a full pass and about 1/3 of another when interrupted it to save its work. Since that PCB was the version Alfons had helped me with previously, the PCB started with only 187 vias and after its crunching overnight was down to 167. My plan is to just continue with this approach since the PCBs both have the same clearance specs. After the improved CPU is installed on the downstairs PC I may try again with that machine but right now it is just not practical. It would likely take *months* at the rate it was going.
 
Last edited:
Respin Update

Respin Update

Hi,
Things are going much better than I anticipated on the respin of the new PCB on the upstairs PC. As of this morning, the autorouter / optimizer has reduced the PCB to 119 vias and overall trace length to about 57.4 inches. It may shrink those down even further but I'd am thrilled to even see these levels of reduction.

This particular PCB has really limited the impact of the increased clearances. Only adding ~20 vias and 2 inches of overall trace length would be a small price to pay for the increased trace clearances. I am very encouraged. All that is needed now is for the optimizer to finally converge on a minimal solution and then I can start the PCB ordering process. Who knows how long the optimizer still needs but I suspect at least a couple of days.

The N8VEM software is done for now as best I can tell. The CBIOS has been updated to support the new MPCL hardware and also the 1MB ROM drive. The RTC software now supports full functionality. The basic CP/M transient commands are loaded into the F: drive and there is lots of room left for expansion, if and when that is desired. My preference is to keep the initial release of the ROM image minimal and let people discover on their own what they'd like to include. I believe there should be many ROM images created depending on what people choose to do with their SBCs. There is plenty of room on the N8VEM website for a library of ROMs.

Thanks and have a nice day!

Andrew Lynch
 
AJ - just found these:

Linkage

Mitsubishi 100ns 128kb x 8 CMOS Static RAM.


T

Thanks Tony,
I will check those out when I get home from work.

PCB respin update: I thought the optimizer had "bottomed out" and was near a solution last night but it decided to surprise me and eliminated some more vias overnight. It seems it still can squeeze this PCB down some more so it is still grinding away. However, I think we are closer to a solution. The current PCB has 115 vias and about 57 inches of total trace length. That is pretty darn good and with the new clearances will make for a nice looking and easy to build SBC PCB.

As soon as the optimizer finishes, I will run the design checks and the freeDFM tools on the PCB and set up an order. More later as it develops.

Thanks!

Andrew Lynch

PS, OK I looked into the chips. They'd probably work but 200 pcs is more than I am willing to buy. At most, I suspect there is a market for only a dozen or so PCBs.

Does anyone have one or two 128Kx8 32 pin 0.60 wide SRAM chips I can try out with the SBC for compatibility testing? I will return them when done.
 
Last edited:
Hi,

Does anyone have any recommendations for some simple utilities to add to the CP/M transient program files stored on the F: (1MB ROM) drive? I would like to keep the ROM drive "lean and mean" but supply some minimal level of useful programs for new builders.

If you have any recommendations for what to add, please let me know. I am looking for highly compact programs perferably in a single file or maybe two.

My ideas so far are:

1. VDE -- a tiny screen based text editor

2. TinyBASIC or something similar

Of course, CP/M provides ASM for serious programming but BASIC can be useful for some applications.

I think there is a decent small FORTH available for CP/M too but I haven't done anything with FORTH in many years.

What other sorts of utilities would people like to see included?

Thanks in advance!

Andrew Lynch
 
Hi!

Well, diagnostics would be useful but usually those are platform dependent pieces of software. Unfortunately there is no diagnostics software for this SBC until someone writes it. Some functionality similar to that is contained in the RAM Monitor hardware initialization. The monitor initializes the RAM, PPI, and UART and checks them out during initialization. As for the rest of verifying the system works, well that's what an oscilloscope is for... :)

My intent was more general purpose CP/M software applications or tools. If no one has any ideas, I think I'll probably add the VDE and some form of BASIC and call it good enough. There is no hurry to decide since once the optimizer finishes and I place the order it is still probably close to 3 weeks until the PCBs are available.

Thanks!

Andrew Lynch
 
Hi,

Does anyone have any recommendations for some simple utilities to add to the CP/M transient program files stored on the F: (1MB ROM) drive? I would like to keep the ROM drive "lean and mean" but supply some minimal level of useful programs for new builders.

If you have any recommendations for what to add, please let me know. I am looking for highly compact programs perferably in a single file or maybe two.

My ideas so far are:

1. VDE -- a tiny screen based text editor

2. TinyBASIC or something similar

Of course, CP/M provides ASM for serious programming but BASIC can be useful for some applications.

I think there is a decent small FORTH available for CP/M too but I haven't done anything with FORTH in many years.

What other sorts of utilities would people like to see included?

Thanks in advance!

Andrew Lynch
Hello,
I am not sure but, ¿ isnt some kind of basic already included in the CP/PM version 2.2 ?
http://www.schorn.ch/cpm/intro.html
I think is a very good idea to include BASIC in your design!.
Regards from mexico!
 
Hi!

CP/M does not include any BASIC in the default distribution, AFAIK. However, practically every computer shipped with CP/M included a form of BASIC.

I tried getting the VDE to work in the simulator tonight but no luck. Obviously the VDE program is running but it has some weird terminal or memory mapped video display. The screen was completely nonsense. I will have to investigate further about what sort of terminal emulation is needed to work with VDE. There has to be some simple full screen editors out there for CP/M though. Any ideas?

Next I'll try to find a nice compatible BASIC. It may be better to just let people discover their own best tools and hopefully share their discoveries here or on the N8VEM website. There is no telling what people are going to like and not. BASIC does seem like a logical choice to me. It is so easy to make simple programs, it is hard to beat plain old BASIC for quick programs.

Thanks and have a nice weekend!

Andrew Lynch
 
As you'll recall, VEDIT was just discussed on comp.os.cpm; is it suitable? Al has posted the manual IIRC.

And there ought to be a few versions of BASIC around; MBASIC? Tiny?

m
 
Hi,

I managed to get VDE working in SIMH so that seems to be OK. Also copied the BBCBASIC program binary and it seems to work too. It is fairly easy to update the ROMIMAGE.BIN so this should not be a problem.

On Sunday the autorouter/optimizer crashed and I lost a days worth of crunching. I restarted it on Sunday morning and let it run all day and night. The good news is the PCB is now down to 107 vias and 578" of overall trace length. I have no idea when this thing is going to finish. I thought it was almost done but who knows?

Thanks and have a nice day!

Andrew Lynch
 
Autorouter & Optimizer finally done, PCB is completed!

Autorouter & Optimizer finally done, PCB is completed!

Hi,

The autorouter & optimizer finally completed. I did some final checks and ordered the first batch of PCBs. The manufacturer has 15 days turn around time plus shipping. I expect the PCBs will arrive in about 3 weeks give or take a couple days.

In order to prevent any of the bad stuff that has occurred on other similar projects, I am buying all the boards myself and will not accept any orders prior to the boards physically arriving. I may also do a checkout to verify they are good prior to sale. The PCBs will be $20 a piece plus shipping.

If you'd like to see the PCBs, here are some results from the pre-order checkout process

https://www.freedfm.com/freedfm/0011697402017052/results/plots.htm

https://www.freedfm.com/freedfm/0011697402017052/results/summary2.htm

Let me know if you have any questions. Thanks!

Andrew Lynch
 
Hi All,

I just received an email from the PCB manufacturer and they are estimating a delivery date of 5 June 2008 which is right in line with the prior estimates. They have accepted the design and it appears everything is in order for the PCBs. I guess we'll see how it turns out. :)

If you are considering building one of these SBCs, now would be a good time to start gathering your parts as you have about three weeks to before the PCBs are available.

Your workbench junkbox is the obvious first place to look and then see what is available from scrap PC boards and other electronic junk. I selected the parts for the SBC based largely on their being very common and available in old junk equipment.

Probably there will be some components you'll need to order because few people are going to have everything already. The most likely candidates will be the SRAM, EPROM, and DIN 41612 connectors.

Another good thing to have, although not *absolutely* required but something you'll definitely want, is an EPROM programmer and also an EPROM eraser. My guess is that most people into repair/restoration of vintage computers and home brew computing will already have these devices. Both are available very cheaply from many sources. I have had good luck getting low cost devices from Ebay or mcumall.com. There are several programmer kits online as well. These are not endorsements but as examples illustrate the availability of EPROM programmers:

http://www.mikeg2.freeserve.co.uk/eprom/ (27C801 programmer & eraser)

http://www.mcumall.com/comersus/store/comersus_viewItem.asp?idProduct=3081

There are numerous other examples and alternatives but the key point is whatever approach you select be sure that the programmer supports *32 PIN* devices. The SBC in theory is capable of supporting a wide variety of 32 pin devices. Probably a 512K Flash ROM would work but it hasn't been tested yet.

If anyone has any questions, please feel free to ask. The best time to find out these things is before you commit to your project!

Thanks and have a nice day!

Andrew Lynch
 
Hi All,
Speaking of lower cost memories...

I was digging around in my junkbox and found a CAT28F512 64Kx8 Flash ROM. It is 32 pin compatible so I programmed it with a binary image and sure enough, it worked.

Almost certainly, nearly any 32 pin memory device is going to work in either the SRAM or EPROM socket. The cool thing about the CAT28F512 is that it is reprogrammable with a FLASH programmer (more simple and even cheaper than an EPROM programmer) and does not require an eraser to work with it. I'll bet the AT29Fxxxx part Grant mentioned earlier would work as well. The only exception I have found is the 27C010 due to a difference in the pin out during the read operation.

In theory, the CAT28F512 or any 32 pin FLASH device it is capable of in-circuit reprogramming. I suspect with careful manipulation of the ROM MPCL software could be written to update the FLASH ROM while installed. The problems still are 1) how do you start the update cycle with a blank part and 2) what about accidental overwrites. The latter issue is lessened with recent parts having overwrite protection modes but the former is a real "chicken and egg" scenario. Only if you have a programmer you can start from scratch with a blank part, AFAIK.

I have made fairly good progress in reducing the cost of the ROM which was never very expensive to begin with. Its the SRAM that is causing all the grief cost wise. Even the 128Kx8 parts are $10+ at Jameco.

What we really need is a shim board to allow those nasty 0.3" DIP 28 pin 32Kx8 SRAMs salvaged from dead 486 motherboards. I have many of those but no way to use them. They are practically free if you scrounge around long enough. I have some of more rare 0.3" DIP 32 pin 128Kx8 SRAMs but can't use them either since they are that obscure narrow DIP format.

Making a $20 PCB to salvage cheap SRAMs to replace a $20 SRAM makes no sense to me at all. A PCB respin to use cheap SRAMs is a non-starter as well. Any thoughts on the subject?

Thanks!

Andrew Lynch

PS, nevermind about the EPROM/FLASH issue. I just checked on Ebay for how much a cheap EPROM programmer costs (EEPROM/FLASH/EPROM/etc) and they are like $20 + shipping. Apparently, I have fallen behind the times. The bottom has fallen out on the price of the Willem Programmers since the last time I checked. For example:

http://search.ebay.com/search/searc...action=compare&copagenum=1&coentrypage=search

Now that still doesn't help with the SRAM cost problem but the EPROM programmer should be almost a non-issue at those prices.

PPS, OK curiousity got the best of me so I started searching Ebay for some low cost SRAM chips. I found the following and ordered a couple just to see if they'd work:

http://cgi.ebay.com/1-x-HITACHI-HM6...oryZ4663QQssPageNameZWDVWQQrdZ1QQcmdZViewItem

If these work out, it should reduce the cost of the SRAMs significantly. Basically, a 128Kx8 SRAM would cost less than $9 shipped. A volume purchase would drive that down even further. I have to watch how much I am spending on this project myself so I'll leave that for someone else to organize.
 
Last edited:
Firstly a thanks for starting this project. I'm hoping this'll be my first SBC completed succesfully.

On the subject of a BASIC, I'd like to add my two pence and put forward a vote for this version of BBC BASIC 4

http://www.bbcbasic.co.uk/bbcbasic/bbccpm.zip

Cheers
John

Hi John,
I meant to say Thanks! for the idea. I downloaded it and it worked first try. At least it started and responded to simple commands. I suspect it works pretty well.

Thanks!

Andrew Lynch
 
No worries. Whilst I'm just making the foray into DIY computers, it's nice to know I'll still be able to use a familiar language. Look forward to the boards being ready.
 
Back
Top