N8VEM SBC V2 – Still awaiting shipment

Well, Mouser managed to send an email today letting me know that they have shipped my package which has the needed parts to get this board up and running. However, it looks like the package will not get to me until 1/13/18 (4 more days).  Even though I am only 4:30hrs away from their warehouse.  I’m going to be honest, I’m not very happy with their service this time around.  But I suppose every company is allowed to have a bad day from time to time…

I already have all of the sockets and passive components soldered. I’m just waiting on the chips to stick into the sockets.  As well as an oscillator. I plan on testing this board at 16mhz , but may drop the speed depending on how the initial testing goes.  I decided to go with ACT logic families, since they have a very fast propagation delay, low power consumption, and are CMOS and TTL compatible.


The bare SBC V2 Board


Missing only the chips, the CPU Clock, and a 1k resistor array (RR1).  Well, and it needs a bi-color LED…

I actually had several of the chips needed on hand.  The board currently has a 20mhz CPU (z80 of course), an 8255, an 16C550, and a MAX232CPE.  But I still need to have a few more ICs before this will be able to boot to CP/M.  Still waiting on Mouser…

As you may have noticed in the second picture above, I installed a machine pin DIP-8 socket in place of P4 (CPU Clock).  This allows me to try a variety of oscillators until I find one that works as desired.  The goal is to have a very fast processor, and be able to run the SCG (Sprints and Color Graphics) Card in this computer.  Though I hear that card prefers something in the range of 4mhz.  For some reason I have to believe it can handle more speed.  Maybe the person who suggest this used a slower logic family???

As soon as I have more to report I’ll be back with another post.

Studying for Mass Storage…

Now that TB 2.5g and G-DOS 0.50b are finalized and out there in the wild, it’s time to turn our focus to Mass Storage.  That’s right, we need to be able to add, remove, modify, and use files contained in some type of file system.  The type of file system may be up for debate.  But regardless of what we decide to do with this computer, we need a way to access binary files, BASIC programs, etc.

So the two main types of file systems of interest to us would be FAT or a CP/M file structure.  Considering that this computer only has 32k of RAM, that dissolves any idea of using CP/M without major modifications.  That’s another project for another day.  FAT on the other hand has several advantages.  Firstly, it is readily readable by a modern PC.  Which means that we should be able to write and transfer files between this computer and a PC with ease.  Secondly, it is highly documented.

Knowing this I set out to learn everything that I could about the hardware side of the SD format.  First thing I discovered is that there are two protocols for communicating with an SD card.  The first is SPI, a pretty straight forward protocol similar to what one would use with Serial Shift Registers. The second is SDIO, which is completely undocumented.  Knowing this I knew that I would be using SPI.  So I would need the following pins: Clock, MISO, MOSI, and Chip Select.  That is in addition to the 3.3v supply voltage.  Speaking of 3.3v, i would also need to level shift from 5v to 3.3v and vice versa.  Luckily I recently ordered 74LS07 Open Collector Buffers, so this is no problem.

But how would I drive these pins?  Well, that is when I began thinking about the onboard 8255 PIO.  Obviously it has plenty of pins…but I wanted to use that for general purpose I/0…  And besides, I do not want to dedicate one whole port to just one input pin!  But wait!  If I were to add a z80 PIO I could use it in Mode 3, or I/O mode!  That means I can specify in software whether a pin is input or output!  Fantastic, I have the hardware figured out.  Now onto the SD SPI Protocol.

And that is where I am at now.  Reading in the plethora of information available on the web, which doesn’t really give me much information about the hardware side (like do I write one byte, then read a byte? Or how do I specify where I want to read data from?).  That is until I found the resources below.  And while I am still trying to crawl through the information, I am taking many notes along the way.

If you’re interested in this type of stuff, I suggest giving it at least a once over.  You’ll probably learn something that is of no real use to you outside of this hobby.

https://www.compuphase.com/mbr_fat.htm

Simple FAT and SD Tutorial Part 1

Simple FAT and SD Tutorial Part 2

Simple FAT and SD Tutorial Part 3

Simple FAT and SD Tutorial Part 4

G-80S Update: G-DOS v0.50b Released

It’s here!  TinyBASIC v2.5g hit the Web late last night.  Today, it’s the G80-S Monitor v0.50b.  The link to the download is below.  Several changes were made to simplify use of this software.  As well as the TinyBASIC being updated to v2.5g.

If you find any bugs, please let me know.  Enjoy!

G80S_v0_50b

TinyBASIC 2.5g Released

Behold!  I present to you TinyBASIC 2.5g!

Thats right, it has been anticipated for some time.  I now feel comfortable releasing it into the wild.  So without further delay, the files are available below.  There are two version, one is a version designed to run on the G80-S Micro Computer.  The other is a version with will require you to write a few routines to work with your particular computer.  In the event that your memory is different than 32k ROM and 32k RAM, you’ll also need to play with the memory locations to get it to work properly.

If you have any questions about how to get it running, shoot me an email, I’ll be happy to see what I can do to help.

EDIT:  Thanks to Travis Hall for finding a pretty important typo.  The problem has been fixed.

tinybasic_2_5g

G80S_tinybasic_2_5g

Avaya ISAPC-00 ISA to PC Card Interface

While PC Cards (or PCMCIA Cards as they were mistakenly known) are a thing of the past, they can often be quite useful.  Take my Compaq SmartStation Laptop setup.  Being from the 486 era, and a laptop, there are not a lot of solutions for mass storage transfer.   There was no USB.  There are no commercially available adapters for installing a 5.25″ drive (although I made my own with my 3D printer).  The only solution you would normally have would be a Parallel Port Zip Drive.  But luckily for me, it does have two PC Card slots.  And since there now exists PC Card to CF Flash adapters, I have a solution for mass transfer.

