Jump to content
IGNORED

F18A


matthew180

Recommended Posts

Well, the code is done. And if you want to drop $250 on the thing I could have it ready in about a week. However, there does not seem to be such a thing as a "minimal" FPGA board out there, and designing a circuit board for an FPGA is unexpectedly very complex.

 

I suppose I can offer two options. Those who want one *right now* and are willing to cough up $250 to $350, I can get an FPGA board that is commercially available and use that. Of course these boards have way more on them than is needed, but they are all designed for development.

 

The alternative is to wait until I get a working circuit board with only the necessary components on it. This should work out to be less than $150... *should* being the keyword here. An FPGA board pretty much HAS to be a 4-layer board, which introduces the power and ground plane and all the complexities that go with it. Not to mention that FPGA's require no less than 3 different voltages, which means the power subsystem is equally complex.

 

I guess the last option would be for someone to hire me to make retro hardware for a living. :) Any takers?

 

Matthew

Link to comment
Share on other sites

Matt,

 

I do not know what resources you have available to you at this moment, but if you have not worked or collaborated with anyone else doing FPGA stuff, I would recommend that you speak to Jens Schoenfeld of Individual Computers -- he makes a lot of Amiga and Commodore stuff -- and the guy (I think his name is Dennis) who produced the MiniMig, a full Amiga 500 in FPGA and a surface-mount 68000.

Link to comment
Share on other sites

Well, I'm posting from my iPhone... That explains everything! :)

 

 

OK so how about now.... is it finished yet ??? hehehehe

 

HA! Have you not been paying attention?? I've been doing things like writing BASIC Translators and spending hours trying to figure out how to make it work in my WordPress powered website... Didn't you hear me complaining how much of a pain the circuit board was going to be? Sheesh! :)

 

Matthew

Link to comment
Share on other sites

Well, I'm posting from my iPhone... That explains everything! :)

 

 

OK so how about now.... is it finished yet ??? hehehehe

 

HA! Have you not been paying attention?? I've been doing things like writing BASIC Translators and spending hours trying to figure out how to make it work in my WordPress powered website... Didn't you hear me complaining how much of a pain the circuit board was going to be? Sheesh! :)

 

Matthew

 

Hmmmmm... perhaps I should get a longer stick to poke this bear with ;-) If your current stumbling block is the board layout then I could put you in touch with our resident PCB ace Jim Fetzner. Saved my bacon. Now back to our regularly scheduled annoying feature..... Are you done yet ?......

Are you done yet ??

Link to comment
Share on other sites

Hmmmmm... perhaps I should get a longer stick to poke this bear with icon_winking.gif

 

Perhaps not a longer stick... perhaps a stick with a wad of cash on the end.... I believe that might work. =)

 

I guess the last option would be for someone to hire me to make retro hardware for a living. icon_smile.gif Any takers?
Link to comment
Share on other sites

Well, If *I* were to go to anyone for advice, it would be our very own Paul Urbanus. Paul is a private contractor and makes his living from working exclusively in the FPGA world. :thumbsup:

 

Mark

 

Well, it seems Mr. Urbanus replied to my initial announcement post over in the Y! group, but I missed his reply (which came a while after the announcement) and I didn't reply until about two weeks later. I replied in the list and sent him a personal message; he has not responded. I guess I offended him or something.

 

Matthew

Link to comment
Share on other sites

Hmmmmm... perhaps I should get a longer stick to poke this bear with ;-) If your current stumbling block is the board layout then I could put you in touch with our resident PCB ace Jim Fetzner. Saved my bacon. Now back to our regularly scheduled annoying feature..... Are you done yet ?......

Are you done yet ??

 

Well, the PCB layout is only half the issues to work out, the other part is coming up with a design that I can build by hand (to make a prototype), and in case I have to make these myself. Otherwise I have to make a board that can be machine assembled, which adds restrictions. It's mostly a learning experience for me, so it always takes longer than I'd like.

 

Matthew

Link to comment
Share on other sites

I would try Urbanis, again. It is likely just a timing issue.

 

On to something else. Today I uncovered not one, not two, but THREE black/silver consoles in my storage room, as well as a keyboard (which I promptly and summarily dropped) and a (basically) populated PEB!

 

