Retrospect Posted February 8, 2013 Share Posted February 8, 2013 I've been toying with the idea of a graphical adventure, and I made this image. Is it at all possible in Assembly Language (obviously not TI Basic) to perhaps have a split bitmap / text screen, I'm sure it's possible with the Commodore C16 and C64, I need to know if this can be done ? Quote Link to comment Share on other sites More sharing options...
+adamantyr Posted February 8, 2013 Share Posted February 8, 2013 Yes, it's very possible. The TI Bitmap screen is actually divided into three sections, each 8 rows by 32 columns in size, top to bottom. So, for the bottom section, instead of mapping characters 0-255 to create a bitmap pattern, you can just fill it with ASCII characters and use it like any other text screen for output. That said, full bitmap mode does take 13k of VDP RAM space, and each "bitmap" alone will consume 8k (4k pattern, 4k color) of dataspace. The nasty part would be how to store it on disk in an efficient manner; image files are the easiest, but you could very quickly hit the TI file limit on a disk of 127. A better idea would be a 128 fixed-length binary file which you could then store up multiple images, both color and pattern tables, and then load them into memory incrementally. You'd still have a practical limit of 10 screens or so on a 90k disk, 40 on a 360k disk. Adamantyr 1 Quote Link to comment Share on other sites More sharing options...
OX. Posted February 8, 2013 Share Posted February 8, 2013 Could the TI do graphical interactive adventure stuff like Monkey Island by having sprites or character based stuff moving over a bitmap background? Nothing stopping a large graphical adventure being spanned over multiple DSDD images though? Quote Link to comment Share on other sites More sharing options...
Retrospect Posted February 8, 2013 Author Share Posted February 8, 2013 Could the TI do graphical interactive adventure stuff like Monkey Island by having sprites or character based stuff moving over a bitmap background? Nothing stopping a large graphical adventure being spanned over multiple DSDD images though? I've often wandered that. I did an experiment on Classic99 , involving Tursi's Convert9918 program. I saved an image as an XB Program, and then inserted a line before any of Tursi's code, basically it was a one line something like ; "1 CALL CHAR(35,"18183CFF7E7E2442")::CALL SPRITE(#1,35,5,10,10)::CALL MOTION(#1,15,15) What happened pleased me somewhat. I still had the bitmapped image displayed, and a sprite was in smooth motion over the top of it. Obviously, due to me having no knowledge of programming anything other than a fruit machine I completely lost myself when it came to actually controlling the bloody sprite. Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted February 8, 2013 Share Posted February 8, 2013 Check out "Who's Behind The Mexican UFO's" on TI Gameshelf. That is similar to what you want to do. If you like what you see, download "The Missing Link" from TI99/4a development resources at the top of this forum. Quote Link to comment Share on other sites More sharing options...
OX. Posted February 8, 2013 Share Posted February 8, 2013 I've often wandered that. I did an experiment on Classic99 , involving Tursi's Convert9918 program. I saved an image as an XB Program, and then inserted a line before any of Tursi's code, basically it was a one line something like ; "1 CALL CHAR(35,"18183CFF7E7E2442")::CALL SPRITE(#1,35,5,10,10)::CALL MOTION(#1,15,15) What happened pleased me somewhat. I still had the bitmapped image displayed, and a sprite was in smooth motion over the top of it. Obviously, due to me having no knowledge of programming anything other than a fruit machine I completely lost myself when it came to actually controlling the bloody sprite. Aha! We need a mock-up, this could be a new era for TI99 gaming. Quote Link to comment Share on other sites More sharing options...
+adamantyr Posted February 8, 2013 Share Posted February 8, 2013 You can have full motion sprites in bitmap... the main reason you don't normally have them is that the ROM routine is hard-coded to check address >0780, which is overwritten with character pattern data. All you have to do is replicate the ROM code in your own routine and use a user-driven interrupt. Bruce Harrison illustrated the concept in one of his Art of Assembly articles, I believe. I didn't mention it above, but you can economize on your bitmap usage by storing screen maps along with character data. That would let you use an identical tile for several places, and save characters to do on-the-spot changes or modifications. Actually, there IS a graphic adventure that used all these techniques; the Return to Pirate Isle cartridge. Mind you, I hated the "I can't see anything" effect... plus the fact that the pirate just appears as a black silhouette. I was really disappointed they didn't spend extra effort to make him look like a real person. Adamantyr Quote Link to comment Share on other sites More sharing options...
Tursi Posted February 8, 2013 Share Posted February 8, 2013 The Missing Link was recently re-released, as Senior Falcon mentions, check out its thread here. It comes with a full manual, is free now, and allows full bitmap graphics in Extended BASIC, including fonts and loading of TI Artist pictures! For a text adventure, that'd even be fast enough, and yes, it supports sprites including automatic motion. I used the concept of graphics on the top 2/3rds of the bitmap screen, with a "text" section on the bottom third, in my music demo on YouTube here: - it works well! 2 Quote Link to comment Share on other sites More sharing options...
RXB Posted February 9, 2013 Share Posted February 9, 2013 This is very cool Tursi! Quote Link to comment Share on other sites More sharing options...
rocky007 Posted February 9, 2013 Share Posted February 9, 2013 just check the Return to Pirate island... it's a grahics + text adventure game. ( i remember very well this game : i thought when i got it that the cartridge was bugged with the very first game picture, and bring it back to the shop ! ) 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted February 9, 2013 Share Posted February 9, 2013 There is another quite interesting thing about the 9938: the horizontal line interrupt (raster line interrupt). You could set the VDP to raise an interrupt when a certain line was drawn on the screen. This has never been used on the Geneve or the 80-column cards to my knowledge, but I heard that MSX2 systems very well exploited that feature. What is interesting about this is that you can switch the graphics mode *while* the image is being drawn. In fact, the VDP creates the screen lines according to its current mode, and that way you could, in principle, switch from e.g. Graphics2 to Text mode when screen line 100 is reached. (I remember this discussion was raised in the MESS forum, when people tried to figure out why the screen display of some MSX2 games was not correct. I think this feature is not properly emulated right now.) Michael Quote Link to comment Share on other sites More sharing options...
Tursi Posted February 10, 2013 Share Posted February 10, 2013 You can do this on the 9918 too, that is, change the screen mode during the display, but there are no interrupts to help you out. You have to time it -- one trick is to use the sprite collision or 5-on-a-line bits, set up your sprites where you want it to trigger, and poll the VDP status until it's set. (Apparently some MSX-1 demos use this). The accuracy varies, you usually are within a couple of scanlines rather than dead-on, but with a blank area at the transition the user won't see it. Quote Link to comment Share on other sites More sharing options...
apersson850 Posted March 2, 2013 Share Posted March 2, 2013 Actually, there IS a graphic adventure that used all these techniques; the Return to Pirate Isle cartridge. I have an evaluation copy of that, on disk, from the development stage, before it was issued on cartridge. Quote Link to comment Share on other sites More sharing options...
CantStopClicking Posted March 3, 2013 Share Posted March 3, 2013 I have an evaluation copy of that, on disk, from the development stage, before it was issued on cartridge. That sounds interesting, would you be willing/able to share? -Dano Quote Link to comment Share on other sites More sharing options...
apersson850 Posted March 3, 2013 Share Posted March 3, 2013 Would have to be by sending a diskette, then. Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted January 9, 2014 Share Posted January 9, 2014 (edited) I have been making some adjustments to The Missing Link so it is better suited for the type of graphic adventure mentioned by Retrospect. This demo shows a picture being loaded into the top 2/3 of the screen, then text is displayed in the lower 1/3 of the screen in 48 columns. (Yes, that was 48 columns, not 40) The filenames of several pictures are entered and the pictures are displayed in the top 2/3 of the screen. This is all done in XB with assembly subroutines providing the bit mapped support. This should be all the tools that you need to write your own graphic adventure. I can post the modified version of TML if anyone is interested. Note that this updated version has 9 rows of text. Edited January 11, 2014 by senior_falcon 7 Quote Link to comment Share on other sites More sharing options...
Willsy Posted January 9, 2014 Share Posted January 9, 2014 This is really really cool! Quote Link to comment Share on other sites More sharing options...
kl99 Posted January 9, 2014 Share Posted January 9, 2014 respect to senior_falcon! Incredible nice stuff! Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted January 9, 2014 Share Posted January 9, 2014 impressive! Quote Link to comment Share on other sites More sharing options...
Tursi Posted January 9, 2014 Share Posted January 9, 2014 That is pretty cool stuff Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted January 11, 2014 Share Posted January 11, 2014 I must have taken my stupid pills when posting the video above. Although I said it has 48 columns, in reality it only had 40! I have updated the video so it uses 48 columns of characters. Also there are now 9 rows of text. 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.