Jump to content

Photo

Extra ram, batari Basic, and hardware


23 replies to this topic

#1 Pioneer4x4 OFFLINE  

Pioneer4x4

    River Patroller

  • 2,109 posts
  • Atari + R.O.B. = Completed
  • Location:PA

Posted Wed Feb 20, 2019 9:51 AM

I want to get back to making something I tried years ago, but I needed more ram.  I only care about running it on real hardware, and for someone to make their own/or sell whatever I want to limit the actual hardware needed.  Obviously the Harmony is the way to go, but...

This is something I think I asked back in 2011 or so when I was active on here.  Can you use batari Basic for a supercharger type rom/bin, and get access to extra ram that way?  I have 2 superchargers, one modified one not, in addition to my Harmony cart.



#2 Karl G OFFLINE  

Karl G

    Dragonstomper

  • 792 posts

Posted Wed Feb 20, 2019 10:02 AM

Yes.  You get 128 bytes of extra RAM, or less if you use some of it to increase the resolution of the playfield.  In the "worst" case, you will still get 48 extra variables with a high-resolution playfield,  See the Superchip RAM section of the bB reference for details.  Seaweed Assault is one released game that uses this; there may also be others.



#3 Pioneer4x4 OFFLINE  

Pioneer4x4

    River Patroller

  • Topic Starter
  • 2,109 posts
  • Atari + R.O.B. = Completed
  • Location:PA

Posted Wed Feb 20, 2019 12:10 PM

Yes.  You get 128 bytes of extra RAM, or less if you use some of it to increase the resolution of the playfield.  In the "worst" case, you will still get 48 extra variables with a high-resolution playfield,  See the Superchip RAM section of the bB reference for details.  Seaweed Assault is one released game that uses this; there may also be others.

 

I was asking about "Supercharger" (6k, all ram) not "Superchip" if they are compatible with each other I didn't know that.



#4 Karl G OFFLINE  

Karl G

    Dragonstomper

  • 792 posts

Posted Wed Feb 20, 2019 12:17 PM

Oh; my bad.  I misread.  I don't think there's any way to do Supercharger binaries via bB.  There's a Supercharger-based BASIC implementation, but I haven't personally looked at it.

#5 Mr SQL OFFLINE  

Mr SQL

    River Patroller

  • 2,094 posts

Posted Wed Feb 20, 2019 12:29 PM

Yes SuperCharger BASIC will let you access all 6K of RAM:  

 

http://atariage.com/...-800-variables/



#6 RevEng OFFLINE  

RevEng

    Bit Player

  • 5,173 posts
  • Location:bottom of the stack

Posted Wed Feb 20, 2019 1:43 PM

I think you can "sort of" use Supercharger RAM with bB. Apparently any 4K ROM that doesn't access data in the last few bytes of ROM should work on a Supercharger. (FFF8/FFF9 are SC hotspots)

So create a 4K bB ROM, reserve a bunch of "ROM" bytes with a DATA statement, and you should be able to read/write to them like an array. (or assign individual DIM variables to those ROM locations.

That's the theory, anyway.

For the above to work as a Harmony or emulation bin, I believe you'd need to stick proper supercharger headers in it. That would be a bit more involved. [edit - looks like the "makewav" utility can convert a 4k bin to a supercharger bin]

#7 Karl G OFFLINE  

Karl G

    Dragonstomper

  • 792 posts

Posted Wed Feb 20, 2019 2:03 PM

Hmm, trippy. This might be handy for a game with little static data but lots of dynamic content, like a roguelike with a random level generator.

Maybe the Harmony would detect it properly if the file is given the .AR extension. Might be worth a try. :)



#8 Karl G OFFLINE  

Karl G

    Dragonstomper

  • 792 posts

Posted Wed Feb 20, 2019 2:16 PM

Would one also need to use different addesses for reading and writing?



#9 RevEng OFFLINE  

RevEng

    Bit Player

  • 5,173 posts
  • Location:bottom of the stack

Posted Wed Feb 20, 2019 2:18 PM

I'm guessing just renaming the extension won't work, since it seems SC users use makewav to generate the sound files, and that converts between 4k and SC.

It looks like I was wrong about makewav being able to generate a binary instead of a wav. I though that was the case with it's "-r" raw flag, but apparently that's for raw audio. So I guess it would need to be modified to output binaries, for use with Harmony or Stella.

[edit - I don't think we need anything for write support. I recall reading SC uses some kind of "automagic" read/write detection. It probably doesn't work with all address modes, though]

#10 Pioneer4x4 OFFLINE  

Pioneer4x4

    River Patroller

  • Topic Starter
  • 2,109 posts
  • Atari + R.O.B. = Completed
  • Location:PA

