Jump to content
IGNORED

Has anyone made any new Supercharger games?


BSA Starfire

Recommended Posts

Title says it all really. Just curious as it seems the obvious choice from a cheap distribution point of view(tapes are much cheaper than carts). Also the extra power must be useful I would imagine. The games quality of the orignal Arcadia/starpath games was very high but I imagine some of todays home brewer folks could do some even more impressive feats.

 

Best regards,

Chris

Link to comment
Share on other sites

Title says it all really. Just curious as it seems the obvious choice from a cheap distribution point of view(tapes are much cheaper than carts). Also the extra power must be useful I would imagine. The games quality of the orignal Arcadia/starpath games was very high but I imagine some of todays home brewer folks could do some even more impressive feats.

 

Best regards,

Chris

I made a few prototype cassettes of my SC game. As it turned out, the homebrew cassettes were a somewhat unreliable medium, so I would say that distribution on CD is more realistic. The offer for free cassettes is no longer valid BTW...

Link to comment
Share on other sites

Title says it all really. Just curious as it seems the obvious choice from a cheap distribution point of view(tapes are much cheaper than carts). Also the extra power must be useful I would imagine. The games quality of the orignal Arcadia/starpath games was very high but I imagine some of todays home brewer folks could do some even more impressive feats.

 

There have been a few efforts in that direction, but the number of Superchargers out there is rather limited compared to the number of carts. Also, carts seem somehow more "real" than tapes or CDs.

 

Things I know of:

 

-1- A released 1K mini-game called SDI by yours truly (shoot the incoming missiles)

 

-2- A prototype bounce-ball block-busting game by yours truly which supports 15 colors of brick per scan line; bricks have a minimum width of 9 pixels, and can be sized in multiples of 3 pixels. Gaps between bricks, if any, have the same size restrictions.

 

-3- A prototype maze game by Batari, which allows a player and an enemy to move through a randomly-generated scrolling maze.

 

-4- A prototype gold-grab platform game by IIRC Eric Ball called Leprechaun (similar to a popular Br0derbund game)

 

Another interesting RAM expansion cartridge, which I designed and I'd like to work on some more, is called 4A50. It features 128K code and 32K RAM, with the most flexible banking system I've seen for any 6502 system, and the easiest write mechanism of any 2600 cartridge (to write to a byte in RAM, just write it. No funny addresses required). At present the only way to program the 4A50 carts is with a printer-port interface fed by a DOS program, but if anyone would like to help with that I could supply a prototype cart.

Link to comment
Share on other sites

I believe Stell-A-Sketch, Cubis, Domino and FTSFX were all supercharger games. Stell-A-Sketch was released on tape and CD (along with Okie Dokie on side B) but I'm not sure about the others (Does anyone know?) Then, of course, Stella Gets a New Brain and the Labyrinth prototype were both released on CD. Albert is even selling the remaining Labyrinth CDs he has in the Marketplace forum. Grab them while they last! ;)

Link to comment
Share on other sites

[...]

At present the only way to program the 4A50 carts is with a printer-port interface fed by a DOS program, but if anyone would like to help with that I could supply a prototype cart.

 

Are you looking to move to USB or RS232 connectivity or are you looking to get around the DOS requirement for the parallel port interface?

Link to comment
Share on other sites

Are you looking to move to USB or RS232 connectivity or are you looking to get around the DOS requirement for the parallel port interface?

 

What I'd like to do is move to USB. A typical USB to bitbang chip is going to be absolutely unsuitable for this task, since writing each byte of data requires changing the states of the wires going to the edge connector something on the order of 700 times. Since a typical USB to bitbang chip is limited to 1,000 operations/second, programming 128K bytes would take days.

 

I think Cypress makes a chip that should be suitable (one of their PSOC series). The PSOC instruction set isn't terribly fast for straight bit-banging, but it should be possible to use an SPI master port to good effect.

 

Would anyone be interested in helping out with the project? Free 4A50 prototype if you can help.

Link to comment
Share on other sites

What I'd like to do is move to USB. A typical USB to bitbang chip is going to be absolutely unsuitable for this task, since writing each byte of data requires changing the states of the wires going to the edge connector something on the order of 700 times. Since a typical USB to bitbang chip is limited to 1,000 operations/second, programming 128K bytes would take days.

 

Holy cow, 700 times? Not at all what I was expecting.

 

Would anyone be interested in helping out with the project? Free 4A50 prototype if you can help.

 

I'd love to do a USB communications project, but this sounds like it might be too far beyond my present abilities.

Link to comment
Share on other sites

What I'd like to do is move to USB. A typical USB to bitbang chip is going to be absolutely unsuitable for this task, since writing each byte of data requires changing the states of the wires going to the edge connector something on the order of 700 times. Since a typical USB to bitbang chip is limited to 1,000 operations/second, programming 128K bytes would take days.

 

