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.

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….

Kaypro Restore Pt 1: Replaced Sockets and Video Activity Capture

The Kaypro restoration is coming along, but not a lot of headway has been made.  I’ve manage to convert the board back the way it was when it left the factor, as can be seen in the picture below.  However, there is at least one problem with this.  U87 was factory suggested modification, and I have learned both from a reader on this blog as well as a guy on Facebook that it was a service repair of some sorts.  Something about corrupted data.  So that repair will be redone.  I guess it is for the best, seeing as how the previous sockets were worn from the constant pressure of the machine pins over the course of the last 30 years.  Rather that just sacrifice the chip, the person who did the original repairs sacrificed both a chip and a socket.  And the sockets caused the factory placed sockets extra wear. In other words, it needed to be replaced.

The next step was to take a look at the CPU’s activity, and see how everything was going.  And It appears that the CPU is hopping along quite normally.  However, I did notice that the clock appears to not quite be 2.5mhz.  Rather, it appears to be a stable 2.4mhz.  The picture below shows (from top to bottom) the clock signal, the MREQ signal, and the IORQ signal.

All and all, it appears that the machine is running, executing code, and generally performing routine memory operations as well as I/O operations.

As for the video problem.  Well, the good news is that there is at least some type of video signal.  But I’m not sure if it is garbage or actually has something to it.  The pictures below shows (from top to bottom) the Vertical Sync, the Video signal, and the Horizontal Sync.

I’d love to know if anyone knows if this looks pretty standard.  Or if there appears to be something amiss with these video signals.  Because, like I have mentioned in the past, I have no knowledge of video signals or CRT displays.

However, I have see mention before of a pretty easy circuit to fabricate that combines the vertical, horizontal and video signals into a single composite video signal (this was for the Commodore PET). And I may end up sitting down at the bench one day in the next week or so and solder this up.  However, I find it hard to justify using the time for that.  Since I do have my G-80S prototype video board under construction at the moment (another project involving video signals which I have no understanding of).  However, I’ve attached the following picture of a schematic I have found for the mod.  It seems interesting enough.

I have no idea if it’ll work.  But I cannot imagine that the signals are that different.  But who knows, like I said, I know nothing about CRTs or video signals.

So, a little work has progressed, and will hopefully continue.  Also, I’m still looking for a boot disk for the working Kaypro 2X.  If anyone has the ability to make me one for a decent price I’d be a paying customer.  Shoot me a email, and we can talk.