Bomb Jack on Altera


alex

Recommended Posts

Just an FYI,

Chinese user X8051 is currently porting the Bomb Jack to the Altera Cyclone II on a DE2-70 eval board. He's struck some issues which he is currently firing off questions at me for help (language barrier seems problematic as I think he's using google translate).

Well done X8051 :)

Link to comment
Share on other sites

I've got a DE0-nano, and have found it the least useful board I have. It really is a board looking for a design, rather than a complete board. It excels as being a demo board the the Allera NIOS II soft processor,but doing anything else is pretty hard work.

A wing adaptor would be grand - the board has lots of I/O pins, but it needs either a grand mess of wires or a custom PCB do to anything with it!

Link to comment
Share on other sites

Yeh, took a trip to school (wikipedia) yesterday. The memory requirements of the Genesis/MD are quite a bit larger than MS. For starters the game ROMs alone run at 1MByte, then there's the RAM space for the 68K and that of the Z80, the video RAM. My P+ even upgraded to 512Mbytes still won't cope. I'll bang it out on the S3E stater kit for now and see how far I get.

Also sad news, none of the Genesis implementations have sound. I believe they use FM sound synthesis which no one's done an FPGA port for.

Link to comment
Share on other sites

also, if you remove the z80 core, would that help? z80 was used mainly for Master System backwards compatibility, iirc..

edit:

as per http://www.vgmuseum.com/systems/genesis/

The Genesis 3 does not have the Z80 processor, and that means the following:

1. Unable to run the MS convertor as it needs the Z80 chip which is the brain of the SMS.

2. Unable to run Game Genie, the Z80 must have played a role in the use of this for code break ins.

3. Unable to run special games such as Sega's Virtua Racing, which again uses the Z80.

sound - there does exist some C code but i havent looked at it, besides i wouldnt know how to port that

to any hdl.

Link to comment
Share on other sites

I've got a DE0-nano, and have found it the least useful board I have. It really is a board looking for a design, rather than a complete board. It excels as being a demo board the the Allera NIOS II soft processor,but doing anything else is pretty hard work.

A wing adaptor would be grand - the board has lots of I/O pins, but it needs either a grand mess of wires or a custom PCB do to anything with it!

Hm, I was discussing this de0-nano, and I thought it was an small fpga, but the dude that commented here:

http://dangerousprototypes.com/2012/10/03/open-7400-prize-de0-nano-development-kit-from-terasic/#comments

said it is very big?, i cannot compare the numbers, but the de0-nano seems to have 22k logic cells, and he says 220k?, and the spartan 500 have only 9k?

I feel it is very difficult yet, to compare cells, gates, units, etc when one brand uses one way, and the other brand use another way...

One thing is that is have lot of io, which is nice (should have been an extra wingside on the papilio.. if the chip had the io), but what is more important is the capacity of the chip used.. for the price, if the capacity is way bigger than the current papilio's it's not that bad?

