Skip to main content
Home Documents Lisa Lisa Boot ROM Asm Listing.TEXT
Lisa Boot ROM Asm Listing.TEXT

Lisa Boot ROM Asm Listing.TEXT

Lisa · 1983 · TEXT
FilenameLisa_Boot_ROM_Asm_Listing.TEXT
Size0.75 MB
Year1983
Subsection firmware
Downloads2
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 →

mp.ls