2nd Batch of Counterfeit GAL22V10s??? Or not???

Well, I discovered a package in the post today.  This time an order of GAL22V10B.  Upon opening the package I took note of how good the condition of the ICs were in comparison to the previous batches I have ordered in the past.  These really do look to be in good shape.  However, there are obvious signs that they have been previously used.  Such as slight wear on the pins.

But will they program, that is the question.  Well, I am here to tell you that the answer is…..  Nope, I couldn’t get so lucky.  I have only tried 10 or the 50 that I ordered, but I will tell you this, with this many that are bad I can’t see many of the others working.

So this brings me to my next question.  Why am I having so many problems with these PLDs???  Is it my programmer?  It’s worked fine on 16v8s and other 22v10s for some time.  But I have run into the problem before.  See the picture below:

I have run into this several years ago, and actually posted about it over on AtariAge, here is that post.  It’s mentioned in post #11.  And it’s the same problem we see here.  So that begs the question, are these “Re-Caps” that have been labeled as ‘GAL’ when they may actually be ATF22V10s???  That would explain the problem programming (Atmel variants use a different algorithm to program the PLD, but the JEDECs are compatible from my understanding).  But that is just speculation.

If anyone can shed light on this, I’d love to hear from you.  I’ve got about a dozen dozen of these things that are refusing to program that I’d love to salvage considering that they cost about a $1-3 depending on where you buy them.  But for now I am just assuming they’ve been programmed too many times.  The funny part is that they verify as blank…I’m wondering if they were erased and the lockbit was set?  Although I’m not sure that would make a difference….

If you’re interested to know where I got them, here is the eBay link:

https://www.ebay.com/itm/Lattice-GAL22V10B-GAL22V10-22V10-CPLD-DIP28-X-20pcs/160618790657?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

Now here is another interesting bit, there are several feedbacks for this item from this seller, stating that everything was as it should be.  And the listing says that they’re 100% tested and working.  So now I have to wonder, is it the chips, or is it my programmer???

TinyBASIC 2.5g Patch 01 to be released

Thanks to Travis Hall, another bug has been discovered.  This time concerning the ‘CTRL-O’ functionality.  The good news, it wasn’t my fault.  Unfortunately neither Dr. Wang or Roger Rauskolb had the foresight for the commonality of SRAM over DRAM.  Nor SRAM’s uncanny ability to start up with garbage in memory.  So, we had to add a single line of code into the INIT routine so that an initial value is written to the OCSW switch.  The code, as it should be written is below:

INIT:
LD (OCSW),A          ;SET INITIAL VALUE FOR SWITCH
LD D,03H                  ;3X LINE FEEDS

You can patch your code if you’d like, but I will be uploading a patched version once I get a chance to sit down and update the website to include a downloads page.  Until then, plug this code in, and recompile.

Please continue to report any bugs that you may find.  Future users will appreciate it.

5v to 3.3v Logic Level Shifting Made Simple

When I first started playing around with electronics I was like the other 90% of people to do so.  I started by playing around with micro controllers and other simple items.  And while I had no idea what I was really doing for a long time, there was one thing I learned very early on.  And that is that level shifting is not only often a requirement, but is often confusing to the beginner.

Often a beginner needs to create a 3.3v signal from a 5v signal.  Ok, so you use a voltage divider.  No problem.  But what if you need to create a 5v signal from a 3.3v signal?  Well, then you get dozens of homebrewed circuits often times taking 2-4 resistors, a diode or more, or maybe transistors to invert logic.  It gets confusing.  And for someone needing to learn the basics, that is not a good thing.

Even after I had learned a lot about electronics I still struggled with what the best way to convert between voltage levels was.  90% of what I needed to do was based on 3.3v and 5v logic.  So I knew that I could narrow down my requirements to being simple, requiring very few components, and being easy to understand.  And that is when I discovered the 74LS07 IC.

The 74LS07 is an Open Collector Buffer.  Meaning that the buffer’s output has two logic levels.  And that is not 1 and 0.  No, instead it is High-Z or 0.  Meaning that it’s out put is either high impedance (meaning not connected to anything), or it is equal to ground.  What that means is that we can use a pull-up resistor to tie the output to whatever level it is that we want within the specifications of the part.  See the truth table here:

