⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atari.inc

📁 6502 c compiler free open source
💻 INC
📖 第 1 页 / 共 3 页
字号:
;-------------------------------------------------------------------------; Atari System Equates; by Freddy Offenga & Christian Groessler;; References:; - Atari 400/800 OS rev.B source code, Atari 1979; - Atari OS manual - XL addendum; - Atari XL/XE rev.2 source code, Atari 1984; - Mapping the Atari - revised edition, Ian Chadwick 1985;; ##old##	old OS rev.B label - moved or deleted; ##1200xl##	new label introduced in 1200XL OS (rev.10/11); ##rev2##	new label introduced in XL/XE OS rev.2;-------------------------------------------------------------------------;-------------------------------------------------------------------------; Configuration Equates;-------------------------------------------------------------------------MAXDEV	= 33		;offset to last possible entry of HATABSIOCBSZ	= 16		;length of IOCBSEIOCB	= 0*IOCBSZ	;##rev2## screen editor IOCB indexMAXIOC	= 8*IOCBSZ	;first invalid IOCB indexDSCTSZ	= 128		;##rev2## disk sector sizeLEDGE	= 2		;left edgeREDGE	= 39		;right edgeINIML	= $0700		;##rev2## initial MEMLOICSORG	= $CC00		;##rev2## international character set originDCSORG	= $E000		;##rev2## domestic character set origin; IOCB Command Code EquatesOPEN	= $03		;openGETREC	= $05		;get recordGETCHR	= $07		;get character(s)PUTREC	= $09		;put recordPUTCHR	= $0B		;put character(s)CLOSE	= $0C		;closeSTATIS	= $0D		;statusSPECIL	= $0E		;special; Special Entry Command Equates; Screen CommandsDRAWLN	= $11		;draw lineFILLIN	= $12		;draw line with right fill; ICAX1 Auxiliary Byte 1 EquatesAPPEND	= $01		;open write append (D:)DIRECT	= $02		;open for directory access (D:)OPNIN	= $04		;open for input (all devices)OPNOT	= $08		;open for output (all devices)MXDMOD	= $10		;open for mixed mode (E:, S:)INSCLR	= $20		;open for input without clearing screen; Device Code EquatesCASSET	= 'C'		;cassetteDISK	= 'D'		;diskSCREDT	= 'E'		;screen editorKBD	= 'K'		;keyboardPRINTR	= 'P'		;printerDISPLY	= 'S'		;screen display; SIO Command Code EquatesSIO_FORMAT   = $21	;format disk (default density)SIO_FORMATS  = $22	;1050: format medium densitySIO_CONFIG   = $44	;configure driveSIO_CONFIGSF = $4B	;slow/fast configure drive??SIO_WRITE    = $50	;write sectorSIO_READ     = $52	;read sectorSIO_STAT     = $53	;get status informationSIO_VERIFY   = $56	;verify sector SIO_WRITEV   = $57	;write sector with verify; Character and Key Code EquatesCLS	= $7D		;##rev2## clear screenEOL	= $9B		;end of line (RETURN)HELP	= $11		;##1200xl## key code for HELPCNTLF1	= $83		;##1200xl## key code for CTRL-F1CNTLF2	= $84		;##1200xl## key code for CTRL-F2CNTLF3	= $93		;##1200xl## key code for CTRL-F3CNTLF4	= $94		;##1200xl## key code for CTRL-F4CNTL1	= $9F		;##1200xl## key code for CTRL-1; Status Code EquatesSUCCES	= 1		;($01) succesful operationBRKABT	= 128		;($80) BREAK key abortPRVOPN	= 129		;($81) IOCB already open errorNONDEV	= 130		;($82) nonexistent device errorWRONLY	= 131		;($83) IOCB opened for write only errorNVALID	= 132		;($84) invalid command errorNOTOPN	= 133		;($85) device/file not open errorBADIOC	= 134		;($86) invalid IOCB index errorRDONLY	= 135		;($87) IOCB opened for read only errorEOFERR	= 136		;($88) end of file errorTRNRCD	= 137		;($89) truncated record errorTIMOUT	= 138		;($8A) peripheral device timeout errorDNACK	= 139		;($8B) device does not acknowledge commandFRMERR	= 140		;($8C) serial bus framing errorCRSROR	= 141		;($8D) cursor overrange errorOVRRUN	= 142		;($8E) serial bus data overrun errorCHKERR	= 143		;($8F) serial bus checksum errorDERROR	= 144		;($90) device done (operation incomplete)BADMOD	= 145		;($91) bad screen mode number errorFNCNOT	= 146		;($92) function not implemented in handlerSCRMEM	= 147		;($93) insufficient memory for screen modeDSKFMT	= 148		;($94) SpartaDOS: urecognized disk formatINCVER	= 149		;($95) SpartaDOS: disk was made with incompat. versionDIRNFD	= 150		;($96) SpartaDOS: directory not foundFEXIST	= 151		;($97) SpartaDOS: file existsNOTBIN	= 152		;($98) SpartaDOS: file not binaryLSYMND	= 154		;($9A) SDX: loader symbol not definedBADPRM	= 156		;($9C) SDX: bad parameterOUTOFM	= 158		;($9E) SDX: out of memoryINVDEV	= 160		;($A0) invalid device numberTMOF	= 161		;($A1) too many open filesDSKFLL	= 162		;($A2) disk fullFATLIO	= 163		;($A3) fatal I/O errorFNMSMT	= 164		;($A4) internal file number mismatchINVFNM	= 165		;($A5) invalid file namePDLERR	= 166		;($A6) point data length errorEPERM	= 167		;($A7) permission deniedDINVCM	= 168		;($A8) command invalid for diskDIRFLL	= 169		;($A9) directory fullFNTFND	= 170		;($AA) file not foundPNTINV	= 171		;($AB) point invalidBADDSK	= 173		;($AD) bad diskINCFMT	= 176		;($B0) DOS 3: incompatible file system; DCB Device Bus EquatesDISKID	= $31		;##rev2## disk bus IDPDEVN	= $40		;##rev2## printer bus IDCASET	= $60		;##rev2## cassette bus ID; Bus Command EquatesFOMAT	= '!'		;##rev2## format commandPUTSEC	= 'P'		;##rev2## put sector commandREAD	= 'R'		;##rev2## read commandSTATC	= 'S'		;##rev2## status commandWRITE	= 'W'		;##rev2## write command; Command Auxiliary Byte EquatesDOUBLE	= 'D'		;##rev2## print 20 characters double widthNORMAL	= 'N'		;##rev2## print 40 characters normallyPLOT	= 'P'		;##rev2## plotSIDWAY	= 'S'		;##rev2## print 16 characters sideways; Bus Response EquatesACK	= 'A'		;##rev2## device acknowledgedCOMPLT	= 'C'		;##rev2## device succesfully completed operationERROR	= 'E'		;##rev2## device incurred errorNACK	= 'N'		;##rev2## device did not understand; Floating Point Miscellaneous EquatesFPREC	= 6		;precisionFMPREC	= FPREC-1	;##rev2## length of mantissa; Cassette Record Type EquatesHDR	= $FB		;##rev2## headerDTA	= $FC		;##rev2## data recordDT1	= $FA		;##rev2## last data recordEOT	= $FE		;##rev2## end of tape (file)TONE1	= 2		;##rev2## recordTONE2	= 1		;##rev2## playback; Cassette Timing EquatesWLEADN	= 1152		;##rev2## NTSC 19.2 second WRITE file leaderRLEADN	= 576		;##rev2## NTSC 9.6 second READ file leaderWIRGLN	= 180		;##rev2## NTSC 3.0 second WRITE IRGRIRGLN	= 120		;##rev2## NTSC 2.0 second READ IRGWSIRGN	= 15		;##rev2## NTSC 0.25 second WRITE short IRGRSIRGN	= 10		;##rev2## NTSC 0.16 second READ short IRGBEEPNN	= 30		;##rev2## NTSC 0.5 second beep durationBEEPFN	= 10		;##rev2## NTSC 0.16 seconrd beep durationWLEADP	= 960		;##rev2## PAL 19.2 second WRITE file leaderRLEADP	= 480		;##rev2## PAL 9.6 second READ file leaderWIRGLP	= 150		;##rev2## PAL 3.0 second WRITE IRGRIRGLP	= 100		;##rev2## PAL 2.0 second READ IRGWSIRGP	= 13		;##rev2## PAL 0.25 second WRITE short IRGRSIRGP	= 8		;##rev2## PAL 0.16 second READ short IRGBEEPNP	= 25		;##rev2## PAL 0.5 second beep durationBEEPFP	= 8		;##rev2## PAL 0.16 seconrd beep durationWIRGHI	= 0		;##rev2## high WRITE IRGRIRGHI	= 0		;##rev2## high READ IRG; Power-up Validation Byte Value EquatesPUPVL1	= $5C		;##rev2## power-up validation value 1PUPVL2	= $93		;##rev2## power-up validation value 2PUPVL3	= $25		;##rev2## power-up validation value 3; Relocating Loader Miscellaneous EquatesDATAER	= 156		;##rev2## end of record appears before ENDMEMERR	= 157		;##rev2## memory insufficient for load error; Miscellaneous EquatesIOCFRE	= $FF		;IOCB free indicationB19200	= $0028		;##rev2## 19200 baud POKEY counter valueB00600	= $05CC		;##rev2## 600 baud POKEY counter valueHITONE	= $05		;##rev2## FSK high freq. POKEY counter valueLOTONE	= $07		;##rev2## FSK low freq. POKEY counter valueNCOMLO	= $34		;##rev2## PIA lower NOT COMMAND line commandNCOMHI	= $3C		;##rev2## PIA raise NOT COMMAND line commandMOTRGO	= $34		;##rev2## PIA cassette motor ON commandMOTRST	= $3C		;##rev2## PIA cassette motor OFF commandNODAT	= $00		;##rev2## SIO immediate operationGETDAT	= $40		;##rev2## SIO read data framePUTDAT	= $80		;##rev2## SIO write data frameCRETRI	= 13		;##rev2## number of command frame retriesDRETRI	= 1		;##rev2## number of device retriesCTIM	= 2		;##rev2## command frame ACK timeoutNBUFSZ	= 40		;##rev2## print normal buffer sizeDBUFSZ	= 20		;##rev2## print double buffer sizeSBUFSZ	= 29		;##rev2## print sideways buffer size;-------------------------------------------------------------------------; Page Zero Address Equates;-------------------------------------------------------------------------LINZBS	= $00		;LINBUG RAM (WILL BE REPLACED BY MONITOR RAM)LNFLG	= $00		;##1200xl## 1-byte LNBUG flag (0 = not LNBUG)NGFLAG	= $01		;##1200xl## 1-byte memory status (0 = failure); Not ClearedCASINI	= $02		;CASSETTE INIT LOCATIONRAMLO	= $04		;RAM POINTER FOR MEMORY TESTTRAMSZ	= $06		;TEMPORARY REGISTER FOR RAM SIZE;TSTDAT	= $07		;##old## RAM TEST DATA REGISTERCMCMD	= $07		;##rev2## 1-byte command communications; Cleared upon Coldstart onlyWARMST	= $08		;WARM START FLAGBOOTQ	= $09		;SUCCESSFUL BOOT FLAGDOSVEC	= $0A		;DISK SOFTWARE START VECTORDOSINI	= $0C		;DISK SOFTWARE INIT ADDRESSAPPMHI	= $0E		;APPLICATIONS MEMORY HI LIMIT; Cleared upon Coldstart or WarmstartINTZBS	= $10		;INTERRUPT HANDLERPOKMSK	= $10		;SYSTEM MASK FOR POKEY IRG ENABLEBRKKEY	= $11		;BREAK KEY FLAGRTCLOK	= $12		;REAL TIME CLOCK (IN 16 MSEC UNITS>BUFADR	= $15		;INDIRECT BUFFER ADDRESS REGISTERICCOMT	= $17		;COMMAND FOR VECTORDSKFMS	= $18		;DISK FILE MANAGER POINTERDSKUTL	= $1A		;DISK UTILITIES POINTERABUFPT	= $1C		;##1200xl## 4-byte ACMI buffer pointer area;PTIMOT	= $1C		;##old## PRINTER TIME OUT REGISTER;PBPNT	= $1D		;##old## PRINT BUFFER POINTER;PBUFSZ	= $1E		;##old## PRINT BUFFER SIZE;PTEMP	= $1F		;##old## TEMPORARY REGISTERZIOCB	= $20		;ZERO PAGE I/O CONTROL BLOCKIOCBAS	= $20		;16-byte page zero IOCBICHIDZ	= $20		;HANDLER INDEX NUMBER (FF = IOCB FREE)ICDNOZ	= $21		;DEVICE NUMBER (DRIVE NUMBER)ICCOMZ	= $22		;COMMAND CODEICSTAZ	= $23		;STATUS OF LAST IOCB ACTIONICBALZ	= $24		;BUFFER ADDRESS LOW BYTEICBAHZ	= $25		;1-byte high buffer addressICPTLZ	= $26		;PUT BYTE ROUTINE ADDRESS -1ICPTHZ	= $27		;1-byte high PUT-BYTE routine addressICBLLZ	= $28		;BUFFER LENGTH LOW BYTEICBLHZ	= $29		;1-byte high buffer lengthICAX1Z	= $2A		;AUXILIARY INFORMATION FIRST BYTEICAX2Z	= $2B		;1-byte second auxiliary informationICSPRZ	= $2C		;4-byte sparesENTVEC	= $2C		;##rev2## 2-byte (not used)ICIDNO	= $2E		;IOCB NUMBER X 16CIOCHR	= $2F		;CHARACTER BYTE FOR CURRENT OPERATIONSTATUS	= $30		;INTERNAL STATUS STORAGECHKSUM	= $31		;CHECKSUM (SINGLE BYTE SUM WITH CARRY)BUFRLO	= $32		;POINTER TO DATA BUFFER (LO BYTE)BUFRHI	= $33		;POINTER TO DATA BUFFER (HI BYTE)BFENLO	= $34		;NEXT BYTE PAST END OF THE DATA BUFFER LOBFENHI	= $35		;NEXT BYTE PAST END OF THE DATA BUFFER HI;CRETRY	= $36		;##old## NUMBER OF COMMAND FRAME RETRIES;DRETRY	= $37		;##old## NUMBER OF DEVICE RETRIESLTEMP	= $36		;##1200xl## 2-byte loader temporaryBUFRFL	= $38		;DATA BUFFER FULL FLAGRECVDN	= $39		;RECEIVE DONE FLAGXMTDON	= $3A		;TRANSMISSION DONE FLAGCHKSNT	= $3B		;CHECKSUM SENT FLAGNOCKSM	= $3C		;NO CHECKSUM FOLLOWS DATA FLAGBPTR	= $3D		;1-byte cassette buffer pointerFTYPE	= $3E		;1-byte cassette IRG typeFEOF	= $3F		;1-byte cassette EOF flag (0 = quiet)FREQ	= $40		;1-byte cassette beep counterSOUNDR	= $41		;NOISY I/0 FLAG. (ZERO IS QUIET)CRITIC	= $42		;DEFINES CRITICAL SECTION (CRITICAL IF NON-Z)FMSZPG	= $43		;DISK FILE MANAGER SYSTEM ZERO PAGE;CKEY	= $4A		;##old## FLAG SET WHEN GAME START PRESSEDZCHAIN	= $4A		;##1200xl## 2-byte handler linkage chain pointer;CASSBT	= $4B		;##old## CASSETTE BOOT FLAGDSTAT	= $4C		;DISPLAY STATUSATRACT	= $4D		;ATRACT FLAGDRKMSK	= $4E		;DARK ATRACT MASKCOLRSH	= $4F		;ATRACT COLOR SHIFTER (EOR'ED WITH PLAYFIELDTMPCHR	= $50		;1-byte temporary characterHOLD1	= $51		;1-byte temporaryLMARGN	= $52		;LEFT MARGIN (SET TO 1 AT POWER ON>RMARGN	= $53		;RIGHT MARGIN (SET TO 38 AT POWER ON)ROWCRS	= $54		;1-byte cursor rowCOLCRS	= $55		;2-byte cursor columnDINDEX	= $57		;1-byte display modeSAVMSC	= $58		;2-byte saved memory scan counterOLDROW	= $5A		;1-byte prior rowOLDCOL	= $5B		;2-byte prior columnOLDCHR	= $5D		;DATA UNDER CURSOROLDADR	= $5E		;2-byte saved cursor memory addressFKDEF	= $60		;##1200xl## 2-byte function key definition table;NEWROW	= $60		;##old## POINT DRAW GOES TO;NEWCOL	= $61		;##old##PALNTS	= $62		;##1200xl## 1-byte PAL/NTSC indicator (0 = NTSC)LOGCOL	= $63		;POINTS AT COLUMN IN LOGICAL LINEADRESS	= $64		;2-byte temporary addressMLTTMP	= $66		;1-byte temporaryOPNTMP	= $66		;FIRST BYTE IS USED IN OPEN AS TEMPTOADR	= $66		;##rev2## 2-byte destination addressSAVADR	= $68		;2-byte saved address

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -