Log In  

Hello.

I was recently looking at the source-code to a well-known Atari game called, "Adventure" and wondered if Pico-8 could have a piece of this pie.

Having seen @zep's mind-blowing, "Squiddy" clocking in at 1024-bytes:

https://www.lexaloffle.com/bbs/?tid=44826

I wondered if it was possible for Pico-8 to adopt the Atari's 6502-assembly code and memory locations (choose between P8 and Atari) and for a few reasons.

  1. Pico-8 could play any Atari game, source-code or not, you just need the binary.

  2. Most Atari games are at 4096-bytes or less. This includes PITFALL.
  1. New graphic tricks could be done, resolution would expand, sounds would be unique, and you would have a whole host of new colors to choose from. See Barnstorming skyline for instance.
  1. It would increase the existing Atari 2600 library, serve the Atari 2600 community, and educate people in new methods and styles of programming for it.

All good things and @zep could provide an editor for it much as we have now for Pico-8 except for working in effectively and easily the 6502-assembly language.

P#99692 2021-11-06 17:15 ( Edited 2021-11-06 17:20)

hmmm... not a simple task. First of all you must emulate the 6507 processor:
https://github.com/JorjBauer/lua-6502/blob/master/6502.lua
This muss be adapted to pico8 - but it uses already about 8000 tokens.

The second problem is the graphics:
from wikipedia: "All modes are 160 pixels wide. NSTC mode provides 192 visible lines per screen, drawn at 60 Hz, with 16 colors, each at 8 levels of brightness."

Pico8 can't do this.

Third problem could be speed.

oh, you mean, that zep should write a pico8-vcs-version...
Thrust me, you don't want to program in assembler. especially 6502 one. You have no table, no for-loop, no functions or variables. You have only 3 Register, one for addresses and two for values. It is like 3 variables in lua, and when you want to store more information, you need peek() and poke().

Also the graphics - the vcs hasn't a framebuffer, you must draw "on time". so no spr(), map(), line() and so on.
You can read about it here: https://en.wikipedia.org/wiki/Television_Interface_Adaptor
It is quite complicated to program with.

P#99702 2021-11-06 19:08

Superb explanation, @GPI. And yes, you're right. Assembly is no fun. I did a LITTLE bit of 6502 assembly programming back on the Apple ][ computer. Mostly to do very simple things like create fancy audio tones like a synthesizer and to merely transfer HIRES page to page 1 quickly. Later with a great deal of effort I made a HRCG that was 8-pixels across instead of the usual 7. For true B&W displays.

Yet ... it might be interesting to see what the incredibly brainy Pico-8 community could do in such an unbridled language with unrestricted graphic and audio methods and hacks.

P#99718 2021-11-07 03:23 ( Edited 2021-11-07 03:26)

However, seems like it's long past due for a sequel. 😉

P#100859 2021-11-26 23:58

The Atari do you mean, @MartaIlyich ? I think they went from 2600 on to - let me think ... It was the Atari 800, Atari 400 (no I didn't understand the numbering system myself). An Atari One was never made.

From there it went to 5200, the Atari ST, that was a personal computer, the 7800. They made a nice little portable system called a LYNX. I know there was a Jaguar. Seems like Atari had feline on the brain.

And I think that's it. There hasn't been anything since. Can you imagine if Atari was keeping up with their game and went to head with Sony Playstation and Sega Saturn ? Wow ! The sparks would fly - and what new games would we have seen that today are not there ?

P#100878 2021-11-27 04:50 ( Edited 2021-11-27 04:52)

[Please log in to post a comment]