Welcome to my small subsite of 99er.net. I present small demos programmed in assembler for use with the TI-99/4A Home Computer and emulators. There are also a few other TI-99/4A related items on this list.

My e-mail address is sometimes99er@hotmail.com. You may subscribe (and unsubscribe) to my notice of update.

Items on this non-commercial subsite are presented for reference, nostalgia and/or educational purposes only. Some graphic, code, music, sound, speech, text, font, design, brand, logo, name, idea etc. may not be of my own original creation. If you are an author or owner of an item reproduced on this subsite, and wish to be creditted or have it removed, please contact me.

Main rendezvous for TI-99/4A users: http://tech.groups.yahoo.com/group/ti99-4a

Title Link Snapshot Note Remark
Patterns
2010.01.25
2010.02.14
2010.02.15
2010.02.16
2010.02.22
patterns.swf flash A simple "character generator". It should export to the clipboard and paste nicely in TI Basic or XB with MESS and Classic99.
Destroyer
2009.12.09-
destr.rpk cart Arcade game currently under development.

Follow the progress, join the discussion and participate in headaches at www.atariage.com/forums/topic

Luke
2009.11.27
luke.rpk cart Here’s some fine full screen animation. The trick with this one is flipping through 8 screens. With each screen there’s 8 different animation frames (repeated 3 times). Each consisting of 4 by 8 characters. 4 times 8 times 8 equals 256. So a full character set is in use. Here’s the layout of VDP memory:

>0000 - >02FF Screen 0
>0300 - >031F Character colors
>0380 - >03FF Sprite list
>0400 - >06FF Screen 1
>0800 - >0AFF Screen 2
>0C00 - >0EFF Screen 3
>1000 - >12FF Screen 4
>1400 - >16FF Screen 5
>1800 - >1AFF Screen 6
>1C00 - >1EFF Screen 7
>2000 - >27FF Character patterns
>2800 - >2FFF Sprite patterns

Math
2009.09.21-
2009.10.23
math.txt basic A math game in TI Extended Basic. This project had its own blog.
Early clock
2009.03.04
early.swf flash This is a Flash demo showing the consequence of turning on early clock with sprites. Turning early clock on and off and adjusting the horizontal position makes it possible for a sprite to slide in and out of both the left and right side borders. This technique was also discussed in the previously released demo called Oh Yeah.
Pong
2009.02.21
pong.rpk cart Use joystick to move bat ...
Lettres d'amour
2009.01.27
lettr.rpk cart or disk The effect of drawing has already been seen in the Windy City demo. This is more about the graphic detail possible with the horizontal limitation.

The sheet of paper has a few nice details. The white paper has some horizontal blue lines and some red vertical lines, and where they cross, there's a nice use of the color magenta (you will probably have to zoom to see it). Also the white paper and the color of the lines "melt" into the black background at the edges of the paper. White becomes gray, blue becomes dark blue and finally red becomes dark red. Also the top corners are achieved with the help of two grey sprites.

I thought of having one great pencil do the drawing (using a lot of sprites), but then wanted to finish the demo. Also I would have wanted some nice romantic three voice music playing, but instead I have decided to make a proper sound and music utility, and then not do these "lists" by hand anymore.

Solid gold brass
2008.12.07
solid.rpk cart or disk First of all we’ve got some colors jumping up and down. Also there is sound playing. I took a small musical sound loop, divided it into small slices, and then calculated the overall frequency and attenuation for each slice. The result is rather nice for soundeffects, but awful for simple speech or music. The screen is also infected with some germ developing into a catastrophic splash.
Funk it up
2008.10.04
funk.rpk cart or disk Just another quickie ...
Space panic
2008.09.25
panic.rpk cart The original arcade had same screen resolution, but screen was turned 90 degrees. This demo will try and be true to the original arcade, but since screen is 256x192 and not 192x256, some adjustments will have to be made. This release has almost all of the characters defined. Next we will have to define the sprites. This conversion will from time to time end up with more than 4 sprites on a horizontal scan line, so I will try and implement a system to show all sprites, which will only happen if I make sprites flash, as opposed to disappearing, hopefully maintaining playability of the games. This demo may be limited to just showcasing the sprite control system.
Texas
2008.09.23
texas.swf flash This is a very limited TI-99/4A simulation in Flash.