But, in 1993, someone decided there was a need for a ISA to PC Card adapter.  In fact, there seems to be a few different controllers for them.  One of which is the controller in question here, the Vadem VG-469.  The other one, that I’m aware of, was made by Intel.  And is the basis for the Vadem product.

I believe this particular card, and others like it, were part of some industrial solution.  Someone needed interchangeability between a Laptop and a Desktop for their PC cards.  But the real reason I think this has to be an industrial design is due to the lack of drivers.  There seems to be enough information for a Windows 95 machine to use these controllers.  But not WFW 3.11, which would have been the default OS during the time this card was made.  Unless you were still primarily using DOS at the time (which there are also no drivers for).  That leads me to believe that it was likely for some other OS.  But that is speculation at best.  Maybe someone just needed a portable HDD, and this was the interface.  Thats right, PC Card HDD solutions did exist as well…

Whatever the case, it is an interesting piece of Tech History from the 1990s.  Check out the video below.  Enjoy.

G80-S Prototyping Boards Arrive!

Retro Depot is happy to announce that the G80-S prototyping boards have arrived. They’ll be added to the store in a day or two.

So far everything looks good. Although we would suggest that you use extra tall stackable headers. Otherwise clearance may be an issue. But your particular setup may give varying results.

These boards feature breakouts for both the z80 bus as well as the PIO ports, a location for a 1117 Regulator (for 3.3v source), power indicator LED, Micro SD location with breakout (including spots for 1208 capacitors), and just over 1000 pads in a standard .100” grid.

G80-S v1.0 PCBs Have Arrived!

Great news fans!  The PCBs have arrived, been tested, and passed!  That means that I’ll will be able to get them up on the store for sale very soon!  I know many of you are anxiously awaiting the availability of these boards.  I’m waiting on a shipment of capacitors and resistors.  That should be coming in the mail before too long.  But it does take time, and because of this, if you order one of the early boards, you may be forced to purchase without the capacitors/resistors (something I plan on offering free of charge with these boards).

If that is the case, they are easy to find.  They are SMD 0805 footprint.  100nF for the capacitors (total of 16), and 10k for the resistors (total of 6).  One could make through hole work in a pinch.  But the safe bet would be to wait until the caps/resistors are ready.  You’ll know as soon as I do.  In the mean time, here is the front and back of the boards.  You’re excited, admit it.   😉

Also, International Shipping rates have been added to the store.  It’s a 3 tier flat rate.  It seems that for anything under about 8oz I can ship it for about $15 USD.  Once you cross over to 9oz it goes up to about $24 USD.   Above that, it’s best to ask for a quote.  But if we’re talking about a couple of PCBs, I should be able to ship 2-4 for $15 USD (plus the cost of the boards).  If you have any questions, just ask.

G80-S v1.0 Boards In Production

That’s right boys and girls! The first production run of G80-S v1.0 board has been ordered, confirmed, and are currently in production.

Some of you may be wondering what changes were made between the Beta run and the v1.0 boards. Well, to answer that question, not many. Firstly, and the most important aspect, the IEI line has been fitted with a resistor to VCC. This will allow SIO/DART interrupts if desired. It doesn’t affect current G80-S software. The other changes were simply cosmetic changes to the silkscreen layer. Everything should look pretty now.

Once the boards arrive I’ll get them checked for issues, but the layout hasn’t changed. So the only issues, if any, should be cosmetic at this point. (I had put quite a bit of thought into the board when designing it).

Also, I have designed and ordered a first batch of prototyping boards for anyone who wants to tinker with other hardware. This board will have breakouts for both the z80 bus as well as the PIO pins.  And will have a place for a Micro-SD card and a 1117 3.3v regulator. These changes will simplify modification for CP/M or testing with other hardware by allowing the user a way to expand the board while keeping the same footprint.  With stackable headers you could add quite a few items to the computer.  Just food for thought.

Happy Computing!

TinyBASIC for the z80 – TinyBASIC 2.0g

In celebration of 41 years of Li-Chen Wang’s TinyBASIC (the original Open Source Operating System), and the fact my G80-S Computer needed a version of BASIC, I am proud to announce the z80 port of TinyBASIC.

Version 2.0g was derived from the original TinyBASIC 2.0 source.  The method of it’s conversion was thorough.  First the original source was compiled in 8080 mnemonics.  It was then disassembled, and compared to the original source.  It was then modified for the z80 Instruction Set.  And finally, streamlined in order to make it a little more portable.  The link to the download is below.

TinyBasic_2.0g

However, if you’d like the assembly file for the G80-S computer, here is the link to that source code.  Enjoy!

G80S_tinyBASIC_2_0g

G80-S Runs Microsoft Basic 4.7b (sort of…)

As a followup to my post on interrupts, I decided to have a go at modifying Grant Searle’s I/O routines for his 7-chip z80 Computer. After quite a bit of work, I had the routines in his handler changed to conform with his code (at least I think), and function as intended (at least as far as I was able to test).

The next task was to try it with his modified version of the Nascom Rom.  And, after splicing the code, I compiled and tested…..and tested…..and tested…..

Well, the short of it is that it kind of works.  The video above says it all.  The serial routines seem to work fine up until BASIC starts up.  And at that point, my serial routines work fine, but there is some disconnect with Grant’s code that either doesn’t like my own code, or is simply amiss.

The video really does say it all.  If anyone has any ideas, or has ported Grants work over to using either the DART or SIO, I’d love to see your code.  Help a brother out… But seriously, watch the video.  It’s hilarious….