Jump to content
IGNORED

New game Breakout, assembly breaking out of the basic sandbox


Eric Lafortune

Recommended Posts

Hi all,

 

I've just released Breakout, a simple but smooth implementation of the classic game. Following in the footsteps of @Vorticon, @senior_falcon and others, I've developed it in assembly for an unexpanded console, by breaking out of the TI BASIC sandbox. It's a complete game this time. It's meant to satisfy and spark nostalgic thoughts about the great things that could have been if we had known these techniques in the 80s.

 

You can find the source code and binary images on the Breakout project page on Github. The source code is documented and reusable. The jailbreak code assembles to a BASIC program file with the actual assembly code embedded. The assembly code consists of snippets of up to 196 bytes that get swapped into scratchpad RAM from VDP RAM. The code takes over complete control of the computer and doesn't use any built-in subroutines. There are source files with generally useful definitions and macros for accessing VDP, GROM, CRU, sound, etc.

 

Enjoy! Thoughts and questions are welcomed!

 

titlescreen.png

 

Update: Added a direct link to the binary images, which now include the TI BASIC program file alongside the Mame disk image file.

Edited by Eric Lafortune
Clarified references to downloads
  • Like 19
  • Thanks 8
Link to comment
Share on other sites

1 hour ago, Eric Lafortune said:

Hi all,

 

I've just released Breakout, a simple but smooth implementation of the classic game. Following in the footsteps of @Vorticon, @senior_falcon and others, I've developed it in assembly for an unexpanded console, by breaking out of the TI BASIC sandbox. It's a complete game this time. It's meant to satisfy and spark nostalgic thoughts about the great things that could have been if we had known these techniques in the 80s.

 

You can find the source code and the disk image on the Breakout project page on Github. The source code is documented and reusable. The jailbreak code assembles to a BASIC program file with the actual assembly code embedded. The assembly code consists of snippets of up to 196 bytes that get swapped into scratchpad RAM from VDP RAM. The code takes over complete control of the computer and doesn't use any built-in subroutines. There are source files with generally useful definitions and macros for accessing VDP, GROM, CRU, sound, etc.

 

Enjoy! Thoughts and questions are welcomed!

 

titlescreen.png

Nice. I was impressed when Same Colors used this technique. Then there was that little UFO Shooter. Neat to see something else using this technique.

  • Like 2
Link to comment
Share on other sites

43 minutes ago, jrhodes said:

@Eric Lafortune, I just tried it in JS99er.

Its worth noting that . and / on a real TI keyboard are not side by side. A better control scheme would have been Z X for left/faster left, and , . for right/faster right.

Other then that, love it!

Still better could be joystick for me please ? directions plus the faster when fire button is pressed. 

I really like the idea that you still developing nice games, Eric! :)

Edited by ti99iuc
  • Like 3
Link to comment
Share on other sites

One recommendation I would make is to change the right movement keys from "." and "/" to "," and "." as the slash key is not next to the period on a real TI keyboard.

 

EDIT: HA!  I was working from a un-refreshed page and had no idea @jrhodes has posted the same thing :)

  • Like 2
Link to comment
Share on other sites

11 hours ago, oddemann said:

Not for C99?

no, download the .dsk that vorticon provided on post 15 ... go to TI Basic from the TI menu (on JS99er or Classic99 ) and with the disk loaded to the drive type OLD DSK1.BREAKOUT press enter and the miracle happens.  This is pretty awesome stuff 

  • Like 1
Link to comment
Share on other sites

37 minutes ago, Retrospect said:

no, download the .dsk that vorticon provided on post 15 ... go to TI Basic from the TI menu (on JS99er or Classic99 ) and with the disk loaded to the drive type OLD DSK1.BREAKOUT press enter and the miracle happens.  This is pretty awesome stuff 

Impressive what can be done on the TI and... very nice program! Back in the day... this would have been a huge hit!

The hole program is nicely done!

(Thx Retro)

  • Like 2
Link to comment
Share on other sites

34 minutes ago, SteveB said:

Never done that ... which emulator offers a good way to do so?

I saved the program to a FIAD disk in Classic99, then used CS1er to convert it to a wav file.  From there you can use your computer or phone to play into the cassette port (takes some jiggering as most audio outputs have a maximum volume to prevent ear damage.)  You can also load the resulting wav into Classic99.

 

19 minutes ago, senior_falcon said:

All I get is STRING NUMBER MISMATCH IN 0

For what it's worth, my SAMECOLORS program works fine using the same trick

Can someone for whom this works please post it as a TI BASIC program? Thanks!

Here is the TIFILES extract from the disk, as well as my converted wav file. BREAKOUT.zip

This works for me in Classic99 as well as on my real console.

  • Like 4
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...