Skip to main content
Home Documents Lisa Monitor Notes.Txt
Monitor Notes.Txt

Monitor Notes.Txt

FilenameMonitor_notes.txt
Size0.02 MB
Subsection pascal_monitor
Downloads0
Contents
.PAGE ;--- ; ZERO PAGE MAPPING ; ; The following equates are for dividing RAM into logical areas; ; however, as the code grew, this convention was not strictly adhered ; to and therefore one will find both "LOCAL" and "GLOBAL" variables ; scattered throughout the RAM area ;+++ IOB .Equ 00 ; INPUT OUTPUT BLOCK This starts at $FCC000. All ofsets from here are WORD offsets!!!. For example, COMMAND is at FCC002 (offset of one word). Actually, only the low byte of the word has any significance. SHARERAM .Equ 10 ; READ/WRITE SHARED RAM, INITIALIZED BY 6504 ON BOOT Starts at $FCC020 STATUS .Equ 20 ; READ ONLY STATUS FROM THE 6504 $FCC040 IIOB .Equ 30 ; INTERNAL IOB $FCC060 This can be used to check the last command excuted GLOBALS .Equ 40 ; 6504 INTERNAL GLOBALS $FCC080 This is where the actual "ROM" is maintained. Of course these can be changed, but don't even think about it LOCALS .Equ 68 ; LOCAL VARIABLES $FCC0D0 Local storage mainly. Probably should not be changed ;; THESE APPEAR, FROM THE LISTING PROVIDED, TO BE HEX NUMBERS UNLESS FOLLOWED BY A DECIMAL ;; 1/6/89 ARS .PAGE ;--- ; ; IOB ; ; THE IOB IS ALWAYS COPIED INTO THE INTERNAL IOB (IIOB) AREA BEFORE USAGE ; SO THAT THE 68K CAN START TO BUILD A NEW COMMAND INTO THE IOB AS SOON AS ; POSSIBLE. ALL REFERENMCES TO THE IOB OF IIOB ARE DONE IN THE FOLLOWING ; FORMAT: ; IOB IIOB ; -------- -------- ; GOBYTE IOB+GOBYTE IIOB+GOBYTE ; DRIVE IOB+DRIVE IIOB+DRIVE ; ;+++ IOBSIZE .Equ 07 ; SIZE OF IOB BLOCK USED FOR PARAMETER PASSING GOBYTE .Equ 00 ; COMMAND BYTE FROM 68K $FCC000/060 ; 00 COMMAND ACCEPTED BY THE 6504, 68K MAY ISSUE A NEW COMMAND ; 80-89 COMMAND FROM 68K TO 6504 ; 80 NULL, TESTS HANDSHAKE ; 81 RWTS COMMAND, COMMAND CODE IN 'COMMAND' ; 83 SEEK ; 84 CALL ADDRESS IN 6504 ; 85 CLEAR STATUS ; 86 SET MASK ; 87 CLEAR MASK ; 88 WAIT IN ROM ; 89 Go jump to self forever (Their case change ARS) ; ; 01-7F,82,90-FF *** RESERVED *** COMMAND .Equ 01 ; RWTS COMMAND CODE $FCC002/062 ; 00 READ Read Read the Data @ Drive/Side/Track/Sector ; 01 WRITE Write Read the Data @ Drive/Side/Track/Sector ; 02 UNCLAMP Unclamp the disk in Drive ; 03 FORMAT Format the disk in Drive ; 04 VERIFY Verify the disk in Drive ; 05 FORMAT TRACK Format single Track on the disk in Drive ; 06 VERIFY TRACK Verify single Track on the disk in Drive ; 07 READBF Read w/o checksum verification ; 08 WRITEBF Write w/o checksum creation ; 09 CLAMP Clamp the disk in Drive ; 0A-FF *** RESERVED *** MASK .Equ COMMAND ; MASK FOR SETTING AND RESETTING IMSK & IST $FCC002/062 ; 08 SET OR CLEAR INTERRUPT MASK FOR UPPER DRIVE ; 80 SET OR CLEAR INTERRUPT MASK FOR LOWER DRIVE ; 01 CLEAR DISK INSERTED INTERRUPT FOR UPPER DRIVE ; 10 CLEAR DISK INSERTED INTERRUPT FOR LOWER DRIVE ; 02 CLEAR BUTTOM PRESSED INTERRUPT FOR UPPER DRIVE ; 20 CLEAR BUTTOM PRESSED INTERRUPT FOR LOWER DRIVE ; 04 CLEAR R/W COMMAND COMPLETED INTERRUPT FOR UPPER DRIVE ; 40 CLEAR R/W COMMAND COMPLETED INTERRUPT FOR LOWER DRIVE ADRL .E…

Showing first 3,000 characters of 17,377 total. Open the full document →

MacTrove — a free archive of classic Macintosh software. Files mirrored from ftp.funet.fi/pub/mac (info-mac + funet legacy). All software provided for historical preservation.