MC68020 Assembler - Ver 2.88 14-Dec-88 Page 1 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement ;=================================================================================== ; ; File: ApplPowerOn.a ; ; Function: Power on test for 8344 related circuitry ; { ; Test 8344 RIC register; ; Test 8344 Program Counter; ; Test 8344 Data RAM locations 0x3E00-0x3FFF with pattern FF then 00; ; Test 8344 Instruction memory with patterns FF then 00; ; Load 8344 test program; ; bcpTestState = IDLE; ; bcpTestErr = ER.RAM | ER.LOOP | ER.REG; ; Fill 0x3E10 to 0x3EFF with ripple pattern for TRx loopback test; ; Start 8344 test; ; Wait till bcpTestState != IDLE or timeout; ; } ; ; Input: None ; ; Output: None ; ; Update: #VendPowerupMask ANDed to word in card location #TstStatus if no error ; ($134) = 32 bit failure code if status indicates failure ; ; History: 12/03/87: initial version ; M001 01/15/88 always set 'Fast Write' & 'Latched Read' when testing RIC ; 3/7/88 WHJW: moved all interrupt routines into this module ; ;=================================================================================== INCLUDE 'CommDeclr.h' ;************************************************************************* ; ; CommDeclr.h: ; Constants used for Smart card Diagnostics 0007 FFFE STACK EQU $7FFFE ; offset of stack in card RAM 0001 0000 ROMSize EQU (64*1024) ; ROM = 64K 0000 0000 OFF equ 0 FFFF FFFF ON equ -1 0000 0000 PASS equ 0 FFFF FFFF FAIL equ -1 0000 0001 WAIT equ 1 ; Delay constants in microseconds 0000 0D00 TimeDBRA equ $D00 ; (word) location: # of DBRA instructions/mSecond 0000 01F4 WaitCount equ 500 ; timeout - wait for power_on finish 0000 0004 TimeCnt equ 4 ; timeout for IOP test 0000 0010 TimerWait equ 16 ; timeout for Timer test 0000 0004 Delay equ 4 ; Reset delay ; variable offsets into card RAM 0000 0100 WaitFlag equ $100 ; power_on wait flag 0000 0102 TstStatus equ $102 ; test status bit flags 0000 0104 TimeFlag equ $104 ; flag for timer test 0000 0106 HostFlag equ $106 ; flag for host reset test 0000 0108 ResetFlag equ $108 ; flag to control reset code 0000 010C IOPFlag equ $10C ; flag for IOP interrupt test 0000 010E CRCCalcAddr equ $10E ; ROM calculated CRC value 0000 0112 WriteLoc equ $112 ; Location of Nubus write/read test ;rteAddr equ $116 ; rte for interrupt vectors (no longer used) 0000 0118 timeCountAddr equ $118 ; address of firmware timer counter 0000 011C RAMSizeAddr equ $11c ; Size of card RAM in bytes 0000 0120 TASStatusAddr equ $120 ; returns test & set card status to 020 0000 0122 NMRQFlag equ $122 ; flag for NMRQ test 0000 0128 BusErrAddr equ $128 ; flag for bus error 0000 012C InitA5Addr equ $12c ; Used for finding data block 0000 0130 CodeOffset equ $130 ; Used for finding code block 0000 0134 VendPowerStatus equ $134 ; return status from vendors power-up code 0000 0138 VendPrimaryStatus equ $138 ; return status from vendors Primary init code 0000 013C ExceptionPC equ $13C ; PC stored here after exception takes place 0000 0140 ErrorAddr equ $140 ; data addr stored here after bus or addressing error MC68020 Assembler - Ver 2.88 14-Dec-88 Page 2 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 0000 0144 RAMErrAddr equ $144 ; if RAM error occurs, its address stored here 0000 0148 L1IntAddr equ $148 ; Mac processor stores new Timer interrupt loc here; ; then calls SetL1Interrupt to set it safely. ; card space to $180 to $200 reserved for temporary data values only 00E0 0000 testROMAddr equ $e00000 ; location of Fremont board tester ROM 0080 0008 ROMversion equ $800008 ; location of Mac II ROM version number ; Test status bit masks 0000 FFFF testsDefined equ $ffff ; currently defined test bits 0000 FFFE DLTestMask equ $fffe ; sliding 5 data line test 0000 FFFD RAMTestMask equ $fffd 0000 FFFB testPatternMask equ $fffb ; signals PROM burned incorrectly 0000 FFF7 CRCTestMask equ $fff7 ; Clears CRC test bit 0000 FFEF VendPowerupMask equ $ffef 0000 001F PowerMask equ $1F FFFF FFDF BusMask equ $FFFFFFDF ; clears Nubus write/read test bit FFFF FFBF HostMask equ $FFFFFFBF ; clears host reset test bit FFFF FF7F TimeMask equ $FFFFFF7F ; clears timer test bit FFFF FEFF IOPMask equ $FFFFFEFF ; clears IOP test bit FFFF FDFF VendMask equ $FFFFFDFF ; clears vendor test bit FFFF FBFF NMRQMask equ $FFFFFBFF ; clears NMRQ test bit ; Card control switch offsets 00C0 0000 ExtReg equ $C00000 ; Nubus extension register (write) or unreset (read) 00C0 0002 TimerSet equ $C00002 ; Timer interrupt switch (read) 00C0 0008 ClrIOPIntr equ $C00008 ; Clear Interrupt IOP request (read) 00C0 000A SetIOPIntr equ $C0000A ; Set Interrupt IOP request (read) 00C0 0004 ClrHostIntr equ $C00004 ; Clear Host Interrupt request (read) 00C0 0006 SetHostIntr equ $C00006 ; Set Host Interrupt request (read) 00F0 0000 Reset equ $F00000 ; programmed reset of 68000 (write) 00B0 0000 SetTASAddr equ $B00000 ; Prime card for an offcard TAS instruction ; Pointers to interrupt test routines 00FF FF60 SetL1Addr equ $FFFF60 00FF FF80 TimeAddr equ $FFFF80 00FF FFA0 HostAddr equ $FFFFA0 00FF FFC0 IOPAddr equ $FFFFC0 ; test patterns 5555 5555 testWord1 equ $55555555 ; power-up RAM test data word AAAA AAAA testWord2 equ $aaaaaaaa 5A5A 5A5A testWord3 equ $5a5a5a5a 55AA 55AA testWord4 equ $55aa55aa 5A93 2BC7 bTestPattern equ $5a932bc7 ; test pattern in identifier block AAAA 5555 testROMSig equ $aaaa5555 ; PVT test ROM Signature ; format header block offsets 00FF FFFF fBlockLoc equ $ffffff ; 0, 1, 2, 3 bytelanes begins here 0000 0000 byteLanes equ 0 FFFF FFFB testPatLoc equ -5 FFFF FFFA formatLoc equ -6 FFFF FFF5 CRCLoc equ -$b FFFF FFF1 lengthLoc equ -$f FFFF FFEB CommIDLoc equ -$15 ;used to identify GMSIOP card application FFFF FFE9 VendIDLoc equ -$17 ;used to identify specific hardware configuration 0000 C3D2 CommID equ $c3d2 ;GMSIOP card ROM identifier 0000 0001 MacID equ 01 ; Mac II ROM ID ;Equates shared by asmlib.a & exceptions.a 0000 00F7 mode24mask equ $F7 0000 0008 mode32mask equ $8 50F0 2000 addrPort equ $50F02000 ;32 bit hardware switch; no longer accessed directly 0000 0CB2 MMU32bit equ $0CB2 ;(byte) boolean reflecting current 020 machine MMU mode 00FF FFEC codePtr equ $FFFFEC 0000 0A7C MyIntHndl equ $a7c ;handle in 020 Application scratch memory 0000 0A80 AppScratch equ $a80 ;last 4 bytes of appl scratch area A9FF _Debugger OPWORD $A9FF A11E _NewPtr OPWORD $A100+30 A01F _DisposPtr OPWORD $A000+31 A05D _SwapMMUMode OPWORD $A05D ;from traps.a A075 _SIntInstall OPWORD $A075 A076 _SIntRemove OPWORD $A076 MC68020 Assembler - Ver 2.88 14-Dec-88 Page 3 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement A9F2 _Launch OPWORD $A9F2 MACRO _m32 move.l d0, -(a7) move.l #1, d0 _SwapMMUMode move.l (a7)+, d0 ENDM MACRO _m24 move.l d0, -(a7) move.l #0, d0 _SwapMMUMode move.l (a7)+, d0 ENDM INCLUDE 'Application.h' ;================================================================================== ; File: Application.h ; ; Function: Application card ROM constants stored here ; 0042 0001 bcpRIC equ $420001 ; 8344 remote interface configuration register 0040 0001 bcpPC equ $400001 ; Dummy address for writing to 8344 PC 0040 0001 bcpDRAM equ $400001 ; 8344 Data RAM address base 0040 7C15 bcpGoodData equ $3E0A * 2 + bcpDRAM ; Test data 0040 7C17 bcpBadData equ $3E0B * 2 + bcpDRAM ; Bad data read back 0040 7C19 bcpErrAddrHi equ $3E0C * 2 + bcpDRAM ; Failed memory address, high order 0040 7C1B bcpErrAddrLo equ $3E0D * 2 + bcpDRAM ; Failed memory address, low order 0040 7C1D bcpTestErr equ $3E0E * 2 + bcpDRAM ; BCP test error bits 0040 7C1F bcpTestState equ $3E0F * 2 + bcpDRAM ; BCP test states 0040 7C01 bcpComm equ $3E00 * 2 + bcpDRAM ; BCP - 68k communication area 0040 8001 bcpDMEnd equ $4000 * 2 + bcpDRAM ; Last data memory + 1 ; ; - RIC selections ; 0000 0034 RIC_START equ $34 ; Start 8344 execution 0000 0030 RIC_DRAM equ $30 ; Select 8344 Data RAM 0000 0034 RIC_DRAM_RUN equ $34 ; Select 8344 Data RAM and do not stop 8344 0000 0031 RIC_IMEM equ $31 ; Select 8344 Instruction memory 0000 0032 RIC_PC_LO equ $32 ; Select 8344 Program Counter low byte 0000 0033 RIC_PC_HI equ $33 ; Select 8344 Program Counter high byte ; ; - BCP test states ; 0000 0000 bcpIDLE equ $00 ; BCP test not started 0000 0001 bcpRUNNING equ $01 ; BCP test in progress 0000 0002 bcpDONE equ $02 ; BCP test completed ; ; - BCP Tests entry points, low bytes ; 0000 0020 BT_POR equ $20 ; 8344 POR Test starts at 0020 ; ; - BCP test error bits ; 0000 0001 bcpRegErr equ $01 ; BCP register test failed 0000 0002 bcpLoopErr equ $02 ; BCP loop back test failed 0000 0010 bcpRamErr equ $10 ; BCP data RAM test failed 0000 0013 bcpError equ bcpRegErr + bcpLoopErr + bcpRamErr ; ; Misc. MC68020 Assembler - Ver 2.88 14-Dec-88 Page 4 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement ; 0000 0800 BCP_IM_SIZE equ $800 ; size of bcp instruction memory (I.M.) 0000 1000 bcp_rdback equ $0001000 ; start location to store readback from 8344 I.M. 0002 0000 WaitBCPDone equ $00020000 ; loop count waiting for 8344 to finish testing 0000 5A6F VendID equ $5a6f ;unofficial Zorro Vendor ID ;----------- sResource Directory stuff ; 0000 0001 sRsrc_Board EQU 1 ;Board sResource 0000 000A CommBoardId EQU $A ;Officially defined by Developer Technical Support 0000 0004 ROMRevLevel equ 4 ;ROM revision level (now D) must be < 9 0000 0080 sRsrc_CPU EQU 128 ;identify CPU & memory resources 0000 0081 sRsrc_Comm1 EQU 129 ;comm type 1 0000 0082 sRsrc_Comm2 EQU 130 ;comm type 2 0000 0083 sRsrc_Comm3 EQU 131 ;comm type 3 0000 0084 sRsrc_Comm4 EQU 132 ;comm type 4 0000 008C sRsrc_sMemory EQU 140 ;2nd leved sResource (not seen directly by slot manager) 0000 0096 CatsMemory EQU 150 ;not defined by DTS, 2nd level sRrsource 0000 0080 MinorRAMAddr EQU 128 0000 0082 MinorROMAddr EQU 130 0000 0084 MinorDeviceAddr EQU 132 0000 000A CatCPU EQU $000A ; 0000 0001 Typ68000 EQU $0001 ; 0000 FFFF DrSwNotThere EQU $FFFF ;Apple MCP has 68K, no on-board driver 0000 0001 DrHwAMCP EQU $0001 ;First generation Apple MCP cards 0000 0006 CatCommunication EQU $0006 ;mb CatInterface? 0000 0013 Typ3270 EQU $0013 ;vanilla 3270 for Zorro card 8/23/88 ;DrSwNotThere EQU $FFFF ;Apple MCP has 68K, no on-board driver ;DrHwAMCP EQU $0001 ;First generation Apple MCP cards ;CatCommunication EQU $0006 ;mb CatInterface? ;Typ3270 EQU $0013 ;vanilla 3270 for Zorro card 8/23/88 ;DrSwNotThere EQU $FFFF ;Apple MCP has 68K, no on-board driver 0000 0006 DrHwA3270_5250 EQU $0006 ;Apple 3270/5250 NB card (Zorro)-implies 8344 chip ;CatCommunication EQU $0006 ;mb CatInterface? 0000 000A Typ5250 EQU $000A ;5250 protocol (actual DTS constant is Typ32705250) ;DrSwNotThere EQU $FFFF ;Apple MCP has 68K, no on-board driver ;DrHwAMCP EQU $0001 ;First generation Apple MCP cards ;CatCommunication EQU $0006 ;mb CatInterface? ;Typ5250 EQU $000A ;5250 protocol (actual DTS constant is Typ32705250) ;DrSwNotThere EQU $FFFF ;Apple MCP has 68K, no on-board driver ;DrHwA3270_5250 EQU $0006 ;Apple 3270/5250 NB card (Zorro)-implies 8344 chip ENTRY bcpCodes 00000 VendorPowerUp: PROC EXPORT ; WHJW: mod to facilitate modular structure 00000 G 007C 0700 or.w #$0700, SR ; disable interrupts 0-7 00004 4EBA 0096 0009C jsr zt_RIC ; test 8344 RIC 00008 6600 0090 0009A bne zt_err ; skip if error 0000C 0000C 4EBA 00CC 000DA jsr zt_PC ; test 8344 program counter 00010 6600 0088 0009A bne zt_err ; skip if error 00014 00014 G 247C 0040 7C01 move.l #bcpComm, A2 ; point to location 3E00 of data memory 0001A G 267C 0040 8001 move.l #bcpDMEnd, A3 ; ending location 00020 4EBA 011C 0013E jsr zt_RAM ; test interface area (0x3E00 - 0x3FFF) 00024 6600 0074 0009A bne zt_err ; skip if error 00028 00028 4EBA 016C 00196 jsr zt_IMem ; test 8344 instruction memory 0002C 666C 0009A bne.s zt_err ; skip if error 0002E 0002E 47FA 0000 lea bcpCodes, A3 ; A3 = address of 8344 code records MC68020 Assembler - Ver 2.88 14-Dec-88 Page 5 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 00032 4EBA 01DA 0020E jsr load_BCP ; load test code to 8344 00036 6662 0009A bne.s zt_err ; skip if error 00038 00038 ; movea.l #bcp_readback, A3 ; A3 = address of buf to store readback 00038 ; jsr read_BCP ; read 8344 instructions back 00038 00038 ;--------------------------------------- 00038 ; - Set BCP Test State to IDLE, error flag indicates all error bits set 00038 ; - Start 8344 execution 00038 ;--------------------------------------- 00038 00038 227C 0042 0001 movea.l #bcpRIC, A1 ; address of 8344 RIC 0003E 7030 moveq #RIC_DRAM, D0 ; select Data memory 00040 1280 move.b D0, (A1) ; 00042 7200 moveq #bcpIDLE, D1 ; set BCP test state = IDLE 00044 247C 0040 7C1F movea.l #bcpTestState, A2 ; 0004A 1481 move.b D1, (A2) ; 0004C 0004C 7213 moveq #bcpError, D1 ; init bcpTestErr with all error bits set 0004E 247C 0040 7C1D movea.l #bcpTestErr, A2 ; 00054 1481 move.b D1, (A2) ; 00056 00056 7032 moveq #RIC_PC_LO, D0 ; select 8344 PC 00058 1280 move.b D0, (A1) ; 0005A 7220 moveq #BT_POR, D1 ; 8344 POR test entry 0005C 1481 move.b D1, (A2) ; 0005E 7033 moveq #RIC_PC_HI, D0 ; 00060 1280 move.b D0, (A1) ; 00062 G 4212 move.b #00, (A2) ; 00064 00064 7034 moveq #RIC_START, D0 ; start 8344 execution 00066 1280 move.b D0, (A1) ; 00068 00068 ;--------------------------------------- 00068 ; - Wait for 8344 finish its testing 00068 ;--------------------------------------- 00068 00068 243C 0002 0000 move.l #WaitBCPDone, D2 ; loop count waiting for 8344 finish testing 0006E @30: 0006E 7034 moveq #RIC_DRAM_RUN, D0 ; select Data memory 00070 1280 move.b D0, (A1) ; 00072 247C 0040 7C1F movea.l #bcpTestState, A2 ; 00078 G 0C12 0002 cmp.b #bcpDONE, (A2) ; check if 8344 finish testing 0007C 6714 00092 beq.s zt_rtn ; exit loop if yes 0007E 5382 subq.l #1, D2 ; decrement count 00080 66EC 0006E bne.s @30 ; keep checking till timeout 00082 00082 ; 00082 ; - Check if 8344 test error 00082 ; 00082 00082 7030 moveq #RIC_DRAM, D0 ; select Data memory & stop 8344 00084 1280 move.b D0, (A1) ; 00086 247C 0040 7C1D movea.l #bcpTestErr, A2 ; test error location 0008C G 0C12 0000 cmp.b #0, (A2) ; get 8344 test error indicator 00090 6608 0009A bne.s zt_err ; skip if error 00092 00092 ;--------------------------------------- 00092 ; - No error exit 00092 ;--------------------------------------- 00092 00092 zt_rtn: 00092 307C 0102 movea.l #TstStatus, A0 ;address in low board memory 00096 G 0250 FFEF and.w #VendPowerupMask, (A0) ; passed! 0009A 0009A ;--------------------------------------- 0009A ; - exit 0009A ;--------------------------------------- 0009A 0009A zt_err: 0009A 4E75 rts 0009C 0009C MC68020 Assembler - Ver 2.88 14-Dec-88 Page 6 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 0009C 0009C ;=================================================================================== 0009C ; 0009C ; Name: Test RIC 0009C ; 0009C ; Function: Test 8344 Remote Interface Configuration register 0009C ; 0009C ; Input: None 0009C ; 0009C ; Output: Z flag set => no error 0009C ; Z flag clear => error (D1 = data written; D2 = data read back) 0009C ; 0009C ; Update: None 0009C ; 0009C ; History: 12/03/87: initial version 0009C ; M001 01/15/88 always set 'Fast Write' & 'Latched Read' when testing RIC 0009C ; 0009C ;=================================================================================== 0009C 0009C zt_RIC: 0009C 227C 0042 0001 movea.l #bcpRIC, A1 ; address of 8344 RIC 000A2 7230 moveq #$30, D1 ; write 30 ;;;M001 000A4 1281 move.b D1, (A1) ; 000A6 1411 move.b (A1), D2 ; read back 000A8 0202 007F andi.b #$7F, D2 ; MSB is read only 000AC B401 cmp.b D1, D2 ; compare 000AE 6628 000D8 bne.s @90 ; jump if error 000B0 000B0 7231 moveq #$31, D1 ; write 31 ;;;M001 000B2 1281 move.b D1, (A1) ; 000B4 1411 move.b (A1), D2 ; read back 000B6 0202 007F andi.b #$7F, D2 ; 000BA B401 cmp.b D1, D2 ; compare 000BC 661A 000D8 bne.s @90 ; jump if error 000BE 000BE 7232 moveq #$32, D1 ; write 32 ;;;M001 000C0 1281 move.b D1, (A1) ; 000C2 1411 move.b (A1), D2 ; read back 000C4 0202 007F andi.b #$7F, D2 ; 000C8 B401 cmp.b D1, D2 ; compare 000CA 660C 000D8 bne.s @90 ; jump if error 000CC 000CC 7233 moveq #$33, D1 ; write 33 ;;;M001 000CE 1281 move.b D1, (A1) ; 000D0 1411 move.b (A1), D2 ; read back 000D2 0202 007F andi.b #$7F, D2 ; 000D6 B401 cmp.b D1, D2 ; compare 000D8 @90: 000D8 4E75 rts 000DA MC68020 Assembler - Ver 2.88 14-Dec-88 Page 7 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 000DA 000DA ;=================================================================================== 000DA ; 000DA ; Name: zt_PC 000DA ; 000DA ; Function: Test 8344 Program Counter 000DA ; 000DA ; Input: None 000DA ; 000DA ; Output: Z flag set => no error 000DA ; Z flag clear => error (D1 = data written; D2 = data read back; 000DA ; A2 = failed address) 000DA ; 000DA ; Update: None 000DA ; 000DA ; History: 12/03/87: initial version 000DA ; 000DA ;=================================================================================== 000DA 000DA zt_PC: 000DA 227C 0042 0001 movea.l #bcpRIC, A1 ; address of 8344 RIC 000E0 7032 moveq #RIC_PC_LO, D0 ; select PC low 000E2 1280 move.b D0, (A1) ; 000E4 247C 0040 0001 movea.l #bcpPC, A2 ; dummy address for writing to 8344 PC 000EA 000EA 123C 00FF move.b #$FF,D1 ; pattern 0xFF 000EE 1481 move.b D1, (A2) ; write to PC low 000F0 B212 cmp.b (A2), D1 ; read back check 000F2 6642 00136 bne.s @90 ; jump if error 000F4 000F4 7255 moveq #$55,D1 ; pattern 0x55 000F6 1481 move.b D1, (A2) ; write to PC low 000F8 B212 cmp.b (A2), D1 ; read back check 000FA 663A 00136 bne.s @90 ; jump if error 000FC 000FC 123C 00AA move.b #$AA,D1 ; pattern 0xAA 00100 1481 move.b D1, (A2) ; write to PC low 00102 B212 cmp.b (A2), D1 ; read back check 00104 6630 00136 bne.s @90 ; jump if error 00106 00106 1481 move.b D1, (A2) ; write to PC low 00108 B212 cmp.b (A2), D1 ; read back check 0010A 662A 00136 bne.s @90 ; jump if error 0010C 0010C 7033 moveq #RIC_PC_HI, D0 ; select PC high 0010E 1280 move.b D0, (A1) ; 00110 00110 123C 00FF move.b #$FF,D1 ; pattern 0xFF 00114 1481 move.b D1, (A2) ; write to PC low 00116 B212 cmp.b (A2), D1 ; read back check 00118 661C 00136 bne.s @90 ; jump if error 0011A 0011A 7255 moveq #$55,D1 ; pattern 0x55 0011C 1481 move.b D1, (A2) ; write to PC low 0011E B212 cmp.b (A2), D1 ; read back check 00120 6614 00136 bne.s @90 ; jump if error 00122 00122 123C 00AA move.b #$AA,D1 ; pattern 0xAA 00126 1481 move.b D1, (A2) ; write to PC low 00128 B212 cmp.b (A2), D1 ; read back check 0012A 660A 00136 bne.s @90 ; jump if error 0012C 0012C 7200 moveq #$00,D1 ; pattern 0x00 0012E 1481 move.b D1, (A2) ; write to PC low 00130 B212 cmp.b (A2), D1 ; read back check 00132 6602 00136 bne.s @90 ; jump if error 00134 00134 4E75 rts ; good return 00136 @90: 00136 1412 move.b (A2), D2 ; D2 = bad data 00138 163C 0001 move.b #1, D3 ; insure Z = 0 0013C 4E75 rts ; return 0013E MC68020 Assembler - Ver 2.88 14-Dec-88 Page 8 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 0013E 0013E ;=================================================================================== 0013E ; 0013E ; Name: zt_RAM 0013E ; 0013E ; Function: Test 8344 Data Memory 0013E ; 0013E ; Input: A2 = starting RAM address 0013E ; A3 = ending RAM address + 1 0013E ; 0013E ; Output: Z flag set => no error 0013E ; Z flag clear => error (D1 = data written; D2 = data read back; 0013E ; A2 = failed address) 0013E ; 0013E ; Update: None 0013E ; 0013E ; History: 12/03/87: initial version 0013E ; 0013E ;=================================================================================== 0013E 0013E zt_RAM: 0013E 227C 0042 0001 movea.l #bcpRIC, A1 ; address of 8344 RIC 00144 260A move.l A2, D3 ; save starting location 00146 7030 moveq #RIC_DRAM, D0 ; select Data memory 00148 1280 move.b D0, (A1) ; 0014A 123C 00FF move.b #$FF,D1 ; data pattern 0014E @1: 0014E 1481 move.b D1, (A2) ; write to memory 00150 B212 cmp.b (A2), D1 ; read it back check 00152 663A 0018E bne.s @90 ; jump if errror 00154 00154 548A addq.l #2, A2 ; addr.ptr++ 00156 G B5CB cmp.l A3, A2 ; check if reached end 00158 66F4 0014E bne.s @1 0015A 0015A 2443 movea.l D3, A2 ; reset pointer to where it started 0015C 7255 moveq #$55,D1 ; data pattern 0015E @2: 0015E 1481 move.b D1, (A2) ; write to memory 00160 B212 cmp.b (A2), D1 ; read it back check 00162 662A 0018E bne.s @90 ; jump if errror 00164 00164 548A addq.l #2, A2 ; addr.ptr++ 00166 G B5CB cmp.l A3, A2 ; check if reached end 00168 66F4 0015E bne.s @2 0016A 0016A 2443 movea.l D3, A2 ; reset pointer to where it started 0016C 123C 00AA move.b #$AA,D1 ; data pattern 00170 @3: 00170 1481 move.b D1, (A2) ; write to memory 00172 B212 cmp.b (A2), D1 ; read it back check 00174 6618 0018E bne.s @90 ; jump if errror 00176 00176 548A addq.l #2, A2 ; addr.ptr++ 00178 G B5CB cmp.l A3, A2 ; check if reached end 0017A 66F4 00170 bne.s @3 0017C 0017C 2443 movea.l D3, A2 ; reset pointer to where it started 0017E 7200 moveq #$00,D1 ; data pattern 00180 @4: 00180 1481 move.b D1, (A2) ; write to memory 00182 B212 cmp.b (A2), D1 ; read it back check 00184 6608 0018E bne.s @90 ; jump if errror 00186 00186 548A addq.l #2, A2 ; addr.ptr++ 00188 G B5CB cmp.l A3, A2 ; check if reached end 0018A 66F4 00180 bne.s @4 0018C 0018C 4E75 rts ; good return 0018E @90: 0018E 1412 move.b (A2), D2 ; D2 = data read back 00190 163C 0001 move.b #1, D3 ; insure Z = 0 00194 4E75 rts ; return 00196 MC68020 Assembler - Ver 2.88 14-Dec-88 Page 9 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 00196 00196 ;=================================================================================== 00196 ; 00196 ; Name: zt_IMem 00196 ; 00196 ; Function: Test 8344 instruction memory 00196 ; 00196 ; Input: None 00196 ; 00196 ; Output: Z flag set => no error 00196 ; Z flag clear => error (D1 = data written; D2 = data read back; 00196 ; A2 = failed address) 00196 ; 00196 ; Update: None 00196 ; 00196 ; History: 12/03/87: initial version 00196 ; 00196 ;=================================================================================== 00196 00196 zt_IMem: 00196 227C 0042 0001 movea.l #bcpRIC, A1 ; address of 8344 RIC 0019C 247C 0040 0001 movea.l #bcpPC, A2 ; dummy address for writing to 8344 PC 001A2 163C 00FF move.b #$FF, D3 ; D3 = test pattern 001A6 4EBA 0020 001C8 jsr bcpimtest ; test 001AA 661A 001C6 bne.s @90 ; jump if error 001AC 001AC 163C 00AA move.b #$AA, D3 ; D3 = test pattern 001B0 4EBA 0016 001C8 jsr bcpimtest ; test 001B4 6610 001C6 bne.s @90 ; jump if error 001B6 001B6 163C 0055 move.b #$55, D3 ; D3 = test pattern 001BA 4EBA 000C 001C8 jsr bcpimtest ; test 001BE 6606 001C6 bne.s @90 ; jump if error 001C0 001C0 G 4203 move.b #$00, D3 ; D3 = test pattern 001C2 4EBA 0004 001C8 jsr bcpimtest ; test 001C6 @90: 001C6 4E75 rts ; return 001C8 MC68020 Assembler - Ver 2.88 14-Dec-88 Page 10 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 001C8 001C8 ;=================================================================================== 001C8 ; 001C8 ; Name: bcpimtest 001C8 ; 001C8 ; Function: Test 8344 instruction memory with a pattern 001C8 ; 001C8 ; Input: D3 = pattern byte 001C8 ; A1 = address of 8344 RIC 001C8 ; A2 = dummy address to write instruction memory 001C8 ; 001C8 ; Output: Z flag set => no error 001C8 ; Z flag clear => error (D1 = data written; D2 = data read back; 001C8 ; A2 = failed address) 001C8 ; 001C8 ; Update: None 001C8 ; 001C8 ; History: 12/03/87: initial version 001C8 ; 001C8 ;=================================================================================== 001C8 001C8 bcpimtest: 001C8 7032 moveq #RIC_PC_LO, D0 ; select PC low 001CA 1280 move.b D0, (A1) ; 001CC G 4212 move.b #$00, (A2) ; write PC low byte = 00 001CE 7033 moveq #RIC_PC_HI, D0 ; select PC high 001D0 1280 move.b D0, (A1) ; 001D2 G 4212 move.b #$00, (A2) ; write PC high byte = 00 001D4 7031 moveq #RIC_IMEM, D0 ; select instruction memory 001D6 1280 move.b D0, (A1) ; 001D8 283C 0000 0800 move.l #BCP_IM_SIZE, D4 ; D4 = 8344 instruction memory size 001DE @1006: 001DE 1483 move.b D3, (A2) ; write low byte 001E0 1483 move.b D3, (A2) ; write high byte 001E2 5384 subq.l #1, d4 ; decrement count 001E4 66F8 001DE bne.s @1006 ; till end of instruction memory 001E6 001E6 7032 moveq #RIC_PC_LO, D0 ; select PC low 001E8 1280 move.b D0, (A1) ; 001EA G 4212 move.b #$00, (A2) ; write PC low byte = 00 001EC 001EC 7033 moveq #RIC_PC_HI, D0 ; select PC high 001EE 1280 move.b D0, (A1) ; 001F0 G 4212 move.b #$00, (A2) ; write PC high byte = 00 001F2 7031 moveq #RIC_IMEM, D0 ; select instruction memory 001F4 1280 move.b D0, (A1) ; 001F6 283C 0000 0800 move.l #BCP_IM_SIZE, D4 ; D4 = 8344 instruction memory size 001FC @1008: 001FC 1212 move.b (A2), D1 ; D1 = low byte read back 001FE 1412 move.b (A2), D2 ; D2 = high byte read back 00200 B601 cmp.b D1, D3 ; check if equal 00202 6608 0020C bne.s @1009 00204 B602 cmp.b D2, D3 ; check if equal 00206 6604 0020C bne.s @1009 00208 5384 subq.l #1, d4 ; decrement count 0020A 66F0 001FC bne.s @1008 ; till end of instruction memory 0020C 0020C @1009: 0020C 4E75 rts ; return to caller 0020E MC68020 Assembler - Ver 2.88 14-Dec-88 Page 11 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 0020E 0020E ;=================================================================================== 0020E ; 0020E ; Name: load_BCP 0020E ; 0020E ; Function: Load 8344 codes to its instruction memory 0020E ; First word (record) of the code table must be FFFF which indicates 0020E ; next record is the Program Counter record. 0020E ; The third record and records thereafter (until it is FFFFF) are 0020E ; records of the codes to be downloaded to 8344 starting from the PC. 0020E ; End of the code is terminated by 2 consecutive records of FFFF. 0020E ; 0020E ; Input: None 0020E ; 0020E ; Output: Z flag set => no error 0020E ; Z flag clear => error 0020E ; 0020E ; Update: None 0020E ; 0020E ; History: 12/03/87: initial version 0020E ; 0020E ;=================================================================================== 0020E 0020E load_BCP: 0020E 227C 0042 0001 movea.l #bcpRIC, A1 ; address of 8344 RIC 00214 47FA 0000 lea bcpCodes, A3 ; A3 -> 8344 codes in PROM 00218 383C FFFF move.w #$FFFF, D4 ; D4 = 0xFFFF 0021C B85B cmp.w (A3)+, D4 ; check if PC indicator record 0021E 662C 0024C bne.s @90 ; error if not 00220 00220 247C 0040 0001 movea.l #bcpPC, A2 ; dummy address for writing to 8344 PC 00226 @10: 00226 361B move.w (A3)+, D3 ; D3 = next record 00228 B843 cmp.w D3, D4 ; check if 0xFFFF 0022A 6720 0024C beq.s @90 ; if yes, finished download 0022C ; otherwise, it's PC for the 8344 0022C 7032 moveq #RIC_PC_LO, D0 ; select PC low 0022E 1280 move.b D0, (A1) ; 00230 1483 move.b D3, (A2) ; write PC low byte 00232 00232 E04B lsr #8, D3 ; D3 = high order of 8344 PC 00234 7033 moveq #RIC_PC_HI, D0 ; select PC high 00236 1280 move.b D0, (A1) ; 00238 1483 move.b D3, (A2) ; write PC high byte 0023A 7031 moveq #RIC_IMEM, D0 ; select instruction memory 0023C 1280 move.b D0, (A1) ; 0023E @12: 0023E 361B move.w (A3)+, D3 ; get next record 00240 B843 cmp.w D3, D4 ; check if 0xFFFF 00242 67E2 00226 beq.s @10 ; load PC if yes 00244 00244 1483 move.b D3, (A2) ; write low byte to instruction memory 00246 E04B lsr #8, D3 ; get high byte to the right 00248 1483 move.b D3, (A2) ; write high byte to the instruction memory 0024A 60F2 0023E bra.s @12 ; go get next record 0024C @90: 0024C 4E75 rts ; return 0024E MC68020 Assembler - Ver 2.88 14-Dec-88 Page 12 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 0024E 0024E ;=================================================================================== 0024E ; 0024E ; Name: read_BCP 0024E ; 0024E ; Function: Read 8344 codes from its instruction memory for debugging purpose. 0024E ; 0024E ; Input: None 0024E ; 0024E ; Output: Z flag set => no error 0024E ; Z flag clear => error 0024E ; 0024E ; Update: None 0024E ; 0024E ; History: 12/03/87: initial version 0024E ; 0024E ;=================================================================================== 0024E 0024E read_BCP: 0024E 227C 0042 0001 movea.l #bcpRIC, A1 ; address of 8344 RIC 00254 247C 0040 0001 movea.l #bcpPC, A2 ; dummy address for accessing to 8344 PC 0025A 263C 0000 0800 move.l #BCP_IM_SIZE, D3; D3 = 8344 instruction memory size in words 00260 E38B lsl.l #1, D3 ; D3 = number of bytes 00262 367C 1000 movea.l #bcp_rdback, A3 ; A3 = buf address to store readbacks 00266 7032 moveq #RIC_PC_LO, D0 ; select PC low 00268 1280 move.b D0, (A1) ; 0026A G 4212 move.b #0, (A2) ; write PC low byte = 00 0026C 7033 moveq #RIC_PC_HI, D0 ; select PC high 0026E 1280 move.b D0, (A1) ; 00270 G 4212 move.b #0, (A2) ; write PC high byte = 00 00272 7031 moveq #RIC_IMEM, D0 ; select instruction memory 00274 1280 move.b D0, (A1) ; 00276 @12: 00276 1412 move.b (A2), D2 ; read back 00278 16C2 move.b D2, (A3)+ ; store in buffer 0027A 0483 0000 0001 subi.l #1, D3 ; decrement count 00280 66F4 00276 bne.s @12 00282 @90: 00282 4E75 rts ; return 00284 MC68020 Assembler - Ver 2.88 14-Dec-88 Page 13 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 00284 00000 L1Interrupt Proc Export 00000 2F09 move.l a1, -(sp) ; save reg 00002 227C 00C0 0002 movea.l #$c00002, a1 00008 G 3251 move.w (a1), a1 ; clear timer interrupt 0000A 327C 0118 movea.l #timeCountAddr, a1 0000E 5291 addq.l #1, (a1) ; incr timer location 00010 G 225F move.l (sp)+, a1 ; restore reg 00012 P 4E73 rte 00014 00000 L2Interrupt PROC EXPORT 00000 2F08 move.l a0, -(sp) 00002 207C 00C0 0008 movea.l #ClrIOPIntr, a0 00008 G 2050 move.l (a0), a0 ;read clears interrupt 0000A G 205F move.l (sp)+, a0 0000C P 4E73 rte ;GMSIOP interrupt 0000E 00000 L3Interrupt PROC EXPORT ; WHJW: mod to facilitate modular structure 00000 48E7 8040 movem.l d0/a1, -(sp) 00004 227C 0042 0001 movea.l #bcpRIC, a1 ;address of 8344 RIC 0000A 7034 moveq #RIC_DRAM_RUN, d0 ;select data memory 0000C G 0640 0080 add #$80, d0 00010 1280 move.b d0, (a1) ;toggle interrupt activate line 00012 4CDF 0201 movem.l (sp)+, d0/a1 00016 P 4E73 rte 00018 00000 L4Interrupt PROC EXPORT 00000 P 4E73 rte ;not used on Zorro card 00000 L5Interrupt PROC EXPORT 00000 P 4E73 rte ;not used on Zorro card 00000 L6Interrupt PROC EXPORT 00000 P 4E73 rte ;not used on Zorro card 00002 00000 L7Interrupt PROC EXPORT ;NMI interrupt 00000 G 305F move.w (sp)+, a0 ;pop sr & forget it 00002 G 205F move.l (sp)+, a0 ;pop return address & forget it 00004 207C 00FF 0004 movea.l #$ff0004, a0 ;location of power-up code starting addr 0000A G 2050 move.l (a0), a0 0000C 4ED0 jmp (a0) ;assume supr. stack ptr set by caller 0000E P 4E73 rte 00010 00010 ;--------------- 00010 ; 8344 Codes 00010 ;--------------- 00010 00000 bcpCodes PROC 00000 00000 INCLUDE 'btest.68k' 00000 FFFF dc.w $FFFF 00002 0000 dc.w $0000 00004 FFFF dc.w $FFFF 00006 0000 dc.w $0000 00008 AFB0 dc.w $AFB0 0000A FFFF dc.w $FFFF 0000C 0004 dc.w $0004 0000E CE00 dc.w $CE00 00010 01F2 dc.w $01F2 00012 FFFF dc.w $FFFF 00014 0008 dc.w $0008 00016 AFB0 dc.w $AFB0 00018 FFFF dc.w $FFFF 0001A 000C dc.w $000C 0001C AFB0 dc.w $AFB0 0001E FFFF dc.w $FFFF 00020 0010 dc.w $0010 00022 AFB0 dc.w $AFB0 00024 FFFF dc.w $FFFF 00026 0014 dc.w $0014 00028 AFB0 dc.w $AFB0 0002A FFFF dc.w $FFFF 0002C 001C dc.w $001C 0002E AFB0 dc.w $AFB0 00030 FFFF dc.w $FFFF 00032 0020 dc.w $0020 00034 CE00 dc.w $CE00 MC68020 Assembler - Ver 2.88 14-Dec-88 Page 14 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 00036 0040 dc.w $0040 00038 FFFF dc.w $FFFF 0003A 0022 dc.w $0022 0003C CE00 dc.w $CE00 0003E 0079 dc.w $0079 00040 FFFF dc.w $FFFF 00042 0024 dc.w $0024 00044 CE00 dc.w $CE00 00046 0087 dc.w $0087 00048 FFFF dc.w $FFFF 0004A 0026 dc.w $0026 0004C CE00 dc.w $CE00 0004E 009A dc.w $009A 00050 FFFF dc.w $FFFF 00052 0028 dc.w $0028 00054 CE00 dc.w $CE00 00056 00B6 dc.w $00B6 00058 FFFF dc.w $FFFF 0005A 002A dc.w $002A 0005C CE00 dc.w $CE00 0005E 00C5 dc.w $00C5 00060 FFFF dc.w $FFFF 00062 002C dc.w $002C 00064 CE00 dc.w $CE00 00066 00D4 dc.w $00D4 00068 FFFF dc.w $FFFF 0006A 002E dc.w $002E 0006C CE00 dc.w $CE00 0006E 009A dc.w $009A 00070 FFFF dc.w $FFFF 00072 0030 dc.w $0030 00074 CE00 dc.w $CE00 00076 00E5 dc.w $00E5 00078 FFFF dc.w $FFFF 0007A 0040 dc.w $0040 0007C AEF8 dc.w $AEF8 0007E BC00 dc.w $BC00 00080 B008 dc.w $B008 00082 FFC8 dc.w $FFC8 00084 CE80 dc.w $CE80 00086 00F8 dc.w $00F8 00088 CE80 dc.w $CE80 0008A 0106 dc.w $0106 0008C D02C dc.w $D02C 0008E 90E8 dc.w $90E8 00090 B014 dc.w $B014 00092 F904 dc.w $F904 00094 10E8 dc.w $10E8 00096 BFF4 dc.w $BFF4 00098 CE80 dc.w $CE80 0009A 0155 dc.w $0155 0009C D01F dc.w $D01F 0009E BAA4 dc.w $BAA4 000A0 CE80 dc.w $CE80 000A2 0155 dc.w $0155 000A4 D01B dc.w $D01B 000A6 B554 dc.w $B554 000A8 CE80 dc.w $CE80 000AA 0155 dc.w $0155 000AC D017 dc.w $D017 000AE B004 dc.w $B004 000B0 CE80 dc.w $CE80 000B2 0155 dc.w $0155 000B4 D013 dc.w $D013 000B6 CE80 dc.w $CE80 000B8 019E dc.w $019E 000BA D010 dc.w $D010 000BC 90E8 dc.w $90E8 000BE B104 dc.w $B104 000C0 F904 dc.w $F904 000C2 10E8 dc.w $10E8 000C4 B3EF dc.w $B3EF 000C6 B10E dc.w $B10E 000C8 B3FD dc.w $B3FD 000CA B00C dc.w $B00C MC68020 Assembler - Ver 2.88 14-Dec-88 Page 15 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 000CC CE80 dc.w $CE80 000CE 01C5 dc.w $01C5 000D0 D005 dc.w $D005 000D2 90E8 dc.w $90E8 000D4 B024 dc.w $B024 000D6 F904 dc.w $F904 000D8 10E8 dc.w $10E8 000DA CB05 dc.w $CB05 000DC 10A4 dc.w $10A4 000DE 10B8 dc.w $10B8 000E0 10CF dc.w $10CF 000E2 10DE dc.w $10DE 000E4 CB00 dc.w $CB00 000E6 AEE8 dc.w $AEE8 000E8 B028 dc.w $B028 000EA 10F8 dc.w $10F8 000EC CBFF dc.w $CBFF 000EE AEF8 dc.w $AEF8 000F0 BC00 dc.w $BC00 000F2 B008 dc.w $B008 000F4 FFC8 dc.w $FFC8 000F6 CE80 dc.w $CE80 000F8 00F8 dc.w $00F8 000FA CE80 dc.w $CE80 000FC 0106 dc.w $0106 000FE D0F3 dc.w $D0F3 00100 90E8 dc.w $90E8 00102 B014 dc.w $B014 00104 F904 dc.w $F904 00106 10E8 dc.w $10E8 00108 CBEE dc.w $CBEE 0010A AEF8 dc.w $AEF8 0010C BC00 dc.w $BC00 0010E B008 dc.w $B008 00110 FFC8 dc.w $FFC8 00112 CE80 dc.w $CE80 00114 00F8 dc.w $00F8 00116 B004 dc.w $B004 00118 CE80 dc.w $CE80 0011A 0155 dc.w $0155 0011C D0DF dc.w $D0DF 0011E CE80 dc.w $CE80 00120 019E dc.w $019E 00122 D0DC dc.w $D0DC 00124 90E8 dc.w $90E8 00126 B104 dc.w $B104 00128 F904 dc.w $F904 0012A 10E8 dc.w $10E8 0012C CE00 dc.w $CE00 0012E 0075 dc.w $0075 00130 AEF8 dc.w $AEF8 00132 BC00 dc.w $BC00 00134 B008 dc.w $B008 00136 FFC8 dc.w $FFC8 00138 CE80 dc.w $CE80 0013A 00F8 dc.w $00F8 0013C BFF4 dc.w $BFF4 0013E CE80 dc.w $CE80 00140 0155 dc.w $0155 00142 D0CC dc.w $D0CC 00144 BAA4 dc.w $BAA4 00146 CE80 dc.w $CE80 00148 0155 dc.w $0155 0014A D0C8 dc.w $D0C8 0014C B554 dc.w $B554 0014E CE80 dc.w $CE80 00150 0155 dc.w $0155 00152 D0C4 dc.w $D0C4 00154 B004 dc.w $B004 00156 CE80 dc.w $CE80 00158 0155 dc.w $0155 0015A D0C0 dc.w $D0C0 0015C 90E8 dc.w $90E8 0015E B104 dc.w $B104 00160 F904 dc.w $F904 MC68020 Assembler - Ver 2.88 14-Dec-88 Page 16 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 00162 10E8 dc.w $10E8 00164 CE00 dc.w $CE00 00166 0075 dc.w $0075 00168 AEF8 dc.w $AEF8 0016A BC00 dc.w $BC00 0016C B008 dc.w $B008 0016E FFC8 dc.w $FFC8 00170 CE80 dc.w $CE80 00172 00F8 dc.w $00F8 00174 CE80 dc.w $CE80 00176 0160 dc.w $0160 00178 D0B1 dc.w $D0B1 0017A 90E8 dc.w $90E8 0017C B104 dc.w $B104 0017E F904 dc.w $F904 00180 10E8 dc.w $10E8 00182 CE00 dc.w $CE00 00184 0075 dc.w $0075 00186 AEF8 dc.w $AEF8 00188 BC00 dc.w $BC00 0018A B008 dc.w $B008 0018C FFC8 dc.w $FFC8 0018E CE80 dc.w $CE80 00190 00F8 dc.w $00F8 00192 CE80 dc.w $CE80 00194 0170 dc.w $0170 00196 D015 dc.w $D015 00198 90E8 dc.w $90E8 0019A B104 dc.w $B104 0019C F904 dc.w $F904 0019E 10E8 dc.w $10E8 001A0 CE00 dc.w $CE00 001A2 0075 dc.w $0075 001A4 AEF8 dc.w $AEF8 001A6 BC00 dc.w $BC00 001A8 B008 dc.w $B008 001AA FFC8 dc.w $FFC8 001AC CE80 dc.w $CE80 001AE 00F8 dc.w $00F8 001B0 CE80 dc.w $CE80 001B2 0187 dc.w $0187 001B4 D006 dc.w $D006 001B6 90E8 dc.w $90E8 001B8 B104 dc.w $B104 001BA F904 dc.w $F904 001BC 10E8 dc.w $10E8 001BE CE00 dc.w $CE00 001C0 0075 dc.w $0075 001C2 CE00 dc.w $CE00 001C4 0070 dc.w $0070 001C6 AEF8 dc.w $AEF8 001C8 BC00 dc.w $BC00 001CA B008 dc.w $B008 001CC FFC8 dc.w $FFC8 001CE CE80 dc.w $CE80 001D0 00F8 dc.w $00F8 001D2 B3EF dc.w $B3EF 001D4 B10E dc.w $B10E 001D6 B3FD dc.w $B3FD 001D8 B00C dc.w $B00C 001DA CE80 dc.w $CE80 001DC 01C5 dc.w $01C5 001DE D0F1 dc.w $D0F1 001E0 90E8 dc.w $90E8 001E2 B024 dc.w $B024 001E4 F904 dc.w $F904 001E6 10E8 dc.w $10E8 001E8 CE00 dc.w $CE00 001EA 0075 dc.w $0075 001EC B001 dc.w $B001 001EE B206 dc.w $B206 001F0 B807 dc.w $B807 001F2 B0C7 dc.w $B0C7 001F4 AEE0 dc.w $AEE0 001F6 B572 dc.w $B572 MC68020 Assembler - Ver 2.88 14-Dec-88 Page 17 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 001F8 B103 dc.w $B103 001FA B3E8 dc.w $B3E8 001FC FE68 dc.w $FE68 001FE B008 dc.w $B008 00200 FE48 dc.w $FE48 00202 B018 dc.w $B018 00204 10F8 dc.w $10F8 00206 AF80 dc.w $AF80 00208 AEE0 dc.w $AEE0 0020A B558 dc.w $B558 0020C CC0D dc.w $CC0D 0020E 3558 dc.w $3558 00210 D006 dc.w $D006 00212 BAA8 dc.w $BAA8 00214 CC09 dc.w $CC09 00216 3AA8 dc.w $3AA8 00218 D002 dc.w $D002 0021A B008 dc.w $B008 0021C CC05 dc.w $CC05 0021E B3E8 dc.w $B3E8 00220 FE68 dc.w $FE68 00222 B008 dc.w $B008 00224 FE48 dc.w $FE48 00226 AF80 dc.w $AF80 00228 FC88 dc.w $FC88 0022A FCA8 dc.w $FCA8 0022C FCC8 dc.w $FCC8 0022E FCE8 dc.w $FCE8 00230 FD28 dc.w $FD28 00232 FD48 dc.w $FD48 00234 FD68 dc.w $FD68 00236 FE88 dc.w $FE88 00238 FEA8 dc.w $FEA8 0023A FEC8 dc.w $FEC8 0023C FEE8 dc.w $FEE8 0023E FF08 dc.w $FF08 00240 FF28 dc.w $FF28 00242 FF48 dc.w $FF48 00244 FF68 dc.w $FF68 00246 FD88 dc.w $FD88 00248 FDA8 dc.w $FDA8 0024A FDC8 dc.w $FDC8 0024C FDE8 dc.w $FDE8 0024E FE08 dc.w $FE08 00250 FE28 dc.w $FE28 00252 FE48 dc.w $FE48 00254 FE68 dc.w $FE68 00256 AEF8 dc.w $AEF8 00258 FD13 dc.w $FD13 0025A FD28 dc.w $FD28 0025C FD48 dc.w $FD48 0025E FD68 dc.w $FD68 00260 FC48 dc.w $FC48 00262 FCC8 dc.w $FCC8 00264 FCE8 dc.w $FCE8 00266 F907 dc.w $F907 00268 F906 dc.w $F906 0026A F902 dc.w $F902 0026C F90B dc.w $F90B 0026E F90A dc.w $F90A 00270 F909 dc.w $F909 00272 FA68 dc.w $FA68 00274 AEE0 dc.w $AEE0 00276 F913 dc.w $F913 00278 F912 dc.w $F912 0027A F911 dc.w $F911 0027C F910 dc.w $F910 0027E F90F dc.w $F90F 00280 F90E dc.w $F90E 00282 F90D dc.w $F90D 00284 F90C dc.w $F90C 00286 F91B dc.w $F91B 00288 F91A dc.w $F91A 0028A F919 dc.w $F919 0028C F918 dc.w $F918 MC68020 Assembler - Ver 2.88 14-Dec-88 Page 18 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 0028E F917 dc.w $F917 00290 F916 dc.w $F916 00292 F915 dc.w $F915 00294 F914 dc.w $F914 00296 F90B dc.w $F90B 00298 F90A dc.w $F90A 0029A F909 dc.w $F909 0029C F907 dc.w $F907 0029E F906 dc.w $F906 002A0 F905 dc.w $F905 002A2 F904 dc.w $F904 002A4 AF80 dc.w $AF80 002A6 B00F dc.w $B00F 002A8 B00E dc.w $B00E 002AA C2A4 dc.w $C2A4 002AC C128 dc.w $C128 002AE F8A4 dc.w $F8A4 002B0 D003 dc.w $D003 002B2 33EF dc.w $33EF 002B4 D0FA dc.w $D0FA 002B6 AF80 dc.w $AF80 002B8 C025 dc.w $C025 002BA AF80 dc.w $AF80 002BC B00F dc.w $B00F 002BE B00E dc.w $B00E 002C0 C32E dc.w $C32E 002C2 33EF dc.w $33EF 002C4 D0FD dc.w $D0FD 002C6 B00F dc.w $B00F 002C8 B00E dc.w $B00E 002CA FC8E dc.w $FC8E 002CC C128 dc.w $C128 002CE F8C4 dc.w $F8C4 002D0 D003 dc.w $D003 002D2 33EF dc.w $33EF 002D4 D0FA dc.w $D0FA 002D6 CB01 dc.w $CB01 002D8 C026 dc.w $C026 002DA AF80 dc.w $AF80 002DC B00F dc.w $B00F 002DE B00E dc.w $B00E 002E0 BFE4 dc.w $BFE4 002E2 C324 dc.w $C324 002E4 C9E4 dc.w $C9E4 002E6 D101 dc.w $D101 002E8 0014 dc.w $0014 002EA 33EF dc.w $33EF 002EC D0FA dc.w $D0FA 002EE B00F dc.w $B00F 002F0 B00E dc.w $B00E 002F2 BFE4 dc.w $BFE4 002F4 C128 dc.w $C128 002F6 F8C4 dc.w $F8C4 002F8 D006 dc.w $D006 002FA C9E4 dc.w $C9E4 002FC D101 dc.w $D101 002FE 0014 dc.w $0014 00300 33EF dc.w $33EF 00302 D0F8 dc.w $D0F8 00304 CB01 dc.w $CB01 00306 C026 dc.w $C026 00308 AF80 dc.w $AF80 0030A B00F dc.w $B00F 0030C B00E dc.w $B00E 0030E B014 dc.w $B014 00310 C324 dc.w $C324 00312 C9E4 dc.w $C9E4 00314 D101 dc.w $D101 00316 B014 dc.w $B014 00318 33EF dc.w $33EF 0031A D0FA dc.w $D0FA 0031C B00F dc.w $B00F 0031E B00E dc.w $B00E 00320 B014 dc.w $B014 00322 C128 dc.w $C128 MC68020 Assembler - Ver 2.88 14-Dec-88 Page 19 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 00324 F8C4 dc.w $F8C4 00326 D006 dc.w $D006 00328 C9E4 dc.w $C9E4 0032A D101 dc.w $D101 0032C B014 dc.w $B014 0032E 33EF dc.w $33EF 00330 D0F8 dc.w $D0F8 00332 CB01 dc.w $CB01 00334 C026 dc.w $C026 00336 AF80 dc.w $AF80 00338 B00F dc.w $B00F 0033A B00E dc.w $B00E 0033C BFF4 dc.w $BFF4 0033E C2A4 dc.w $C2A4 00340 C128 dc.w $C128 00342 F8E4 dc.w $F8E4 00344 D01E dc.w $D01E 00346 C128 dc.w $C128 00348 F508 dc.w $F508 0034A D01B dc.w $D01B 0034C 8C0F dc.w $8C0F 0034E 01A5 dc.w $01A5 00350 C0A8 dc.w $C0A8 00352 F508 dc.w $F508 00354 D016 dc.w $D016 00356 001F dc.w $001F 00358 33EF dc.w $33EF 0035A D0FA dc.w $D0FA 0035C B00F dc.w $B00F 0035E B01E dc.w $B01E 00360 B00D dc.w $B00D 00362 B00C dc.w $B00C 00364 C28D dc.w $C28D 00366 BAA4 dc.w $BAA4 00368 C2A4 dc.w $C2A4 0036A C0A8 dc.w $C0A8 0036C E8E4 dc.w $E8E4 0036E D00A dc.w $D00A 00370 C088 dc.w $C088 00372 F508 dc.w $F508 00374 D007 dc.w $D007 00376 C9EF dc.w $C9EF 00378 C9EE dc.w $C9EE 0037A D101 dc.w $D101 0037C 001F dc.w $001F 0037E 8CCF dc.w $8CCF 00380 01B6 dc.w $01B6 00382 C026 dc.w $C026 00384 AF80 dc.w $AF80 00386 AEE0 dc.w $AEE0 00388 FFEE dc.w $FFEE 0038A FFEF dc.w $FFEF 0038C FFEC dc.w $FFEC 0038E FFED dc.w $FFED 00390 B562 dc.w $B562 00392 B005 dc.w $B005 00394 1005 dc.w $1005 00396 AEF8 dc.w $AEF8 00398 BE47 dc.w $BE47 0039A 47F7 dc.w $47F7 0039C AED8 dc.w $AED8 0039E BE09 dc.w $BE09 003A0 7805 dc.w $7805 003A2 D0FE dc.w $D0FE 003A4 B006 dc.w $B006 003A6 5206 dc.w $5206 003A8 C124 dc.w $C124 003AA 2019 dc.w $2019 003AC D0F9 dc.w $D0F9 003AE B00F dc.w $B00F 003B0 B00E dc.w $B00E 003B2 C128 dc.w $C128 003B4 8C8F dc.w $8C8F 003B6 01DB dc.w $01DB 003B8 AEE0 dc.w $AEE0 MC68020 Assembler - Ver 2.88 14-Dec-88 Page 20 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 003BA FDBF dc.w $FDBF 003BC FD9F dc.w $FD9F 003BE FDFF dc.w $FDFF 003C0 FDDF dc.w $FDDF 003C2 9005 dc.w $9005 003C4 3005 dc.w $3005 003C6 D00B dc.w $D00B 003C8 BE06 dc.w $BE06 003CA C124 dc.w $C124 003CC C108 dc.w $C108 003CE E8E4 dc.w $E8E4 003D0 D003 dc.w $D003 003D2 2016 dc.w $2016 003D4 D0FA dc.w $D0FA 003D6 AF80 dc.w $AF80 003D8 C006 dc.w $C006 003DA FDED dc.w $FDED 003DC FDCC dc.w $FDCC 003DE AF80 dc.w $AF80 003E0 AE88 dc.w $AE88 003E2 B078 dc.w $B078 003E4 F165 dc.w $F165 003E6 8DA5 dc.w $8DA5 003E8 01FE dc.w $01FE 003EA 8C65 dc.w $8C65 003EC 01FD dc.w $01FD 003EE FD44 dc.w $FD44 003F0 307B dc.w $307B 003F2 D801 dc.w $D801 003F4 C30A dc.w $C30A 003F6 AFB0 dc.w $AFB0 003F8 5406 dc.w $5406 003FA FD44 dc.w $FD44 003FC 4BF6 dc.w $4BF6 003FE 9008 dc.w $9008 00400 0018 dc.w $0018 00402 1008 dc.w $1008 00404 CBF8 dc.w $CBF8 00406 FFFF dc.w $FFFF 00408 0205 dc.w $0205 0040A FD0E dc.w $FD0E 0040C AE08 dc.w $AE08 0040E C328 dc.w $C328 00410 33EF dc.w $33EF 00412 AF80 dc.w $AF80 00414 FC8E dc.w $FC8E 00416 AE04 dc.w $AE04 00418 C128 dc.w $C128 0041A AF80 dc.w $AF80 0041C FFFF dc.w $FFFF 0041E 0162 dc.w $0162 00420 CE80 dc.w $CE80 00422 0205 dc.w $0205 00424 FFFF dc.w $FFFF 00426 0167 dc.w $0167 00428 CE80 dc.w $CE80 0042A 020A dc.w $020A 0042C FFFF dc.w $FFFF 0042E 004F dc.w $004F 00430 0160 dc.w $0160 00432 FFFF dc.w $FFFF 00434 FFFF dc.w $FFFF 00436 MC68020 Assembler - Ver 2.88 14-Dec-88 Page 21 Copyright Apple Computer, Inc. 1984-1987 Loc F Object Code Addr M Source Statement 00436 END Elapsed time: 9.06 seconds. Assembly complete - no errors found. 1365 lines.