| Welcome to my small subsite of 99er.net where I mainly 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 | Downloads | Snapshot | Notes | Remarks |
| Early clock 2009.03.04 | early.swf |
| flash | This is a TI-99/4A 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 borders. This technique is shown in the previously released demo called Oh Yeah. |
| Pong 2009.02.21 | pongc.bin
pong.tidisk |
| cart | Use joystick to move bat ... |
| Lettres d'amour 2009.01.27 | lettrc.bin
lettr.tidisk |
| 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 | solidc.bin
solid.tidisk |
| cart or disk | First of all we’ve got some horizontal color lines jumping up and down. Also there is a sound sample playing. I took a small sound loop (link to mp3), divided it into small slices, each having duration equal to 1/60 of a second. Then the overall frequency and attenuation were calculated for each slice. The result is rather nice for soundeffects, but awful for simple speech or music. The middle of the screen is infested with some germ developing into a catastrophic splash. |
| Funk it up 2008.10.04 | funkc.bin
funk.tidisk |
| cart or disk | Just another quickie ... |
| Space panic 2008.09.25 | pan01c.bin |
| 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.09 2008.08.19 | blo01c.bin
blo02c.bin blo03c.bin |
| 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 | skepc.bin |
| cart | Remember Etch A Sketch ? Use joystick to move around. Press Quit ("Fctn" & "=") to try a new. |
| Lieutenant Sega 2008.05.21 | liec.bin |
| 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 | windyc.bin |
| cart | This is a tribute to the ChicagoTIUsersGroup’s-show (UStream.tv), which I hope to catch later today. 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. Just added a bit of color. |
| TrueType 2008.04.27 | ti994a.ttf |
| font | This TrueType font shows off the characters 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 | ohyc.bin |
| cart | This one will be based on games like Canyon Bomber, Air Attack, Blitz, City Bomber etc. Even though we work in bitmap mode, we have to support the logo with a few double sized sprites. Take a closer look here. Actually we need 5 sprites for 5 of the 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 horizontal, hence I opted for some vertical adjustment of the letters. The letters now appear to jump up and down a bit, but then give room for the display of the 5th sprite. A well known spaceship has been added. The spaceship now moves across the screen and slides in and out of the border using the early clock attributes. 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 apparently does not support early clock. Oh, the E/A-manual (page 339 paragraph 2) is perhaps not too precise on this early clock matter: The last bit of the four most-significant bits in the fourth byte control the early clock of the sprite. A bit tricky, since it’s important to know if you have to look at the bits from the left or the right. Bottomline, Win994a uses another bit. 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. Dripstones added.
|
| Sudoku 2 2007.12.29 - 2008.04.20 | sud2c.bin |
| cart | Another graphical design shot at Sudoku. This project had it’s own blog, and intent was to release a real cartridge with manual and all. Unfortunately the hardware guy stopped communicating, and after another 3 months period, I decided to fold. |
| Manic Miner 2008.03.12 | manic.bin |
| cart | Loading and title screen of the old blockbuster Manic Miner originally for the ZX Spectrum. Here’s a video at YouTube about the computer, the game and the author. |
| Daffy Duck 2008.02.26 | daffc.bin |
| 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 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 | strec.bin |
| cart | Follow the on screen instructions ... |
| R5D4 blows a fuse 2008.01.08 | R5D4c.bin
R5D4g.bin |
| 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.bin |
| 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 | secrc.bin |
| 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 | workc.bin |
| cart | Actually just a bit of exercise in sprite movement ... |
| Pictures 2007.12.13 | pic1c.bin pic2c.bin |
| 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.bin |
| 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 | ticc.bin |
| cart | Press N for new game. Merely a test for a user interface. |
| Marbles 2007.09.27 | marbc.bin |
| cart | Some beautiful marbles with outline, spotlight and reflection. Press and hold joystick to go a bit faster. |
| Snake Plissken 2007.09.07 | snakc.bin |
| cart | Just paint all you can with the joystick ! |
| Level code 2007.06.09 | codec.bin |
| 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 | binc.bin |
| 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 | hexc.bin |
| 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. The benefits from using hexadecimal representation are:
|
| Know the score 2007.06.04 | scorc.bin |
| 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 trick in using this routine, is to "know the score" ... If I want to add 75 points to the score, I should actually only add 15 (75/5) to get the desired effect. If I would want to add an extra life, when the score gets to (or above) 20,000, I will have to compare the register (the score) with 4,000 (20,000/5). One byte changed, and it will show values with leading zeroes, eg. 001234 instead of just 1234. |
| The Castle 2007.05.31 | castc.bin |
| 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 | cockrc.bin |
| cart | Added a few soundeffects. The three emulators mentioned at the top sound rather different. Should however be valid soundlists. |
| Windows 2007.04.12 | winc.bin |
| cart | This one draws windows of different sizes to the screen. Press "C" to clear the screen. |
| More fonts 2007.03.07 | morefc.bin |
| cart | Daniel Bienvenu has some 22 fonts on his ColecoVision website. There’s quite a few with lower case and "descenders". I’ve used a few of those in this demo. |
| Poisonous Prison 2006.12.28 2007.01.16 2007.02.07 2007.02.14 | pri01c.bin pri02c.bin pri03c.bin pri04c.bin |
| 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 | shapc.bin |
| cart | This time I wanted to plot pixels in full blown bitmap. I tested the bitmap layout. Constructed a plot routine. I know this routine is not optimized, but I made it quickly from scratch, and understand what’s happening. I know I should swap it with the one in the E/A-manual. My first intentions was plotting and clearing within a frame or so. Preferably some spinning sine waves. I was then looking for algorithms on the net for this. I then fell over this about producing circles. I tried to implement it, but it would only produce diamonds. I loosely scanned my code for errors. Thought about replacing the logic with some "homebrew" with acceleration on pixel speed like what I used in the "Heartbreak today" demo. Well, I continued my search on the net, and found this one. Now, I was getting squares and diamonds. Then I found this one. Now, I was getting curved edges. I fiddled around with some of the values, and ended up with this. There are some perfect circles there. |
| Lightbulbs 2006.11.01 | lightc.bin |
| 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 | titlc.bin tifuc.bin |
| 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 | fuelc.bin |
| cart | Proposals for new fuel graphics in a tribute to Parsec. |
| Covergirl 2006.10.11 | Removed
| cart | Reengineered a title screen for the TI. | |
| Intruder 2006.09.24 | intruc.bin |
| 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 | telec.bin |
| cart | Adjust your television. |
| Heartbreak today 2006.08.15 | heartc.bin |
| cart | Pixels jumping out of the screen. |
| Maze 2006.06.05 | mazec.bin |
| cart | Almost some amazing mazes |
| Asteroids 2006.05.06 2006.05.12 | ast1c.bin
ast2c.bin |
| cart | Some very initial graphics for another Atari VCS 2600 classic. Added some movement and spinning (use arrow keys). |
| Adventure 2006.04.26 | advc.bin |
| cart | An Atari VCS 2600 classic. |
| Waters edge 2006.03.26 | waterc.bin |
| cart | The sunshine and the ocean. |
| SqRxZ 2006.03.17 | sqrxzc.bin |
| cart | Tried to put a GameBoy multicolored logo up in a masked bitmap. |
| Sudoku 2006.03.05 | sudoc.bin |
| 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 | ownc.bin |
| cart | Merry Christmas and happy new year. |
| Randomizer 2005.12.20 | randc.bin |
| cart | Just putting my random routine to a test. |
| Fingertips 2005.12.19 | fingc.bin |
| cart | This is upon request. A demo that reads the joysticks and keyboard. |
| Halffull 2005.11.03 | halfc.bin |
| cart | Snow is falling. Partly logo of the game Halflife from Sierra and Valve. |
| Ballroom Blitz 2005.09.28 | ballc.bin |
| cart | Reflection of scroll. |
| Level headed 2005.08.08 | levelc.bin |
| cart | Flashy. |
| Sixties man 2005.06.15 2005.06.15 2005.06.24 2005.07.17 2005.08.12 | six01c.bin six02c.bin six03c.bin six04c.bin six05c.bin |
| cart | First shot at a racing game. |
| Fontsets 2005.05.23 | fontsc.bin |
| cart | A slideshow of 21 marvellous fontsets. There are a few original designs and the rest are named by reference. |
| Lego 2005.04.30 | legoc.bin |
| cart | Watch those beautiful bricks falling from out of nowhere. |
| Hellraiser 2005.04.16 | hellrc.bin |
| 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 | poppac.bin |
| cart | 4 pictures (smurf) in 6 frames of animation (1,2,1,3,4,3). Added background. |
| Space invaders 2005.03.19 | spa01c.bin |
| cart | Patterns 8x10 from Atari 2600. Added some explosions. |
| California nights 2005.02.27 | califc.bin |
| cart | Just another quickie. |
| Turn it down 2005.02.08 | turnc.bin |
| 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 | nosignc.bin |
| cart | Stupid idea, but quickly implemented. Then added sound. |
| Spin 2004.12.17 | spinc.bin |
| 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 | facec.bin |
| 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 | bitmapc.bin |
| 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 | galagac.bin |
| cart | This looked impressive on the Coleco, so I had to try it out. |
| Lunar Lander 2004.11.15 | lunarc.bin |
| cart | Again the C# mentioned below for the logo. And then just had a little fun. |
| Action 2004.10.30 | actionc.bin |
| 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 | colecoc.bin |
| cart | This time I used C# to extract and convert the graphical bits. |
| Commodore 64 2004.08.27 | c64sc.bin |
| 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 | sf01c.bin sf02c.bin sf03c.bin sf04c.bin sf05c.bin sf06c.bin sf07c.bin sf08c.bin |
| 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 | cokec.bin |
| cart | Wanted some more impressive graphics. Again the conversion from picture to code was made by hand. No action. |
| The Project 2004.07.12 | projc.bin |
| 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. |