Jump to content
IGNORED

F18A


matthew180

Recommended Posts

Prototype boards came in today and I built the first one. It passes the "smoke test", i.e. it does not smoke, the regulators are making correct voltages, and the oscillator is putting out a nice 50.02MHz signal. I hope to have a chance tomorrow to to get it programmed and tested. In the mean time, here are a few photos for anyone still interested.

 

Nice!!!!!

Link to comment
Share on other sites

Prototype boards came in today and I built the first one. It passes the "smoke test", i.e. it does not smoke, the regulators are making correct voltages, and the oscillator is putting out a nice 50.02MHz signal. I hope to have a chance tomorrow to to get it programmed and tested. In the mean time, here are a few photos for anyone still interested.

 

That is just way too awesome, Matthew! Very nice to see! Who did you end up going with?

Link to comment
Share on other sites

I used BatchPCB to order 2 prototype boards, and I hand assembled the one you see in the photos. Didn't go too bad, and the fine-pitch FPGA and TSSOP were not really that hard. It actually took me longer to solder all the other discrete components.

 

Of course being a prototype, I have to make sure the design works, and as of right now there are still some problems. As soon as I get everything working, I might order one more round of BatchPCB boards just to make sure, then I'll put out the call for pre-orders (unless I can afford to front the costs myself.)

 

I was doing a power analysis yesterday, and the original 9918A is running about 1W (200ma) typical. The F18A is pulling about 0.140W and 118ma, plus it runs at half the temperature. I was worried about staying within the power requirements of the original 9918A, but it seems to be working out just fine.

Link to comment
Share on other sites

Great stuff, man. :) This is pretty exciting-- seeing a real board working on a real TI. Was there ever a point you doubted that it would be a reality? I have had periods of doubt on my own projects--- but this is far more impressive than cobbling together some lines of Extended BASIC. :)

 

Great job, and thanks for your diligence and perseverance!

Link to comment
Share on other sites

Yup, the heat sink will *have* to come off or it will physically damage the F18A.

 

Update:

 

Well, I got it working today! After about 5 modifications to the board by adding wires (and lifting 1 pin from a pad), it fires up in the 99/4A. Not too bad all-in-all, other than fighting with a piece of crap programming tool, so I had to cough up some more cash for a better one. Sadly there were enough board changes that I feel I need to make another prototype before committing to a production run. I'm going to try another board house though and pay more to have it done sooner. I like BatchPCB, but the turn-around is about 3 weeks, and I can't wait. :-) I'll have a few more photos later.

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

V1.1 boards are supposed to be in this week (at least I *paid* to have them made in 5 days, we'll see if it happens.) These boards have the corrections to the problems I found with the first run of boards. If I can build one of the V1.1 boards and have it work without changes, then I'm going to run some heavy testing on them in the three systems I have that use a 9918A (99/4A, MSX1, ColecoVision). If all goes well, I'll be ready to pull the trigger on the first batch of boards.

  • Like 1
Link to comment
Share on other sites

Is the F18A suitable for use on PAL boards?

 

If running it in my UK / 220VAC / 9929A MSX1 is any indicator, then yes. :) The only thing that makes a PAL 99/4A a "PAL system" is the 9929A vs. 9918A and the VDP's oscillator circuit. Since the F18A has its own oscillator, and outputs "standard 640x480@60Hz VGA", the whole NTSC / PAL differences are moot. You will no longer have a "PAL system", you will have a "VGA system", and the VDP interrupt will be 60Hz instead of 50Hz.

 

There is a graphic a page or two back in this thread that shows how the F18A fits in to the system. Basically the DRAM chips that make up the 16K of VRAM are no longer used and essentially "go dead", which means the -12V is no longer required either (I'm pretty sure the only chips that use the -12V are the DRAMs). The VDP oscillator is not used either, and there will be no composite video coming from the 5-pin DIN (you still need a cable for audio though.) The F18A also runs cooler than the 9918A and uses less power, so all around your system will be more efficient. :)

Edited by matthew180
Link to comment
Share on other sites

V1.1 boards are supposed to be in this week (at least I *paid* to have them made in 5 days, we'll see if it happens.) These boards have the corrections to the problems I found with the first run of boards. If I can build one of the V1.1 boards and have it work without changes, then I'm going to run some heavy testing on them in the three systems I have that use a 9918A (99/4A, MSX1, ColecoVision). If all goes well, I'll be ready to pull the trigger on the first batch of boards.

Wonderful news!

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

It has been a while so I figured I would post an update for anyone holding their breath... ;-)

 

In case anyone was wondering, no, I have not been idle. After my V1.1 boards came back, I built my 500K prototype for my testing, as well as a 250K version that I plan to use for production. The 500K FPGA is what my devboard has, so I know my design works on it. The 250K FPGA is over 50% cheaper though (about $11 per unit vs $24 for the 500K), so I totally planned on using the 250K FPGA for the production F18A.

 

So, the V1.1 boards worked great. I built the board and it worked without having to make any modifications. Then I tried to load my design in to the 250K board... Uh, well, it did not fit. Before I added the sprites, my design was at about 38% of the 500K FPGA, and after the sprites the design more than doubled, up to about 89% of the 500K chip. I had to reduce the available sprites to 24 to get the design to fit in the 250K FPGA.

 

Obviously only having 24 sprites was *not* going to be acceptable, and neither was using 100% of the FPGA since there are a few other things I want to put in there. So, a redesign of the sprite system was in order, and after poking around the design, I just decided I needed to rework the whole thing.

 

This time around I managed to compress 6 months of work and learning in to about 6 days! I guess HDL design has sunk in a little. :-) I was very happy about that, since things came more easily this time and overall much more efficient. When I started the F18A I was learning HDL and FPGAs at the same time, so there was a lot of stuff in there that didn't need to be. I did, however, still have two periods of spending a week trying to find a problem that ended up being a timing issue again, but overall it went very quickly.

 

