DaveC1964 Posted August 9, 2017 Share Posted August 9, 2017 (edited) 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 August 9, 2017 by DaveC1964 1 Quote Link to comment Share on other sites More sharing options...
8-bit_d-boy Posted August 9, 2017 Share Posted August 9, 2017 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. Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 9, 2017 Share Posted August 9, 2017 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. 1 Quote Link to comment Share on other sites More sharing options...
+TwentySixHundred Posted August 9, 2017 Share Posted August 9, 2017 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. Quote Link to comment Share on other sites More sharing options...
cd-w Posted August 9, 2017 Share Posted August 9, 2017 The best that can be done on the 2600 currently is 32 characters (with some flicker), though not using batari basic: http://atariage.com/forums/topic/180632-32-character-text-display/?p=3441499 Chris 1 Quote Link to comment Share on other sites More sharing options...
+TwentySixHundred Posted August 9, 2017 Share Posted August 9, 2017 though not using batari basic Would it be possible in batari basic? Quote Link to comment Share on other sites More sharing options...
Mr SQL Posted August 9, 2017 Share Posted August 9, 2017 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 1 Quote Link to comment Share on other sites More sharing options...
cd-w Posted August 9, 2017 Share Posted August 9, 2017 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 1 Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted August 9, 2017 Share Posted August 9, 2017 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. 1 Quote Link to comment Share on other sites More sharing options...
DaveC1964 Posted August 9, 2017 Author Share Posted August 9, 2017 (edited) 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 August 9, 2017 by DaveC1964 1 Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted August 9, 2017 Share Posted August 9, 2017 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. 2 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 9, 2017 Share Posted August 9, 2017 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. Quote Link to comment Share on other sites More sharing options...
DaveC1964 Posted August 9, 2017 Author Share Posted August 9, 2017 (edited) 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 August 9, 2017 by DaveC1964 1 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 9, 2017 Share Posted August 9, 2017 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. Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted August 9, 2017 Share Posted August 9, 2017 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. Quote Link to comment Share on other sites More sharing options...
DaveC1964 Posted August 10, 2017 Author Share Posted August 10, 2017 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. Quote Link to comment Share on other sites More sharing options...
carlsson Posted August 10, 2017 Share Posted August 10, 2017 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. 1 Quote Link to comment Share on other sites More sharing options...
Mr SQL Posted August 10, 2017 Share Posted August 10, 2017 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. 1 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 10, 2017 Share Posted August 10, 2017 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: 1 Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted August 10, 2017 Share Posted August 10, 2017 It loaded fine on mine. It displayed just as well as I expected it to: 20170810_101156.jpg Thanks, about what I expected as well. Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 10, 2017 Share Posted August 10, 2017 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. Quote Link to comment Share on other sites More sharing options...
DaveC1964 Posted August 10, 2017 Author Share Posted August 10, 2017 It loaded fine on mine. It displayed just as well as I expected it to: 20170810_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. Quote Link to comment Share on other sites More sharing options...
Mr SQL Posted August 10, 2017 Share Posted August 10, 2017 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. Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 14, 2017 Share Posted August 14, 2017 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. Quote Link to comment Share on other sites More sharing options...
ZackAttack Posted August 14, 2017 Share Posted August 14, 2017 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.