mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 16:31:01 +00:00
4325cdcc78
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
80 lines
2.9 KiB
Plaintext
80 lines
2.9 KiB
Plaintext
;
|
|
; File: MMUEqu.a
|
|
;
|
|
; Contains: Equates relevant to the MMUs available in Macintoshes.
|
|
;
|
|
; Written by: Bob Herold
|
|
;
|
|
; Copyright: © 1988-1991, 1993 by Apple Computer, Inc., all rights reserved.
|
|
;
|
|
; Change History (most recent first):
|
|
;
|
|
; <SM2> 2/5/93 SAM Added EMMU type for emulated MMUs.
|
|
; <7> 12/31/91 RB Added writeProtectBit equate.
|
|
; <6> 1/30/91 gbm sab, #38: Change the Ôalready including this fileÕ variable to
|
|
; all uppercase (for security reasons)
|
|
; <4> 2/20/90 CCH Added theSRP field to MMUConfigInfo record.
|
|
; <3> 1/5/90 BG Clarification comments added to the *MMUConfigInfo* record
|
|
; header and definitions.
|
|
; <2> 1/2/90 BG First pass at cleaning this up to deal with 68040 MMUs. More is
|
|
; needed.
|
|
; <1.1> 5/14/89 rwh added descrTypeMask. Apologies to all.
|
|
; <1.0> 5/13/89 rwh new today
|
|
|
|
IF &TYPE('__INCLUDINGMMUEQU__') = 'UNDEFINED' THEN
|
|
__INCLUDINGMMUEQU__ SET 1
|
|
|
|
;-------------
|
|
; MMU Modes
|
|
;-------------
|
|
|
|
;false32b EQU 0 ; 24 bit mode
|
|
;true32b EQU 1 ; 32 bit mode
|
|
|
|
|
|
;-----
|
|
; MMU Configuration Info record
|
|
;-----
|
|
; NOTE - this does not work well with the 68040, as it has FOUR Transparent Translation <3>
|
|
; registers: ITTO, ITT1, DTT0 and DTT1. Also, 'theCRP' is not 64 bits; in fact, <3>
|
|
; there is no CRP register on the 040. Instead, it and the SRP are replaced by <3>
|
|
; the SRP and URP (both 32 bits wide). The TC register is only 16 bits wide on <3>
|
|
; the 040. "This needs to be fixed." <3>
|
|
|
|
MMUConfigInfo RECORD 0 ; MMU configuration info
|
|
theCRP ds.l 1 ; start of the 64-bit CRP on 020/030's <4>
|
|
theSRP ds.l 1 ; start of the 32-bit SRP on 040's <4>
|
|
theTC ds.l 1 ; the TC (Translation Control Register) value
|
|
; (the lsw contains the TC on a 68040) <3>
|
|
theTT0 ds.l 1 ; the {I}TT0 (Transparent Translation Reg 0) value
|
|
theTT1 ds.l 1 ; the {I}TT1 (Transparent Translation Reg 1) value
|
|
MMUInfoSize equ *-MMUConfigInfo ; size of an MMU info record
|
|
ENDR
|
|
|
|
|
|
;-----
|
|
; Possible MMU Types
|
|
;-----
|
|
|
|
NoMMU equ 0 ; No MMU chip present
|
|
HMMU equ 1 ; fake 24-bit mapper (in Mac II only)
|
|
MMB equ 2 ; --- no longer supported
|
|
PMMU851 equ 3 ; 68851 Paged Memory Management Unit (in Mac II only)
|
|
PMMU030 equ 4 ; 68030 built-in Paged Memory Management Unit
|
|
PMMU040 equ 5 ; 68040 built-in MMU <2>
|
|
EMMU1 equ 6 ; Emulated MMU Type 1 (Risc Emulator Based Systems) <SM2>
|
|
|
|
;-----
|
|
; MMU Table equates
|
|
;-----
|
|
|
|
writeProtectBit equ 2 ; write protect bit in table entries <7> rb
|
|
|
|
descrPage equ $01 ; page descriptor type *** move these to MMUequ.a ***
|
|
descrTbl4 equ $02 ; short table type
|
|
descrTbl8 equ $03 ; long table type
|
|
descrTypeMask equ $03 ; mask to get type field
|
|
LongStat equ $FC00 ; status field for long table descriptors
|
|
LowLim equ $7FFF ; default lowest limit for long descriptors
|
|
|
|
ENDIF ; ...already included |