Jump to content
IGNORED

2600 development on an 8-bit?


yorgle

Recommended Posts

I doubt that emulation of most titles would be possible - it just isn't that straightforward.

 

There's no direct way of getting the A8 to emulate the 40 bit playfield of the 2600. And, there's no mirror capability.

 

Although, software trickery can easily replicate prettywell anything the 2600 can do (saying that here as an expert on the A8, but only knowing the basics about the 2600s hardware).

 

Problem is, with the hardware differences and the fact that most (all?) 2600 games run a display kernal which needs cycle-exact timing, emulation is probably an impossibility.

 

But translating games has been done - in fact some Activision and Imagic titles were near identical on both machines.

Link to comment
Share on other sites

Just curious if anyone here does any development or hacks for the 2600 using an 8 bit. Does a 2600 emulator exist to run 2600 roms on an 8 bit?
No 2600 emulators on the 8-bit Atari computers, but as for development of 2600 games ... sure, why not? I believe that Doug Neubauer developed the games he did for 20th Century Fox using an Atari 800 and the Atari Assembler/Editor cartridge; he talked about this briefly on "Stella at 20." He used a PC for his later Atari games, though, and I suspect that most cross-development these days is done on the PC or the Mac. Thanks to good cross-compilers and emulators, they're much more productive development platforms.
Link to comment
Share on other sites

There's no way to run 2600 games on an 8-bit... but if you wanted to, you could write 2600 code on the 8-bit and assemble it there (with Mac65, ASM/ED, or whatever). You'd need some way to get the code to your 2600 to test it, either an EPROM burner on the A8 and an EPROM cartridge for the 2600, or possibly a Cuttle Cart 2... which requires a 7800 instead of a 2600, but you can use it to run 2600 code on the 7800. You'd need a serial port on the A8 (an 850 or equivalent), and some A8 software to send the 2600 code to the CC2, which AFAIK doesn't exist (though it wouldn't be hard to write).

 

The AtariAge store sells 2600 EPROM cartridge boards and blank EPROMs, but the CC2 is out of production (might be able to find someone in the 2600 or 7800 forum willing to sell theirs).

 

If you want my advice though: stick with modern PCs for 2600 development. It's hard enough to write 2600 games, it'll be even harder using an 8-bit...

Link to comment
Share on other sites

ok. ok... but let us think in more detail... 2600 has 2 players, 2 balls...playfield, 2 sound channels...128 ram

 

so...i am sure that emulating should be possible under. the kernel timings must be analysed but you can write a kernal on a800 as well... just leave DMA out and you are nearly where you are with 2600... the mirroring must be done by software but we have 64k ram instead of 128 bytes. we have full zeropage... bank switching well...i would not go for it in a first start... same goes to sound...

 

simply compare keystone kapers 2600 with the 800 version or kaboom... then you know why... i want to see

 

- robot tank

- star master

- chopper command

 

on my 800... ;)

Link to comment
Share on other sites

So far, all of my ventures (limited as they are) into the realm of 2600 programming have been using my PC, a socketed cart and my trusty eprom burner. I thought it would be neat to use my new 800xl if it was reasonably practical, but without an emulator to test my code on the spot, it doesn't sound all that practical.

Link to comment
Share on other sites

Might it be possible to hack a TIA and RIOT chip into the 8-bit memory map somewhere?

 

If so you could write code that just turns off ANTIC and all interrupts and then uses the TIA/RIOT the same way its used in a 2600, with its code loaded in the OS RAM region. Hit reset and you're back in 8-bit mode.

 

This would not allow playing of existing 2600 games of course, but it would allow you to use 8-bit development tools to write 2600 code quickly, and when it was time to move the code to a real 2600, you would just change the equates that say where the ICs are in memory.

 

Steve

Edited by classics
Link to comment
Share on other sites

  • 2 months later...

Sorry, can't let this die just yet. So if VCS emulation isn't possible (or even practical) on an 8bit, what about the concept of something akin to SIO2VCS, where the 8bit acts basically as a large cartridge. That would allow writing the code and assembling the binary on an 8bit and immediately testing it out on a VCS without having to burn eproms. (These are the kinds of crazy thoughts that course through my mind sometimes).

Link to comment
Share on other sites

