VAR.Text
VAR.Text
| Filename | VAR.text |
|---|---|
| Size | 0.02 MB |
| Subsection | firmware / ROM88 |
| Downloads | 1 |
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
SHARERAM .Equ 10 ; READ/WRITE SHARED RAM, INITIALIZED BY 6504 ON BOOT
STATUS .Equ 20 ; READ ONLY STATUS FROM THE 6504
IIOB .Equ 30 ; INTERNAL IOB
GLOBALS .Equ 40 ; 6504 INTERNAL GLOBALS
LOCALS .Equ 68 ; LOCAL VARIABLES
;; 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 BYTER FROM 68K
; 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
; 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
; 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 .Equ COMMAND ; LOW BYTE OF ADDRESS FOR 6504 CALL
ADRH .Equ ADRL+1 ; HIGH BYTE OF ADDRESS FOR 6504 CALL
; A call to "1FFB" will reset the 65404
DRIVE .Equ 02 ; DRIVE NUMBER
; 00 DRIVE 0 UPPER DRIVE
; 80 DRIVE 80 LOWER DRIVE
SIDE .Equ 03 ; SIDE NUMBER
; 00 SIDE 0 UPPER SIDE OF MEDIA
; 01 SIDE 1 LOWER SIDE OF MEDIA
SECTOR .Equ 04 ; SECTOR NUMBER
; 00-15 MAXIMUM DEPENDES ON TRACK NUMBER
TRACK .Equ 05 ; TRACK NUMBER
; 00-2D 46 TRACKS TOTAL
SPEED .Equ 06 ; SPEED OVERRIDE
; 00 NOOVERRIDE…
Showing first 3,000 characters of 15,858 total. Open the full document →