Great, so we can easily convert to 3.3v from 5v, but we still have to convert from 5v to 3.3v!  Well, that is taken care of in this design as well.  You see, the inputs on the LS07 accept input levels as low as 2v!!!  Thats right 2v inputs are able to activate the output!!!  Check out the recommended specs, here:

So that means that we can reverse the design to create a 3.3v signal from a 5v signal.  See the examples below.

Now, how does this work?  Well take a look at Texas Instrument’s Official circuit for each of the 6 buffers in a 74LS07.

Let me guess, if you’re a beginner you don’t understand what is going on, right?  Well, lets simplify this for you (keep in mind, this is just to give you an idea of what is essentially happening).

You see, a PNP transistor such as this would only “turn on” when the input is not receiving any current.  So, we can think of this for demonstration purposes as 0v.  And we can think of it as 5v when the transistor is “turned off”.  So when the input is at 5v, the out put is Hi-Z (or left floating if you will).  When the input is at 0v, the output shorts to ground through the transistor making the output 0v.

So by using a pullup resistor to bring the output to the desired output, we have now crafted a level shifter.  And per the datasheet, we can have output voltages as high as 30v!  I’m not sure what the maximum input voltage level is, as it is outside of what my needs are.  And I’m too lazy to look at the datasheet.  But I’m guessing it is a little above VCC at the minimum.

The simple use of this one IC and a few resistors completely takes care of most peoples needs for logic shifting!

But why use this rather than voltage dividers and the diode circuits?  Well, that is an easy question to answer.  Most of those circuits are SLOW.  And by that I mean that the rise and falling edges of the signal may work for some applications when they will not even come close to others.  Not to mention they can become inefficient and consume quite a bit of current.  But since this circuit is purpose built, the power consumption is lowered. And with the use of low value resistors we can increase the spead of the rise time of the signal (the falling edge speed is essentially TTL speed).

That means we have a circuit that uses less power, is faster, and uses less parts than the other options.  Sounds like a win/win to me.

Non-Retro Topic of the Day – LED Flame Bulbs

Not really anything of interest to the Retro Enthusiast.  But something I found pretty interesting.

The video concerns LED Bulbs that produce a flame effect.  There is a tear down of the bulb contained in the video.  It’s a good watch.

If you’re interested in these, here is a link to one on eBay:  LED  Flame Bulb.

 

The Quest for More

Prototyping has begun.  Working up a standard for using an SD Card is the end goal.  But not just that.  I actually have some other plans for a “project” to go along side the SD card.  Not something that will be added to the overall computer.  Rather something that will just be a fun project FOR the computer.

But to do this, I need more I/O.  A lot more.  Because of this I decided to add another 8255 PIO and a z80 PIO.  The latter for it’s Mode 3 operation which will come in very handy with the SD card.  Also, since we will be doing file handling routines, it might make sense to have a RTC so that we can determine the the current time.  I had several ICM7170s on hand, and with the addition of a watch crystal and a coin cell, I should be able to rig it to work.

Progress is still a little slow due to work, but updates will be posted regularly.   As progress is made, that is.

Also, changes have been made to the Product Pages for the G80-S computer to reflect some needed information.  And a download page for the software will be added shortly.  I ask that if any bugs are discovered that they be reported, and I will issue a patched version.

Do you have a project that you used the G80-S or the TinyBASIC 2.5g software for?  Shoot me an email.  I’d like to get a picture, and possibly do a write up about your project.  Better yet, shoot a video, and I’ll add it to the blog crediting you! (With your permission of course).

Got a Website centered around vintage technology, software, or other hardware projects?  Shoot me an email, with your website address.   I’ll add it to an upcoming “Links” page.

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 v0.45t Stable Available for Download

While I iron out some of the details for the release of v0.50b and the v2.5g of TinyBASIC, I figured I better post an updated download for the currect version.  This is a stable pre-release.  And as such, not a lot is going to change between v0.45t and v0.50b.  I’m mostly just working on cleaning up code at this point.  If you’d like to check out the change log, it is attached below.  If you’d like to download the software, I’ve included it too.

I would have like to have already released the v0.50b by now.  But as we all know, sometimes life just gets in the way.  If you have any questions shoot me an email.  The Contact Us page  is your friend.

Also, there is still some availability of the PCB with the PLD option. I’m looking for a dependable supplier for these older parts. Once I do, they will become a more permanent option.

CHANGELOG – v0.45t

G80S_v0_45t