So, Matt, I have at least one console to send you, and I will try out two of the other three (one which I will likely keep as it is my original console, my very first, from 1984.) One of them has a little corrosion issue. The keyboard is yours as well, if you wish: all keys are present and the board is in pristine condition, but the ribbon has some kind of fuzz on it and the FCTN key base is broken. The PEB stays with me; I am VERY tickled to have found that as I was pretty sure I had acquired a second one at some time. I honestly now have no idea where I got two of them, just that one came from David Ormond a LONG time ago.

 

Ummm... if I could go back in time and give myself one piece of advice it would be, simply: do not leave batteries in boxes destined for storage.

 

Also, would you either explain how your console exchange program works, or provide a link to another thread in which you (possibly) already do?

 

Lastly, yeah, I believe Dennis might have dropped out of the hardware side of the MiniMig, but my last reading of the project -- it is really damn neat, but I have taken little other interest in it -- is that he still produces firmware for it. What is also cool is another guy at Amiga.org was inspired to create a Tandy 1000 in FPGA!

 

FPGAs are friggen cool. I am surprised that a project to standardize a MESS-in-an-FPGA type of setup does not exist. Imagine, a single FPGA-based device with standardized PS/2 input, VGA output and other interfaces with the ability to emulate ANY machine just by changing the core. With the massive similarities between the simple interfaces in the various 8-bit systems (even some others,) it should be fairly easy. Every computer had a joystick interface, a keyboard, and a monitor. The specific interfaces, like the Atari parallel, CBM IEC serial, etc., could be handled with an adapter module.

Link to comment
Share on other sites

FPGAs are friggen cool. I am surprised that a project to standardize a MESS-in-an-FPGA type of setup does not exist. Imagine, a single FPGA-based device with standardized PS/2 input, VGA output and other interfaces with the ability to emulate ANY machine just by changing the core. With the massive similarities between the simple interfaces in the various 8-bit systems (even some others,) it should be fairly easy. Every computer had a joystick interface, a keyboard, and a monitor. The specific interfaces, like the Atari parallel, CBM IEC serial, etc., could be handled with an adapter module.

 

Yes, FPGA's are cool, however, you must remember that they are not like software, even though VHDL and Verilog make it look like programming. This was one of the biggest hurdles for me, and I'm still getting over it. Saying "it should be fairly easy" is relative to who is doing the work. Being a programming guru will do nothing towards helping someone make a working FPGA circuit. Understanding how to build a computer using discrete 74ls or CMOS series logic, *that* would help one make working FPGA circuits.

 

My biggest breakthrough with FPGA's came when I stopped looking at the VHDL as "code" and started understanding how what I was writing was being translated into actual hardware. I don't think something like MESS will become an FPGA until someone on the project also happens to be an electronics person (either serious hobbyist or engineer.) That's also why the 99/4A does not have an FPGA SoC (system on a chip) yet, but systems like the C64 and MSX have been implemented in FPGA's for about 4 or 5 years now. Our community is too small, and apparently me, and one or two other TIers, are the only ones messing with FPGA's. At the 2005 TI Faire I gave a brief explanation about what FPGA's were and how entire computer systems were being implemented in a single chip, like the C64. I seriously thought the 99/4A would have been implemented by now.

 

What I think you will see, before a MESS SoC, is all the individual systems implemented. The ColecoVision is already done, the C64, probably the Apple ][, the Amiga, and probably others. The FPGA Arcade guy (Mike) is working on a new board that will be the core for making multiple arcade games available on an FPGA, and possibly MAME (I don't know the details.)

 

After the F18A, if no one has done it yet, I will probably start working on the TMS9900 in VHDL, and eventually the 99/4A if I'm not burned out by then. We'll see.

 

Matthew

Link to comment
Share on other sites

Our community is too small, and apparently me, and one or two other TIers, are the only ones messing with FPGA's. At the 2005 TI Faire I gave a brief explanation about what FPGA's were and how entire computer systems were being implemented in a single chip, like the C64. I seriously thought the 99/4A would have been implemented by now.

 

The only reason I didn't personally dive into this, is that it's still an emulation. It's a hardware emulation instead of a software emulation, but that doesn't change the fact that it's not the original hardware, but a reverse-engineered reproduction of it. Some people try to say that making it hardware somehow makes it more accurate -- it makes it more capable of getting the high speed timing right, but it still comes down to the person who builds it understanding all that timing well enough to get it right. If not, then you end up with potential incompatibilities all the same. Remember the whole issue of clones back in the day? The only difference is that clone can now be synthesized by a text file. ;)

 

We have the new Geneve coming now, that should count for a system on a chip. :)

 

The possibilities of FPGA systems are pretty impressive, and at least we have one person in the community who went from "Someone should..." to learning the skills and doing it. Go Matthew! :)

