Jump to content

Photo

Displaying a page of text on 2600, possible?


31 replies to this topic

#1 DaveC1964 OFFLINE  

DaveC1964

    Space Invader

  • 42 posts

Posted Tue Aug 8, 2017 9:51 PM

I am not sure if this is the best place or if other programming type other than BASIC is needed but here goes.

 

Is it possible for the 2600 to display a simple page of text such as 24 columns, then page through a few pages using the joystick?

 

I wanted to have a simple ROM that would be able to run on any 2600 compatible (either Harmony cart, emulator, portable etc) that just displays some text.

 

What the idea is here is to make ROMs of game play instructions that run on the 2600 as an actual 2600 "game" program.  There are so many games where one may have no idea of what to do.  So the thought is to have a ROM with the gameplay instructions.  Something like Adventure.bin is the game ROM and something like AdventureINFO.bin is a rom with instructions of how to play Adventure etc.  With most menus it would sort the two near each other.  If you wanted to know how to play something you would load the ROM, read it,  then exit and load the game.   The advantage here is these instructions would be available on any 2600 hardware or emulator without the need for manuals or a special menu.  So for example on the Flash Back portable I can load and display game instructions even though the menu system of the FBP UI doesn't support manuals natively.  This goes for Harmony flash carts etc.

 

Is something like this doable?


Edited by DaveC1964, Tue Aug 8, 2017 9:56 PM.


#2 8-bit_d-boy OFFLINE  

8-bit_d-boy

    Star Raider

  • 53 posts

Posted Tue Aug 8, 2017 11:42 PM

It is doable, but I think the most columns the 2600 can do at once is 12 at 8px horizontal per character by multiplexing the scoreboard, 4 more if you use both sprites and multiplex them as well, which means characters will be interlaced and/or flickery, this cannot be done in Batari Basic, however, at least not yet.

A good ROM to see this in action is Dark Mage which is a text adventure.

 

Another option to fit more text in would be using the titlescreen minikernel(check out the robotron 2084 title demo), but that would require encoding the instructions as a bitmap and that would take up a lot of space.

 

As for using separate ROMs, I think a better solution would be to hack it in so it's in a separate bank from the main game - perhaps accessible through the color/bw switch.



#3 kdgarris OFFLINE  

kdgarris

    Chopper Commander

  • 210 posts

Posted Wed Aug 9, 2017 4:31 AM

I'm pretty sure that the score already uses both sprites to achieve all 6 digits.

With the titlescreen kernel, you can do 48 pixel wide bitmaps without flickering, or 96 with flickering (using the flickerblinds method, which gives pretty decent results). If you make the characters 3 pixels wide with 1 pixel between them, the you could do 12 characters per line without flicker, and 24 with.

#4 Tony The 2600 OFFLINE  

Tony The 2600

    Moonsweeper

  • 355 posts
  • 1.19 MHz
  • Location:Adelaide, Australia

Posted Wed Aug 9, 2017 5:21 AM

As far as i know the titlescreen kernel is about the only way at the moment, unless someone writes a 'text based' kernel for bB. Other that you would most likely need to write the program in asm so the kernel can be molded around it. Also the hardware sprites are basically useless for horizontal text but fine for vertical layouts.



#5 cd-w OFFLINE  

cd-w

    Stargunner

  • 1,599 posts
  • Juno First!
  • Location:Glasgow, UK

Posted Wed Aug 9, 2017 5:29 AM

The best that can be done on the 2600 currently is 32 characters (with some flicker), though not using batari basic:

http://atariage.com/...play/?p=3441499

 

Chris



#6 Tony The 2600 OFFLINE  

Tony The 2600

    Moonsweeper

  • 355 posts
  • 1.19 MHz
  • Location:Adelaide, Australia

Posted Wed Aug 9, 2017 5:33 AM

though not using batari basic

 

 Would it be possible in batari basic?



#7 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • 1,748 posts

Posted Wed Aug 9, 2017 5:35 AM