You can press any key to begin. You can choose 1 or 2, or even try an invalid key. At any point you can return to the title screen using the famous "Quit".

At this stage the keyboard simulation is not complete. I moved from reading the keyboard manually once every frame (quick "press-release-press" was not caught), to implementing an event control. I only read the status now, and will have to make some "stack and flush" system to make it act exactly like the TI-99/4A.

Blockbuster
2008.08.02-
2008.08.19
bloc.rpk cart This first demo release just displays the main game area with some animated tube fluid. Bitmap mode and no sprites yet.

Second demo displays and removes a lot of blocks. We’re slowly building some routines for the game.

The effect above is part of the attract mode. Attract mode also instruct user to press fire. After launch blocks are cleared, first blocks and indicators for game are displayed and timer starts.

TI Skepticism
2008.05.31
skep.rpk cart Based on the old Etch A Sketch. Use joystick to move around. Press Quit ("Fctn" & "=") to try a new.
Lieutenant Sega
2008.05.21
lie.rpk cart First of all there’s the Sega logo with colors rolling. I made the colors roll one line per frame, so it’s quite fast - almost too fast, but I like the effect.

Next there’s a 3D effect. The colors only roll once every third frame - again any faster kinda loose the 3D effect, and any slower will make the animation appear jumpy.

Windy City
2008.05.03-
2008.05.05
windy.rpk cart The demo draws a sign with a fat pen. Next this drawing is shown with only the controlpoints plotted. And finally the drawing is shown with the dots connected. After this the demo loops. Hitting QUIT at anytime resets the demo.

Technically it’s bitmap mode. There’s the plot routine from my Shapes demo, and then there’s a new line drawing routine. I plan for optimizing both routines, but for this demo with built-in delays (waiting for a frame after each dot/line) it works fine.

TrueType
2008.04.27
ti994a.ttf font This TrueType font contains the character patterns available in TI Basic. The characters are also known as "small capital" and "lower case" character sets, though "lower case" is actually just even smaller capitals. The font can be used in wordprocessors, 3D packages and much more ...
Oh yeah
2008.04.15-
2008.04.23
ohy.rpk cart We’ve got 5 sprites supporting the big 6 letters. Originally I had the letters aligned vertically, but then 5 sprites would have patterns stacked horizontal. The graphic chip only supports 4 sprites horizontally so I opted for some vertical adjustment of the letters. The letters appears to jump up and down a bit, but it gives room for displaying the 5th sprite.

On the next screen a spaceship slides in and out of the side borders using the early clock attribute. The position and early clock for the 2 sprites are updated just after the start of vertical blank. MESS handles this fine. Classic99 occasionally displays the exhaust in front of the spaceship. Win994a uses another bit (official manual was a bit unclear on this). If we look at the bits from the left, MESS and Classic99 uses the 1st bit as early clock, and Win994a uses the 4th. Apparently it’s fine with all the emulators if we use both bits at the same time.

Sudoku 2
2007.12.29 -
2008.04.20
sud2.rpk cart Another graphical design shot at Sudoku. This project had its own blog.
Manic Miner
2008.03.12
manic.rpk cart Loading and title screen of the old blockbuster Manic Miner originally for the ZX Spectrum.
Daffy Duck
2008.02.26
daff.rpk cart Just a bit of diversion ...
Grapefruit
2006.12.02
2007.01.05
2008.02.04
grapefruit.zip utility This utility for Windows lets you convert graphics to text (programming language data statements) to be included in your programs (basic, extended basic or assembler).

Supports double sized sprites. Includes code to demo character or sprite design. Includes 14 charactersets/examples to work with. Has a built-in character editor, but still the idea is to work with your graphics in your favourite graphic package (eg. Photoshop). Turn on an 8x8 grid in your graphic software to assist you.

This utility needs the .NET framework available for free at Microsoft.

Chestnut
2008.02.03
chestnut.zip utility This utility for Windows lets you rip and hack the graphics in the TI-99/4A.

