HYDRA: SRAM Expansion
Michael Popoloski
Posts: 42
Hey Andre, any chance that you will release the circuit for your SRAM expansion any time soon?
Comments
The boards should be back next week, if they work then I will do a run of them, and put them for sale asap, we can get cool demos later, more important to get the boards out there, so people cna start using the cart which is officially called the "HYDRA XTREME 512K CARD" [noparse]:)[/noparse]
Andre'
·
My hydra just came in yesterday, and at this moment I am installing windows XP on my ancient PC, so I can run the propeller tool (I use a mac).
I am very curious how your memory expansion board works! I think it is the thing that differentiates between the possibility to write a simple game "demo" or maybe a pack-man clone, and a "castle wolfenstein" type of game on a XGameStation. Can it be used in combination with the VGA port? A quick glance through your manual learned me that the 8-bit port is shared with the VGA port.
Funny to read that you learned BASIC programming on a TRS-80 in the tandy shop, thats exactly how I learned it, I wrote a simple "pong" game and it was immediately snapped up by the shop owner, who to my amazement asked if he could save my program on a tape "for demo purposes". Alas, Tandy closed its shops in Holland several decades ago.
One of the things you can do with a memory expansion system is to emulate older computer systems, for example a TRS-80, (actually it would be one of the more simple systems to emulate, if you can get a Z-80 emulator going. Remember the games, like "weerd", "dancing demon" (not really a game though), and the many "space shooters".
Did somebody already design an analog (PC-type) joystick for the Xgamestation? If not, it should be a snap to design one. Just use a few 555 timers, and copy the old idea IBM stole (borrowed) from the apple ][noparse][[/noparse] paddle interface.
If you use the memory expansion, is there still a possibility left to do some extra I/O ? A "loop-through" connector for example. Similarly, how do you handle other EEPROM plug in boards?
P.S. I'm Sorry, too many questions in one thread .
Mahjongg
P.S.S. Okay, windows XP works, next I need to install a USB port card and the Propeller tool GUI, but thats a job for tomorrow.
Post Edited (mahjongg) : 2/19/2007 3:02:35 AM GMT
And the board has no extra loop thru connector on it, I doubt anyone would care about plugging another card into it, plus the capacitance etc. from the edge connectors really makes the signals get ugly. However, my boards are super carts of sorts, so they have both the ram and rom on them. The idea is that on the super cart you would deploy a really big game, or app, or language since it has the memory for it to as well in eeprom.
Andre'
I see a solution to the problem, but it would mean changes to the board (SMT soldering, not for everyone), and the VGA driver software.
If you take off the (74HC244 if I recall) buffers driving the VGA port and replace them with (transparent) latches it would perhaps be possible to latch the video data so afterwards you have the 8-bit port free for other things. maybe it's an idea for a next version of the XGameStation. At least, if my idea is possible to implement! I have not studied the VGA driver software yet, and my idea wont be possible if the video shifter counter directly controls the I/O ports without software intervention.
Well, you can still use the composite video port, most games would use the TV as the output device anyway.
I do understand the idea of a "super cart", with extra memory built in (it would not be without precedent), still I suspect the memory expansion won't be extremely cheap, so it would have been nice to have the possibility to have a replica of the plugboard connector on the top of the memory expansion carrying -only- the I2C signals for the memory cards.
Is it possible to disable the EEPROM on the memory card and use the socketed EEPROM on the mainboard? Changing the DIP-chip is not as convenient as a plug in board, but if you want to use another game with the memory expander it is still more convenient than uploading another program each time you want to change the game.
The TRS-80 had a "high" resolution of 128x48 (2x64 by 3x16). Actually, it used 64 characters of its characterset for a "mosaic set". Each of the 64 characters was divided 2-wide by 3-high into six "blocks" (pixels), with each character having another pattern of pixels being on or off. With them it was possible to form a very crude "pseudo graphics mode". Not great, but the gameplay of some of the games was still better than many games running on later hardware.
Mahjongg
And as far as games ALL console games from the 70's till now use the TV for display, so I think we are ok without the VGA [noparse]:)[/noparse]
Andre'
my impression of the normal carts was that when you plugged one in it would disable the on-board EEPROM, and the EEPROM on carts are not user replacable as they are surface mount devices. If the memory expander uses a similar arrangement, how do you change the software that is started when you plug in the memory expander, -without- uploading new code to it.
okay, so maybe the EEPROM on the cart is not a surface mount device as in the other boards but a socketed DIP-chip, in that case there is no problem, or maybe the memory expander -does not- disable the EEPROM on the main board. In that case you can change the DIP-chip on the main board. Again, I'm not really sure what you are saying, do you mean you can still use the DIP-chip EEPROM on the main board with the memory expander?
I agree, TV out will be enough for emulating retro games, and I can forsee some really cool games (and demo's) with it.
Mahjongg
IF you look at our high color demos we have already achieved this, all of our high end demos use high color modes with more cogs, so we are blasting out one byte per pixel instead of 2 bits.
But, yes, with more memory you can always do more, but its not going to make programming the propeller any easier [noparse]:)[/noparse] To achieve high color bitmapped displays is difficult at best, you really have to know you asm and parallel processing. But, as I said we have 2 engines with full documentation you can review to see how we did it.
Andre'
Can you say a little more about the CPLD, is this one of the Xilinx devices? I ask because I'm very interested in them but don't really know where to start, I want to interface a camera with some RAM so that approach might be ideal.
Graham
But, with the SRAM card I will give the design for a home brew programming cable, plus show how to load the behavior into it, and re-program the chip.
Also, very shortly I am releasing a "Programmable Logic Starter Kit" as well, there are a ton of CPLD/FPGA dev kits out there, but ALL of them have the worst docs I have seen and no single person is in charge of one cohesive document showing how to install the software, and then a bunch of simple demos that do something ending with something cool like driving video. So look for that as well.
But, I have worked with Altera, Xilinx, Lattice, Atmel, and others, so after playing with so many FPGAs and CPLDs, its kinda like windows programming, most people think its a nightmare, but I can show you 20 lines of code to make a full windows app in C, so I am going to try and show people just how easy it is to use CPLDs (and fpgas) and give people an exact tool chain path that's very easy, so they can put these chips into their projects immediately.
Andre'
Graham
We are working on a project that will include a Xilinx FPGA. Current plan is for a Propeller to be the main organizer, sending data to an FPGA for FFT work. The FPGA programming is being done by an outside consultant, but it would be great to learn enough to follow along.
Thanks in advance for the tools and explanation of how this all works.
Jim C
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
I've just taken delivery of:
Yep, I'm trying to evaluate cpld's & fpga's for future projects; mostly involving propellers [noparse]:)[/noparse] however I am relying on each vendor's free software; I simply cannot afford the pricey full packages. I know enough to be dangerous [noparse]:)[/noparse] ie I believe I can build some interesting peripherals with cpld's/fpga's, but I am not (yet) up to trying to make a processor in one - though I doubt I will be able to resist tinkering with some open cores. But first, I have some propeller projects to finish, including a couple·I will try to bring to market - more on that later, after they work, and the pcb's are made and tested... this is the first time I'm trying to bring a hardware product to market by myself, for myself (instead of being contracted for something to another company).
Bill
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com - a new blog about microcontrollers
Post Edited (Bill Henning) : 2/22/2007 6:28:00 AM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Post Edited (Paul Baker (Parallax)) : 2/22/2007 6:37:41 AM GMT
A first letter, maybe?
-- Remy
Cypress certainly look less good as their software is not free and is not supported by them.
It looks to me like Xilinx might be rather good given the new $50 starter kit for CPLDs and the free ISE WebPACK "the industry´s only FREE, fully featured front-to-back FPGA design solution for both Windows and Linux." (which will also do all the CPLDS). They also seem to have a bit of a forum.
But altera despite their higher cost dev kit provide "Altera’s no-cost Quartus® II Web Edition" that will program all the CPLD devices.
So I'm still not entirely sure.
Graham
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Post Edited (Paul Baker (Parallax)) : 2/22/2007 9:25:47 AM GMT
-- Remy
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Actually something I forgot about was that I bought a pass through device for hacking my Nintendo DS, that was just a CPLD and because I had a newer DS I had to flash it, that was Xilinx and I downloaded the software and built the programming cable myself. If console hackers are happy with Xilinx I suspect I will be.
So we have Andre' on Lattice, Chip on Altera and a good buzz about Xilinx plenty of choice it seems.
Cheers,
Graham
It also includes a CPLD (but part of it is used for programming/interfacing so you can't use the whole thing for your stuff.)
Certainly if someone needs more pins and can manage the soldering, a CPLD makes a very nice "extension" of the propeller, but for
most things another propeller is probably simplest.