And what is the problem as you see it?, the access of the io?, it should be possible someway to create an pcb that routes the io to an huge amount of wing outputs?, that would be awesome, could then attach the various wings/megawings, and if there are any io to spare, why not create another edge, to attach other stuff. (Today, with the logicwing, you cannot attach anything extra, no buttons, joystick, no nothing.. it seems to be the case with the arcadewing to, and for me, it have used io for ps2 connectors which I don't know what i should use for... )

Link to comment
Share on other sites

I've fired up Quartus (the Altera tools) and remembered how it is nag-ware, with a "please subscribe" dialogue box and "Click for free training", "Buy a license", prompts on the work-space. The DE0 has 22,320 flip-flops, about 2.5x that of the S3E-500.132 9 bit mults (or 66 18 bit mults), 3x that of the S3E-500, and 66kB of block RAM (a little under 2x). So it is somewhere around two or three times the size of a Papilio One.-500.

The on-board buttons on it are tiny - you need to use a pen to operate them - only good for "reset" switches. The DIPs are also tiny. You could not use them for interactive user input.

The 72 I/O pins are easy to access with wire jumpers, but there are only a few power supply pins, so I quickly run out of GND when using jumpers. As I really hate soldering, so Papilio Wings or Digilient's PMOD system system.works better for me.

The SDRAM memory is large, but SDRAM is complex to use. I gave up and went back to using the limited SRAM on my Papilio Plus - at least Alvie picked up the design and got it working for the Papilio Pro where it is working.

The NIOS II processor (Altera's 32 bit soft CPU) comes in different models with different performance and licensing. Without a license the CPU goes into hard-reset in an hour and/or must be tethered to a PC. I've forgotten the exact details of the restrictions but it means that although the board would be excellent for robotics (small size, lots of I/O, with A2D, accelorometers and so on) you can't unplug it from a PC - d'oh!

It is just easier for me to pick up the Papilio One or my Nexys II (with the breadboard add-on) when I want to try something than with my DE-0 Nano.

(PS Try rotating the LogicStart 180 degrees relative to the Pap1, you can free up 1 or 2 16 bit wing connectors - remember to update your UCF file!)

Link to comment
Share on other sites

2.5 times, so almost an s3e1200 ?

The naging with the software is an bummer... and I cannot understand why nios would be interresting, other softcores exists I guess.

So it's kinda out, guess we have to continue our hope for the pipistrello then.

Rotating Logicstart, hm, but I thought Jack said that every io on the papilio was used by the logicstart? (I had an idea of extendig the pins to add an wing (would have been great with sdcard and stuff, maybe ethernet but I cannot wish for that )

Link to comment
Share on other sites

if you rotate the logicstart it will open up X wing slots (i forget how many)

jack has a prototype wifi wing and mentioned a megawing with uSD slot.. look back on

http://forum.gadgetf...t__60#entry8922

and

http://forum.gadgetf...t__70#entry8942

not sure how we will be able to use another megawing and the wifi wing,

maybe hopefully we can sucker jack into doing a run with WiFi and uSD..

or we could just do a custom run using pcbpool or seeed or something.. there are always options..

Link to comment
Share on other sites

yes, I understand that we get one strip of io, 16 of them, but I was under the impression that logicstart was USING all of the io, thereby if you rotate it and free up io, something is not working on the logicstart, right? (I did not chech the ucf file to verify though)

an megawing protoboard would have been nice :)

Link to comment
Share on other sites

yeah a few things stop working depending what you plug in..

from : http://forum.gadgetfactory.net/index.php?/page/articles.html/_/papilio/logicstart-megawing/using-just-the-switches-and-leds-on-the-logicst-r56


Sometimes your design may just need a few switches and LEDs, and you also need to connect I/O connections to the rest of your project. You can plug the lower 'Wing C' connector into the Wing B socket, and have the 16 I/O pins of Wing C free for connecting to external projects.
Other tricks you can do are:
•Spin the Wings A+B connector block around 180 degrees, and you should have access to everything but the LEDs and slide switches, plus 16 pins of I/O.
•Plug the WIng B pins into the WingC socket and have VGA, Joystick, audio and 32 pins of I/O.
Of course you have to update your UCF files. Here is my updated UCF file for using the Switches and LEDs - Please note I number my LEDs wth LED0 on the right and LED7 on the left - the opposite way to the silk screening!
# LogicStart Megawing with Wing C only plugged into the Wing B socket
NET switches(7) LOC = "P85" ;
NET switches(6) LOC = "P83" ;
NET switches(5) LOC = "P78" ;
NET switches(4) LOC = "P71" ;
NET switches(3) LOC = "P68" ;
NET switches(2) LOC = "P66" ;
NET switches(1) LOC = "P63" ;
NET switches(0) LOC = "P61" ;
NET LEDs(7) LOC = "P58" ;
NET LEDs(6) LOC = "P54" ;
NET LEDs(5) LOC = "P41" ;
NET LEDs(4) LOC = "P36" ;
NET LEDs(3) LOC = "P34" ;
NET LEDs(2) LOC = "P32" ;
NET LEDs(1) LOC = "P25" ;
NET LEDs(0) LOC = "P22" ;

Link to comment
Share on other sites

also, if you remove the z80 core, would that help? z80 was used mainly for Master System backwards compatibility, iirc..

edit:

as per http://www.vgmuseum....ystems/genesis/

The Genesis 3 does not have the Z80 processor, and that means the following:

1. Unable to run the MS convertor as it needs the Z80 chip which is the brain of the SMS.

2. Unable to run Game Genie, the Z80 must have played a role in the use of this for code break ins.

3. Unable to run special games such as Sega's Virtua Racing, which again uses the Z80.

sound - there does exist some C code but i havent looked at it, besides i wouldnt know how to port that

to any hdl.

I've started building some OPLx sound generation in vhdl, but I've only come so far as to generate the special LUTs that are used for performing multiplications without multiplication, weird yes, crazy yamaha engineers that also did the soundblaster. The VHDL I'm trying to make will be compatible with ymf262 and also the one in the megadrive.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.