The utility has 4 menu items. "Load GROM" rips the graphics from the file (often seen as 994agrom.bin). "Save image as" saves the graphics for you to change with your favourite graphic package (eg. Photoshop). "Load image" loads your changed graphics or loads one of the included graphic files, that I have prepared for you. "Update GROM" changes the graphics in the TI-99/4A (use the 994agrom.bin or a copy).

This utility needs the .NET framework available for free at Microsoft.

Streaky Bacon
2008.01.29
stre.rpk cart Follow the on screen instructions ...
R5D4 blows a fuse
2008.01.08
R5D4.rpk cart This demo has two purposes. One is to use GROM. The other is to display bitmap pictures with high detail.

The cart detects if GROM is missing.

Two pictures are shown. Both pictures are original Star Wars photo releases.

Trichromatic
2008.01.02
tric.rpk cart This one is trying to increase then number of colors from 15 to 120 by swicthing colors rapidly. The effect is not overwhelming on emulators, but might turn out nice on the real hardware with an old tube television. Win994a comes out on top, Classic99 follows and MESS is the one having most problems with the rapid changes to the SIT/colors - unless you go to the advanced properties and select sync to monitor refresh, then you get a steady screen.

Later one of the designers of the VDP, Karl Guttag, told me, that he believes that the choice of palette was adjusted at least once after the first silicon and that it was an attempt to get the colors of typical television test pictures of the time.

Secret Scroll
2007.12.28
secr.rpk cart This one scrolls the entire screen one pixel once every frame.

Technically the demo scrolls the character set one pixel every frame (reading from ROM everytime). Also it uses double buffering: The screen image table (SIT) is switched between >1800 and >1C00 every 8th frame. The "backbuffer" is prepared with 1/8th of the screen (768 characters / 8 = 96 characters) every frame.

I have MESS and Win994a running the demo extremely smooth. Classic99 however is having some problems.

Use advanced properties in MESS to sync with monitor to get super smooth scroll.

Workaroundbench
2007.12.15
work.rpk cart Actually just a bit of exercise in sprite movement ...
Pictures
2007.12.13
pic1.rpk
pic2.rpk
cart Again I used C# to modify, convert and compress (RLE) to make a picture fit within an 8k cartridge. I will have to get better compression if I want pictures with greater detail to fit. There are two different demos.
Sonic Interlude
2007.10.28
sonic.rpk
cart Yet another quickie just because I think it looks nice. Nothing much happens here, except for a bit of scrolling.

Use advanced properties in MESS to sync with monitor to get super smooth scroll.

Tic Tac
2007.10.03
tic.rpk
cart Press N for new game. Merely a test for a user interface.
Marbles
2007.09.27
marb.rpk
cart Some beautiful marbles with outline, spotlight and reflection. Press and hold joystick to go a bit faster.
Snake Plissken
2007.09.07
snak.rpk
cart Just paint all you can with the joystick !
Level code
2007.06.09
code.rpk
cart Yet another routine for my library. This time I want to let the user enter a code. This could be a code to let the user start at a certain level in a game cartridge without having to deal with any tape or disk operations. The input field(s) could of course have other purposes.

You may enter any digit, space and move the cursor forth and back. And as it says on the screen, hitting Enter will proceed – in this demo, it will just terminate.

Binary
2007.06.06
bin.rpk
cart Yeah, the end of a trilogy ! This time I want to display a 16 bit register as binary (base 2). The individual bits are presented.

I’m using the routines for score, hexadecimal and then the new binary all in one. I’ve added a header and therefore there’s actually only 15 random values per screen. But then each random value is shown both as a score (using the odd system of decimal in steps of 5), hexadecimal and binary. Again, if you hold down the spacebar, you’ll get a new screen every frame.

Hexadecimal
2007.06.05
hex.rpk
cart Here’s another quickie for my library. This routine will probably only be used for debugging purposes. Take a register and show it on the screen in hexadecimal (base 16). If you do not know hexadecimal, take a tour on Google. You may recognise hexadecimals from working with graphics in TI Basic.

Hold down the spacebar to get a screen full per frame.

Know the score
2007.06.04
scor.rpk
cart Okay, so I’m building some sort of a library. This time I want a routine to take a value and show it on the screen. The value resides in a register and has 16 bits. This gives a range from 0 to 65,535. To make the range appear wider, I’ve decided to have the last digit take only the value of 0 and 5. This approach gives a range from 0 to 327,675 (65,535*5) in steps of 5, which to me looks nicer as a score in a game.

