Jump to content
ballyalley

Atari 7800 Monitor Cart Examples/Subroutines

Recommended Posts

I recently dug out my Atari 7800 7800 Monitor Cartridge that I bought from Video 61 in August 2000.  It's been quite a few years since I've messed around with it.  I was showing a friend of mine how it worked.  We looked at the three demo programs that are on it (Bumper Tanks, Hex Demo and Color Display), plus we typed in a couple of the very short demonstration programs and tried those too.

 

I suppose that after nearly 20 years the battery in the cartridge that saves the RAM is dead, but I'd still like to play around with this rare cartridge and maybe make a video of it in use since I can't even find video of anyone using it (not even pictures or screenshots of the three demo programs on it).

 

I know that the manual for the 7800 Monitor Cart isn't freely available.  This is a shame, as this certainly would get more people interested in the program.  I wonder if Video 61 would allow, at least, the manual to be released as a pdf?

 

Did anyone ever write any short subroutines that I could type into this machine language monitor using those trusty keyboard controllers?  Are there any generic 7800 programs that I could use with the Monitor carts?

 

Adam

 

 

  • Like 1

Share this post


Link to post
Share on other sites

I took some pictures of the demos on the 7800 Monitor cart.  Here are the three pictures with descriptions of each program from the manual:

 

Atari 7800/2600 Monitor Cartridge Demo Programs

By Harry Dodgson, 1993.  Video 61 (Lance Ringquist) Re-release, 2000.

 

The following listings are for the three 7800 demo programs on the ROM. To run them, use the 'Addr' key, then enter their starting address. Use the 'Go' key to start them. The 7800 will wait for either the [Select] key to abort running them or the [Reset] key to start them. This gives you time to change to joystick controllers before starting the program.

 

$D000 Bumper Tanks

 

This is the closest thing to a 7800 game you will find on the cartridge. Plug 2 joysticks into the controller ports and drive around crashing into things. The left joystick controls the gold tank and the right one controls the orange one. This is done in 320A mode with 16 line zones. The computer controlled tanks reflect off the walls and bounce off each other in random directions. The player controlled tanks will simply stop when they collide with anything else. The fire buttons for both 7800 and 2600 joysticks are checked, but they don't do anything. Only one tank moves per 60th of a second so tanks running on parallel courses will appear to move in a jerking manner. The display lists are rebuilt from the beginning at the start of every screen by a fairly complex routine. A fast paced game might need to double buffer the Display List List and the display lists in order to allow the CPU to use the extra time for calculations. This code will be incorporated into a game I'm working on. Plug the keypad controllers back in before pressing the [Select] button to return to the monitor.

 

826375492_Atari7800MonitorCart-BumperTanks_Cropped.thumb.jpg.d35efff9eac22d0b923d5520d344874a.jpg

 

$D400 Hex Demo

 

This is a simple display demo in 160A mode with 16 line zones. It will be part of the background for a game I am working on. It is here merely as a small display example. There isn't anything to do with this program except to look at it. Press [Select] to return to monitor mode.

 

363968735_Atari7800MonitorCart-HexDemo_Cropped.thumb.jpg.9f41760073966acc0198226de72a6ede.jpg

 

$D800 Color Display

 

This is a program that was on the Atari 7800 development disk. I changed the data locations and the NMI routine to make it more efficient. It shows all 256 colors on screen at once. With a joystick in the left controller port, you can move around and change the background color. When you press the fire button, the currently selected color will be placed in one of the boxes on the right side of the screen. This allows you to see the effect of any 3 color combination against any background. Plug the keypad controllers back in before pressing the [Select] button to return to the monitor.

 

296551025_Atari7800MonitorCart-ColorDisplay_Cropped.thumb.jpg.25bcf38d9224c1086cc78196f6e0c5c3.jpg

 

Of course, the manual has the source code for each of these three programs.

 

Adam

 

 

  • Like 1

Share this post


Link to post
Share on other sites

I made a video overview of the 7800's monitor cart.  The video is an overview of the "7800/2600 Machine Language Monitor Cartridge" (Version 2) for the Atari 7800 game console.  Version 1, of the Monitor was published by Harry Dodgson in 1993.  Version 2 was published by Video 61 in 2000.

 