Yes but probably not in batari BASIC. Flashback BASIC has a print command and allows ASCII text in data statements, WARPDRIVE's opening text is rendered like that:

 

 data textdata    "PRGE 2016 ROCKS"
 data textdata9   "practice this  "
 data textdata8   "game! take aim!"
 data textdata7   "focus your mind"

 

There are a lot of motivational messages in WARPDRIVE,  take a look at the program listing to see the data statements and the messaging subsystem; the text doesn't have to be full screen size, it could be rendered smaller or via sprites because the print command only prints binary strings so you have a lot of control over how the messages should be printed (size/orientation, etc).

 

The bitmap ASCII characters for the alphabet can also be stored in data statements or directly in the sprite library;   I actually ran out of space for sprite definitions in the sprite library (only 32) so a couple of character bitmaps are in data statements as well with a binary type.

 

Attached File  AFP WARP DRIVE.txt   17.5KB   26 downloads

 



#8 cd-w OFFLINE  

cd-w

    Stargunner

  • 1,599 posts
  • Juno First!
  • Location:Glasgow, UK

Posted Wed Aug 9, 2017 6:41 AM

 Would it be possible in batari basic?

 

In theory it could be done, but someone (not me) would have to write a text kernel for Batari basic containing the assembly code for 32-character text.

 

Chris



#9 SpiceWare ONLINE  

SpiceWare

    Draconian

  • 11,572 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Wed Aug 9, 2017 8:03 AM

If somebody wants to do this I'm willing to create a template that you'd be able to drop the text into, though it'd be later this year after Draconian is finished.

 

Could even set it up where you can put images within the text, such as the duck dragon for Adventure, though they'd be the same color as the text.



#10 DaveC1964 OFFLINE  

DaveC1964

    Space Invader

  • Topic Starter
  • 42 posts

Posted Wed Aug 9, 2017 8:44 AM

If somebody wants to do this I'm willing to create a template that you'd be able to drop the text into, though it'd be later this year after Draconian is finished.

 

Could even set it up where you can put images within the text, such as the duck dragon for Adventure, though they'd be the same color as the text.

That would be nice.  Non-programmers could contribute game instruction ROMs that could be made public.  I would be careful about using custom tricks that could cause compatibility issues though, it should work on all devices like the flashback portable, flashback2, Harmony cart, emulators and such that have trouble with certain things such as bank switching etc.

 

I would do some of these if I had this template.


Edited by DaveC1964, Wed Aug 9, 2017 8:47 AM.


#11 SpiceWare ONLINE  

SpiceWare

    Draconian

  • 11,572 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Wed Aug 9, 2017 9:18 AM

I would set it up using CDF which works on real 2600s, 7800s, Stella, and Harmony carts.  I'm not interested in limiting myself due to devices, like the Flashback units, that poorly emulate the 2600. I suspect the tricks used to get 32 characters per scanline wouldn't work on them anyway.



#12 kdgarris OFFLINE  

kdgarris

    Chopper Commander

  • 210 posts

Posted Wed Aug 9, 2017 11:35 AM

Yeah - even the bB score is broken on the Flashback Portable.  I don't think there's any reasonable way to get a decent amount of text on the screen and work around the emulator's limitations at the same time.



#13 DaveC1964 OFFLINE  

DaveC1964

    Space Invader

  • Topic Starter
  • 42 posts

Posted Wed Aug 9, 2017 12:08 PM

I would set it up using CDF which works on real 2600s, 7800s, Stella, and Harmony carts.  I'm not interested in limiting myself due to devices, like the Flashback units, that poorly emulate the 2600. I suspect the tricks used to get 32 characters per scanline wouldn't work on them anyway.

Well that is obviously up to you if you are doing it.  There are a lot of those FB units out there. Systems like the portable are things that really need something like this.  A homebound system not as much as you can have physical manuals there or look it up on your computer, phone, tablet etc.  On the go it is desirable to have it all in one.  It would be nice to have something that will work with anything no matter how "bad" the emulation, not sure what could be done in that case or what the limits would be.  

 