The demo produces 64 random 16 bit values and displays them. Then there is a small pause, before the process is repeated.

The Castle
2007.05.31
cast.rpk
cart A few screenshots reproduced in an 8k cartridge. To my knowledge this one appeared on the Sega Game 1000, which used the same graphic chip.
Cockroach
2007.05.05
2007.05.14
cockr.rpk
cart Added a few soundeffects. The three emulators mentioned at the top sound rather different. Should however be valid soundlists.
Windows
2007.04.12
win.rpk
cart This one draws windows of different sizes to the screen.

Press "C" to clear the screen.
Press "N" to get a new window.
Press and hold "M" to get multiple windows.
Press "B" to clear screen and get two windows.

More fonts
2007.03.07
moref.rpk
cart Some ColecoVision character sets. There’s quite a few with lower case and "descenders".
Poisonous Prison
2006.12.28
2007.01.16
2007.02.07
2007.02.14
pri01.rpk
pri02.rpk
pri03.rpk
pri04.rpk
cart
speech
0.1 Preliminary title screen with speech.
0.2 New title screen, color cycling and playfield.
0.3 Yet another new title, and a "Star Wars" sweep.
0.4 And another title.
Shapes
2006.12.07
shap.rpk cart This time I wanted to plot pixels in full blown bitmap. There are some perfect circles there.
Lightbulbs
2006.11.01
light.rpk cart
32kB
Wanted somekinda LED display. Implemented some commands with parameters. The commands are restart, wait, on, off, clear, frame, scroll, row and column. Then put up a small stream of commands. Well, this last part lacks in the department of design, and could have been much longer, but I wanted to move on to some other projects.
Title with fuel
2006.10.19
tifu.rpk cart A preliminary title screen for inspiration only. Then updated graphics for fuel and combined the two. Graphics at center removed.
Fuel of Parsec
2006.10.16
fuel.rpk cart Proposals for new fuel graphics in a tribute to Parsec.
Covergirl
2006.10.11
Removed

 

