þþ¢XdAX; Checksum Verifier Rev 5.1 (Modified 4.7 by Glenn S. Bruner)nX;xX; John Hinman‚X; Atari Inc.Œ…DEFCSÀÂ;;DEFENDERH…DINCSr£;;DELUXE INVADERSR…DIGCSAø;;DIG DUG\…DD1CSí;;DIG DUG (OLD)f…DD2CSjq;;DIG DUG (NEW)p…DK1CSÖÃ;;DONKEY KONGz…DK2CS¥L;;DONKEY KONG JR„ …ESFCSt;;EASTERN FRONT (A)Ž …EFBCS3¥;;EASTERN FRONT (B)˜…EDUCSƒî;;EDUCATION¢„ETCS<`;;E.T.¬"…FL1CSw;;FINAL LEGACY (TEXT)¶#…FL2CSöE;;FINAL LEGACY (ICONS)À…FRGCSÁ²;;FROGGERÊ…FR2CSr;;FROGGER 2Ô…GLXCSè;;GALAXIANÞ…GRDCS†ä;;GRIDRUNNERè…DEMCS„Ê;;IN-STORE DEMOò…PJBCSŸŽ;;JAMES BONDó…JGLCS‚0;;JUNGLE HUNTü…LNPCSÕx;;LEARNING PHONE!…MB2CSú;;MICROSOFT BASIC II…MILCSdk;;MILLIPEDE…M49CS”;;MINER 2049R$…MCMCS€±;;MISSILE COMMAND.…MSPCS€ ;;MSPACMAN8…MUSCS;;MUSIC COMPOSERB…PACCSaë;;PAC-MANL …PCSCS™Ÿ;;PARKER BROS CHESSV…PILCSñ;;PILOT`…POLCSsi;;POLE POSITIONj…QIXCSZ›;;QIXt…QX7CSV«;;QIX REV 7~…SEACS¨°;;SEAFOXˆ…SPCCSRo;;SUPER PACMAN’…SPICS Ð;;SPACE INVADERSœ…SPYCSí3;;SPY HUNTER¦…STRCS4Ñ;;STAR RAIDERS°…SBOCSÉÑ;;SUPER BREAKOUTº…TL1CS/‚;;TELELINK I (A)Ä…TLBCS/j;;TELELINK I (B)Î…TL2CS.h;;TELELINK IIØ…TENCS7;;TENNISâ…TRFCS4ç;;TRACK AND FIELDì…TTTCS¬;;TIC-TAC-TOEö…VDECSx‡;;VIDEO EASEL†P123CS;;1200 PITS R 1.3  …DBICSÖ);;DISC BURN-IN V. F …BIECSÛT;;DISC BURN-IN V. E!†DIAGCSLJ;;DISC DIAG REV 0.2(†DMFGCSÛã;;DISC MFG TESTS2†S301CSuv;;SALT 3.01<†SA01CS£E;;SALT A.01F†SA02CSñD;;SALT A.02P$†SC01CS>&;;1400 SUPER SALT C.01Z&†D810CSÉÙ;;810 DISC DIAG FD100006d"†EDUSCSƒÖ;;EDUCATIONAL SYSTEMn…ATGCSä;;ATARIGRAPHICSx$†SSRACSçá;;CPS SUPER SALT REV A‚…ATACSÅ‘;;ATARI ARTIST (B)Œ!†ATLLCSªœ;;ATARI LAB - LIGHT–'†ATLTCS‡õ;;ATARI LAB - TEMPERATURE …JOUCSY;;JOUSTª%…T14CSn;;1400XL TELECOMUNICATOR´…LOGCSVÆ;;LOGO¾…PENCS2A;;PENGOÈ…ROBCS¦;;ROBOTRONÒ(†C810CSHU;;810 DISC COMP TEST R0.00Ü †S850CSt ;;850 SALT REV 1.0æ)†SS14CS¼E;;1400 SUPER SALT B/I REV Dð$†SPERCSÿõ;;PERITEL SALT R 2.07Fú†S205CSaW;;SALT 2.05!†BIRECS²ç;;810/815 B/I REV E†S204CS®;;SALT 2.04"†S12ACSê;;1200 SALT REV A.02"!†P122CSz#;;1200 PITS REV 1.2,$†DMR0CS9;;DISK MFG TESTS REV 06…BSCCS«B;;BASIC REV C@…XABCSvl;;XEGS AIRBALLJ…XACCSLç;;XEGS ARCHONT…XBBCS);;XEGS BALLBLAZER^$…XBYCS!,;;XEGS BARNYARD BLASTERh…XBZCSÒÊ;;XEGS BATTLEZONEr…XBMCS½Ã;;XEGS BLUE MAX|…XBHCS›$;;XEGS BUG HUNT†…XCBCSÙi;;XEGS CROSSBOW …XDCCSB;;XEGS DARK CHAMBERSš"…XMMCS6i;;XEGS MIDNIGHT MAGIC¤!…XDFCSëÉ;;XEGS DESERT FALCON®…XFNCS—–;;XEGS FIGHT NIGHT¸&…XFSCS6^;;XEGS FLIGHT SIMULATOR 2Â…XGTCSÛd;;XEGS GATOÌ…XHBCS±;;XEGS HARDBALLÖ'…XRFCSª;;XEGS RESCUE ON FRACTALUSà…XTFCSC;;XEGS THUNDERFOXêX;ôX; VariablesþX;€*„STAD;;START ADDR OF MEMORY TO CHECK…ENDAD;;END ADDR& „CSLO0 „CSHI:…CSLO8;;8K CHECKSUMD …CSHI8N'…ASCCS;;ASCII BUFFER FOR CHECKSUMX%†DELAYF;;FLAG EXTRA DELAY IF 2Kb…FAILF;;FAILURE FLAGl…FORMF;;FLAG BAD FORMATv …CARTL;;COPY OF START ADDR€,…BKGND;;STORAGE FOR BACKGROUND PATTERNŠ „OVRL;;STORAGE FOR OVERLAY” …TIME0;;VAR FOR DELAY LOOPž …TIME1¨ ‚T0²X;¼ÀÆX;ÐX; Start of checksum routineÚX;ä …OPEN1;;OPEN IOCB1î#…START †CLRSCR;;CLEAR THE SCREENø$> …PTMSG;;DISPLAY HEADER Q>P†COLORB;;RESTORE BACKGROUND  P…FORMF*Q> 4 P„STAD>P…CARTL;;SAVE START ADDRH †CHKSUM;;CHECKSUM TOP 8KR Q„CSLO\P…CSLO8;;SAVE 8K CHECKSUMf Q„CSHIp P…CSHI8zQ…FAILF;;COMPARE?„F†GOODCS;;FOUND ITŽQ>€˜P…CARTL;;SAVE START ADDR¢ P„STAD¬ †CHKSUM;;CHECKSUM 16K¶ Q…FAILFÀ H…BADCSÊX;ÔEX; FOUND CHECKSUM IN TABLE. IF 16K, CHECK IF PROMS ARE REVERSED BYÞ?X; READING 0 BYTE AND SEEING THAT $8000<=INIT. ADDRESS<$C000èX;ò*†GOODCSQ…CARTL;;GET START ADDR OF MATCHü R>€;;16K? H†GOODCT;;IF NOT, MUST BE OK Qü¿ %H‡BADFORM;;IF NOT0, ILLEGAL FORMAT$ Q…INITV;;GET INIT VECTOR. R>€8 D‡BADFORM;;ADDR<$80?B R>ÀL E‡BADFORM;;ADDR>$C0?V D†GOODCT` ‡BADFORMQ>ÿj P…FORMF;;FLAG ILLEGAL FORMATt )X; Display cartridge name and checksum~ %†GOODCT †DSCART;;X=OFFSET TO TABLEˆ †DSCKSM’  „CRLF;;NEXT LINEœ Q…FORMF¦ F†TELECK° X;Display bad format msgº $> ;;BAD FORMAT MSGÄ …PTMSGÎ Q>ƒREDØ P†COLORBâ „BEEPì X; See if this is Telelink IIö †TELECKQ„CSHI R>5…TL2CS H†NOTELE Q„CSLO R>4…TL2CS( H†NOTELE2 -!†NOVRAM;;TEST NON-VOLATILE RAM, NO RETURN< '†NOTELE …DELAY;;NOT TELE II, SO LOOPF …DELAYP Q†CONSOLZ R>;;START KEY?d F„LISTn .!…START;;LOOP FOREVER OR UNTIL BAD CHECKSUMx X; Bad checksum (no match)‚ …BADCSQ>ƒREDŒ P†COLORB– „BEEP  $>;;BAD CHECKSUM MSGª …PTMSG´ Q„CSLO¾ *X; Display 16k checksum and 8k checksumÈ $>;;16K CS MSGÒ …PTMSGÜ  †DSCKSM;;DISPLAY 16K CSæ  „CRLF;;NEXT LINEð $>ú  …PTMSG;;8K CS Q…CSLO8 P„CSLO Q…CSHI8" P„CSHI,  †DSCKSM;;DISPLAY 8K CS6 :X; If START key pressed, display list of carts in table@ %†STARTKQ†CONSOL;;READ SWITCHES REGJ R>;;START KEY BEEN HIT?T H†STARTK^ „LIST „CLOS;;CLOSE GRAPHICSh  …OPEN0;;OPEN FOR TEXT MODEr †CLRSCR| ,X; Display all carts with their checksums† $> &‚T0š &ð;;INHIBIT CURSOR¤ $…LSTLP †DSCART;;DISPLAY CART NAME® '"†ROWCRS;;MOVE BACK TO PREVIOUS LINE¸ Q>  P†COLCRS;;MOVE TO MID LINEÌ $‚T0Ö  …DSPCS;;DISPLAY CHECKSUMà „CRLFê #‚T0ô #‚T0þ $‚T0 (>†CSTEND;;LAST ONE? F†LSTEND;;YES, THEN BRANCH Q†ROWCRS;;GET CURSOR ROW& R>0 H…LSTLP: $>;;NEXT PAGE MSGD …PTMSGN %†NXTPAGQ†CONSOL;;READ SWITCHES REGX R>;;START KEY?b H†NXTPAGl & †CLRSCR;;CLEAR SCREEN FOR NEW PAGEv $‚T0€ !…LSTLPŠ †LSTEND$>” …PTMSGž !†STARTK¨ X;² &X;*********************************¼ X; Telelink II testÆ @X; Test ram at 9000-90FF and non-volatile ram masked by same.Ð >X; First recall data from novram. Test first 4 nibbles forÚ @X; previously written flag. If not flagged, test from start:ä !X; Wrtie 5 to all locationsî +X; Save in novram, recall from novramø 9X; Test each location for data=5, then write data=A +X; Save in novram, recall from novram X; Test for data=A *X; Display message to turn off power BX; On second entry, after recall from novram, flag will be set,* X; so test for data=A.4 X;> X; Power-on checkH ?X; Recall non-vol memory and test 1st 4 bytes for previouslyR X; written pattern.\ X;f †NOVRAMQÕ;;RECALL NOVRAMp ,X; PTMSG provides delay for novram recallz #$>;;EOL AFTER CHECKSUM DISPLAY„ …PTMSGŽ Q„TRAM;;GET FIRST LOCATION˜ M>;;MASK FOR LO NIBBLE¢ R>;;LOOK FOR FLAG¬ H†RAMTST;;BR 1ST TIME THRU¶ Q„TRAM;;2ND FLAGÀ M>Ê R> Ô H†RAMTSTÞ Q„TRAM;;3RD FLAGè M>ò R>ü H†RAMTSTQ„TRAM;;4TH FLAGM>R> $&H†RAMTST;;BR IF NO MATCH (1ST PASS).8X; First 4 bytes were written, so this is second pass80X; Now read ramand compare to overlay patternB*†READRMQ> ;;2ND TIME THRU, TEST NOVRAML P…BKGNDV$>;;SKIP FLAG BYTES`"…RDRAMQ„TRAM9;;LOOK FOR OVERLAYjM>;;LOW NIBBLE ONLYt R…BKGND~ H„ENOVˆ2’ H…RDRAMœ$>;;GOOD CART MSG¦ H†DSPNOV°„ENOVQ>ƒRED;;NOVRAM FAILEDº P†COLORBÄ „BEEPÎ$>;;BAD RAM MSG؆DSPNOV …PTMSGâQ>ìP„TRAM;;RESET FLAGöPÕ;;SAVE IN NOVRAM†ENDTST!†ENDTST;;NO EXIT X;X; Do ram test on first pass†RAMTSTQ>( P…BKGND2# „FILL;;WRITE BACKGROUND PATTERN<PÕ;;SAVE IN NOVRAMF%> P …MARCH;;MARCH A ACROSS RAMZ E†RAMERRdQ>;;SET FLAGn P„TRAMxQ> ‚ P„TRAMŒQ>– P„TRAM Q> ª P„TRAM´PÕ;;SAVE RAM IN NOVRAM¾$>È …PTMSGÒ !†ENDTSTÜX;æ†RAMERR$>;;RAM ERROR MSGð …PTMSGú Q>ƒRED P†COLORB „BEEP†ENDERRH†ENDERR;;NO EXIT"X;*************,X; Subroutines6X;*************@X;JX; Close C.B.1T„CLOSQ>…CLOSE^ H†OPNCLShX; Open C.B.1 for text moder …OPEN0Q>| F†GRMODE†#X; Open C.B.1 for graphic mode 2 …OPEN1Q>š†GRMODEP…IOCB1 ;;GR MODE 2¤X;® Q>„OPEN¸!†OPNCLSP…IOCB1;;OPEN IOCB 1 Q>4„SCRNÌ P…IOCB1Ö Q>5„SCRNà P…IOCB1êQ>ôP…IOCB1 ;;WRT ONLYþ$>;;POINT TO IOCB1!„CIOV;;GO DO IT OP SYSX;X; New line&„CRLFQ>ƒEOL0 H†PUTCHR:X; Clear the screenD,†CLRSCRQ>};;CHAR IS CLEAR SCREEN CONTROLN†PUTCHR$>„PUTBX&…IOCB1;;CMD IS PUT CHARb$>l&…IOCB1;;BUF LENGTH 0v &…IOCB1 €$>;;POINT TO IOCBŠ !„CIOV”X;ž-X; Calculate checksum from (STAD) to $C000¨†CHKSUMQ>À²!P…ENDAD;;SET END ADDRESS=$C000¼%>Æ '„STADÐ '„CSHIÚ '„CSLOä „DOCS;;CALCULATE CHECKSUMî" †RDCKSM;;COMPARE AGAINST TABLEø:X; X; Do checksum S/RX; „DOCSQ@„STAD7;;GET A BYTE* †CHKSAD;;ADD TO LAST BYTE43>H„DOCS;;BR IF SAME PAGEH#„STAD;;NEXT PAGE PLEASER Q„STAD\R…ENDAD;;LAST PAGE??fH„DOCS;;BR IF NOPEp,z:;;WE'RE DONE!!„X;ŽX; Checksum S/R˜X;¢ †CHKSAD,¬O„CSLO;;ADD TO LAST¶P„CSLO;;SAVE ITÀD…NOCRY;;BR IF NO CARRYÊ#„CSHI;;WE HAD CARRYÔ …NOCRY:ÞX;è#X; Read and compare checksum S/RòX;ü†RDCKSM$>&…FAILF;;CLEAR FLAG"†CSLOOP(>†CSTEND;;END OF TABLE? H†NOTEND$ ‡BADCART2.Q>ÿ8 P…FAILFB:;;DIDN'T FIND ITL.†NOTENDQ…CSTBL9;;GET CS BYTE FROM TABLE(LO)V2;;UPDATE THE INDEX`R„CSLO;;IS IT A GOODIE?jF…LOCMP;;BR IF IT ISt …NOCMP2~!†CSLOOP;;AIN'T IT,TRY AGAINˆ-…LOCMPQ…CSTBL9;;GET CS BYTE FROM TABLE(HI)’R„CSHI;;IS IT A GOODIE?œH…NOCMP;;BR IF NOT¦CX;WE HAVE A CHECKSUM; IF IT IS THE PILOT CHKSUM, MAKE SURE IT IS°%X;NOT A BASIC CART WITH PIN 1 OUT.ºQ„CSLO;;CHECK IF PILOT CSÄ R>4…PILCSÎH†RTINDX;;NOØ Q„CSHIâ R>5…PILCSìH†RTINDX;;NOöQœ;;CHECK THIS ADDRR>ª;;BASIC HAS AA HERE H†RTINDX;;NOT BAICQœ;;NEXT ADDRR> ;;BASIC HAS 20(H†RTINDX;;NOT BASIC2$$>†CSTEND;;THIS IS BAD BASIC CART< !‡BADCARTF.†RTINDX:;;RETURN WITH INDEX TO THE CHECKSUMPX;Z,X; Print message; X is index to msg tabled$…PTMSGQ†MSGTBL9;;POINT TO MESSAGEn P…IOCB1x Q†MSGTBH9‚ P…IOCB1Œ !†PTMSG1–X;  X; Display cartridge name S/RªX;´+†DSCARTQ…MPTBL9;;POINT TO MSG LO ADDR¾ P…IOCB1È Q…MPTBL9Ò#P…IOCB1;;POINT TO MSG HI ADDR܆PTMSG1Q>„PUTRæP…IOCB1;;PUT RECðQ>;;GET LENGTH OF MSGú P…IOCB1Q> P…IOCB1 $>;;INDEX TO IOCB1" !„CIOV,X;6%X; Display calculated checksum S/R@X;J†DSCKSMQ„CSHI;;GET HIT †HEXACI;;CONVERT TO ASCII^ P…ASCCSh&…ASCCS;;SAVE IN STRINGrQ„CSLO;;GET LO| †HEXACI;;CONV TO ASCII† P…ASCCS&…ASCCS;;SAVE IN STRINGš†DSCSM1Q>4…ASCCS¤ P…IOCB1® Q>5…ASCCS¸"P…IOCB1;;STRING ADDR IN IOCBÂQ>„PUTB;;PUT BYTEÌ P…IOCB1ÖQ>àP…IOCB1;;BUF LEN=4êQ>ôP…IOCB1 ;;BUF LEN HIþ$>;;POINT TO IOCB1!„CIOV;;GO DO IT OP SYSX;!X; Display checksum from table& …DSPCS$‚T00Q…CSTBL9;;GET HI BYTE: †HEXACID P…ASCCSN &…ASCCSX$‚T0bQ…CSTBL9;;GET LO BYTEl †HEXACIv P…ASCCS€ &…ASCCSŠ !†DSCSM1”X;ž„BEEPQ†RCLOK0¨,²O>;;1 SEC¼>Æ ƒWFLQ>ÿÐP†CONSOL;;TURN ON SPEAKERÚQ>ä%>ðî „WFL11ø H„WFL1P†CONSOL;;TURN OFF SPEAKER %>ð „WFL21  H„WFL2*(†RCLOK0;;1 SEC UP YET?4HƒWFL>ƒRTSHX;RX; Hex to asci converter S/R\X; In A= Hex bytef"X; Out A=HI nibble, X=LO nibblep†HEXACI5;;SAVE Az †HEXNIB;;DO LO NIBBLE„>;;PUT IN XŽ7;;RESTORE A˜V?¢V?¬V?¶V?;;MOVE HI NIBBLEÀ†HEXNIBM>Ê,ÔR> ÞDƒALPèO>ò ƒALPO>0ü:;;IT'S RECURSIVE!X; …DELAY%>$>$ …DLOOP2. H…DLOOP83B H…DLOOPL:VX;` „FILL$>j Q…BKGNDt…FILLPP„TRAM9~2ˆ H…FILLP’:œX;¦1X; Check that fill pattern was saved in novram°JX; March complement of fill pattern thru novram to check address decodeº3X; and to check complement bits tied high or lowÄ …MARCH$>Î'„OVRL;;SAVE OVERLAYØ QÕ;;RECALL DATA FROM NOVRAMâ „DEL2;;TIME TO SETTLEì…MRCH1Q„TRAM9öM>;;LOOK AT LO NIBBLE ONLYR…BKGND;;WAS BKGND WRITTEN?  H…EMRCHC;;MOVE OVERLAY TO AP„TRAM9;;OVERLAY(PÕ;;WRITE TO NOVRAM24;;TIME TO SETTLE<QÕ;;RECALLF „DEL2P$Q„TRAM9;;READ TRAM=NOVRAM=OVERLAYZM>;;LOOK AT LO NIBBLEdR„OVRL;;WAS OVERLAY WRITTEN?n H…EMRCHx2‚H…MRCH1;;TEST 256 BYTESŒ,–:  …EMRCH;ª:´X;¾ „DEL2Q>È P…TIME1Ò …DELP1Q>ïÜ P…TIME0æ…DELP0"…TIME0ð H…DELP0ú "…TIME1 H…DELP1:X;" X; Tables,X;6X; Checksum Table@…CSTBL …ARTCS;;ATARI ARTIS AJ …AEDCS;;A/ET …AEBCS;;A/E REV B^ …ASTCS;;ASTEROIDSh …AWRCS;;ATARIWRITERr …AWBCS;;ATARIWRITER REV B| …AWCCS;;A/W C† …AWDCS;;A/W D …ATLCS;;ATLANTISš …BSACS;;BASIC REV A¤ …BSBCS;;BASIC REV B® …BKBCS;;BASKETBALL¸# …BBSCS;;BOUNTY BOB STRIKES BACK …CAVCS;;CAVERNS OF MARSÌ …CTPCS;;CENTIPEDEÖ …CHSCS;;CHESSà …DEFCS;;DEFENDERê …DINCS;;DELUXE INVADERSô …DIGCS;;DIG DUGþ …DD1CS;;DIG DUG (OLD) …DD2CS;;DIG DUG (NEW) …DK1CS;;DONKEY KONG …DK2CS;;DONKEY KONG JR& …ESFCS;;EASTERN FRONT A0 …EFBCS;;EASTERN FRONT B: …EDUCS;;EDUCATIOND „ETCS;;E.T.N …FL1CS;;FINAL LEGACY (TEXT)X …FL2CS;;FINAL LEGACY (ICONS)b …FRGCS;;FROGGERl …FR2CS;;FROGGER 2v …GLXCS;;GALAXIAN€ …DEMCS;;IN-STORE DEMOŠ …PJBCS;;JAMES BOND” …JGLCS;;JUNGLE HUNTž …LNPCS;;LEARNING PHONE¨ …MB2CS;;MICROSOFT BASIC II² …MILCS;;MILLIPEDE¼ …M49CS;;MINER 2049RÆ …MCMCS;;MISSILE COMMANDÐ …MSPCS;;MSPACMANÚ …MUSCS;;MUSIC COMPOSERä …PACCS;;PACMANî …PCSCS;;PARKER BROS CHESSø …PILCS;;PILOT …POLCS;;POLE POSITION  …QIXCS;;QIX …QX7CS;;QIX REV 7  …SEACS;;SEAFOX* …SPCCS;;SUPER PACMAN4 …SPICS;;SPACE INVADERS> …SPYCS;;SPY HUNTERH …STRCS;;STAR RAIDERSR …SBOCS;;SUPER BREAKOUT\ …TL1CS;;TELELINK I (A)f …TLBCS;;TELELINK I (B)p …TL2CS;;TELELINK IIz …TENCS;;TENNIS„ …TRFCS;;TRACK AND FIELDŽ …TTTCS;;TIC-TAC-TOE˜ …VDECS;;VIDEO EASEL¢ …BIECS;;BURN-IN E¬ …DBICS;;DISK BURN-IN F¶ †DIAGCS;;DISK DIAGÀ †DMFGCS;;DISK MFG TESTSÊ †S301CS;;SALT 3.01Ô †SA01CS;;SALT A.01Þ †P123CS;;BURN-IN 1200è †SA02CS;;SALT A.02ò †SC01CS;;1400 SUPER SALTü †D810CS;;810 DISC DIAG †EDUSCS;;EDUCATIONAL SYS …ATGCS;;ATARIGRAPHICS †SSRACS;;CPS SUPER SALT$ …ATACS;;ATARI ARTIST B. †ATLLCS;;LIGHT LAB8 †ATLTCS;;TEMPERATURE LABB …JOUCS;;JOUSTL …T14CS;;1400 TELECOMMV …LOGCS;;LOGO` …PENCS;;PENGOj …ROBCS;;ROBOTRONt †C810CS;;810 DISC COMP TEST~ †S850CS;;850 SALT REV 1.0ˆ †SS14CS;;1400 SUPER SALT B/I’! †SPERCS;;PERITEL SALT R 2.07Fœ †S205CS;;SALT 2.05¦ †BIRECS;;810/815 B/I REV E° †S204CS;;SALT 2.04º †S12ACS;;1200 SALT REV A.02Ä †P122CS;;1200 PITS REV 1.2Î †DMR0CS;;DISK MFG TEST REV 0Ø …BSCCS;;BASIC REV Câ …XABCS;;XEGS AIRBALLì …XACCS;;XEGS ARCHONö …XBBCS;;XEGS BALLBLAZER! …XBYCS;;XEGS BARNYARD BLASTER  …XBZCS;;XEGS BATTLEZONE …XBMCS;;XEGS BLUE MAX …XBHCS;;XEGS BUG HUNT( …XCBCS;;XEGS CROSSBOW2 …XDCCS;;XEGS DARK CHAMBERS< …XMMCS;;XEGS MIDNIGHT MAGICF …XDFCS;;XEGS DESERT FALCONP …XFNCS;;XEGS FIGHT NIGHTZ# …XFSCS;;XEGS FLIGHT SIMULATOR 2d …XGTCS;;XEGS GATOn …XHBCS;;XEGS HARDBALLx$ …XRFCS;;XEGS RESCUE ON FRACTALUS‚ …XTFCS;;XEGS THUNDERFOXŒX;–*X;CARTRIDGE NAME MESSAGE. MAX CHARS 19 †CSTEND …CSTBLª#†ARTMSG AATARI ARTIST (A)A=ƒEOL´#†AEDMSG AASSEMBLER/EDITORA=ƒEOL¾$†AEBMSG A‘ASSEM/EDITOR REVBA=ƒEOLȆASTMSG A‰ASTEROIDSA=ƒEOLÒ†AWRMSG A‹ATARIWRITERA=ƒEOLÜ$†AWBMSG A‘ATARIWRITER REV BA=ƒEOLæ†AWCMSG A‹ATARIWRITERA=ƒEOLð†AWDMSG A‹ATARIWRITERA=ƒEOLú†BSAMSG A‹BASIC REV AA=ƒEOL†BSBMSG A‹BASIC REV BA=ƒEOL†BKBMSG AŠBASKETBALLA=ƒEOL%†BBSMSG A’BOUNTY BOB STRIKESA=ƒEOL""†CAVMSG ACAVERNS OF MARSA=ƒEOL,†CTPMSG A‰CENTIPEDEA=ƒEOL6†CHSMSG A…CHESSA=ƒEOL@†DEFMSG AˆDEFENDERA=ƒEOLJ"†DINMSG ADELUXE INVADERSA=ƒEOLT†DIGMSG A‡DIG DUGA=ƒEOL^ †DD1MSG ADIG DUG (OLD)A=ƒEOLh †DD2MSG ADIG DUG (NEW)A=ƒEOLr†DK1MSG A‹DONKEY KONGA=ƒEOL|!†DK2MSG AŽDONKEY KONG JRA=ƒEOL†$†ESFMSG A‘EASTERN FRONT (A)A=ƒEOL$†EFBMSG A‘EASTERN FRONT (B)A=ƒEOLš†EDUMSG A‰EDUCATIONA=ƒEOL¤…ETMSG A„E.T.A=ƒEOL®&†FL1MSG A“FINAL LEGACY (TEXT)A=ƒEOL¸&†FL2MSG A“FINAL LEGACY(ICONS)A=ƒEOL†FRGMSG A‡FROGGERA=ƒEOL̆FR2MSG A‰FROGGER 2A=ƒEOLÖ†GLXMSG AˆGALAXIANA=ƒEOLà†GRDMSG AŠGRIDRUNNERA=ƒEOLê †DEMMSG AIN-STORE DEMOA=ƒEOLô†PJBMSG AŠJAMES BONDA=ƒEOLþ†JGLMSG A‹JUNGLE HUNTA=ƒEOL !†LNPMSG AŽLEARNING PHONEA=ƒEOL %†MB2MSG A’MICROSOFT BASIC IIA=ƒEOL †MILMSG A‰MILLIPEDEA=ƒEOL& †M49MSG A‹MINER 2049RA=ƒEOL0 "†MCMMSG AMISSILE COMMANDA=ƒEOL: †MSPMSG A‰MS PACMANA=ƒEOLD !†MUSMSG AŽMUSIC COMPOSERA=ƒEOLN †PACMSG A†PACMANA=ƒEOLX $†PCSMSG A‘PARKER BROS CHESSA=ƒEOLb †PILMSG A…PILOTA=ƒEOLl †POLMSG APOLE POSITIONA=ƒEOLv †QIXMSG AƒQIXA=ƒEOL€ †QX7MSG A‰QIX REV 7A=ƒEOLŠ †SEAMSG A†SEAFOXA=ƒEOL” †SPCMSG AŒSUPER PACMANA=ƒEOLž !†SPIMSG AŽSPACE INVADERSA=ƒEOL¨ †SPYMSG AŠSPY HUNTERA=ƒEOL² †STRMSG AŒSTAR RAIDERSA=ƒEOL¼ !†SBOMSG AŽSUPER BREAKOUTA=ƒEOLÆ !†TL1MSG AŽTELELINK I (A)A=ƒEOLÐ !†TLBMSG AŽTELELINK I (B)A=ƒEOLÚ †TL2MSG A‹TELELINK IIA=ƒEOLä †TENMSG A†TENNISA=ƒEOLî "†TRFMSG ATRACK AND FIELDA=ƒEOLø †TTTMSG A‹TIC-TAC-TOEA=ƒEOL!†VDEMSG A‹VIDEO EASELA=ƒEOL !†BIEMSG A‹BURN-IN V.EA=ƒEOL!†DBIMSG AŒDISK B/I V.FA=ƒEOL !$†DIAGMG A‘DISK DIAG REV 0.2A=ƒEOL*!!†DMFGMG AŽDISK MFG TESTSA=ƒEOL4!†S301MG A‰SALT 3.01A=ƒEOL>!†SA01MG A‰SALT A.01A=ƒEOLH!"†P123MG A1200 PITS R 1.3A=ƒEOLR!†SA02MG A‰SALT A.02A=ƒEOL\!%†SC01MG A’1400 SUPRSALT C.01A=ƒEOLf!$†D810MG A‘810 DIAG FD100006A=ƒEOLp!%†EDUSMG A’EDUCATIONAL SYSTEMA=ƒEOLz! †ATGMSG AATARIGRAPHICSA=ƒEOL„!'†SSRAMG A”CPS SUPER SALT REV AA=ƒEOLŽ!#†ATAMSG AATARI ARTIST (B)A=ƒEOL˜!$†ATLLMG A‘ATARI LAB - LIGHTA=ƒEOL¢!$†ATLTMG A‘LAB - TEMPERATUREA=ƒEOL¬!†JOUMSG A…JOUSTA=ƒEOL¶!&†T14MSG A“1400 TELECOMMUNICTRA=ƒEOLÀ!†LOGMSG A„LOGOA=ƒEOLÊ!†PENMSG A…PENGOA=ƒEOLÔ!†ROBMSG AˆROBOTRONA=ƒEOLÞ!&†C810MG A“810 DISK COMPATBLTYA=ƒEOLè!#†S850MG A850 SALT REV 1.0A=ƒEOLò!&†SS14MG A“1400 SUPRSALT REV DA=ƒEOLü!%†SPERMG A’PERITEL SALT 2.07FA=ƒEOL"†S205MG A‰SALT 2.05A=ƒEOL"$†BIREMG A‘810/815 B/I REV EA=ƒEOL"†S204MG A‰SALT 2.04A=ƒEOL$"%†S12AMG A’1200 SALT REV A.02A=ƒEOL."$†P122MG A‘1200 PITS REV 1.2A=ƒEOL8"&†DMR0MG A“DISK MFG TEST REV 0A=ƒEOLB"†BSCMSG A‹BASIC REV CA=ƒEOLL"†XABMSG AŒXEGS AIRBALLA=ƒEOLV"†XACMSG A‹XEGS ARCHONA=ƒEOL`""†XBBMSG AXEGS BALLBLAZERA=ƒEOLj"&†XBYMSG A“XEGS BARNYARD BLSTRA=ƒEOLt""†XBZMSG AXEGS BATTLEZONEA=ƒEOL~" †XBMMSG AXEGS BLUE MAXA=ƒEOLˆ" †XBHMSG AXEGS BUG HUNTA=ƒEOL’" †XCBMSG AXEGS CROSSBOWA=ƒEOLœ"%†XDCMSG A’XEGS DARK CHAMBERSA=ƒEOL¦"%†XMMMSG A’XEGS MIDNITE MAGICA=ƒEOL°"%†XDFMSG A’XEGS DESERT FALCONA=ƒEOLº"#†XFNMSG AXEGS FIGHT NIGHTA=ƒEOLÄ"#†XFSMSG AXEGS FLGHT SIM 2A=ƒEOLÎ"†XGTMSG A‰XEGS GATOA=ƒEOLØ" †XHBMSG AXEGS HARDBALLA=ƒEOLâ"&†XRFMSG A“XEGS RESCE ON FRACTA=ƒEOLì""†XTFMSG AXEGS THUNDERFOXA=ƒEOLö"„SCRN A‚S:A=ƒEOL#X; ##„MSG0 A’CYCLE POWER OFF/ONA=ƒEOL#%„MSG1 A”HIT 'START' FOR MOREA=ƒEOL#„MSG2 AŽGOOD CARTRIDGEA=ƒEOL(#„MSG3 A‡BAD RAMA=ƒEOL2#„MSG4 AŒBAD CHECKSUMA=ƒEOL<# „MSG5 ƒEOLF#%„MSG6 A”CHECKSUM VERIFY 5.1 A=ƒEOLP# „MSG7 A16K CHECKSUM = A=ƒEOLZ#„MSG8 AŽ8K CHECKSUM = A=ƒEOLd#„MSG9 AŽPROMS REVERSEDA=ƒEOLn#X;x#X; Message pointer table‚#…MPTBL †ARTMSGŒ# †AEDMSG–# †AEBMSG # †ASTMSGª# †AWRMSG´# †AWBMSG¾# †AWCMSGÈ# †AWDMSGÒ# †BSAMSGÜ# †BSBMSGæ# †BKBMSGð# †BBSMSGú# †CAVMSG$ †CTPMSG$ †CHSMSG$ †DEFMSG"$ †DINMSG,$ †DIGMSG6$ †DD1MSG@$ †DD2MSGJ$ †DK1MSGT$ †DK2MSG^$ †ESFMSGh$ †EFBMSGr$ †EDUMSG|$ …ETMSG†$ †FL1MSG$ †FL2MSGš$ †FRGMSG¤$ †FR2MSG®$ †GLXMSG¸$ †GRDMSGÂ$ †DEMMSGÌ$ †PJBMSGÖ$ †JGLMSGà$ †LNPMSGê$ †MB2MSGô$ †MILMSGþ$ †M49MSG% †MCMMSG% †MSPMSG% †MUSMSG&% †PACMSG0% †PCSMSG:% †PILMSGD% †POLMSGN% †QIXMSGX% †QX7MSGb% †SEAMSGl% †SPCMSGv% †SPIMSG€% †SPYMSGŠ% †STRMSG”% †SBOMSGž% †TL1MSG¨% †TLBMSG²% †TL2MSG¼% †TENMSGÆ% †TRFMSGÐ% †TTTMSGÚ% †VDEMSGä% †BIEMSGî% †DBIMSGø% †DIAGMG& †DMFGMG & †S301MG& †SA01MG & †P123MG*& †SA02MG4& †SC01MG>& †D810MGH& †EDUSMGR& †ATGMSG\& †SSRAMGf& †ATAMSGp& †ATLLMGz& †ATLTMG„& †JOUMSGŽ& †T14MSG˜& †LOGMSG¢& †PENMSG¬& †ROBMSG¶& †C810MGÀ& †S850MGÊ& †SS14MGÔ& †SPERMGÞ& †S205MGè& †BIREMGò& †S204MGü& †S12AMG' †P122MG' †DMR0MG' †BSCMSG$' †XABMSG.' †XACMSG8' †XBBMSGB' †XBYMSGL' †XBZMSGV' †XBMMSG`' †XBHMSGj' †XCBMSGt' †XDCMSG~' †XMMMSGˆ' †XDFMSG’' †XFNMSGœ' †XFSMSG¦' †XGTMSG°' †XHBMSGº' †XRFMSGÄ' †XTFMSGÎ'X;Ø'†MSGTBL 4„MSG0â' 4„MSG1ì' 4„MSG2ö' 4„MSG3( 4„MSG4 ( 4„MSG5( 4„MSG6( 4„MSG7(( 4„MSG82( 4„MSG9<(†MSGTBH 5„MSG0F( 5„MSG1P( 5„MSG2Z( 5„MSG3d( 5„MSG4n( 5„MSG5x( 5„MSG6‚( 5„MSG7Œ( 5„MSG8–( 5„MSG9