Link to comment
Share on other sites

I should add.. someone DID do a 9900 core in VHDL, but they didn't make it publically available (nor did I get a copy). I know about this because they used Classic99 as a reference and asked my permission to do it. I also know I still had some serious (but rare) CPU bugs in that version. ;)

Link to comment
Share on other sites

The only reason I didn't personally dive into this, is that it's still an emulation. It's a hardware emulation instead of a software emulation, but that doesn't change the fact that it's not the original hardware, but a reverse-engineered reproduction of it.

 

I don't know, I'm still on the fence about calling an SoC "emulation". In software there are tons for different ways to do the same thing, and you don't have true parallelism (beyond two threads running on a dual-core CPU.) In hardware you really don't have many options for address decoding, clock distribution, multiplexing, pipelines, etc. It is all done the same way, with the same chips and flip-flops. The set of tools is smaller and more defined, thus you end up with very similar solutions for the same problem. I would argue that a block diagram of the F18A would look pretty close to the one in the data manual.

 

Some people try to say that making it hardware somehow makes it more accurate -- it makes it more capable of getting the high speed timing right, but it still comes down to the person who builds it understanding all that timing well enough to get it right. If not, then you end up with potential incompatibilities all the same.

 

Well, in hardware, if your timing is wrong then the circuit simply will not work. It *all* comes down to timing, as I have learned over and over with the FPGA. If you were doing a "real" clone with various chips, you would be using the same core parts, 9900, 9901, etc. and there are only so many ways you can hook up those chips and still make them work. Using your argument, you could say that the 32K-in-the-console "modification" somehow makes the computer no longer a 99/4A, but a clone.

 

If I were making a 99/4A clone with the same core chips, but used a GAL for the address decoding instead of three 74LS138s, or a single SRAM instead of two discrete SRAMs, does that make my clone any less of a 99/4A?

 

In an FPGA you are still dealing with flip-flops, AND and OR gate, and Multiplexers, which are the same building blocks as discrete logic and even more complicated ICs. Whether the flip-flop is implemented as an SRAM cell or in discrete silicon does not matter, it is still a flip-flop, and writing "OUT3 <= NOT IN3" in VHDL is identical in hardware to using the 4th inverter in a 7404.

 

Remember the whole issue of clones back in the day? The only difference is that clone can now be synthesized by a text file. ;)

 

Well, the clone computers had the disadvantage in that they could not "legally" use the BIOS of the PC, which had a lot to do with "software" compatibility more than hardware. Clone makers were also trying to reduce costs, which equated to using less chips than IBM's computers, so you are trying to do the same hardware with less components, thus you might have to cut something or do it a little different (I don't think the IBM engineers were terribly sloppy and left a lot of ways to reproduce the PC with less hardware.) And once "chip sets" started coming out, the hardware became standardized.

 

Clone makers biggest challenge was the software, and IFAIK only Compaq did is the "right" way. I don't think anyone writing software emulators or eventually hardware "reproductions" (the term I've settled on, personally) is reverse engineering the ROMs (and GROMs in our case.) In software a software emulator, if you "forget" to implement part of system, or do it a little odd, then things will still tend to work, you just have anomalies we call "bugs". In hardware, generally, if you don't do something exactly right, the whole thing simply won't work.

 

Lastly, with an emulator running on a "modern" GUI OS, you can *never* achieve a true emulator thanks to the fact that the OSes are not realtime and you can never get the timing right. That was the biggest reason I stopped working on my software 99/4A and started doing the FPGA work. With an FPGA, since you are dealing with real dedicated hardware, you can get it all right, the speed, timing, true parallelism, and all the headaches of real hardware.

 

I've literally spent a whole week making changes to a piece of the CPU I/O interface of the F18A, and every time I would power on I got the same blank screen. Day after day, with massive changes, nothing, dead, same result. Heh. It came down to timing and something stupid in another part of the circuit that was totally unrelated. But when it worked, it worked perfectly. It had to work right since I was interfacing with an existing functional computer. If my CPU I/O was wrong then BASIC, XB, games, sound, and the whole console in general would all not function at all. I would argue that I have a perfect hardware reproduction of the 9918A's CPU I/O, and at the hardware or software level you can not tell the difference between the two chips. So at what point does it become an "emulation"?

 

Matthew

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...