Is it possible to display a one color bitmap on the whole screen?  Maybe I could just type the instructions, then convert it to a 1 bit bitmap as white text on black?  It is crude but it is still better than nothing.


Edited by DaveC1964, Wed Aug 9, 2017 12:16 PM.


#14 kdgarris OFFLINE  

kdgarris

    Chopper Commander

  • 210 posts

Posted Wed Aug 9, 2017 1:41 PM

The 2600 doesn't have any native ability to display large bitmaps.  Such things are done by changing and repositioning the player sprites on the fly as the screen is drawn.  Anything that uses these kinds of advanced techniques, like the text kernel or the titlescreen kernel, are likely to expose limitations with these emulators.  I don't mean to be discouraging, because it's a neat idea, but I think trying to make this work on the portable and the like is bound to be problematic.



#15 SpiceWare ONLINE  

SpiceWare

    Draconian

  • 11,572 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Wed Aug 9, 2017 2:20 PM

Somebody should post a photo of the build in reply #47 running on a flashback portable, it's a standard 4K ROM.  Of course it's an older routine that doesn't create a full 128 pixel image like the newer one does.



#16 DaveC1964 OFFLINE  

DaveC1964

    Space Invader

  • Topic Starter
  • 42 posts

Posted Wed Aug 9, 2017 10:12 PM

Somebody should post a photo of the build in reply #47 running on a flashback portable, it's a standard 4K ROM.  Of course it's an older routine that doesn't create a full 128 pixel image like the newer one does.

I tried that on a portable but the ROM doesn't even show up on the menu list.  That is odd.



#17 carlsson OFFLINE  

carlsson

    Quadrunner

  • 5,025 posts
  • Location:Västerås, Sweden

Posted Thu Aug 10, 2017 5:04 AM

Is it any easier for the 2600 to display a scroll text? I understand the number of columns still is limited by the objects you can use to draw the text, so perhaps you wouldn't benefit anything from replacing a static page of text with a single line of scroll text. Also perhaps that is not the preferred format for game instructions as it requires the player to pay more attention to the text. It is a thought though.



#18 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • 1,748 posts

Posted Thu Aug 10, 2017 5:52 AM

That would be nice.  Non-programmers could contribute game instruction ROMs that could be made public.  I would be careful about using custom tricks that could cause compatibility issues though, it should work on all devices like the flashback portable, flashback2, Harmony cart, emulators and such that have trouble with certain things such as bank switching etc.

 

I would do some of these if I had this template.

 

 

The 2600 doesn't have any native ability to display large bitmaps.  Such things are done by changing and repositioning the player sprites on the fly as the screen is drawn.  Anything that uses these kinds of advanced techniques, like the text kernel or the titlescreen kernel, are likely to expose limitations with these emulators.  I don't mean to be discouraging, because it's a neat idea, but I think trying to make this work on the portable and the like is bound to be problematic.

 

Is it any easier for the 2600 to display a scroll text? I understand the number of columns still is limited by the objects you can use to draw the text, so perhaps you wouldn't benefit anything from replacing a static page of text with a single line of scroll text. Also perhaps that is not the preferred format for game instructions as it requires the player to pay more attention to the text. It is a thought though.

 

 

Flashback BASIC gives the 2600 the ability to display a large bitmap and scroll it 8 ways. You can even split the screen up using display lists to setup multiple camera views of the large bitmap moving in different directions.

 

You can draw the text on the large bitmap with ASCII art like STARBLITZ and DEFENDER III but

WARPDRIVE uses text in data statements that is pushed to the bitmap, scrolling messages full screen with giant letters since the large bitmap is low resolution semigraphics. 

 

The portable Atari console is supported too so that Flashback BASIC games can run on the Harmony, Stella, and all the Atari consoles including the portable. 

 

Flashback BASIC games can also be recompiled as SuperCharger BASIC games with little or no changes to the BASIC listing. I've read that Flashback2's are compatible with the SuperCharger since it uses a nonstandard bankswitching method; if someone could verify I think the SuperCharger binary should be compatible with that console also:

      

