Jump to content

Photo

Is this sort of thing possible, even if in Assembly?


20 replies to this topic

#1 Retrospect ONLINE  

Retrospect

    Moonsweeper

  • 371 posts
  • Location:Wakefield, England

Posted Thu Feb 7, 2013 6:50 PM

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 ?

Attached File  TI99 ADVENTURE.png   15.63KB   46 downloads Attached File  TI99 ADVENTURE 2.png   28.44KB   45 downloads

#2 adamantyr OFFLINE  

adamantyr

    Dragonstomper

  • 575 posts

Posted Thu Feb 7, 2013 7:53 PM

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

#3 OX. OFFLINE  

OX.

    Moonsweeper

  • 396 posts

Posted Thu Feb 7, 2013 8:18 PM

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?

#4 Retrospect ONLINE  

Retrospect

    Moonsweeper

  • Topic Starter
  • 371 posts
  • Location:Wakefield, England

Posted Thu Feb 7, 2013 9:00 PM

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.

#5 senior_falcon OFFLINE  

senior_falcon

    Moonsweeper

  • 481 posts
  • Location:Lansing, NY, USA

Posted Thu Feb 7, 2013 9:36 PM

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.

#6 OX. OFFLINE  

OX.

    Moonsweeper

  • 396 posts

Posted Thu Feb 7, 2013 9:39 PM

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.

#7 adamantyr OFFLINE  

adamantyr

    Dragonstomper

  • 575 posts

Posted Thu Feb 7, 2013 10:13 PM

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

#8 Tursi OFFLINE  

Tursi

    River Patroller

  • 2,646 posts
  • Location:BUR

Posted Fri Feb 8, 2013 2:06 AM

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!


#9 RXB OFFLINE  

RXB

    Stargunner

  • 1,569 posts
  • Location:Vancouver, Washington, USA

Posted Sat Feb 9, 2013 3:20 AM

This is very cool Tursi!

#10 rocky007 OFFLINE  

rocky007

    Moonsweeper

  • 395 posts
  • Location:Belgium

Posted Sat Feb 9, 2013 5:21 AM

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 ! )

#11 mizapf OFFLINE  

mizapf

    Dragonstomper

  • 612 posts
  • Location:Germany

Posted Sat Feb 9, 2013 6:30 AM

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

#12 Tursi OFFLINE  

Tursi

    River Patroller

  • 2,646 posts
  • Location:BUR

Posted Sat Feb 9, 2013 8:37 PM

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.


#13 apersson850 OFFLINE  

apersson850

    Chopper Commander

  • 103 posts

Posted Sat Mar 2, 2013 4:36 PM

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.

#14 CantStopClicking OFFLINE  

CantStopClicking

    Moonsweeper

  • 256 posts

Posted Sat Mar 2, 2013 11:47 PM

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

#15 apersson850 OFFLINE  

apersson850

    Chopper Commander

  • 103 posts

Posted Sun Mar 3, 2013 3:42 PM

Would have to be by sending a diskette, then.

#16 senior_falcon OFFLINE  

senior_falcon

    Moonsweeper

  • 481 posts
  • Location:Lansing, NY, USA

Posted Wed Jan 8, 2014 9:22 PM

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.

 

gallery_34177_1071_11360.gif


Edited by senior_falcon, Sat Jan 11, 2014 10:46 AM.


#17 Willsy ONLINE  

Willsy

    River Patroller

  • 2,013 posts
  • Location:Uzbekistan (no, really!)

Posted Thu Jan 9, 2014 2:39 AM

This is really really cool!



#18 kl99 OFFLINE  

kl99

    Chopper Commander

  • 219 posts

Posted Thu Jan 9, 2014 5:44 AM

respect to senior_falcon! Incredible nice stuff!



#19 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,370 posts
  • Location:Germany

Posted Thu Jan 9, 2014 1:24 PM

impressive!

#20 Tursi OFFLINE  

Tursi

    River Patroller

  • 2,646 posts
  • Location:BUR

Posted Thu Jan 9, 2014 4:53 PM

That is pretty cool stuff :)



#21 senior_falcon OFFLINE  

senior_falcon

    Moonsweeper

  • 481 posts
  • Location:Lansing, NY, USA

Posted Sat Jan 11, 2014 10:48 AM

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.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users