Holy cow, 700 times? Not at all what I was expecting.

 

Writing a byte of flash requires three memory stores. The JTAG port on the XC9536XL is a 108-bit shift register. Since shifting each bit requires putting the clock line high and low, that's 648 (3x108x2) state transitions for the data shifts; there are some other wiggles required as well.

 

Generating the shifts itself isn't particularly difficult. If I were doing it on an 8052 using assembly language to bit-bang everything, it would look something like:

   setb DATA_OUT
  setb CLK_OUT
  clr  CLK_OUT
  setb CLK_OUT
  clr  CLK_OUT
  clr  DATA_OUT
  setb CLK_OUT
  clr  CLK_OUT
  mov  C,addressH.7
  mov  DATA_OUT,C
  setb CLK_OUT
  clr  CLK_OUT
  setb DATA_OUT
  setb CLK_OUT
  clr  CLK_OUT
  setb CLK_OUT
  clr  CLK_OUT
  mov  C,addressH,6
  mov  DATA_OUT,C
  setb CLK_OUT
  clr  CLK_OUT
  setb DATA_OUT
  setb CLK_OUT
  clr  CLK_OUT
  setb CLK_OUT
  clr  CLK_OUT
  ...

 

Rather a lot of code, but really quite simple. I could easily supply that part of the code for whatever micro you'd want to use. The big thing is to set myself up with a USB-based micro that allows easy and fast I/O operations since as you can tell there are going to be a lot of them. Unfortunately, the only USB-based micro for which I have a development kit uses memory-mapped I/O which would be comparatively slow. Code like the above would probably take about 3-4 cycles average per shifting bit. Since I need to shift 108 bits three times, that's about 1200 cycles. By comparison, on the EZ-USB chip (still 8051-based) the memory-mapped I/O would take closer to 8 cycles per shifting bit. Much less efficient.

 

Would anyone be interested in helping out with the project? Free 4A50 prototype if you can help.

 

I'd love to do a USB communications project, but this sounds like it might be too far beyond my present abilities.

 

Well, what sorts of USB things have you done?

Edited by supercat
Link to comment
Share on other sites

Writing a byte of flash requires three memory stores. The JTAG port on the XC9536XL is a 108-bit shift register. Since shifting each bit requires putting the clock line high and low, that's 648 (3x108x2) state transitions for the data shifts; there are some other wiggles required as well.

 

Generating the shifts itself isn't particularly difficult. If I were doing it on an 8052 using assembly language to bit-bang everything, it would look something like:

   
  setb DATA_OUT
  [...]
  clr  CLK_OUT
  ...

As usual, very educational. Thanks.

 

[...]

Well, what sorts of USB things have you done?

Let's see, I used a USB mouse once...

 

As educational as this would be, I couldn't commit to a reasonable timeframe since I don't even know what the learning curve would be like. I've only worked with Microchip's ucontrollers so far, but have experience with assembly language in Z80, 68000 series, 80x86, have done some reverse engineering on an 8048 based device, blah, blah, blah so hardware-wise I'm sure I'd eventually be able to do this project, but need to cut my teeth on USB with a simpler project. To that end, I've already acquired a PIC for my next project which I intend to be a USB interface to, uhm, something: maybe a dead Furby or a Keyboard Mint Launcher . . .

 

Just yesterday, I ran across application notes for implementing a "mass storage device" using a PIC. I haven't read it yet, but have it bookmarked. If I get smartened up on implementing a USB interface, I'll check back with you to see if this project is still alive and in need.

 

(Why PIC? Microchip is fairly liberal with their samples and not being in the electronics business, I don't have ready access to much else.)

Edited by BigO
Link to comment
Share on other sites

Just a thought:

 

The Cypress FX2 (and FX2LP) chips have a number of useful aspects. First off, they're Fast / High speed USB devices with a decent amount of FIFO RAM (~4kB from memory). Second, they contain an extra chunk of hardware called the GPIF - General Purpose InterFace. This can be configured to stream data from the USB FIFOs to the IO ports with address and control data - there may be a way to do the bit-banging rapidly using this, maybe simplifying the data stream so that b0 contains the bits of interest and configuring the GPIF to put out the bit and control pattern required. Third, as it's an 8051, you can code in C; Cypress provide a 4kB limited version of Keil uVision for this. Fourth, Cypress provide a fair bit of support for developing USB applications - the main thing is the C FrameWorks, which is a core framework providing all of the basic USB functionality. You plug your code into the FrameWorks main and use the function prototypes provided to deal with interrupts. Chips are roughly $10, I think. The largest are 128-pin flat-packed things, with all IO available. A cut-down 56-pin leadless (?) thing is available, with reduced IO, where space is at a premium. Fifth, Cypress provide a basic driver, library and API for coding the Host-side driver in C++ and integrating it easily for use in a Windows environment.

 

The Tuttee has turned up - ask us later if you want to know more.

 

QH.

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