Posted Wed Feb 20, 2019 2:32 PM

There was an option added into makewav  let me dig deeper from WAY back.



#11 Pioneer4x4 OFFLINE  

Pioneer4x4

    River Patroller

  • Topic Starter
  • 2,109 posts
  • Atari + R.O.B. = Completed
  • Location:PA

Posted Wed Feb 20, 2019 2:42 PM

There was an option added into makewav  let me dig deeper from WAY back.

 

I remember, totally unrelated.  I was working on using a GameBoy as a "file server" for the Atari 2600 using a modified supercharger.  I wanted to store games on a programmable GameBoy cart, and have it play back the audio to the Supercharger.  I believe that he added that -r option so that I could have the info to send and then just write a simple tone generator for the GameBoy, and the games would be stored in fairly small bit of data, less than the actual sound files.



#12 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 9,314 posts

Posted Wed Feb 20, 2019 2:45 PM

As far as I can tell this is as far as batari got with Supercharger support:

http://atariage.com/...anking-with-bb/



#13 Pioneer4x4 OFFLINE  

Pioneer4x4

    River Patroller

  • Topic Starter
  • 2,109 posts
  • Atari + R.O.B. = Completed
  • Location:PA

Posted Wed Feb 20, 2019 2:49 PM

As far as I can tell this is as far as batari got with Supercharger support:

http://atariage.com/...anking-with-bb/

 

Thanks, I do remember that thread.  I need to figure out what I actually require.  Then go from there.  Think of it like my Non-Tendo R.O.B. project, more of a proof of concept but will be pretty dang cool if it works.



#14 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 9,314 posts

Posted Wed Feb 20, 2019 2:51 PM

 

Thanks, I do remember that thread.  I need to figure out what I actually require.  Then go from there.  Think of it like my Non-Tendo R.O.B. project, more of a proof of concept but will be pretty dang cool if it works.

 

If you do go down the rabbit hole I wouldn't mind a function to induce additional tape loads on the Supercharger.  That way we could have batari BASIC games that run on both sides of the tape.. 6k + 6k :)



#15 Pioneer4x4 OFFLINE  

Pioneer4x4

    River Patroller

  • Topic Starter
  • 2,109 posts
  • Atari + R.O.B. = Completed
  • Location:PA

Posted Wed Feb 20, 2019 3:00 PM

Sooo,  assuming that Supercharger is out, and I need it, what is the cheapest way to make carts with extra ram?  