I don't see why it wouldn't be possible... It'd be like how the godfather's of gaming used to do it back in the day (though I've never found an A8 2600 development disk(s)[carts?], just ST 2600/7800 development disks)...

 

Just use your favorite assembler (mac/65, synassem, quickasm, etc.)... output to binary object rather than executable... burn to eeprom... rinse & repeat 'til bugs are gone...

 

Using a PC for coding with the advantage of an emulator for testing greatly reduces production time, but I can understand someone wanting to code for the 2600 on the 8bit, plus, it feels like more of an accomplishment by actually doing so... Kind of like what a metal worker feels when using an english wheel rather than an air hammer to shape sheetmetal...

Link to comment
Share on other sites

Sorry, can't let this die just yet. So if VCS emulation isn't possible (or even practical) on an 8bit, what about the concept of something akin to SIO2VCS, where the 8bit acts basically as a large cartridge. That would allow writing the code and assembling the binary on an 8bit and immediately testing it out on a VCS without having to burn eproms. (These are the kinds of crazy thoughts that course through my mind sometimes).

 

It would probably be possible to modify an Atari 8-bit computer to allow 2600 emulation, though I don't know that it would really be worth the effort. Probably the best way to have done a development system would have been to run the phi2 and R/W signals out to a connector, and then have a special cartridge which contained a small (256 bytes would be plenty) ROM and 4K RAM. A remote computer would switch the cartridge between "ROM" and "RAM" mode. For convenience, the reset signal on the 2600 may also be wired to the remote computer.

 

To load a game, the remote computer would switch in the ROM and reset the 2600. After waiting for the ROM program to copy itself to the 2600's internal RAM, the remote computer would switch into RAM mode and then upload the game, leaving the 2600 in RAM mode. The upload could actually be handled without requiring any other I/O if the boot loader did something like:

; Wait until system is in RAM mode.  Assume ROM location $FFFF holds $FF.
; We must ourselves be running in RIOT memory ($0080-$00FF).
zz1:
 inc  $FFFF; Will keep looping if the location stays stuck at $FF
 beq zz1
 ldy #$00
 sty $FFFF

 sty $FE
 lda #$F0
 sta $FF
getbytes:
 lda #$80
 tax		   ; Used for CPX instructions
getbits:; Wait to be in ROM mode briefly
 bit $FFFF
 bpl getbits
 nop
 nop
 cpx $FFFF
 ror
gotbit:; Wait to be in RAM mode
 bit $FFFF
 bmi gotbit
 bcc getbits
 sta ($FE),y
 iny
 bne getbytes
 inc $FF
 bne getbytes
 jmp ($FFFC); Run the loaded code!

I think that would be about it for the boot loader. Really not much to it. To send a "1" bit, put the machine into ROM mode for about 10 cycles. To send a "0" bit, put it in ROM mode for about 20 cycles. In either case, the system should remain in RAM mode for at least 10 cycles after the first seven bits in a byte, and twenty or so after the last bit in each byte. So about 30 cycles/bit for 32,000 bits would be about 960,000 cycles--about a second to load a 4K cart.

 

The cart itself would require a single 7400 chip, a RAM, a ROM, and the aforementioned connections to the 2600 internals. Probably not even a four hour project to build on a perfboard.

Edited by supercat
Link to comment
Share on other sites

You could certainly use an editor and assembler on the Atari 800 to write and assemble games for the Atari 2600. If you had an Atari 800 port of batari Basic or some other kind of high-level programming language and compiler, you could use it to write and compile games. And you could even create an Atari 800 program that would let you pick the colors and design the graphics (playfields and player/missile sprites) for Atari 2600 games. But once you wrote the game and compiled/assembled it, I don't think you could run/test the game on the Atari 800 (i.e., in an Atari 2600 emulator running on the Atari 800). Hooking the Atari 800 up to some other computer and transmitting the ROM that way-- or maybe even hooking it up to a programmable cartridge that's plugged into the Atari 2600-- is another story, although I don't have the technical knowledge or skills necessary to say how feasible that would be. Nevertheless, weren't all of the Atari 2600 Supercharger games developed on an Apple computer, or something like that? Shoot, maybe you could write the ROM out to audio cassette tape on the Atari 800, then load the ROM into the Atari 2600 with a Supercharger? :ponder:

 

Michael

("I obviously don't know what I'm talking about... Um, what was I talking about? :?)

Link to comment
Share on other sites

Here's my thought. Tell me if I'm nuts. (others already have). If a cartridge connection could be made that incorporated some sort of "pass through" to the 8bit's RAM, one could assemble a binary, save it to a certain portion of RAM and the VCS would think it's reading a ROM when it would actually be reading the 8bit's RAM. That would allow changes to the binary to be made without changing any hardware.

Link to comment
Share on other sites

It's probably possible to hack the TIA and RIOT into the A8 similar to how the 7800 does it. But you would need the ability to drop the clockspeed of the 6502C and swap out the operating system. It would not make a good dev system because the 6502C would be running the game and nothing else would be possible at the same time.

 

The best way to debug is with Stella and verify on a Supercharger or Cuttle Cart.

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