cart Reengineered a MSX title screen for the TI.
Intruder
2006.09.24
intru.rpk cart Splash the title all over the place. I quickly and randomly place a 3 by 11 character title on the screen. 10 titles are put to the screen, and then the image is enabled. Then there is a pause for the user, and then the image is disabled. The screen is then cleared and the process starts over. Titles are only placed on an empty area of the screen. From time to time you might see a longer pause - it’s the random routine trying to find an empty area.
Television
2006.09.08
tele.rpk cart Adjust your television.
Heartbreak today
2006.08.15
heart.rpk cart Pixels jumping out of the screen.
Maze
2006.06.05
maze.rpk cart Almost some amazing mazes
Asteroids
2006.05.06
2006.05.12
ast1.rpk
ast2.rpk
cart Some very initial graphics for another Atari VCS 2600 classic. Added some movement and spinning (use arrow keys).
Adventure
2006.04.26
adv.rpk cart An Atari VCS 2600 classic.
Waters edge
2006.03.26
water.rpk cart The sunshine and the ocean.
SqRxZ
2006.03.17
sqrxz.rpk cart Tried to put a GameBoy multicolored logo up in a masked bitmap.
Sudoku
2006.03.05
sudo.rpk cart This one uses the timer in the TMS9901. There are already different functionalities available here, and lastly I was caught up in pulling out soundlists from a few other cartridges.
Own up
2005.12.22
own.rpk cart Merry Christmas and happy new year.
Randomizer
2005.12.20
rand.rpk cart Just putting my random routine to a test.
Fingertips
2005.12.19
fing.rpk cart This is upon request. A demo that reads the joysticks and keyboard.
Halffull
2005.11.03
half.rpk cart Snow is falling. Partly logo of the game Halflife from Sierra and Valve.
Ballroom Blitz
2005.09.28
ball.rpk cart Reflection of scroll.
Level headed
2005.08.08
level.rpk cart Flashy.
Sixties man
2005.06.15
2005.06.15
2005.06.24
2005.07.17
2005.08.12
six01.rpk
six02.rpk
six03.rpk
six04.rpk
six05.rpk
cart First shot at a racing game.
Fontsets
2005.05.23
fonts.rpk cart A slideshow of 21 marvellous fontsets. There are a few original designs and the rest are named by reference.
Lego
2005.04.30
lego.rpk cart Watch those beautiful bricks falling from out of nowhere.
Hellraiser
2005.04.16
hellr.rpk cart
32kB
Wanted to scroll some text one pixel per frame update. And then made a title screen for a snake game. Added a few graphics of snake, flowers and stones.
Poppa Joe
2005.03.24
poppa.rpk cart 4 pictures (smurf) in 6 frames of animation (1,2,1,3,4,3). Added background.
Space invaders
2005.03.19
spac.rpk cart Patterns 8x10 from Atari 2600. Added some explosions.
California nights
2005.02.27
calif.rpk cart Just another quickie.
Turn it down
2005.02.08
turn.rpk cart
32kB
Found myself playing more than testing, so I think this will turn out nice someday. Characterset on splash from Atari 800.
No signal
2004.12.29
nosign.rpk cart Stupid idea, but quickly implemented. Then added sound.
Spin
2004.12.17
spin.rpk cart Again I used C# for converting 64x32-pixels image-files. 6 frames was used and are all visable at any given time.
Face
2004.12.04
face.rpk cart Used C# for converting a 256x192-pixel image-file (bmp) into 768 characters. If a byte is repeated to often, it’s compressed somewhat. The cartridge then decompresses before displaying in bitmap-mode. The image (monochrome) should take 6k (768 characters each with 8 bytes), but now takes less than 2k. The standard cartridge (8k) should then allow for 3 different fullscreen images.
Bitmap
2004.11.26
bitmap.rpk cart Tried the bitmap-mode before and failed. This time I spotted an error in the documentation. So I played around with the registers. Hold fire (or ctrl) to freeze the action.
Galaga
2004.11.25
galaga.rpk cart This looked impressive on the Coleco, so I had to try it out.
Lunar Lander
2004.11.15
lunar.rpk cart Again the C# mentioned below for the logo. And then just had a little fun.
Action
2004.10.30
action.rpk cart Then I used C# for converting a 64x32-pixel image-file (bmp) into 8 double-sized sprites. The landscape was done by hand.
Coleco
2004.09.22
coleco.rpk cart This time I used C# to extract and convert the graphical bits.
Commodore 64
2004.08.27
c64s.rpk cart Would like to try the text-mode. So I opted for a small emulation of the Commodore 64. You can move the cursor around and use enter - it will actually scroll the screen, when the cursor hits the bottom. The characterset had to be squeezed pixelwise from 8x8 to 6x8 - all of this done by hand.
Starfield
2004.07.23
2004.07.24
2004.07.25
2004.07.26
2004.07.28
2004.08.03
2004.08.06
2004.08.23
sf01.rpk
sf02.rpk
sf03.rpk
sf04.rpk
sf05.rpk
sf06.rpk
sf07.rpk
sf08.rpk
cart Got around to play with sound. There’s an independent sound of the laser, and in the background there’s a little tune. The original characterset is just shifted one pixel and masked making it appear fat. The O for both the letter and the digit has been replaced. Use the joystick (or ctrl and arrowkeys) to launch the laser and move the ship. Some handling of the score has been implemented. Plans for a nice background of flashing and moving stars. Test for one star has been done in Extended Basic.
Coke
2004.07.17
coke.rpk cart Wanted some more impressive graphics. Again the conversion from picture to code was made by hand. No action.
The Project
2004.07.12
proj.rpk cart My first attempt. I wanted impressive graphics. So the logo was designed and converted by hand. The background is made up of only one single character and it scrolls. Never got around to make the background consist of more characters. Also the scroll should have gone in all directions. Perhaps someday.

 
Items on this non-commercial subsite are presented for reference, nostalgia and/or educational purposes only. Some graphic, code, music, sound, speech, text, font, design, brand, logo, name, idea etc. may not be of my own original creation. If you are an author or owner of an item reproduced on this subsite, and wish to be creditted or have it removed, please contact me.