The main goal of the rewrite was to reduce the FPGA size requirements, and I managed to reproduce the whole thing using only 10% of the 500K FPGA and about 22% of the 250K FPGA!! I'm pretty stoked about it. The design is much more efficient and simple, and I have room for a few other features I wanted to add.

 

At this point I also finally tried the F18A in a ColecoVision, and it didn't work!! I know some TIers won't really care about other systems, but my goal is a pin-compatible replacement and not working in the CV or other systems is not an option for me. After another week, a lot of hair pulling, and learning more about the CV than I ever wanted to know, I fixed the problem. The bad news was that the fix required a board change. The main problem is that the FPGA is a 3.3V I/O device, and the 9918A is a 5V device used in 5V systems. Usually a 3.3V output can drive a 5V TTL input since the typical TTL logic '1' threshold is about 2.0V (and most TTL chips only swing to about 3.4V anyway.) But in this case, the way the CV ties the 9918A interrupt output directly to the Z80's NMI input, the FPGA's 3.2V logic '1' was not enough to drive the Z80's input. So, I had to add a 5V chip to buffer my outputs to make them truly 5V TTL.

 

Also, I had a rare chance to try the F18A in a system that I didn't even know existed! The SpectraVideo-328 uses the 9918A, and the history is *very* interesting. The SV-328 is the forerunner of the MSX1 design, and I was blown away to have one in my house. The owner even let me remove the 9918A (is was not socketed), add a socket, and try the F18A. Sadly it did not work in the SV-328, but I found out why after looking at the schematics. The SV-328 uses the 9918A's CPUCLK output as the system clock, and I took the CPUCLK out of my design after I realized the 99/4A, MSX1, and CV do not use the CPUCLK... Doh! I thought I knew all the systems that used the 9918A, but clearly I'm very mistaken and I won't be making that mistake again. So, in addition to the output buffer chip, I added the CPUCLK signal back in and added the pcb-pin.

 

So, I called the board house today and my V1.2 prototypes are done and should be shipping today!! After I get them, I'll be doing another round of testing, etc. and if everything works out, I'll resubmit my design for manufacturing quotes. I'm also considering making the boards available on BatchPCB, along with the BOM (Bill of Materials) for anyone who wants to build their own. I'm not sure about that though, I'd be interested in any feedback and interest.

Edited by matthew180
  • Like 1
Link to comment
Share on other sites

Looking good. :thumbsup:

 

 

Sadly it did not work in the SV-328, but I found out why after looking at the schematics. The SV-328 uses the 9918A's CPUCLK output as the system clock, and I took the CPUCLK out of my design after I realized the 99/4A, MSX1, and CV do not use the CPUCLK... Doh! I thought I knew all the systems that used the 9918A, but clearly I'm very mistaken and I won't be making that mistake again.

Just a bit of sidetracking/info ;) . The list may also include consoles like ...

 

Memotech MTX 500/512 and RS 128

Sord M5

Coleco Adam

Tatung Einstein

Sega SG-1000/II and SC-3000/H

Tomy Tutor/Grandstand/Pyuuta/Mk II/Jr.

VTech CreatiVision/ FunVision/Hanimex Rameses/Dick Smith VZ 2000

 

:)

Link to comment
Share on other sites

So how will the F18A interface with the console ? I suppose the device will be external to the console and you have a "plugin" PCB that

fits into the VDP socket.

 

I also have a colecovision. Does it mean I can use a single F18A on both systems if I attach it to the correct cable?

Will there be some kind of "configuration" required ?

 

I'll probably end up with multiple F18A's anyway :D (at least one for my colecovision and one for my TI-99/4A)

 

Keep up the good work :)

Link to comment
Share on other sites

Hehe.. Sometime's list reminded me there's at least two arcade machines that use it, too.. Baby PacMan and Cliff Hanger (though Cliff Hanger uses it for video overlay, so the F18 won't do the trick there, unless you want to add that too! ;) )

Link to comment
Share on other sites

Oh, I thought the configuration was understood. Here are some pictures that should make things clear. :-)

 

I put an original 9918A in there for size comparison. Note that the F18A is not as tall as the original chip! Well, if not for the "user header" that you all demanded. ;-) The board will come with the VGA header cable and you will have to mod your case in some way to make it work. Or, I'm sure a lot of people will just let the cable hang out of the back... I'll be writing up some instructions on how I mod my own case, if anyone wants to follow what I do, it will be up to them.

 

Also, the F18A draws about 150mA and runs cool to the touch, opposed to the 9918A that draws about 250mA and is so hot it needs a heat sink. You can also see in the picture where the F18A is mounted in a 99/4A that the original DRAM chips that make the VRAM are not needed. Taking the chips out is not necessary, but it will further lower the power requirements of the motherboard and reduce the power supply heat a little (and the -5V is no longer needed since it was only the DRAM that uses -5V.)

post-24952-0-74009500-1307040541_thumb.jpg

post-24952-0-34353400-1307040547_thumb.jpg

post-24952-0-20680700-1307040552_thumb.jpg

post-24952-0-92134800-1307040557_thumb.jpg

post-24952-0-83771000-1307040563_thumb.jpg

Edited by matthew180
  • Like 3
Link to comment
Share on other sites

Hehe.. Sometime's list reminded me there's at least two arcade machines that use it, too.. Baby PacMan and Cliff Hanger (though Cliff Hanger uses it for video overlay, so the F18 won't do the trick there, unless you want to add that too! ;) )

 

Heh, more analogue electronics... not this time. ;-) If I sell a million units then I'll retire and work on the external video input.

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