This video shows how to use this Atari 7800 6502 machine language monitor program to communicate with the 6502.  Like the monitor itself, this video is aimed at someone who knows a little about 6502 of programming.  However, even someone without such knowledge should be able to gain some insight into the inner workings of this humble and early homebrew Atari 7800 utility program that was released on cartridge when the Atari console homebrew scene was in its earliest infancy.

 

You can view it on YouTube, here:

 

 

You an view and/or download it from Archive.org, here:

 

https://archive.org/details/Atari78002600MonitorCartridgeHomebrewOverview

 

The three demonstration programs included on the cartridge (Bumper Tanks, Hex Demo and Color Display) are run and the hexadecimal program listings are shown in the monitor.  Also, a few of the example programs are typed into the monitor and run.  Finally, a few of the monitor's built-in subroutines are used to show how to generally program the 2600 and 7800 using this cartridge.

 

I'm sorry about the fuzziness of the close-up video of the TV screen in the later part of the video; it was the best that I could do with my camera.  I may remake and expand the later part of the video that is fuzzy by using an Atari 7800 with a direct video capture connection.  This would dramatically clear up the video.  For now, this is the best that I can do under the circumstances.

 

The following information is from the over 200-pages of documentation for the Monitor cartridge.

 

"7800/2600 Monitor Cartridge" Overview

 

The 7800 Monitor cartridge contains a 32K byte EPROM, an 8K byte RAM chip, a lithium battery for the RAM, and a few miscellaneous parts to make them all work together. The EPROM is logically divided into two sections; one half for 2600 VCS mode and the other half for 7800 Pro System mode. The battery provides power to the RAM chip allowing the programs and data on it to be retained when the power to the 7800 is turned off. The battery is not user-replaceable. The EPROM on the cartridge is socketed however and can be exchanged with updated software without having to replace the entire cartridge.

 

The 16K of EPROM allocated for 7800 mode contains:

 

- Version 2.0 of the 7800 Monitor (includes 8 new commands).

- Three graphic demonstration programs.

- Five example programs to help learn the monitor commands.

 

There is some unused space on the 7800 half of the EPROM which is reserved for future upgrades of the monitor. The 7800 Monitor allows you to enter programs for either 7800 mode or 2600 mode. You can also run and debug programs for 7800 mode easily. To run programs for 2600 mode, you must change to the 2600 mode of the cartridge.

 

The 16K of EPROM allocated for 2600 mode contains:

 

- Three classic Atari video games - Combat, Space War, and Slot Racers.

- Three video display demonstration programs.

- A menu program.

 

The menu program allows you to choose between all the programs on the ROM or a program loaded into RAM. The Atari games have been modified slightly for inclusion on the ROM.

Adam

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
Posted (edited)

Adam,

 

You did an amazing job on documenting this oddity! I wouldn't have been able to test my cart without your tutorial video. I was able to confirm everything is working and loads correctly I'm happy to say!

 

I'm guessing my cart may have been from a later batch based on the different labels. I've attached a few photos for reference. Would be curious to know if the battery replacement is something that could be done relatively easy. Getting the label off without ruining it would be my biggest concern.

 

Thank you again, for taking the time to extensively cover the monitor cart.

PXL_20210513_133713883.jpg

PXL_20210513_133731283.jpg

PXL_20210513_133808525.jpg

PXL_20210513_133855236.jpg

PXL_20210515_150952161~2.jpg

PXL_20210515_151021920.MP~2.jpg

PXL_20210515_151222784.jpg

PXL_20210515_151456040.jpg

PXL_20210515_151508077.jpg

Edited by rsiddall
  • Like 1

Share this post


Link to post
Share on other sites
On 5/17/2021 at 1:00 PM, rsiddall said:

You did an amazing job on documenting this oddity! I wouldn't have been able to test my cart without your tutorial video. I was able to confirm everything is working and loads correctly I'm happy to say! [...] Thank you again, for taking the time to extensively cover the monitor cart.

 

 

I'm glad that you made use of the video.  It's such a neat cart to play around with for those into trying out non-games on consoles.  Over the past week or so, I scanned my 7800/2600 Monitor for "rsiddall" to use.  He has printed it out and will be trying it out.

 

Adam

  • Like 1

Share this post


Link to post
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...