Lisa Boot ROM Asm Listing.TEXT
Lisa Boot ROM Asm Listing.TEXT
Lisa · 1983 · TEXT
| Filename | Lisa_Boot_ROM_Asm_Listing.TEXT |
|---|---|
| Size | 0.75 MB |
| Year | 1983 |
| Subsection | firmware |
| Downloads | 2 |
Enjoying MacTrove?
Anonymous downloads are free and unlimited.
Create a free account to track favorites,
contribute metadata corrections, and join the
community chat.
Contents
0000| ; .NOLIST 0000| ;===============================================================================; 0000| ; ; 0000| ; LL II SSSSSSS AAA ; 0000| ; LL II SS AA AA ; 0000| ; LL II SSSSSSS AAAAAAA ; 0000| ; LL II SS AA AA ; 0000| ; LLLLLLL II SSSSSSS AA AA ; 0000| ; ; 0000| ; ; 0000| ; BBBBBB OOOOO OOOOO TTTTTTTT RRRRRR OOOOO MMM MMM ; 0000| ; BB BB OO OO OO OO TT RR RR OO OO MM M M MM ; 0000| ; BBBBBB OO OO OO OO TT RRRRRR OO OO MM M MM ; 0000| ; BB BB OO OO OO OO TT RR RR OO OO MM MM ; 0000| ; BBBBBB OOOOO OOOOO TT RR RR OOOOO MM MM ; 0000| ; ; 0000| ; ; 0000| ; Copyright 1983, 1984 Apple Computer Inc. ; 0000| ; Revision 2H ; 0000| ; ; 0000| ;===============================================================================; 0000| ; 0000| ; Filename: RMXXX.Y.TEXT, XXX = ROM VERSION # (e.g., 200 for 2.00) 0000| ; Y = E (equates) 0000| ; = K (kernel tests) 0000| ; = S (secondary tests) 0000| ; = B (bootstrap code) 0000| ; = M (monitor code) 0000| ; = G (graphics, icon and message display) 0000| ; 0000| ; Function: Initializes LISA system for use and performs preliminary 0000| ; diagnostic checks. If all tests pass, the system then 0000| ; does a keyboard scan to check for user input. If any key 0000| ; is hit other than caps lock or the mouse button, 0000| ; a menu is displayed on the screen showing the available 0000| ; boot devices. If a valid COMMAND key sequence is detected, 0000| ; a boot from an alternate device is attempted (see below). 0000| ; If no keyboard input is detected, the system first checks 0000| ; parameter memory for a valid boot device and, if none, defaults 0000| ; to booting from a Profile attached to the builtin parallel port 0000| ; for Lisa 1 systems. 0000| ; 0000| ; For Lisa 2 systems, a check is first made to verify a disk 0000| ; (internal or external) is connected before defaulting to the 0000| ; hard disk boot. If no disk is detected, the system defaults 0000| ; to booting from the floppy drive. 0000| ; 0000| ; 0000| ; 0000| ; Inputs: Checks for keyboard input from the user. Currently, the following 0000| ; key sequences are honored if input after the system "clicks" the 0000| ; speaker (CMD refers to the Apple key on the keyboard): 0000| ; 0000| ; CMD/1 - boot from Twiggy drive #1 or integral hard disk 0000| ; CMD/2 - boot from Twiggy drive #2 or SONY drive 0000| ; CMD/3 - boot from Profile attached to parallel port or integral hard disk 0000| ; CMD/4 - boot from I/O slot #1, port 1 0000| ; CMD/5 - boot from I/O slot #1, port 2 0000| ; CMD/6 - boot from I/O slot #2, port 1 0000| ; CMD/7 - boot from I/O slot #2, port 2 0000| ; CMD/8 - boot from I/O slot #3, port 1 0000| ; CMD/9 - boot from I/O slot #3, port 2 0000| ; CMD/ENTER (on key pad) - abort boot, branch to ROM monitor 0000| ; CMD/SHIFT/P - abort boot, do power cycling 0000| ; 0000| ; OUTPUTS: Saves various results and contents of system registers in memory 0000| ; for examination by system programs or with the ROM monitor. 0000| ; 0000| ; $180-183 : Power-up status (x0000000 = ok) 0000| ; $184-185 : Memory sizing error results 0000| ; $186-1A5 : Results of memory read/write tests 0000| ; $1A6-1A9 : Parity error memory address (if error during mem test) 0000| ; $1AA-1AB : Memory error address latch 0000| ; $1AC-1AF : D7 save on exception errors 0000| ; $1B0-1B1 : Results of MMU tests (context/data bits) 0000| ; $1B2 : Keyboard ID (00 = no ID received) 0000| ; $1B3 : Boot device ID 0000| ; $1B4-1B9 : Boot failure data 0000| ; $1BA-1BF : Clock setting (Ey,dd,dh,hm,ms,st) 0000| ; $1C0-1DF : Data reg save area (D0 - D7) 0000| ; $1E0-1FF : Address reg save area (A0 - A7, A7 = USP) 0000| ; $240-260 : System serial # 0000| ; $260-267 : Scratch area 0000| ; $268-26B : Suspected (logical) memory error address for parity error 0000| ; $26C-26F : Save of data written to suspected error address 0000| ; $270-273 : Actual (logical) error address found during search 0000| ; $274-277 : Save of data read during parity error search 0000| ; $278-27B : (Physical) error address read from parity error address latch 0000| ; $27C : Error row for parity chip failure (0 = first row, 7 = last row) 0000| ; $27D : Error column for parity chip failure (9 or 14) 0000| ; $27E-280 : Reserved 0000| ; $280-293 : Exception data save area 0000| ; (FC/EXCADR/IR/SR/PC/EXCTYPE/SSP) 0000| ; 44 = NMI or other interrupt 0000| ; 45 = bus error 0000| ; 46 = address error 0000| ; 47 = other exception/interrupt 0000| ; 48 = illegal instruction error 0000| ; 49 = line 1010 or 1111 trap 0000| ; 50 = bus error accessing keyboard VIA 0000| ; 51 = bus error accessing parallel port VIA 0000| ; 57 = bus error accessing disk controller 0000| ; $294-297 : Maximum physical memory address + 1 0000| ; $298-299 : I/O slot 1 card id (0 = no card present) 0000| ; $29A-29B : I/O slot 2 card id 0000| ; $29C-29D : I/O slot 3 card id 0000| ; $29E : Reserved 0000| ; $29F : Reserved 0000| ; $2A0 : Reserved 0000| ; $2A1 : Disk ROM id 0000| ; $2A2-2A3 : Reserved 0000| ; $2A4-2A7 : Minimum physical address 0000| ; $2A8-2AB : Total memory (Max-Min) 0000| ; $2AC : SCC test results 0000| ; $2AD : Slot # of memory board if memory error 0000| ; $2AE : Result of disk controller self-test 0000| ; $2AF : System type (0 = Lisa 1, 1 = Lisa 2, 2 = Lisa 2 with external hard disk, 0000| ; 3 = Lisa 2 with internal hard disk) 0000| ; $2B0-2BF : Keyboard queue (16 bytes) 0000| ; $2C0-480 : ROM scratchpad/stack area 0000| ; $480-800 : Reserved for ROM local variable usage 0000| ; 0000| ; Also saves data in special parameter memory area reserved for boot ROM use if error 0000| ; encountered. Usage is as follows: 0000| ; 0000| ; $FCC161 : Error code 0000| ; $FCC163-165 : Contents of memory error address latch if parity error 0000| ; $FCC167 : Memory board slot # if memory error 0000| ; $FCC169-173 : Last value read from clock 0000| ; $FCC175-17B : Reserved 0000| ; $FCC17D-17F : Checksum 0000| ; 0000| ; Originator: Rich Castro 7/30/81 - Version 0.0 released to manufacturing 0000| ; Modified by: Rich Castro 7/30 - 11/3/81 - Made the following changes: 0000| ; 1) Twiggy bootstrap capability 0000| ; 2) Initial COPS test and keyboard scan 0000| ; 3) Moved parallel card to slot 2 0000| ; 4) Changed ROM interrupt/exception vectors, 0000| ; 5) Created jump table for ROM routines 0000| ; 0000| ; 11/3/81 - Version 0.7 released to the world 0000| ; 0000| ; 11/4/81 - 1/15/82 - Made the following changes: 0000| ; 1) Added support for new memory cards 0000| ; 2) Added warm-start capability and jump 0000| ; table for ROM subroutine usage 0000| ; 3) Modified MMU reset routine to support 0000| ; single step board usage 0000| ; 4) Added full memory initialization 0000| ; 5) Added 256K memory parity test 0000| ; 6) Modified COPS initialization so that 0000| ; keyboard commands can be sensed more 0000| ; reliably 0000| ; 7) Added error code display routines and 0000| ; display of CPU and IO ROM versions 0000| ; 8) Added preliminary disk controller test 0000| ; 9) Updated warm-start check 0000| ; 10) Modified disk interface test 0000| ; 11) Changed low memory assignments 0000| ; 12) Made corrections for no I/O board, disk 0000| ; interface error and contrast setting 0000| ; 13) Modified memory sizing routine to 0000| ; catch memory errors 0000| ; 14) Modify MMU test to avoid context 0 0000| ; destruction, add contrast setting for 0000| ; new machines, correct disk error and 0000| ; CPU ROM messages 0000| ; 15) Move stack so old memory test still runs 0000| ; 0000| ; 1/15/82 - Release version 0.16 0000| ; 1/18/82 - Fix stack problem and release vrsn 0.17 0000| ; 1/19/82 - Change stack for call routine and version 0000| ; to 0.18 0000| ; 1/27/82 - Change MMU error routine to do address 0000| ; and data line toggling 0000| ; 1/28/82 - Add video circuitry test 0000| ; 1/30/82 - Add write wrong parity test 0000| ; 1/31/82 - Move run time stack to $180 0000| ; 2/6/82 - Add Profile bootstrap with upgrade for 0000| ; OS use (add jump table entries also) 0000| ; 2/15/82 - Update Twiggy bootstrap and add entry 0000| ; for OS use; also add MMU test to 0000| ; conditional assembly and add context 0000| ; saving to MMUTST2 routine 0000| ; 2/17/82 - Add correction to memory test for 0000| ; reboot problem and leave parity on 0000| ; 2/24/82 - Add code for clock test and special 0000| ; burn-in cycling 0000| ; 2/25/82 - Add code to simulate soft on switch 0000| ; pressed for COPS problem 0000| ; 3/1/82 - Removed all changes since ROM 0.18 0000| ; release except for parity enabling, 0000| ; no reset feature, memory sizing change 0000| ; and Profile booting 0000| ; 3/1/82 - Restore default stack ptr loc to $300 0000| ; 3/1/82 - Move default stack to $0400, restore 0000| ; everything except MMU testing 0000| ; 3/4/82 - Add MMU initialization and modify 0000| ; Twiggy, Profile boot routines for new 0000| ; load point 0000| ; 3/10/82 - Add change for new I/O addresses and 0000| ; fix for Twiggy routine 0000| ; 3/10/82 - Change contrast value for new I/O's 0000| ; 3/15/82 - Add correction for Profile and COPS 0000| ; routines and display msg when booting 0000| ; 3/17/82 - Restore version # at end of file 0000| ; 3/18/82 - Release version 0.22 0000| ; 0000| ; 4/5/82 - Make initial 2732 version (1.00); add 0000| ; following changes: 0000| ; 1) correct MMU error routine bug 0000| ; 2) change stack for CALL to $0400 0000| ; 3) add parity disable to WWP routine 0000| ; 4) change MMU I/O space code to '9' 0000| ; 5) add invalid boot code message 0000| ; 4/6/82 - Add speaker click after COPS check 0000| ; 4/7/82 - Add jump table entry for speaker 0000| ; routine, 1 second delay before "click" 0000| ; …
Showing first 20,000 characters of 500,000 total. Open the full document →