Jump to content
IGNORED

Displaying a page of text on 2600, possible?


DaveC1964

Recommended Posts

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
  • Like 1
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

 

AFP WARP DRIVE.txt

 

  • Like 1
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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
  • Like 1
Link to comment
Share on other sites

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.

  • Like 2
Link to comment
Share on other sites

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
  • Like 1
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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:

 

WARPDRIVE_AFP.bin WARP_DRIVE_PRGE.BIN

WARP_DRIVE_PRGE.wav

 

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.

  • Like 1
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

 

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.

Link to comment
Share on other sites

 

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.

Link to comment
Share on other sites

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.

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