PCEngineFans.com - The PC Engine and TurboGrafx-16 Community Forum
Tech and Homebrew => Turbo/PCE Game/Tool Development => Topic started by: nodtveidt on February 03, 2008, 06:02:53 AM
-
Not sure if anyone else has wanted to do this, but I did a preliminary design of a new flash-memory based HuCard last night. It's currently incomplete, and the outlay is not to scale.
(http://www.nodtveidt.net/hucardwithflashchip.html)
A few issues are:
-I'm not sure if the data lines are connected properly. The 29F800 lists "DQ0-DQ15" but I'm not sure if these are the same lines that the console expects. The HuCard slot only uses D0-D7.
-Pin 34 of the 29F800 is connected to pin 33 of the HuCard slot. I'm not sure if this is correct; it could apparently need to be connected to pin 24 according to the pinout lists.
-I could not determine the correct path for HuCard pins 34, 35, and 37. 34 is obviously an important one, but the doc for the 29F800 are unclear on this. And again, pin 24 of the HuCard slot is unconnected since I'm not sure if it connects to pin 34 on the 29F800 or not.
If anyone has any leads (no pun intended), I'm all ears.
-
Okay...with help from Charles MacDonald, I was able to mostly finish the circuit. The D-lines were correct, but pin 34 on the chip was connected to the wrong hucard pin. It's in the right place now. Also, pin 34 of the hucard slot is wired correctly; it was missing before. All I need to do now is set the chip for byte mode and it should be working.
(http://www.nodtveidt.net/hucardwithflashchiprev1.html)
I also rotated the image so the chip pinout would match AMD's diagram.
-
wonderful :clap:
-
From what I've read, setting the BYTE# pin to high puts the chip in word mode. So, leaving it open should make it function in byte mode. The circuit is therefore complete.
-
And now, the final draft:
(http://www.nodtveidt.net/hucardwithflashchipfinal.html)
BYTE# was tied to Vss, so the pin is grounded and the chip is locked in Byte mode.
-
I have no idea what's going on, but it looks pretty rad!
-
The beginnings of a new system card maybe :)
-
Well, this card in particular isn't for a new system card. A new system card certainly wouldn't be built using a 29F800; this is a flash-based low-voltage memory storage chip, capable of holding 8mbit of data in either byte or word mode (8 or 16 bits). This card design is for the manufacture of new HuCards. Say a developer wants to produce a new game on a card but doesn't want to just release a ROM for the lucky few who have flash carts...they can use this technology instead to produce *actual* HuCards. This is an extremely inexpensive technology and lends itself easily to mass production. Another good use of this card is to allow translation of Japanese HuCard games to be played on actual hardware, again without the use of expensive flash carts.
The above circuit describes a fully wired card, which will power on and run its program on a real machine. It doesn't take into account the method of getting said program onto the card; that's my next issue to tackle. I've got a few ideas for how to do this, and they mainly stem from cannibalizing broken old TG units for their connector slots. Another method would be to simply program the chip before it's mounted onto the circuit board, bypassing the need for a custom-made programmer unit (a normal EPROM programmer can apparently be used). Of course, a bad soldering job can completely botch the whole project no matter which method is used. It would be ideal for the developer to have a cart fully assembled and ready to program, but I'm not sure that this is the absolute best way to go about things. It would be much better to program the chip and THEN mount it in a sort of "you can't mess with my program" kind of way.
The main issue is that of the arrangement of the data lines. I wired this according to the TurboGrafx slot pinout, since I will be testing this design on an unmodified deck. It would be able to be used on a PC Engine as well without modifications, but the data would have to be bit-twiddled before writing for the chip to output data in the format that the PC Engine expects. This isn't a difficult thing to do though...anyone with about three days' worth of programming experience can write a bit twiddler capable of reorganizing the bits correctly.
-
anyone with about three days' worth of programming experience can write a bit twiddler capable of reorganizing the bits correctly.
I've got at least four or five days under my belt-- where do I sign up?
-
Sign up at your local nerdery. Bring your calculator. :D
-
A small update to this:
The 29F800 is a relatively hard chip to find, and likely won't be used very much anyways. So, the next step down is the 29F400, which is 4mbit. There's also the 29F200, which, you guessed it, is 2mbit. Also, the original design above uses the known good die design, which apparently means is only the die with no casing...not exactly easy to use. So I'm going to redesign the card with the 44 pin SO chip design. I've found an eprom programmer capable of programming the chips, it would be coming from Hong Kong though so it'd take awhile to get here...it'll cost me $103 ($75 for the unit plus $28 shipping). So then, the chip used will depend on the size of the program put on it.
My next step here will be to create a new design. Now that I have the actual size of the chip (28.4mm x 16mm), I can build a design to scale and see about getting some etching sheets. Of course, since these are SMD chips, I'm gonna need one of those fancy-ass SMD soldering stations...ugh. But anyways, my first prototype will be a "chip changer" card, for lack of a better phrase...one where I can swap in and out chips at will. Once I know the design fully works, I can begin mass-producing the circuit boards when there's programs ready to put onto the chips. This will be great for any translated ROM images...
-
A small update to this:
The 29F800 is a relatively hard chip to find, and likely won't be used very much anyways. So, the next step down is the 29F400, which is 4mbit. There's also the 29F200, which, you guessed it, is 2mbit. Also, the original design above uses the known good die design, which apparently means is only the die with no casing...not exactly easy to use. So I'm going to redesign the card with the 44 pin SO chip design. I've found an eprom programmer capable of programming the chips, it would be coming from Hong Kong though so it'd take awhile to get here...it'll cost me $103 ($75 for the unit plus $28 shipping). So then, the chip used will depend on the size of the program put on it.
My next step here will be to create a new design. Now that I have the actual size of the chip (28.4mm x 16mm), I can build a design to scale and see about getting some etching sheets. Of course, since these are SMD chips, I'm gonna need one of those fancy-ass SMD soldering stations...ugh. But anyways, my first prototype will be a "chip changer" card, for lack of a better phrase...one where I can swap in and out chips at will. Once I know the design fully works, I can begin mass-producing the circuit boards when there's programs ready to put onto the chips. This will be great for any translated ROM images...
I'd love to see this come to fruition. It would be nice to have a more reliable alternative to the Neo Team and Tototek flash carts.
-
looks and sounds awesome. i am wondering what the actual chips cost? i'll bet they have loads of these things sitting in shops in akihabara. if yo uwant me to ask around, i can. still, i'd like to know where you would buy these chips from and who manufactures them. also, are plstic 'molds" (?)
to house the chips in easy to find?
-
Progshop has 29F800BB and 29F800BT in stock. Reasonable price (IMO). I ordered a prom programmer and am going to be putting together some prototype boards as well. Nodt: I'm working on implementing the I/O port stuff for syscard 4. I need to get the basic card built and running first. I'm going to sacrifice my hu-converter for the port connection.
-
I would love it if someone made a PCE flash cart that was as easy to use as a CycloDS or something like that. Something I could drag and drop files onto with to hardware recognition issues, or stupid stupid, OS-specific software that sucks.
-
So, is anything going to come of this? :-k Can flash carts be made?
-
They can indeed. I've just had zero time as of late to pursue it, and no money to burn due to wifey's pregnancy.
-
Congrats to you and your wife, Nod. I'm sure you'll keep the board in the loop when you do get rolling on this project. I think it's great that you're even contemplating something like this.
-
Well, this is quite a coincidence:
New guy here, and this is a cool site. I'm into the Turbo Express myself, and just this past week, have done the electronic and physical analysis (translation: a lot of GOOGLE) to make myself a HUCard to DIP ram chip (using a socket, of course). I just today finished a tedious measurement of the HUCard's physical attributes (that is, I've documented the physical aspect of the pins), so I can make myself a PC board. And, to my pleasant surprise, you have already done that. I have not examined your circuit in detail, so I don't know if it is compatible with the Turbo Express console pinout (but I guess it has to be, since I believe the Turbo Express uses the same cards that your system does --- can you tell me?), and if it is compatible with my ROM emulator pinouts.
So, I humbly beg, is it possible to get your pcb file? And could you tell me what design system you used? I have access to about five, so I probably have the one you used.
I am also trying to decipher the HU -vs - Magic compiler thingy. All I need is a way to get a "hex" file (or equivalent) of a few demo programs that seem to be very available here. Any hints? FYI, I speak 6502 fluently.
As an aside, I noticed someplace on this forum, someone asked about a broken component, and had published a picture of it, asking what it is. I am pretty sure it is the flyback coil for the LCD backlight, as the backlight needs a "high voltage" source (20-25VAC or so). So, as long as the backlight is working, the coil must be ok. If it's desired, I can check the circuit to be sure.
As another aside, I don't generally see too much homebrew for the Turbo Express; have I missed it someplace? I also don't see too much on the hardware "secrets" of the Turbo Express...would it make sense to assume it is the pretty much the same as the PCEngine? Or are we talking just the same components? Just how much of the Turbo Express truly is based on the PC Engine?
I have more, but this post is long enough.
Keep up the good work!
Charlie
-
AFAIK, the core of the Turbo Express is identical to the TG16, which is identical to the PC-Engine which the exception of the 8bit bus lines reversed (as a region lock-out method) and 1 pin held high for the I/O port (it's internal and used by only US hucards to check which region system they are running on). For the screen, I assume it handles the 7.16mhz pixel clock mode as some hucards use it, but I don't know about the 10.74mhz pixel clock mode. It handles the 5.37mhz pixel clock just fine.
The CDROM maps new I/O ports into existing range of the hardware bank and re-uses IRQ2. Both the address lines and IRQ is available on the cart port as well. It's totally possible for someone to build a CDROM "emulator" that could run CD games from a flash rom on the cart, on the TG Express. Now that would be something :)
-
Ok, thanks for more info.
The obvious inference is that, generally, anything that can work on the TG16 will work on the TE. This means I can use some of the demos, once I figure out how to get them to compile, on the TE.
That's a big help...thanks again.
Now, if I can only get my PCB adapter made...
Charlie
-
I have no idea what's going on, but it looks pretty rad!
And now, the final draft:
(http://www.nodtveidt.net/hucardwithflashchipfinal.html)
BYTE# was tied to Vss, so the pin is grounded and the chip is locked in Byte mode.
Hello ,
i would like to use this schema to create a hucard custom , but do you know the way to implement the 29F400 ,
to get 16 or 20 mbit for my development homebrew ?
it's difficult to add this features ?
thanks
-
to get 16 or 20 mbit....
With only 21 address lines, you would have to design a memory mapper to do it.
-
With only 21 address lines, you would have to design a memory mapper to do it.
pckid and I were talking about this in PM. I suggested that he use a 29F400 mapped to the low 4mbit addressing range and a few 29F400s with some kind of addressing scheme for the top 4mbit addressing range (a multiplexer, perhaps?). He's posting this in public to see if anyone has any ideas as to how to proceed with that idea, or if there are any other ideas that will work.