(This idea is useless if it can't run on real hardware.)


Edited by Pioneer4x4, Wed Feb 20, 2019 3:01 PM.


#16 Mr SQL OFFLINE  

Mr SQL

    River Patroller

  • 2,094 posts

Posted Wed Feb 20, 2019 5:08 PM

Sooo,  assuming that Supercharger is out, and I need it, what is the cheapest way to make carts with extra ram?  

(This idea is useless if it can't run on real hardware.)

 

How much RAM do you need?

 

For CBS RAM and SuperCharger games Al can put them on a Melody board, and a few vendors manufacture Sara chip games scavenging chips from old cartridges (in theory this could be done with CBS RAM chips too but no one has).

 

Answers to some other questions on this thread -

 

SuperCharger BASIC is cross compatible with Atari Flashback BASIC, but the latter only has 256 bytes of extra RAM instead of 6K.

 

Yes you add/offset 128 or 256 bytes for the read and the write with memory schemes like the SuperChip or CBS RAM (what Flashback BASIC uses), however the SuperCharger uses a more complicated scheme with additional instructions. 

 

You would have to code the RAM access protocols in inline assembly in bB unless someone adds handlers to the BASIC.

 

SuperCharger BASIC and Atari Flashback BASIC are array based for writing simple code like this:

 

 data TestArrayA 5,10,20

 data TestArrayB 7,12,22

 TestArrayA(1)=TestArrayB(2):TestArrayA(2)=TestArrayA(3)*5

 

The virtualworld can be addressed as a double dimensioned array of 2000 bits or a one dimensional array of 256 bytes even in Atari Flashback BASIC (the CBS RAM), but any additional RAM arrays turn to ROM except for the playfield and player color arrays (those overlap sections of the virtualworld in Flashback BASIC).

 

Unless you need a lot of extra RAM most games will cross compile. An extreme example is the 800 variable program linked above, it had to be revised to use the virtualworld array and has a shorter playback time using just 256 bytes under Flashback BASIC:

 

http://atariage.com/...ack/?hl=+jamout



#17 ultima OFFLINE  

ultima

    Chopper Commander

  • 216 posts

Posted Wed Feb 20, 2019 10:12 PM

 
I was asking about "Supercharger" (6k, all ram) not "Superchip" if they are compatible with each other I didn't know that.

Wait so progamming with Superchip is not the same as programming a Supercharger?

#18 Pioneer4x4 OFFLINE  

Pioneer4x4

    River Patroller

  • Topic Starter
  • 2,109 posts
  • Atari + R.O.B. = Completed
  • Location:PA

Posted Thu Feb 21, 2019 8:55 AM

OK, thanks all. I will have to think through and see how much ram I need I remember needing to store/read the state of approximately 250 items in one of 3 states so without advanced math that is 512 bytes, but I could simplify it greatly for proof of concept, then worry about making it fun/usable.

#19 Pioneer4x4 OFFLINE  

Pioneer4x4

    River Patroller

  • Topic Starter
  • 2,109 posts
  • Atari + R.O.B. = Completed
  • Location:PA

Posted Thu Feb 21, 2019 9:02 AM

Wait so progamming with Superchip is not the same as programming a Supercharger?

I assume not, Supercharger has 6K of ram in it. (when modified) is just straight 4k normally addressable and won't back switch. But for actual supercharger programs, they can use more ram on the cart than any other style, I think they can use most of the 6K as actual ram, but I really don't know. And sorry guys, I can handle bBasic OK, and just getting the routine added for keypad controller was a bit for me. I don't understand any of the "inline code" assembly code, type of stuff.
I guess if I can make it work as a CBS RAM on my Harmony, then I can look into it being functional on harmony carts. But I will also look into supercharger basic, that may be just the ticket. I guess I really need to learn more, and also define my needs/wants more.
BUT, first I need to get proof of concept working (I can do that in standard 4K no problem), post a video, then see if anyone really cares.
Thanks again everyone.

#20 Pioneer4x4 OFFLINE  

Pioneer4x4

    River Patroller

  • Topic Starter
  • 2,109 posts
  • Atari + R.O.B. = Completed
  • Location:PA

Posted Thu Feb 21, 2019 12:55 PM

I just read through the files in the Virtual World Basic, and it looks VERY promising. The scrolling split screen display is almost made to order. Can you output to the Controller Ports with it? Like I did with bBasic to read keyboard controllers, or when I controlled 3D goggles. I think it was with the SWCHA command?

#21 Mr SQL OFFLINE  

Mr SQL

    River Patroller

  • 2,094 posts

Posted Thu Feb 21, 2019 1:49 PM

I just read through the files in the Virtual World Basic, and it looks VERY promising. The scrolling split screen display is almost made to order. Can you output to the Controller Ports with it? Like I did with bBasic to read keyboard controllers, or when I controlled 3D goggles. I think it was with the SWCHA command?

 

Yes, SWCHA is available to BASIC.

 

The SuperCharger and CBS RAM versions will both work on the Harmony cart or a Melody cart, but if you need 512 extra bytes of RAM only the SuperCharger version can accommodate that; if you can fit the proof of concept in 256 extra bytes of RAM you could compile it to either version. 



#22 Pioneer4x4 OFFLINE  

Pioneer4x4

    River Patroller

  • Topic Starter
  • 2,109 posts
  • Atari + R.O.B. = Completed
  • Location:PA

Posted Thu Feb 21, 2019 2:19 PM

Yes, SWCHA is available to BASIC.
 
The SuperCharger and CBS RAM versions will both work on the Harmony cart or a Melody cart, but if you need 512 extra bytes of RAM only the SuperCharger version can accommodate that; if you can fit the proof of concept in 256 extra bytes of RAM you could compile it to either version.

Excellent. This may be what I have been looking for then.

#23 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 9,314 posts

Posted Fri Feb 22, 2019 9:29 AM

Now that I re-read your question..  I think Supercharger support is a red herring.

 

You might want to stick to SARA / SuperChip RAM and use a Savekey for world data and save game info:

 

SaveKey Info:

http://atariage.com/...tarivox-eeprom/

 

SARA RAM:

http://www.randomter...ml#superchipram



#24 Pioneer4x4 OFFLINE  

Pioneer4x4

    River Patroller

  • Topic Starter
  • 2,109 posts
  • Atari + R.O.B. = Completed
  • Location:PA

Posted Fri Feb 22, 2019 9:46 AM

OK, screw it.  To make this simple, I'm starting a new thread with my actual idea, all comments and suggestions can go in there.  I will put a link into after this, please reply in that thread.  It will be called "Head to Head Battleship with 2 consoles"

 

http://atariage.com/...ith-2-consoles/


Edited by Pioneer4x4, Fri Feb 22, 2019 9:48 AM.





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users