Attached File  WARPDRIVE_AFP.bin   12KB   17 downloads Attached File  WARP_DRIVE_PRGE.BIN   8.25KB   20 downloads

Attached File  WARP_DRIVE_PRGE.wav   861.46KB   17 downloads

 

In terms of being easier to read, if you flip the BW switch while you are receiving messages from Starfleet the Atari's nonstandard video output will change from 60 to 30 HZ which makes it a lot easier on the eyes; there's more than one type of flicker.  

 

The portable doesn't handle that well (hold down the bw switch to see). During play the bw switch engages the warp engines which pushes the portable to the limit of how many objects can be updated at once on screen, kind of a cool effect it really feels like you're in hyperspace but that's not supposed to happen.

 

The blitter is all in software so no extra hardware is required to do the rendering.



#19 kdgarris OFFLINE  

kdgarris

    Chopper Commander

  • 210 posts

Posted Thu Aug 10, 2017 8:17 AM

I tried that on a portable but the ROM doesn't even show up on the menu list.  That is odd.

 

It loaded fine on mine.  It displayed just as well as I expected it to:

 

20170810_101156.jpg



#20 SpiceWare ONLINE  

SpiceWare

    Draconian

  • 11,572 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Thu Aug 10, 2017 8:45 AM

 

It loaded fine on mine.  It displayed just as well as I expected it to:

 

attachicon.gif20170810_101156.jpg

 

 

Thanks, about what I expected as well.



#21 kdgarris OFFLINE  

kdgarris

    Chopper Commander

  • 210 posts

Posted Thu Aug 10, 2017 10:03 AM

Flashback BASIC games can also be recompiled as SuperCharger BASIC games with little or no changes to the BASIC listing. I've read that Flashback2's are compatible with the SuperCharger since it uses a nonstandard bankswitching method; if someone could verify I think the SuperCharger binary should be compatible with that console also:

 

The AFP bin works on the portable, and the other does not at all.  My understanding was that SC games did not work on the portable, anyway.



#22 DaveC1964 OFFLINE  

DaveC1964

    Space Invader

  • Topic Starter
  • 42 posts

Posted Thu Aug 10, 2017 11:49 AM

 

It loaded fine on mine.  It displayed just as well as I expected it to:

 

attachicon.gif20170810_101156.jpg

Bummer.  I am not too surprised though.

 

Now I am wondering why I couldn't even see the file.  I renamed to a simple Test.bin but it didn't show up.  Maybe my SD is going bad or something.



#23 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • 1,748 posts

Posted Thu Aug 10, 2017 12:15 PM

 

The AFP bin works on the portable, and the other does not at all.  My understanding was that SC games did not work on the portable, anyway.

 

Yes SuperCharger games do not normally work on the portable, but Flashback BASIC is a cross compiler that can recompile SuperCharger BASIC games to run on the portable with few or no changes to the code.

 

Theoretically a translater could be written to do the same thing with most of the assembly SuperCharger games.



#24 kdgarris OFFLINE  

kdgarris

    Chopper Commander

  • 210 posts

Posted Mon Aug 14, 2017 9:55 AM

 

Yes SuperCharger games do not normally work on the portable, but Flashback BASIC is a cross compiler that can recompile SuperCharger BASIC games to run on the portable with few or no changes to the code.

 

Theoretically a translater could be written to do the same thing with most of the assembly SuperCharger games.

 

Really?  That would be an impressive feat of hackery.  I bet Dragonstomper would be a lot of fun on the portable.



#25 ZackAttack OFFLINE  

ZackAttack

    Moonsweeper

  • 491 posts
  • Location:Orlando, FL US

Posted Mon Aug 14, 2017 12:12 PM

If you only do this for the AFP you could draw the text vertically on its side and require the player to rotate the AFP a quarter turn to put it in "text mode". In theory you could do 6 lines of 48 characters per page. Assuming 3 pixel chars, 192 pixel high kernel, and that the AFP can properly run the program required to do this.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users