From 9c4547cfdbc0e4ff7a4ee41ba310cd2d04296957 Mon Sep 17 00:00:00 2001 From: Elliot Nunn Date: Wed, 15 Nov 2017 19:53:36 +0800 Subject: [PATCH] Reverse the Universal Info table This was tricky. The table seems to be vestigial, anyway. --- BuildResults/RISC/Lib/IoPrimitives.lib | Bin 6850 -> 7226 bytes BuildResults/RISC/Obj/InterruptHandlers.a.o | Bin 5266 -> 5268 bytes BuildResults/RISC/Obj/UniversalTables.a.o | Bin 1304 -> 0 bytes Internal/Asm/UniversalEqu.a | 2 +- OS/OS.make | 16 +- OS/Universal.a | 4 +- OS/UniversalTables.a | 7247 +------------------ 7 files changed, 111 insertions(+), 7158 deletions(-) delete mode 100644 BuildResults/RISC/Obj/UniversalTables.a.o diff --git a/BuildResults/RISC/Lib/IoPrimitives.lib b/BuildResults/RISC/Lib/IoPrimitives.lib index 36516011740a09166dc59dda5fac37783af2389f..7499a3c37c92246f498d049fbb8dd4d1ec237886 100644 GIT binary patch delta 881 zcmZuwOHUI~7`^xQHGM&Ckw-?f@ehm(WocMQh4RKfVBBh=F~J1!-hom`oMdip&N=t{zBA{}$MlpuVG^_g zLoFt}=s3_s)l&)a0$)#xRC_#cb%}0-VrV9$3|qxQQ5)eL^4v!==#vkzXF?DVe0M#C zt`H?IYr9gc)uL86TBq1541DY!{`NwOcNNERpHHxp1Mpt?+9gGiXds4F{|k{G0=rDMIKS{g2w zbX^-%DrIir5UK_mBZYR;%uIF5j1LKdPvEZXyY8#lH+gAubMxO;eN z+0u%J9=MGHXckqye|B~c>O0Rx=iFQ@SNQ+AIaKv@*46F-XU8yCUmYXw0x8~rfh1I? z@wGaQuXqLYnR%342qhce1R@7r+GgY#R>Ptw^7jM_A(K{k2u4NC7uB;RQz`Ha4x{;x115`Y zAnt38O8$0cVi6%6aq?T@a9h+tmlzsgHWru-x9x2?h-1r*(wU5NLziv3{|<(5JSb#z z2U)RaTgPy0wIP)yhgb!x{U-}@>o>T5W{($H=U&Q&rW%%^S1Ls_ud#`aptW6f^hDEM U1@p58V*I?o#{9y^gd6dJe_(*-*#H0l delta 651 zcmYk3O=uHQ6oucNpUh;EPMZu(niORO7xfPlI+>X^ZpO@{Rj>(dil9hDbfYM4T3iY) z6j4mMSSh#=gn}R<3<`=X>B88gX&Wgn#Dxo&F6t(r7~hN;+s)%}zH{%p_r15~`&@0B zVXx!DU3qli(QA>;{L~!1HceI) zv{(gSMtOCW)P=j!O(GFbr31zP@PiEnvz!+cChGk20CJyw)gX1Y5qPW}c+BHKK_{TF z9TLe$y2}cF0o}daw*>u7@kFUSUA64vgznmOYikivb6u-q)qw3$aI# zQt4a@S^NKPM$XE3^=s}iB>WMptN^@srjIdi>aTm(wp)MRuduom5hkyzq(IY8$N^E H!;^mjLv6ON diff --git a/BuildResults/RISC/Obj/InterruptHandlers.a.o b/BuildResults/RISC/Obj/InterruptHandlers.a.o index e1d07a545859c61e433f19bdae2f4b7a40a1f7a6..304c740ef32343144840e2bcb768c491d68e47cd 100644 GIT binary patch delta 74 zcmbQFIYo2BV;07!$r~BHCKhl{{>><`*^~7iqqvEJhMS?eiKdl;U%01VNQje<0t*8} Z)MOiWUrr8~(B?_(J9!veCi{rE0RU(p72*H@ delta 72 zcmbQDIZ1QFV;07U$r~BHCKhl{{>><`*^~7iqo{#`hMS?efu@y$bAEnKNKy_914HCw YJ9b}AcBlZu<|*tuc^Dfe`-!*#08^S4FaQ7m diff --git a/BuildResults/RISC/Obj/UniversalTables.a.o b/BuildResults/RISC/Obj/UniversalTables.a.o deleted file mode 100644 index ca8fa5a772f8f555acfa0d9723d95dee3b284ae5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1304 zcmcgs&uD zCdPw_7mxlQ_DHM$g#SU0jWImu?Y7u0dhk%cni~^j7akOUGE>Nu9`Qw1h zDp~88eaFgSvEHhb>J7crDz2!yUTxK*3wSuNsc|+qWDUpVqc&M&;D8!lY3sRw-Kq0oJC~O=kGkrSby(GR` zhQXCPg5neM{u5w}eF2Dqu|M25?6Y))`1nYO4=BXjPr<_3U1_D}gm;1Rz7H@AY@Uqp zF{k`SEEbc?7k$bCe2+y3LhOxzMMtm^8NnMi%MF@iY$zsdNa_B@*Ft>X1UUaMq}&sk zpNjoSoDlyj29y)v+-f!jS7DWU62eIZzS2aL>^EuYJ}iZf#F0xyR}4E(j{E^I0>1zb Cntk*D diff --git a/Internal/Asm/UniversalEqu.a b/Internal/Asm/UniversalEqu.a index 3bb34d9..3ac18ca 100644 --- a/Internal/Asm/UniversalEqu.a +++ b/Internal/Asm/UniversalEqu.a @@ -514,7 +514,7 @@ SlotF ds.b 1 ; info for Slot F ; If you change the ProductInfo record, bump the version up by 1. ; ;-------------------------------------------------------------------------------------------- -ProductInfoVersion equ 1 ; Version of the ProductInfo record +ProductInfoVersion equ 0 ; Version of the ProductInfo record ProductInfo record 0,increment ; data structure describing product dependent features diff --git a/OS/OS.make b/OS/OS.make index dffa09f..c7f02e9 100644 --- a/OS/OS.make +++ b/OS/OS.make @@ -254,14 +254,14 @@ OSObjs = "{ObjDir}BCScreenRelated.o" Asm {StdAOpts} -o "{Targ}" "{OSDir}Universal.a" -i "{OSDir}StartMgr" -# "{ObjDir}UniversalTables.a.o" Δ "{ObjDir}StandardEqu.d" Ά -# "{IntAIncludes}HardwarePrivateEqu.a" Ά -# "{IntAIncludes}UniversalEqu.a" Ά -# "{AIncludes}Slots.a" Ά -# "{IntAincludes}DepVideoEqu.a" Ά -# "{AIncludes}ROMEqu.a" Ά -# "{OSDir}UniversalTables.a" -# Asm {StdAOpts} -o "{Targ}" "{OSDir}UniversalTables.a" -i "{OSDir}IoPrimitives:" +"{ObjDir}UniversalTables.a.o" Δ "{ObjDir}StandardEqu.d" Ά + "{IntAIncludes}HardwarePrivateEqu.a" Ά + "{IntAIncludes}UniversalEqu.a" Ά + "{AIncludes}Slots.a" Ά + "{IntAincludes}DepVideoEqu.a" Ά + "{AIncludes}ROMEqu.a" Ά + "{OSDir}UniversalTables.a" + Asm {StdAOpts} -o "{Targ}" "{OSDir}UniversalTables.a" -i "{OSDir}IoPrimitives:" "{ObjDir}VerticalRetraceMgr.a.o" Δ "{ObjDir}StandardEqu.d" Ά diff --git a/OS/Universal.a b/OS/Universal.a index 126ba67..9882dc1 100644 --- a/OS/Universal.a +++ b/OS/Universal.a @@ -1084,8 +1084,8 @@ GetHardwareInfo cmpi.l #'Hnfo',([$68FFEFD0],$70) ; NKHWInfo.Signature, fix this later bne.s @tryOldWay - import InfoNanoKernel - biglea InfoNanoKernel,a1 + import InfoNewWorld + biglea InfoNewWorld,a1 bra Matched @tryOldWay biglea CPUIDProductLookup-4,a2 ; get address of CPUID product lookup table diff --git a/OS/UniversalTables.a b/OS/UniversalTables.a index 6c015b7..d1799f1 100644 --- a/OS/UniversalTables.a +++ b/OS/UniversalTables.a @@ -497,114 +497,40 @@ UnivTables Proc ; Tempest25 : 1 0 1 1 ID = $B ; Tempest33 : 1 0 0 0 ID = $8 ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ - EXPORT ProductLookup,CPUIDProductLookup,DecoderLookup + EXPORT ProductLookup,CPUIDProductLookup,DecoderLookup,InfoNewWorld ALIGN 4 CPUIDProductLookup - IF hasHMC THEN ; - dc.l InfoPDM-* ; PDM - dc.l InfoPDMcoldFusion-* ; PDM (Cold Fusion) - dc.l InfoPDMCarlSagan-* ; PDM (Carl Sagan) - ENDIF ; - IF hasPratt THEN - dc.l InfoBlackbird-* ; Blackbird - ENDIF - IF hasMSC THEN - dc.l InfoYeager-* ; Yeager with real MBT chip - dc.l InfoPowerBookDuo210-* ; PowerBook Duo 210 - dc.l InfoPowerBookDuo230-* ; PowerBook Duo 230 - dc.l InfoPowerBookDuo235-* ; PowerBook Duo 235 (230+active matrix) - ;dc.l InfoEscher-* ; Escher 33MHz - ENDIF - IF hasSonora THEN - dc.l InfoVail16-* ; Vail 16 Mhz - dc.l InfoLCIII-* ; Vail 25 Mhz - dc.l InfoVail33-* ; Vail 33 Mhz - ENDIF - IF hasDJMEMC THEN - dc.l InfoWombat20-* ; Wombat @ 20 Mhz in Lego packaging - dc.l InfoCentris650-* ; Wombat @ 25 Mhz in Lego packaging - dc.l InfoQuadra650-* ; Wombat @ 33 Mhz in Lego packaging - dc.l InfoQuadra800-* ; Wombat @ 33 Mhz in Frigidaire packaging - dc.l InfoWombat40-* ; Wombat @ 40 Mhz in Lego packaging - dc.l InfoWombat40F-* ; Wombat @ 40 Mhz in Frigidaire packaging - dc.l InfoCentris610-* ; WLCD @ 20 Mhz - dc.l InfoQuadra610-* ; WLCD @ 25 Mhz - dc.l InfoWLCD33-* ; WLCD @ 33 Mhz - IF forSmurf THEN - dc.l InfoRiscQuadra800-* ; Quadra800 w/Smurf card - dc.l InfoRiscCentris650-* ; Centris650 w/Smurf card - dc.l InfoRiscCentris610-* ; Centris610 w/Smurf card - dc.l InfoRiscQuadra610-* ; Quadra610 w/Smurf card - dc.l InfoRiscQuadra650-* ; Quadra650 w/Smurf card - ENDIF - IF forSTP601 THEN - dc.l InfoSTPCentris650-* ; Centris650 w/STP card - dc.l InfoSTPQuadra650-* ; Quadra650 w/STP card - dc.l InfoSTPQuadra40F-* ; 40mhz wombat w/STP card - dc.l InfoSTPQuadra800-* ; Quadra800 w/STP card - dc.l InfoSTPCentris610-* ; Centris610 w/STP card - dc.l InfoSTPQuadra610-* ; Quadra610 w/STP card - ENDIF - ENDIF - IF hasYMCA AND hasPSC THEN ; - dc.l InfoCyclone33-* ; Cyclone 33 Mhz fau - dc.l InfoQuadra840AV-* ; Cyclone 40 Mhz fau - dc.l InfoCentris660AV-* ; Tempest 25 Mhz fau - dc.l InfoTempest33-* ; Tempest 33 Mhz fau - ENDIF ; - IF hasOrwell AND forSmurf THEN - dc.l InfoRiscQuadra700-* ; Quadra 700 w/Risc Card - dc.l InfoRiscQuadra900-* ; Quadra 900 w/Risc Card - dc.l InfoRiscQuadra950-* ; Quadra 950 w/Risc Card - ENDIF - IF hasGrandCentral THEN - dc.l InfoTNTProto1-* - ENDIF - dc.l InfoUnknownUnknown-* ; totally lost + dc.l InfoNewWorld-* + dc.l 0 ; end of list + + +;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ +; +; Table of Unclear Purpose +; +;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ + + ; These look like CPUID fields? + dc.l $3035 + dc.l $0190 + dc.l $3041 + dc.l $01F8 + dc.l 0 + dc.l 0 + + +;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ +; +; Product Lookup Table +; +;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ + +ProductLookup dc.l 0 ; end of list -;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ -; -; Decoder Lookup Table -; -;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ - -ProductLookup - IF hasVISADecoder THEN ; - dc.l InfoMacLC-* ; Macintosh LC <12> - ENDIF ; - IF forSTP601 THEN - dc.l InfoSTPQuadra700-* ; Quadra 700 w/STP Card - dc.l InfoSTPQuadra900-* ; Quadra 900 w/STP Card - dc.l InfoSTPQuadra950-* ; Quadra 950 w/STP Card - ENDIF - IF hasOrwell THEN - dc.l InfoQuadra700-* ; Quadra 700, 1 direct slot, 2 NuBus slots - dc.l InfoQuadra900-* ; Quadra 900, 1 direct slot, 5 NuBus slots <13> - dc.l InfoQuadra950-* ; Quadra 950, 1 direct slot, 5 NuBus slots <5> - ENDIF - IF hasJaws THEN - dc.l InfoPowerBook170-* ; PowerBook 140 and 170 <8> - ENDIF - IF hasNiagra THEN - dc.l InfoPowerBook180-* ; PowerBook 180 - ENDIF - IF hasVISADecoder THEN - dc.l InfoVISAUnknown-* ; unknown VISA decoder based machine <12> - ENDIF - IF hasJaws THEN - dc.l InfoJAWSUnknown-* ; unknown JAWS based machine <25> - ENDIF - IF hasMDU THEN ; - dc.l InfoMacIIsi-* ; Macintosh IIsi <3> - ENDIF ; - dc.l InfoUnknownUnknown-* ; totally lost - dc.l 0 ; end if list, no match, check decoder again - - ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ ; ; Decoder Lookup Table @@ -612,22 +538,6 @@ ProductLookup ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ DecoderLookup - IF hasVISADecoder THEN ; - dc.l VISADecoderTable-* ; check for VISA decoder - ENDIF ; - IF hasNiagra THEN - dc.l Niagratable-* ; check for Niagra decoder - ENDIF - IF hasJaws THEN - dc.l JAWStable-* ; check for JAWS decoder <25><61> - ENDIF - IF hasOrwell THEN - dc.l OrwellDecoderTable-* ; check for Orwell memory controller <13><19> - ENDIF - IF hasMDU THEN - dc.l MDUtable-* ; check for MDU decoder - ENDIF - dc.l UnknownDecoderTable-* ; always find something ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ @@ -636,3250 +546,62 @@ DecoderLookup ; ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ + + IMPORT SndCntNewWorld, NWClockPRAM, NWADBTable, NWIntTbl - IF hasPratt THEN ; - IMPORT SndCntlBlackbird, PrattIntTbl - IMPORT PrattPMgrPrims,ImmgBabyRock - -; PowerBook Blackbird product table +; NewWorld product table (the only one) ALIGN 4 -InfoBlackbird - dc.l PrattTable-InfoBlackbird ; offset to decoder info - dc.l RamInfoPratt-InfoBlackbird ; offset to ram bank info - dc.l VideoInfoPratt-InfoBlackbird ; offset to video info - dc.l NuBusInfoPratt-InfoBlackbird ; offset to NuBus info +InfoNewWorld + dc.l 0 ; no decoder info + dc.l RamInfoNewWorld-InfoNewWorld ; offset to ram bank info + dc.l VideoInfoNewWorld-InfoNewWorld ; offset to video info + dc.l NuBusInfoNewWorld-InfoNewWorld ; offset to NuBus info dc.w 0|\ ; hwCfgFlags - (1< + (SoundHasSoundIn)|\ ; Has 8-bit mono sound input (Sound16Bit)|\ ; has 16-bit hardware (SoundStereoIn)|\ ; has stereo sound input (SoundStereoOut)|\ ; has stereo sound output + (SoundStereoMixing)|\ ; has stereo mixing (SoundPlayAndRecord)|\ ; can Play and Record simultaneously (1< - dc.l ImmgBabyRock-InfoBlackbird ; use BabyRock Internal Modem Manager - dc.w cpuIDPortable|\ ; CPU ID: portable design center - cpuIDinBoard|\ ; CPU ID: supplemental ID in Mother/Daughter board ID registers - 8 ; CPU ID: Blackbird ID is 8 - dc.w 0 ; spare - dc.l IconInfoTIM-InfoBlackbird ; offset to ICON info - - ENDIF ; {hasPratt} - - - - IF hasMSC THEN - IMPORT SndCntlPBDuo210, MSCPmgrPrims, MSCIntTbl,MBTPmgrPrims - - ALIGN 4 -InfoPowerBookDuo210 - dc.l MSCTable-InfoPowerBookDuo210 ; offset to decoder info - dc.l RAMInfoMSC-InfoPowerBookDuo210 ; offset to ram bank info - dc.l VideoInfoMSC-InfoPowerBookDuo210 ; offset to video info - dc.l NuBusInfoMSC-InfoPowerBookDuo210 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b MSCDecoder ; decoder kind - dc.w $3FFF ; ROM85, New ROMs, Power Off ability - dc.b 4 ; default ROM Resource configuration - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid
- SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBVAddr is valid - VDACExists ; VDACAddr (GSC) is valid - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ADBPwrMgr)|\ ; PMGR ADB - (ClockPwrMgr)|\ ; PMGR clock/pram - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (1< - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $56,$00,$00,$00 ; Check VIA1 PA6, PA4, PA2, PA1 - dc.b $00,$00,$00,$00 ; VIA1 PA6 = 0, PA4 = 0, PA2 = 0, PA1 = 0 - dc.l VIA1InitMSC-InfoPowerBookDuo210 ; VIA1 init info - dc.l 0 ; no VIA2 to init - dc.l SndCntlPBDuo210-InfoPowerBookDuo210 ; sound control vector table - dc.l PMGRClockPRAM-InfoPowerBookDuo210 ; clock/PRAM vector table

- dc.l PMGRADBTable-InfoPowerBookDuo210 ; ADB/DebugUtil vector table - dc.l MSCPmgrPrims-InfoPowerBookDuo210 ; Power Manager primitives - dc.l MSCIntTbl-InfoPowerBookDuo210 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w cpuIDPortable|\ ; CPU ID: portable design center - cpuIDinReg|\ ; CPU ID: register contains complete ID - 4 ; CPU ID: PowerBook Duo 210 is 4 - dc.w 0 ; spare - dc.l IconInfoDBLite-InfoPowerBookDuo210 ; offset to ICON info - - - ALIGN 4 -InfoPowerBookDuo230 - dc.l MSCTable-InfoPowerBookDuo230 ; offset to decoder info - dc.l RAMInfoMSC-InfoPowerBookDuo230 ; offset to ram bank info - dc.l VideoInfoMSC-InfoPowerBookDuo230 ; offset to video info - dc.l NuBusInfoMSC-InfoPowerBookDuo230 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b MSCDecoder ; decoder kind - dc.w $3FFF ; ROM85, New ROMs, Power Off ability - dc.b 4 ; default ROM Resource configuration - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid
- SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBVAddr is valid - VDACExists ; VDACAddr (GSC) is valid - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ADBPwrMgr)|\ ; PMGR ADB - (ClockPwrMgr)|\ ; PMGR clock/pram - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (1< - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $56,$00,$00,$00 ; Check VIA1 PA6, PA4, PA2, PA1 - dc.b $00,$00,$00,$00 ; VIA1 PA6 = 0, PA4 = 0, PA2 = 0, PA1 = 0 - dc.l VIA1InitMSC-InfoPowerBookDuo230 ; VIA1 init info - dc.l 0 ; no VIA2 to init - dc.l SndCntlPBDuo210-InfoPowerBookDuo230 ; sound control vector table - dc.l PMGRClockPRAM-InfoPowerBookDuo230 ; clock/PRAM vector table

- dc.l PMGRADBTable-InfoPowerBookDuo230 ; ADB/DebugUtil vector table - dc.l MSCPmgrPrims-InfoPowerBookDuo230 ; Power Manager primitives - dc.l MSCIntTbl-InfoPowerBookDuo230 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w cpuIDPortable|\ ; CPU ID: portable design center - cpuIDinReg|\ ; CPU ID: register contains complete ID - 5 ; CPU ID: PowerBook Duo 230 is 5 - dc.w 0 ; spare - dc.l IconInfoDBLite-InfoPowerBookDuo230 ; offset to ICON info - - - ALIGN 4 -InfoPowerBookDuo235 - dc.l MSCTable-InfoPowerBookDuo235 ; offset to decoder info - dc.l RAMInfoMSC-InfoPowerBookDuo235 ; offset to ram bank info - dc.l VideoInfoMSC-InfoPowerBookDuo235 ; offset to video info - dc.l NuBusInfoMSC-InfoPowerBookDuo235 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b MSCDecoder ; decoder kind - dc.w $3FFF ; ROM85, New ROMs, Power Off ability - dc.b 4 ; default ROM Resource configuration - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid
- SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBVAddr is valid - VDACExists ; VDACAddr (GSC) is valid - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ADBPwrMgr)|\ ; PMGR ADB - (ClockPwrMgr)|\ ; PMGR clock/pram - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (1< - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $56,$00,$00,$00 ; Check VIA1 PA6, PA4, PA2, PA1 - dc.b $00,$00,$00,$00 ; VIA1 PA6 = 0, PA4 = 0, PA2 = 0, PA1 = 0 - dc.l VIA1InitMSC-InfoPowerBookDuo235 ; VIA1 init info - dc.l 0 ; no VIA2 to init - dc.l SndCntlPBDuo210-InfoPowerBookDuo235 ; sound control vector table - dc.l PMGRClockPRAM-InfoPowerBookDuo235 ; clock/PRAM vector table

- dc.l PMGRADBTable-InfoPowerBookDuo235 ; ADB/DebugUtil vector table - dc.l MSCPmgrPrims-InfoPowerBookDuo235 ; Power Manager primitives - dc.l MSCIntTbl-InfoPowerBookDuo235 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w cpuIDPortable|\ ; CPU ID: portable design center - cpuIDinReg|\ ; CPU ID: register contains complete ID - 6 ; CPU ID: PowerBook Duo 235 is 6 - dc.w 0 ; spare - dc.l IconInfoDBLite-InfoPowerBookDuo235 ; offset to ICON info - - - ALIGN 4 -InfoYeager - dc.l MSCTable-InfoYeager ; offset to decoder info - dc.l RAMInfoMSC-InfoYeager ; offset to ram bank info - dc.l VideoInfoMSC-InfoYeager ; offset to video info - dc.l NuBusInfoMSC-InfoYeager ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b MSCDecoder ; decoder kind - dc.w $3FFF ; ROM85, New ROMs, Power Off ability - dc.b 4 ; default ROM Resource configuration - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid
- SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBVAddr is valid - VDACExists ; VDACAddr (GSC) is valid - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ADBPwrMgr)|\ ; PMGR ADB - (ClockPwrMgr)|\ ; PMGR clock/pram - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (1< - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $56,$00,$00,$00 ; Check VIA1 PA6, PA4, PA2, PA1 - dc.b $00,$00,$00,$00 ; VIA1 PA6 = 0, PA4 = 0, PA2 = 0, PA1 = 0 - dc.l VIA1InitMSC-InfoYeager ; VIA1 init info - dc.l 0 ; no VIA2 to init - dc.l SndCntlPBDuo210-InfoYeager ; sound control vector table - dc.l PMGRClockPRAM-InfoYeager ; clock/PRAM vector table

- dc.l PMGRADBTable-InfoYeager ; ADB/DebugUtil vector table - dc.l MBTPmgrPrims-InfoYeager ; Power Manager primitives - dc.l MSCIntTbl-InfoYeager ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w cpuIDPortable|\ ; CPU ID: portable design center - cpuIDinReg|\ ; CPU ID: register contains complete ID - 0 ; CPU ID: Yeager is 16 - dc.w 0 ; spare - dc.l IconInfoDBLite-InfoYeager ; offset to ICON info - - - ENDIF ; {hasMSC} - - - IF hasNiagra THEN - IMPORT SndCntlPB180, NiagraPMgrPrims, NiagraIntTbl - -; PowerBook 180 product table - - ALIGN 4 -InfoPowerBook180 - dc.l NiagraTable-InfoPowerBook180 ; offset to decoder info - dc.l RamInfoNiagra-InfoPowerBook180 ; offset to ram bank info - dc.l VideoInfoNiagra-InfoPowerBook180 ; offset to video info - dc.l NuBusInfoNiagra-InfoPowerBook180 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - JAWSExists ; JAWSAddr is valid - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockRTC)|\ ; Has RTC clock/PRAM - (ADBPwrMgr)|\ ; PowerManager ADB - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.l NiagraPMgrPrims-InfoPowerBook180 ; Power Manager primitives - dc.l NiagraIntTbl-InfoPowerBook180 ; interrupt handlers table - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoTIM-InfoPowerBook180 ; offset to ICON info - - - ALIGN 4 -InfoNiagraUnknown - dc.l NiagraTable-InfoNiagraUnknown ; offset to decoder info - dc.l RamInfoNiagra-InfoNiagraUnknown ; offset to ram bank info - dc.l VideoInfoNiagra-InfoNiagraUnknown ; offset to video info - dc.l NuBusInfoNiagra-InfoNiagraUnknown ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - (1< - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $00,$00,$00,$00 ; don't check any VIA bits - dc.b $00,$00,$00,$00 ; anything with this decoder matches - dc.l VIA1InitNiagra-InfoNiagraUnknown ; VIA1 init info - dc.l VIA2InitNiagra-InfoNiagraUnknown ; VIA2 init info - dc.l 0 ; no sound control vector table - dc.l RTCClockPRAM-InfoNiagraUnknown ; clock/PRAM vector table - dc.l PMGRADBTable-InfoNiagraUnknown ; ADB/DebugUtil vector table - dc.l NiagraPMgrPrims-InfoNiagraUnknown ; Power Manager primitives - dc.l NiagraIntTbl-InfoNiagraUnknown ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoTIM-InfoNiagraUnknown ; offset to ICON info - - ENDIF ; {hasNiagra} - - - IF hasSonora THEN - IMPORT SndCntlLCIII, SonoraIntTbl - -; Vail 16 MHZ product table - - ALIGN 4 -InfoVail16 - dc.l SonoraTable-InfoVail16 ; offset to decoder info - dc.l RamInfoVail-InfoVail16 ; offset to ram bank info - dc.l VideoInfoVail-InfoVail16 ; offset to video info - dc.l NuBusInfoVail-InfoVail16 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b SonoraDecoder ; decoder kind - dc.w $3FFF ; ROM85, New ROMs, Power Off ability - dc.b 4 ; default ROM Resource configuration (non-FPU for now) - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid - SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBV is valid - VDACExists,\ ; VDACAddr (SONORA) is valid CSS - PatchRomExists ; PatchRomAddr is valid - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Egret8)|\ ; Egret Eight firmware CSS - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - (1< - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $00,$00,$00,$00 ; don't check any VIA bits - dc.b $00,$00,$00,$00 ; anything with this decoder matches - dc.l VIA1InitVail-InfoVail16 ; VIA1 init info - dc.l 0 ; no VIA2 init info - dc.l SndCntlLCIII-InfoVail16 ; sound control vector table - dc.l EgretClockPRAM-InfoVail16 ; clock/PRAM vector table

- dc.l EgretADBTable-InfoVail16 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l SonoraIntTbl-InfoVail16 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w cpuIDHiVol|\ ; CPU ID: hi volume design center - cpuIDinReg|\ ; CPU ID: register contains complete ID - 0 ; CPU ID: Vail 16 Mhz - dc.w 0 ; spare - dc.l IconInfoMacLC-InfoVail16 ; offset to ICON info - - -; Vail 25 MHZ product table - - ALIGN 4 -InfoLCIII - dc.l SonoraTable-InfoLCIII ; offset to decoder info - dc.l RamInfoVail-InfoLCIII ; offset to ram bank info - dc.l VideoInfoVail-InfoLCIII ; offset to video info - dc.l NuBusInfoVail-InfoLCIII ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - PatchRomExists ; PatchRomAddr is valid - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Egret8)|\ ; Egret Eight firmware CSS - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (1< - (1< - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $00,$00,$00,$00 ; don't check any VIA bits - dc.b $00,$00,$00,$00 ; anything with this decoder matches - dc.l VIA1InitVail-InfoLCIII ; VIA1 init info - dc.l 0 ; no VIA2 init info - dc.l SndCntlLCIII-InfoLCIII ; sound control vector table - dc.l EgretClockPRAM-InfoLCIII ; clock/PRAM vector table

- dc.l EgretADBTable-InfoLCIII ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l SonoraIntTbl-InfoLCIII ; interrupt handlers table - dc.w cpuIDHiVol|\ ; CPU ID: hi volume design center - cpuIDinReg|\ ; CPU ID: register contains complete ID - Vail25IDField ; CPU ID: Vail 25 Mhz - dc.w 0 ; spare - dc.l IconInfoMacLC-InfoLCIII ; offset to ICON info - - -; Vail 33 MHZ product table - - ALIGN 4 -InfoVail33 - dc.l SonoraTable-InfoVail33 ; offset to decoder info - dc.l RamInfoVail-InfoVail33 ; offset to ram bank info - dc.l VideoInfoVail-InfoVail33 ; offset to video info - dc.l NuBusInfoVail-InfoVail33 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid - SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBV is valid - VDACExists,\ ; VDACAddr (SONORA) is valid - SONICExists,\ ; SONIC is valid - PatchRomExists ; PatchRomAddr is valid - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Egret8)|\ ; Egret Eight firmware CSS - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (1< - (1< - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $00,$00,$00,$00 ; don't check any VIA bits - dc.b $00,$00,$00,$00 ; anything with this decoder matches - dc.l VIA1InitVail-InfoVail33 ; VIA1 init info - dc.l 0 ; no VIA2 init info - dc.l SndCntlLCIII-InfoVail33 ; sound control vector table - dc.l EgretClockPRAM-InfoVail33 ; clock/PRAM vector table - dc.l EgretADBTable-InfoVail33 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l SonoraIntTbl-InfoVail33 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w cpuIDHiVol|\ ; CPU ID: hi volume design center - cpuIDinReg|\ ; CPU ID: register contains complete ID - Vail33IDField ; CPU ID: Vail 33 Mhz - dc.w 0 ; spare - dc.l IconInfoMacLC-InfoVail33 ; offset to ICON info - - - ENDIF ; {hasSonora} - - - IF hasDJMEMC THEN - IMPORT DJMEMCIntTbl, SndCntlQuadra800 - -; 20MHz Wombat product table (Lego plastics) - - ALIGN 4 -InfoWombat20 - dc.l djMEMCTable-InfoWombat20 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoWombat20 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoWombat20 ; offset to video info - dc.l NuBusInfoWombat-InfoWombat20 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.b $42,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 0, PA2 = 0, PA1 = 1 - dc.l VIA1InitWombat-InfoWombat20 ; VIA1 init info - dc.l VIA2InitWombat-InfoWombat20 ; VIA2 init info - dc.l SndCntlQuadra800-InfoWombat20 ; sound control vector table - dc.l RTCClockPRAM-InfoWombat20 ; clock/PRAM vector table - dc.l ViaADBTable-InfoWombat20 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoWombat20 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDHiEnd)|\ ; HiEnd design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoLego-InfoWombat20 ; offset to ICON info - - -; 25MHz Wombat product table (Lego plastics) - - ALIGN 4 -InfoCentris650 - dc.l djMEMCTable-InfoCentris650 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoCentris650 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoCentris650 ; offset to video info - dc.l NuBusInfoWombat-InfoCentris650 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.b $46,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 0, PA2 = 1, PA1 = 1 - dc.l VIA1InitWombat-InfoCentris650 ; VIA1 init info - dc.l VIA2InitWombat-InfoCentris650 ; VIA2 init info - dc.l SndCntlQuadra800-InfoCentris650 ; sound control vector table - dc.l RTCClockPRAM-InfoCentris650 ; clock/PRAM vector table - dc.l ViaADBTable-InfoCentris650 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoCentris650 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDHiEnd)|\ ; HiEnd design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoLego-InfoCentris650 ; offset to ICON info - - -; 33MHz Wombat product table (Lego plastics) - - ALIGN 4 -InfoQuadra650 - dc.l djMEMCTable-InfoQuadra650 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoQuadra650 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoQuadra650 ; offset to video info - dc.l NuBusInfoWombat-InfoQuadra650 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.b $52,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 1, PA2 = 0, PA1 = 1 - dc.l VIA1InitWombat-InfoQuadra650 ; VIA1 init info - dc.l VIA2InitWombat-InfoQuadra650 ; VIA2 init info - dc.l SndCntlQuadra800-InfoQuadra650 ; sound control vector table - dc.l RTCClockPRAM-InfoQuadra650 ; clock/PRAM vector table - dc.l ViaADBTable-InfoQuadra650 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoQuadra650 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDHiEnd)|\ ; HiEnd design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoLego-InfoQuadra650 ; offset to ICON info - - -; 33MHz Wombat product table (Frigidaire plastics) - - ALIGN 4 -InfoQuadra800 - dc.l djMEMCTable-InfoQuadra800 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoQuadra800 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoQuadra800 ; offset to video info - dc.l NuBusInfoWombat-InfoQuadra800 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $56,$00,$00,$00 ; Check VIA1: PA6 PA4, PA2, PA1 - dc.b $12,$00,$00,$00 ; VIA1: PA6 = 0, PA4 = 1, PA2 = 0, PA1 = 1 - dc.l VIA1InitWombat-InfoQuadra800 ; VIA1 init info - dc.l VIA2InitWombat-InfoQuadra800 ; VIA2 init info - dc.l SndCntlQuadra800-InfoQuadra800 ; sound control vector table - dc.l RTCClockPRAM-InfoQuadra800 ; clock/PRAM vector table - dc.l ViaADBTable-InfoQuadra800 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoQuadra800 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDHiEnd)|\ ; HiEnd design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoFrigidaire-InfoQuadra800 ; offset to ICON info - - -; 40MHz Wombat product table (Lego plastics) - - ALIGN 4 -InfoWombat40 - dc.l djMEMCTable-InfoWombat40 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoWombat40 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoWombat40 ; offset to video info - dc.l NuBusInfoWombat-InfoWombat40 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.b $56,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 1, PA2 = 1, PA1 = 1 - dc.l VIA1InitWombat-InfoWombat40 ; VIA1 init info - dc.l VIA2InitWombat-InfoWombat40 ; VIA2 init info - dc.l SndCntlQuadra800-InfoWombat40 ; sound control vector table - dc.l RTCClockPRAM-InfoWombat40 ; clock/PRAM vector table - dc.l ViaADBTable-InfoWombat40 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoWombat40 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDHiEnd)|\ ; HiEnd design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoLego-InfoWombat40 ; offset to ICON info - - -; 40MHz Wombat product table (Frigidaire package) - - ALIGN 4 -InfoWombat40F - dc.l djMEMCTable-InfoWombat40F ; offset to decoder info - dc.l RamInfoDJMEMC-InfoWombat40F ; offset to ram bank info - dc.l VideoInfoDAFB-InfoWombat40F ; offset to video info - dc.l NuBusInfoWombat-InfoWombat40F ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $56,$00,$00,$00 ; Check VIA1: PA6 PA4, PA2, PA1 - dc.b $16,$00,$00,$00 ; VIA1: PA6 = 0, PA4 = 1, PA2 = 1, PA1 = 1 - dc.l VIA1InitWombat-InfoWombat40F ; VIA1 init info - dc.l VIA2InitWombat-InfoWombat40F ; VIA2 init info - dc.l SndCntlQuadra800-InfoWombat40F ; sound control vector table - dc.l RTCClockPRAM-InfoWombat40F ; clock/PRAM vector table - dc.l ViaADBTable-InfoWombat40F ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoWombat40F ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDHiEnd)|\ ; HiEnd design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoFrigidaire-InfoWombat40F ; offset to ICON info - - -; 20MHz WLCD product table (QFC plastics) - - ALIGN 4 -InfoCentris610 - dc.l djMEMCTable-InfoCentris610 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoCentris610 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoCentris610 ; offset to video info - dc.l NuBusInfoWLCD-InfoCentris610 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - (1< - dc.b $40,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 0, PA2 = 0, PA1 = 0 - dc.l VIA1InitWombat-InfoCentris610 ; VIA1 init info - dc.l VIA2InitWombat-InfoCentris610 ; VIA2 init info - dc.l SndCntlQuadra800-InfoCentris610 ; sound control vector table - dc.l RTCClockPRAM-InfoCentris610 ; clock/PRAM vector table - dc.l ViaADBTable-InfoCentris610 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoCentris610 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDHiEnd)|\ ; HiEnd design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoQFC-InfoCentris610 ; offset to ICON info - - - -; 25MHz WLCD product table (QFC plastics) - - ALIGN 4 -InfoQuadra610 - dc.l djMEMCTable-InfoQuadra610 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoQuadra610 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoQuadra610 ; offset to video info - dc.l NuBusInfoWLCD-InfoQuadra610 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - (1< - dc.b $44,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 0, PA2 = 1, PA1 = 0 - dc.l VIA1InitWombat-InfoQuadra610 ; VIA1 init info - dc.l VIA2InitWombat-InfoQuadra610 ; VIA2 init info - dc.l SndCntlQuadra800-InfoQuadra610 ; sound control vector table - dc.l RTCClockPRAM-InfoQuadra610 ; clock/PRAM vector table - dc.l ViaADBTable-InfoQuadra610 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoQuadra610 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDHiEnd)|\ ; HiEnd design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoQFC-InfoQuadra610 ; offset to ICON info - - - -; 33MHz WLCD product table (QFC package) - - ALIGN 4 -InfoWLCD33 - dc.l djMEMCTable-InfoWLCD33 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoWLCD33 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoWLCD33 ; offset to video info - dc.l NuBusInfoWLCD-InfoWLCD33 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $56,$00,$00,$00 ; Check VIA1: PA6 PA4, PA2, PA1 - dc.b $50,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 1, PA2 = 0, PA1 = 0 - dc.l VIA1InitWombat-InfoWLCD33 ; VIA1 init info - dc.l VIA2InitWombat-InfoWLCD33 ; VIA2 init info - dc.l SndCntlQuadra800-InfoWLCD33 ; sound control vector table - dc.l RTCClockPRAM-InfoWLCD33 ; clock/PRAM vector table - dc.l ViaADBTable-InfoWLCD33 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoWLCD33 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDHiEnd)|\ ; HiEnd design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoQFC-InfoWLCD33 ; offset to ICON info - - - IF forSmurf THEN - -; Centris610 with a Smurf card - - ALIGN 4 -InfoRiscCentris610 - dc.l djMEMCTable-InfoRiscCentris610 ; offset to decoder info - dc.l RamInfoRISCDJMEMC-InfoRiscCentris610; offset to ram bank info - dc.l VideoInfoDAFB-InfoRiscCentris610 ; offset to video info - dc.l NuBusInfoWLCD-InfoRiscCentris610 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - (ADBXcvr) ; Has transceiver ADB - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.b $40,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 0, PA2 = 0, PA1 = 0 - dc.l VIA1InitWombat-InfoRiscCentris610 ; VIA1 init info - dc.l VIA2InitWombat-InfoRiscCentris610 ; VIA2 init info - dc.l SndCntlQuadra800-InfoRiscCentris610 ; sound control vector table - dc.l RTCClockPRAM-InfoRiscCentris610 ; clock/PRAM vector table - dc.l ViaADBTable-InfoRiscCentris610 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoRiscCentris610 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; HiEnd design center - $1204 ; specific ID - dc.w 0 ; spare - dc.l IconInfoQFC-InfoRiscCentris610 ; offset to ICON info - - -; Wombat product table w/Smurf...a centris650 (Lego plastics) - - ALIGN 4 -InfoRiscCentris650 ; - dc.l djMEMCTable-InfoRiscCentris650 ; offset to decoder info - dc.l RamInfoRISCDJMEMC-InfoRiscCentris650; offset to ram bank info - dc.l VideoInfoDAFB-InfoRiscCentris650 ; offset to video info - dc.l NuBusInfoWombat-InfoRiscCentris650 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.b $46,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 0, PA2 = 1, PA1 = 1 - dc.l VIA1InitWombat-InfoRiscCentris650 ; VIA1 init info - dc.l VIA2InitWombat-InfoRiscCentris650 ; VIA2 init info - dc.l SndCntlQuadra800-InfoRiscCentris650 ; sound control vector table - dc.l RTCClockPRAM-InfoRiscCentris650 ; clock/PRAM vector table - dc.l ViaADBTable-InfoRiscCentris650 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoRiscCentris650 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; CPU ID: RISC design center - $1200 ; specific ID - dc.w 0 ; spare - dc.l IconInfoLego-InfoRiscCentris650 ; offset to ICON info - -; Quadra610 with a smurf card - - ALIGN 4 -InfoRiscQuadra610 - dc.l djMEMCTable-InfoRiscQuadra610 ; offset to decoder info - dc.l RamInfoRISCDJMEMC-InfoRiscQuadra610 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoRiscQuadra610 ; offset to video info - dc.l NuBusInfoWLCD-InfoRiscQuadra610 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - (ADBXcvr) ; Has transceiver ADB - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.b $44,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 0, PA2 = 1, PA1 = 0 - dc.l VIA1InitWombat-InfoRiscQuadra610 ; VIA1 init info - dc.l VIA2InitWombat-InfoRiscQuadra610 ; VIA2 init info - dc.l SndCntlQuadra800-InfoRiscQuadra610 ; sound control vector table - dc.l RTCClockPRAM-InfoRiscQuadra610 ; clock/PRAM vector table - dc.l ViaADBTable-InfoRiscQuadra610 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoRiscQuadra610 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; HiEnd design center - $1202 ; specific ID - dc.w 0 ; spare - dc.l IconInfoQFC-InfoRiscQuadra610 ; offset to ICON info - -; Quadra650 with a smurf card - - ALIGN 4 -InfoRiscQuadra650 - dc.l djMEMCTable-InfoRiscQuadra650 ; offset to decoder info - dc.l RamInfoRISCDJMEMC-InfoRiscQuadra650 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoRiscQuadra650 ; offset to video info - dc.l NuBusInfoWombat-InfoRiscQuadra650 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.b $52,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 1, PA2 = 0, PA1 = 1 - dc.l VIA1InitWombat-InfoRiscQuadra650 ; VIA1 init info - dc.l VIA2InitWombat-InfoRiscQuadra650 ; VIA2 init info - dc.l SndCntlQuadra800-InfoRiscQuadra650 ; sound control vector table - dc.l RTCClockPRAM-InfoRiscQuadra650 ; clock/PRAM vector table - dc.l ViaADBTable-InfoRiscQuadra650 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoRiscQuadra650 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; CPU ID: RISC design center - $1203 ; specific ID - dc.w 0 ; spare - dc.l IconInfoLego-InfoRiscQuadra650 ; offset to ICON info - - -; Quadra800 with a Risc card - - ALIGN 4 -InfoRiscQuadra800 - dc.l djMEMCTable-InfoRiscQuadra800 ; offset to decoder info - dc.l RamInfoRISCDJMEMC-InfoRiscQuadra800 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoRiscQuadra800 ; offset to video info - dc.l NuBusInfoWombat-InfoRiscQuadra800 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.b $56,$00,$00,$00 ; Check VIA1: PA6 PA4, PA2, PA1 - dc.b $12,$00,$00,$00 ; VIA1: PA6 = 0, PA4 = 1, PA2 = 0, PA1 = 1 - dc.l VIA1InitWombat-InfoRiscQuadra800 ; VIA1 init info - dc.l VIA2InitWombat-InfoRiscQuadra800 ; VIA2 init info - dc.l SndCntlQuadra800-InfoRiscQuadra800 ; sound control vector table - dc.l RTCClockPRAM-InfoRiscQuadra800 ; clock/PRAM vector table - dc.l ViaADBTable-InfoRiscQuadra800 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoRiscQuadra800 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; HiEnd design center - $1201 ; specific ID - dc.w 0 ; spare - dc.l IconInfoFrigidaire-InfoRiscQuadra800; offset to ICON info - - ENDIF ; {for smurf} - - - ENDIF ; {hasDJMEMC} - - - IF forSTP601 THEN - -; 25MHz STP Wombat product table (Lego plastics) - - ALIGN 4 -InfoSTPCentris650 - dc.l djMEMCTable-InfoSTPCentris650 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoSTPCentris650 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoSTPCentris650 ; offset to video info - dc.l NuBusInfoWombat-InfoSTPCentris650 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.b $46,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 0, PA2 = 1, PA1 = 1 - dc.l VIA1InitWombat-InfoSTPCentris650 ; VIA1 init info - dc.l VIA2InitWombat-InfoSTPCentris650 ; VIA2 init info - dc.l SndCntlQuadra800-InfoSTPCentris650 ; sound control vector table - dc.l RTCClockPRAM-InfoSTPCentris650 ; clock/PRAM vector table - dc.l ViaADBTable-InfoSTPCentris650 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoSTPCentris650 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w ((cpuIDRISC))|\ ; RISC design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoLego-InfoSTPCentris650 ; offset to ICON info - - -; 33MHz STP Wombat product table (Lego plastics) - - ALIGN 4 -InfoSTPQuadra650 - dc.l djMEMCTable-InfoSTPQuadra650 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoSTPQuadra650 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoSTPQuadra650 ; offset to video info - dc.l NuBusInfoWombat-InfoSTPQuadra650 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.b $52,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 1, PA2 = 0, PA1 = 1 - dc.l VIA1InitWombat-InfoSTPQuadra650 ; VIA1 init info - dc.l VIA2InitWombat-InfoSTPQuadra650 ; VIA2 init info - dc.l SndCntlQuadra800-InfoSTPQuadra650 ; sound control vector table - dc.l RTCClockPRAM-InfoSTPQuadra650 ; clock/PRAM vector table - dc.l ViaADBTable-InfoSTPQuadra650 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoSTPQuadra650 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; risc design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoLego-InfoSTPQuadra650 ; offset to ICON info - - -; 33MHz STP Wombat product table (Frigidaire plastics) - - ALIGN 4 -InfoSTPQuadra800 - dc.l djMEMCTable-InfoSTPQuadra800 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoSTPQuadra800 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoSTPQuadra800 ; offset to video info - dc.l NuBusInfoWombat-InfoSTPQuadra800 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.b $56,$00,$00,$00 ; Check VIA1: PA6 PA4, PA2, PA1 - dc.b $12,$00,$00,$00 ; VIA1: PA6 = 0, PA4 = 1, PA2 = 0, PA1 = 1 - dc.l VIA1InitWombat-InfoSTPQuadra800 ; VIA1 init info - dc.l VIA2InitWombat-InfoSTPQuadra800 ; VIA2 init info - dc.l SndCntlQuadra800-InfoSTPQuadra800 ; sound control vector table - dc.l RTCClockPRAM-InfoSTPQuadra800 ; clock/PRAM vector table - dc.l ViaADBTable-InfoSTPQuadra800 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoSTPQuadra800 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; risc design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoFrigidaire-InfoSTPQuadra800 ; offset to ICON info - - -; 40MHz STP Wombat product table (Frigidaire plastics) - - ALIGN 4 -InfoSTPQuadra40F - dc.l djMEMCTable-InfoSTPQuadra40F ; offset to decoder info - dc.l RamInfoDJMEMC-InfoSTPQuadra40F ; offset to ram bank info - dc.l VideoInfoDAFB-InfoSTPQuadra40F ; offset to video info - dc.l NuBusInfoWombat-InfoSTPQuadra40F ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.b $56,$00,$00,$00 ; Check VIA1: PA6 PA4, PA2, PA1 - dc.b $16,$00,$00,$00 ; VIA1: PA6 = 0, PA4 = 1, PA2 = 1, PA1 = 1 - dc.l VIA1InitWombat-InfoSTPQuadra40F ; VIA1 init info - dc.l VIA2InitWombat-InfoSTPQuadra40F ; VIA2 init info - dc.l SndCntlQuadra800-InfoSTPQuadra40F ; sound control vector table - dc.l RTCClockPRAM-InfoSTPQuadra40F ; clock/PRAM vector table - dc.l ViaADBTable-InfoSTPQuadra40F ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoSTPQuadra40F ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; HiEnd design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoFrigidaire-InfoSTPQuadra40F ; offset to ICON info - - -; 20MHz STP WLCD product table (QFC plastics) - - ALIGN 4 -InfoSTPCentris610 - dc.l djMEMCTable-InfoSTPCentris610 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoSTPCentris610 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoSTPCentris610 ; offset to video info - dc.l NuBusInfoWLCD-InfoSTPCentris610 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - (1< - dc.b $40,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 0, PA2 = 0, PA1 = 0 - dc.l VIA1InitWombat-InfoSTPCentris610 ; VIA1 init info - dc.l VIA2InitWombat-InfoSTPCentris610 ; VIA2 init info - dc.l SndCntlQuadra800-InfoSTPCentris610 ; sound control vector table - dc.l RTCClockPRAM-InfoSTPCentris610 ; clock/PRAM vector table - dc.l ViaADBTable-InfoSTPCentris610 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoSTPCentris610 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; risc design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoQFC-InfoSTPCentris610 ; offset to ICON info - - -; 25MHz STP WLCD product table (QFC plastics) - - ALIGN 4 -InfoSTPQuadra610 - dc.l djMEMCTable-InfoSTPQuadra610 ; offset to decoder info - dc.l RamInfoDJMEMC-InfoSTPQuadra610 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoSTPQuadra610 ; offset to video info - dc.l NuBusInfoWLCD-InfoSTPQuadra610 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - (1< - dc.b $44,$00,$00,$00 ; VIA1: PA6 = 1, PA4 = 0, PA2 = 1, PA1 = 0 - dc.l VIA1InitWombat-InfoSTPQuadra610 ; VIA1 init info - dc.l VIA2InitWombat-InfoSTPQuadra610 ; VIA2 init info - dc.l SndCntlQuadra800-InfoSTPQuadra610 ; sound control vector table - dc.l RTCClockPRAM-InfoSTPQuadra610 ; clock/PRAM vector table - dc.l ViaADBTable-InfoSTPQuadra610 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l DJMEMCIntTbl-InfoSTPQuadra610 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; risc design center - (cpuIDinVIA)|\ ; supplemental ID in VIA1 - $3AD ; specific ID - dc.w 0 ; spare - dc.l IconInfoQFC-InfoSTPQuadra610 ; offset to ICON info - - - ENDIF ; {forSTP601} - - - IF hasYMCA AND hasPSC THEN ; used to be MMC - - IMPORT SndCntlCyclone, PSCIntTbl - -; 33 MHz Cyclone product table - - ALIGN 4 -InfoCyclone33 - dc.l CycloneDecoderTable-InfoCyclone33 ; offset to decoder info for EVT4 - dc.l RamInfoCyclone-InfoCyclone33 ; offset to ram bank info - dc.l VideoInfoCyclone-InfoCyclone33 ; offset to video info - dc.l NuBusInfoCyclone-InfoCyclone33 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - CivicExists,\ ; Civic video is valid - SebastianExists ; Sebastian CLUT DAC is valid - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Cuda)|\ ; Cuda firmware - (SoundHasSoundIn)|\ ; Has Sound In - (Sound16Bit)|\ ; Has 16-bit hardware - (SoundStereoIn)|\ ; has stereo sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1 << SoundLineLevel) ; requires line level on sound input port - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.b $00,$00,$00 ; Filler. - dc.l VIA1InitCyclone-InfoCyclone33 ; VIA1 init info - dc.l VIA2InitCyclone-InfoCyclone33 ; VIA2 init info - dc.l SndCntlCyclone-InfoCyclone33 ; sound control vector table - dc.l CudaClockPRAM-InfoCyclone33 ; clock/PRAM vector table - dc.l CudaADBTable-InfoCyclone33 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l PSCIntTbl-InfoCyclone33 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w cpuIDHiEnd|\ ; CPU ID: hi end design center - cpuIDinMMC|\ ; CPU ID: Extended ID in MMC. - $30 ; CPU ID: Cyclone Family is ID $30 - dc.w 0 ; spare - dc.l FrigidaireIcon-InfoCyclone33 ; offset to ICON info ₯₯ fake for now ₯₯ - - -; 40 MHz Cyclone product table - - ALIGN 4 -InfoQuadra840AV - dc.l CycloneDecoderTable-InfoQuadra840AV ; offset to decoder info for EVT4 - dc.l RamInfoCyclone-InfoQuadra840AV ; offset to ram bank info - dc.l VideoInfoCyclone-InfoQuadra840AV ; offset to video info - dc.l NuBusInfoCyclone-InfoQuadra840AV ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - CivicExists,\ ; Civic video is valid - SebastianExists ; Sebastian CLUT DAC is valid - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Cuda)|\ ; Cuda firmware - (SoundHasSoundIn)|\ ; Has Sound In - (Sound16Bit)|\ ; Has 16-bit hardware - (SoundStereoIn)|\ ; has stereo sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1 << SoundLineLevel) ; requires line level on sound input port - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.b $00,$00,$00 ; Filler. - dc.l VIA1InitCyclone-InfoQuadra840AV ; VIA1 init info - dc.l VIA2InitCyclone-InfoQuadra840AV ; VIA2 init info - dc.l SndCntlCyclone-InfoQuadra840AV ; sound control vector table - dc.l CudaClockPRAM-InfoQuadra840AV ; clock/PRAM vector table - dc.l CudaADBTable-InfoQuadra840AV ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l PSCIntTbl-InfoQuadra840AV ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w cpuIDHiEnd|\ ; CPU ID: hi end design center - cpuIDinMMC|\ ; CPU ID: Extended ID in MMC. - $30 ; CPU ID: Cyclone Family is ID $30 - dc.w 0 ; spare - dc.l FrigidaireIcon-InfoQuadra840AV ; offset to ICON info ₯₯ fake for now ₯₯ - - -; 25 MHz Tempest product table - - ALIGN 4 -InfoCentris660AV - dc.l CycloneDecoderTable-InfoCentris660AV; offset to decoder info (Same as Cyclone) - dc.l RamInfoTempest-InfoCentris660AV ; offset to ram bank info - dc.l VideoInfoTempest-InfoCentris660AV ; offset to video info (Same as Cyclone) - dc.l NuBusInfoTempest-InfoCentris660AV ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Cuda)|\ ; Cuda firmware - (SoundHasSoundIn)|\ ; Has Sound In - (Sound16Bit)|\ ; Has 16-bit hardware - (SoundStereoIn)|\ ; has stereo sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1 << SoundLineLevel)|\ ; requires line level on sound input port - (1< - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.l 0 ; no Power Manager primitives - dc.l PSCIntTbl-InfoCentris660AV ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w cpuIDHiEnd|\ ; CPU ID: hi end design center - cpuIDinMMC|\ ; CPU ID: Extended ID in MMC. - $30 ; CPU ID: Cyclone Family is ID $30 - dc.w 0 ; spare - dc.l IconInfoQFC-InfoCentris660AV ; offset to ICON info ₯₯ fake for now ₯₯ - - -; 33 MHz Tempest product table - - ALIGN 4 -InfoTempest33 - dc.l CycloneDecoderTable-InfoTempest33 ; offset to decoder info (Same as Cyclone) - dc.l RamInfoTempest-InfoTempest33 ; offset to ram bank info - dc.l VideoInfoTempest-InfoTempest33 ; offset to video info (Same as Cyclone) - dc.l NuBusInfoTempest-InfoTempest33 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Cuda)|\ ; Cuda firmware - (SoundHasSoundIn)|\ ; Has Sound In - (Sound16Bit)|\ ; Has 16-bit hardware - (SoundStereoIn)|\ ; has stereo sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1 << SoundLineLevel)|\ ; requires line level on sound input port - (1< - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.l 0 ; no Power Manager primitives - dc.l PSCIntTbl-InfoTempest33 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w cpuIDHiEnd|\ ; CPU ID: hi end design center - cpuIDinMMC|\ ; CPU ID: Extended ID in MMC. - $30 ; CPU ID: Cyclone Family is ID $30 - dc.w 0 ; spare - dc.l IconInfoQFC-InfoTempest33 ; offset to ICON info ₯₯ fake for now ₯₯ - - ENDIF ; hasYMCA - - - IF hasHMC THEN ; - -; ProductInfo table for PDM - - IMPORT SndCntlPDM, AMICIntTbl ; - - ALIGN 4 -InfoPDM ; PDM Family - dc.l HMCDecoderTable-InfoPDM ; offset to decoder info - dc.l RamInfoPDM-InfoPDM ; offset to ram bank info - dc.l VideoInfoPDM-InfoPDM ; PDM built in video - dc.l NuBusInfoPDM-InfoPDM ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Cuda)|\ ; Cuda firmware - (SoundHasSoundIn)|\ ; Has Sound In - (Sound16Bit)|\ ; Has 16-bit hardware - (SoundStereoIn)|\ ; has stereo sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - (1< + (1<<37//32)|\ + (1<<38//32)|\ + (1<<50//32) dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $00,$00,$00,$00 ; Check VIA1 PA6, PA4, PA2, PA1 - dc.b $00,$00,$00,$00 ; VIA1 PA6 = 1, PA4 = 0, PA2 = 0, PA1 = 0 - dc.l VIA1InitPDM-InfoPDM ; VIA1 init info - dc.l 0 ; no VIA2 init info - dc.l SndCntlPDM-InfoPDM ; sound control vector table - dc.l CudaClockPRAM-InfoPDM ; clock/PRAM vector table - dc.l CudaADBTable-InfoPDM ; ADB/DebugUtil vector table + dc.b $00,$00,$00,$00 ; don't check any VIA bits + dc.b $00,$00,$00,$00 ; anything with this decoder matches + dc.l $1a4 ; VIA1 init info + dc.l 0 ; no VIA2 init info + dc.l SndCntNewWorld-InfoNewWorld ; sound control vector table + dc.l NWClockPRAM-InfoNewWorld ; clock/PRAM vector table + dc.l NWADBTable-InfoNewWorld ; ADB/DebugUtil vector table dc.l 0 ; no Power Manager primitives - dc.l AMICIntTbl-InfoPDM ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; CPU ID: RISC design center - (cpuIDinReg)|\ ; CPU ID: ID only in Reg - $3011 ; CPU ID: PDM ID is $3011 - dc.w 0 ; spare - dc.l IconInfoQFC-InfoPDM ; offset to ICON info - - ALIGN 4 -InfoPDMcoldFusion ; Cold Fusion SAM - dc.l HMCcfDecoderTable-InfoPDMcoldfusion ; offset to decoder info - dc.l RamInfoPDM-InfoPDMcoldfusion ; offset to ram bank info - dc.l VideoInfoPDM-InfoPDMcoldfusion ; PDM built in video - dc.l NuBusInfoCFusion-InfoPDMcoldfusion ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Cuda)|\ ; Cuda firmware - (SoundHasSoundIn)|\ ; Has Sound In - (Sound16Bit)|\ ; Has 16-bit hardware - (SoundStereoIn)|\ ; has stereo sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1 << SoundLineLevel)|\ ; requires line level on sound input port - (1< - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $00,$00,$00,$00 ; Check VIA1 PA6, PA4, PA2, PA1 - dc.b $00,$00,$00,$00 ; VIA1 PA6 = 1, PA4 = 0, PA2 = 0, PA1 = 0 - dc.l VIA1InitPDM-InfoPDMcoldfusion ; VIA1 init info - dc.l 0 ; no VIA2 init info - dc.l SndCntlPDM-InfoPDMcoldfusion ; sound control vector table - dc.l CudaClockPRAM-InfoPDMcoldfusion ; clock/PRAM vector table - dc.l CudaADBTable-InfoPDMcoldfusion ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l AMICIntTbl-InfoPDMcoldfusion ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; CPU ID: RISC design center - (cpuIDinReg)|\ ; CPU ID: ID only in Reg - $3013 ; CPU ID: ColdFusion ID is $3013 + dc.l NWIntTbl-InfoNewWorld ; interrupt handlers table + dc.l 0 ; no internal modem manager + dc.w cpuIDRISC|\ ; CPU ID: RISC design center + cpuIDinReg|\ ; CPU ID: register contains complete ID + $35 ; specific ID dc.w 0 ; spare - dc.l IconInfoFrigidaire-InfoPDMcoldfusion; offset to ICON info - - ALIGN 4 - -InfoPDMCarlSagan ; Carl Sagan - dc.l HMCDecoderTable-InfoPDMCarlSagan ; offset to decoder info - dc.l RamInfoPDM-InfoPDMCarlSagan ; offset to ram bank info - dc.l VideoInfoPDM-InfoPDMCarlSagan ; PDM built in video - dc.l NuBusInfoCFusion-InfoPDMCarlSagan ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Cuda)|\ ; Cuda firmware - (SoundHasSoundIn)|\ ; Has Sound In - (Sound16Bit)|\ ; Has 16-bit hardware - (SoundStereoIn)|\ ; has stereo sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1 << SoundLineLevel)|\ ; requires line level on sound input port - (1< - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $00,$00,$00,$00 ; Check VIA1 PA6, PA4, PA2, PA1 - dc.b $00,$00,$00,$00 ; VIA1 PA6 = 1, PA4 = 0, PA2 = 0, PA1 = 0 - dc.l VIA1InitPDM-InfoPDMCarlSagan ; VIA1 init info - dc.l 0 ; no VIA2 init info - dc.l SndCntlPDM-InfoPDMCarlSagan ; sound control vector table - dc.l CudaClockPRAM-InfoPDMCarlSagan ; clock/PRAM vector table - dc.l CudaADBTable-InfoPDMCarlSagan ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l AMICIntTbl-InfoPDMCarlSagan ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; CPU ID: RISC design center - (cpuIDinReg)|\ ; CPU ID: ID only in Reg - $3012 ; CPU ID: Carl Sagan ID is $3012 - dc.w 0 ; spare - dc.l IconInfoLego-InfoPDMCarlSagan ; offset to ICON info - - - ENDIF ; hasHMC - - IF hasGrandCentral THEN - - IMPORT GCIntTbl, SndCntlPDM - -; TNT bringup board product table - - ALIGN 4 -InfoTNTProto1 - dc.l HHeadDecoderTable-InfoTNTProto1 ; offset to decoder info for EVT4 - dc.l RamInfoTNT-InfoTNTProto1 ; offset to ram bank info - dc.l VideoInfoTNT-InfoTNTProto1 ; Pseudo TNT built in video - dc.l NuBusInfoTNT-InfoTNTProto1 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.l CudaClockPRAM-InfoTNTProto1 ; clock/PRAM vector table - dc.l CudaADBTable-InfoTNTProto1 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l GCIntTbl-InfoTNTProto1 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w cpuIDHiEnd|\ ; CPU ID: hi end design center - (cpuIDinReg)|\ ; CPU ID: ID only in Reg - $3020 ; CPU ID: PDM ID is $3011 - dc.w 0 ; spare - dc.l IconInfoFrigidaire-InfoTNTProto1 ; offset to ICON info - - ENDIF ; {hasGrandCentral} - - - -;_______________________________________________________________________ -; -; ₯₯₯ The following applies only to older CPUs that do not support the -; ₯₯₯ CPUID register identification scheme. -; -; The tables below figure out which logic board we are running on. Some VIA bits -; have been dedicated to this task starting with the Mac II. On other machines, -; we need to be more clever to determine which board it is. -; -; For 020/030 based machines, the VIA bits are used. For the Mac II, IIx, IIcx and -; SE30 machines, the ID bits are PA6 on VIA1 aand PB3 on VIA2. Note that on the -; Mac II, PB3 on VIA 2 is normally an output that controls the MMU, but when read as an -; input it is pulled high internal to the VIA. -; -; PA6 PB3 machine -; -; 0 0 Mac IIx -; 0 1 Mac II -; 1 0 Mac SE 30 -; 1 1 Mac IIcx -; -; For newer machines, Via 1 port A has four bits dedicated to a logic board ID. These bits -; are defined as follows: -; -; PA6 PA4 PA2 PA1 machine <5.0> -; 1 1 1 1 Aurora 25MHz, CX package IIci -; 1 1 1 0 Elsie (was Foursquare) LC <12> -; 1 1 0 1 F19 IIfx -; 1 0 1 1 Aurora 16MHz, CX package -; 0 1 1 1 Erickson IIsi -; 0 0 1 1 Aurora 16MHz, SE package (reserved for future) -; 1 1 0 0 Eclipse Quadra900 <13> -; 1 0 0 0 Spike Quadra700 -; 0 1 0 1 TIM PowerBook170 <36> -; 0 1 1 0 Waimea <36> - - - IF hasOrwell THEN - IMPORT SndCntlQuadra700, SndCntlQuadra900, Quadra700IntTbl, Quadra900IntTbl - - ALIGN 4 -InfoQuadra700 - dc.l OrwellDecoderTable-InfoQuadra700 ; offset to decoder info - dc.l RAMInfo2Bank4Meg-InfoQuadra700 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoQuadra700 ; DAFB built in video - dc.l NuBusInfoQuadra700-InfoQuadra700 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - OrwellExists,\ ; OrwellAddr in valid CSS - SONICExists,\ ; SONIC is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.l ViaADBTable-InfoQuadra700 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l Quadra700IntTbl-InfoQuadra700 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoQuadra700-InfoQuadra700 ; offset to ICON info - - - ALIGN 4 -InfoQuadra900 - dc.l OrwellDecoderTable-InfoQuadra900 ; offset to decoder info - dc.l RamInfoQuadra900-InfoQuadra900 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoQuadra900 ; DAFB built in video <58> - dc.l NuBusInfoQuadra900-InfoQuadra900 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - (1< - dc.b OrwellDecoder ; decoder kind - dc.w $3FFF ; ROM85, New ROMs, Power Off ability. - dc.b 2 ; default ROM Resource configuration - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) <47> - SWIMIOPExists,\ ; SWIMIOPAddr is valid - SCCIOPExists,\ ; SCCIOPAddr is valid - OrwellExists,\ ; OrwellAddr is valid CSS - SONICExists,\ ; SONIC is valid <58> - SCSI96_1Exists,\ ; 1st SCSI96 is valid <58> - PatchROMExists,\ ; Patch ROM is valid - SCSI96_2Exists,\ ; 2nd SCSI96 is valid <58> - DAFBExists ; has DAFB video <58> - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/PRAM <58> - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input <58> - (Caboose)|\ ; Caboose firmware - (SoundStereoOut)|\ ; has stereo sound output <58> - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (KeyswCaboose)|\ ; has a Caboose-flavored power keyswitch <58> - (1< - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $56,$00,$00,$00 ; Check VIA1 PA6, PA4, PA2, PA1 - dc.b $50,$00,$00,$00 ; VIA1 PA6 = 1, PA4 = 1, PA2 = 0, PA1 = 0 - dc.l VIA1InitQuadra900-InfoQuadra900 ; VIA1 init info - dc.l VIA2InitQuadra900-InfoQuadra900 ; VIA2 init info - dc.l SndCntlQuadra900-InfoQuadra900 ; sound control vector table - dc.l EgretClockPRAM-InfoQuadra900 ; clock/PRAM vector table

- dc.l QuadraADBTable-InfoQuadra900 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l Quadra900IntTbl-InfoQuadra900 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoQuadra900-InfoQuadra900 ; offset to ICON info - - - ALIGN 4 -InfoQuadra950 - dc.l OrwellDecoderTable-InfoQuadra950 ; offset to decoder info - dc.l RamInfoQuadra900-InfoQuadra950 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoQuadra950 ; DAFB built in video - dc.l NuBusInfoQuadra900-InfoQuadra950 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) <47> - SWIMIOPExists,\ ; SWIMIOPAddr is valid - SCCIOPExists,\ ; SCCIOPAddr is valid - OrwellExists,\ ; OrwellAddr is valid CSS - SONICExists,\ ; SONIC is valid <58> - SCSI96_1Exists,\ ; 1st SCSI96 is valid <58> - SCSI96_2Exists,\ ; 2nd SCSI96 is valid <58> - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video <58> - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/PRAM <58> - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input <58> - (Caboose)|\ ; Caboose firmware - (SoundStereoOut)|\ ; has stereo sound output <58> - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (KeyswCaboose)|\ ; has a Caboose-flavored power keyswitch <58> - (1< - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $56,$00,$00,$00 ; Check VIA1 PA6, PA4, PA2, PA1 - dc.b $10,$00,$00,$00 ; VIA1 PA6 = 0, PA4 = 1, PA2 = 0, PA1 = 0 - dc.l VIA1InitQuadra900-InfoQuadra950 ; VIA1 init info - dc.l VIA2InitQuadra900-InfoQuadra950 ; VIA2 init info - dc.l SndCntlQuadra900-InfoQuadra950 ; sound control vector table - dc.l EgretClockPRAM-InfoQuadra950 ; clock/PRAM vector table

- dc.l QuadraADBTable-InfoQuadra950 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l Quadra900IntTbl-InfoQuadra950 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoQuadra900-InfoQuadra950 ; offset to ICON info - - -; ProductInfo table for 601 Smurf cards running in Quadra 700's - - IF forSmurf THEN - ALIGN 4 -InfoRiscQuadra700 ; - dc.l OrwellDecoderTable-InfoRiscQuadra700; offset to decoder info - dc.l RamInfoRiscQuadra-InfoRiscQuadra700 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoRiscQuadra700 ; DAFB built in video - dc.l NuBusInfoQuadra700-InfoRiscQuadra700; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< CSS - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (ADBXcvr) ; Has transceiver ADB - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.l Quadra700IntTbl-InfoRiscQuadra700 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; CPU ID: RISC design center - $1235 ; CPU ID: Risc Card ID is $1234 - dc.w 0 ; spare - dc.l IconInfoQuadra700-InfoRiscQuadra700 ; offset to ICON info - - -; ProductInfo table for 601 Smurf cards running in Quadra 900's - - ALIGN 4 -InfoRiscQuadra900 - dc.l OrwellDecoderTable-InfoRiscQuadra900; offset to decoder info - dc.l RamInfoRiscQuadra-InfoRiscQuadra900 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoRiscQuadra900 ; DAFB built in video - dc.l NuBusInfoQuadra900-InfoRiscQuadra900; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) <47> - SWIMIOPExists,\ ; SWIMIOPAddr is valid - SCCIOPExists,\ ; SCCIOPAddr is valid - OrwellExists,\ ; OrwellAddr is valid CSS - SONICExists,\ ; SONIC is valid <58> - SCSI96_1Exists,\ ; 1st SCSI96 is valid <58> - SCSI96_2Exists,\ ; 2nd SCSI96 is valid <58> - DAFBExists ; has DAFB video <58> - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/PRAM <58> - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input <58> - (Caboose)|\ ; Caboose firmware - (SoundStereoOut)|\ ; has stereo sound output <58> - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (KeyswCaboose)|\ ; has a Caboose-flavored power keyswitch <58> - (ADBIop) ; IOP ADB <58> - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.l EgretClockPRAM-InfoRiscQuadra900 ; clock/PRAM vector table

- dc.l QuadraADBTable-InfoRiscQuadra900 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l Quadra900IntTbl-InfoRiscQuadra900 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; CPU ID: RISC design center - $1236 ; CPU ID: Risc Card ID is $1236 - dc.w 0 ; spare - dc.l IconInfoQuadra900-InfoRiscQuadra900 ; offset to ICON info - -; ProductInfo table for 601 Smurf cards running in Quadra 950's - - ALIGN 4 -InfoRiscQuadra950 - dc.l OrwellDecoderTable-InfoRiscQuadra950; offset to decoder info - dc.l RamInfoRiscQuadra-InfoRiscQuadra950 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoRiscQuadra950 ; DAFB built in video - dc.l NuBusInfoQuadra900-InfoRiscQuadra950; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) <47> - SWIMIOPExists,\ ; SWIMIOPAddr is valid - SCCIOPExists,\ ; SCCIOPAddr is valid - OrwellExists,\ ; OrwellAddr is valid CSS - SONICExists,\ ; SONIC is valid <58> - SCSI96_1Exists,\ ; 1st SCSI96 is valid <58> - SCSI96_2Exists,\ ; 2nd SCSI96 is valid <58> - DAFBExists ; has DAFB video <58> - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/PRAM <58> - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input <58> - (Caboose)|\ ; Caboose firmware - (SoundStereoOut)|\ ; has stereo sound output <58> - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (KeyswCaboose)|\ ; has a Caboose-flavored power keyswitch <58> - (ADBIop) ; IOP ADB <58> - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.l EgretClockPRAM-InfoRiscQuadra950 ; clock/PRAM vector table

- dc.l QuadraADBTable-InfoRiscQuadra950 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l Quadra900IntTbl-InfoRiscQuadra950 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w (cpuIDRISC)|\ ; CPU ID: RISC design center - $1237 ; CPU ID: Risc Card ID is $1237 - dc.w 0 ; spare - dc.l IconInfoQuadra900-InfoRiscQuadra950 ; offset to ICON info - - ENDIF ; {forSmurf} - - ENDIF ; {hasOrwell} - - IF forSTP601 THEN - - -; ProductInfo table STP Quadra 700's - - ALIGN 4 -InfoSTPQuadra700 - dc.l OrwellDecoderTable-InfoSTPQuadra700 ; offset to decoder info - dc.l RAMInfo2Bank4Meg-InfoSTPQuadra700 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoSTPQuadra700 ; DAFB built in video - dc.l NuBusInfoQuadra700-InfoSTPQuadra700 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) - IWMExists,\ ; IWMAddr is valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - OrwellExists,\ ; OrwellAddr in valid CSS - SONICExists,\ ; SONIC is valid - DAFBExists ; has DAFB video - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockRTC)|\ ; Has RTC clock/PRAM - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.l ViaADBTable-InfoSTPQuadra700 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l Quadra700IntTbl-InfoSTPQuadra700 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoQuadra700-InfoSTPQuadra700 ; offset to ICON info - - -; ProductInfo table STP Quadra 900's - - ALIGN 4 -InfoSTPQuadra900 - dc.l OrwellDecoderTable-InfoSTPQuadra900 ; offset to decoder info - dc.l RamInfoQuadra900-InfoSTPQuadra900 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoSTPQuadra900 ; DAFB built in video <58> - dc.l NuBusInfoQuadra900-InfoSTPQuadra900 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) <47> - SWIMIOPExists,\ ; SWIMIOPAddr is valid - SCCIOPExists,\ ; SCCIOPAddr is valid - OrwellExists,\ ; OrwellAddr is valid CSS - SONICExists,\ ; SONIC is valid <58> - SCSI96_1Exists,\ ; 1st SCSI96 is valid <58> - PatchROMExists,\ ; Patch ROM is valid - SCSI96_2Exists,\ ; 2nd SCSI96 is valid <58> - DAFBExists ; has DAFB video <58> - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/PRAM <58> - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input <58> - (Caboose)|\ ; Caboose firmware - (SoundStereoOut)|\ ; has stereo sound output <58> - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (KeyswCaboose)|\ ; has a Caboose-flavored power keyswitch <58> - (1< - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.l EgretClockPRAM-InfoSTPQuadra900 ; clock/PRAM vector table

- dc.l QuadraADBTable-InfoSTPQuadra900 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l Quadra900IntTbl-InfoSTPQuadra900 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoQuadra900-InfoSTPQuadra900 ; offset to ICON info - - -; ProductInfo table STP Quadra 950's - - ALIGN 4 -InfoSTPQuadra950 - dc.l OrwellDecoderTable-InfoSTPQuadra950 ; offset to decoder info - dc.l RamInfoQuadra900-InfoSTPQuadra950 ; offset to ram bank info - dc.l VideoInfoDAFB-InfoSTPQuadra950 ; DAFB built in video - dc.l NuBusInfoQuadra900-InfoSTPQuadra950 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid (means Batman in this case) <47> - SWIMIOPExists,\ ; SWIMIOPAddr is valid - SCCIOPExists,\ ; SCCIOPAddr is valid - OrwellExists,\ ; OrwellAddr is valid CSS - SONICExists,\ ; SONIC is valid <58> - SCSI96_1Exists,\ ; 1st SCSI96 is valid <58> - SCSI96_2Exists,\ ; 2nd SCSI96 is valid <58> - PatchROMExists,\ ; Patch ROM is valid - DAFBExists ; has DAFB video <58> - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/PRAM <58> - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input <58> - (Caboose)|\ ; Caboose firmware - (SoundStereoOut)|\ ; has stereo sound output <58> - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (KeyswCaboose)|\ ; has a Caboose-flavored power keyswitch <58> - (1< - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.l EgretClockPRAM-InfoSTPQuadra950 ; clock/PRAM vector table

- dc.l QuadraADBTable-InfoSTPQuadra950 ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l Quadra900IntTbl-InfoSTPQuadra950 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoQuadra900-InfoSTPQuadra950 ; offset to ICON info - - - ENDIF ; {forSTP601} - - - - IF hasJaws THEN - IMPORT SndCntlPB170, JawsPmgrPrims, JawsIntTbl - - ALIGN 4 -InfoPowerBook170 ; table for PowerBook 140 and 170 <8> - dc.l JAWSTable-InfoPowerBook170 ; offset to decoder info - dc.l RAMInfoJaws-InfoPowerBook170 ; offset to ram bank info - dc.l VideoInfoJaws-InfoPowerBook170 ; offset to video info - dc.l NuBusInfoJaws-InfoPowerBook170 ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - (ADBPwrMgr)|\ ; PowerManager ADB <5> - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundStereoMixing)|\ ; has stereo mixing - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< djw - dc.l RTCClockPRAM-InfoPowerBook170 ; clock/PRAM vector table

- dc.l PMGRADBTable-InfoPowerBook170 ; ADB/DebugUtil vector table - dc.l JawsPmgrPrims-InfoPowerBook170 ; Power Manager primitives - dc.l JawsIntTbl-InfoPowerBook170 ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoTIM-InfoPowerBook170 ; offset to ICON info - - - ALIGN 4 -InfoJAWSUnknown - dc.l JAWSTable-InfoJAWSUnknown ; offset to decoder info <25> - dc.l RamInfoJAWS-InfoJAWSUnknown ; offset to ram bank info - dc.l VideoInfoJaws-InfoJAWSUnknown ; offset to video info - dc.l NuBusInfoJaws-InfoJAWSUnknown ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 ; use default bases for this decoder - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l 0 ; use default external features for this decoder - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $00,$00,$00,$00 ; don't check any VIA bits - dc.b $00,$00,$00,$00 ; anything with this decoder matches - dc.l VIA1InitJaws-InfoJAWSUnknown ; VIA1 init info - dc.l VIA2InitJaws-InfoJAWSUnknown ; VIA2 init info - dc.l 0 ; no sound control vector table - dc.l RTCClockPRAM-InfoJAWSUnknown ; clock/PRAM vector table

- dc.l PMGRADBTable-InfoJAWSUnknown ; ADB/DebugUtil vector table - dc.l JawsPmgrPrims-InfoJAWSUnknown ; Power Manager primitives - dc.l JawsIntTbl-InfoJAWSUnknown ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; no CPU ID register - dc.l IconInfoTIM-InfoJAWSUnknown ; offset to ICON info - - ENDIF ; {hasJaws} - - - - IF hasVISADecoder THEN - IMPORT SndCntlLC, RBVEgretIntTbl - - ALIGN 4 -InfoMacLC - dc.l VISADecoderTable-InfoMacLC ; offset to decoder info - dc.l RamInfoVISA-InfoMacLC ; offset to ram bank info - dc.l VideoInfoVISA-InfoMacLC ; offset to video info - dc.l NuBusInfoVISA-InfoMacLC ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - (1< - dc.b VISADecoder ; decoder kind - dc.w $3FFF ; ROM85, New ROMs, no Power Off ability. - dc.b 4 ; default ROM Resource configuration - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid - SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBVAddr is valid - VDACExists ; VDACAddr is valid - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Egret8)|\ ; Egret Eight firmware - (1<<15> - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input <23> - (1< - (1< - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $56,$00,$00,$00 ; Check VIA1 PA6, PA4, PA2, PA1 - dc.b $54,$00,$00,$00 ; VIA1 PA6 = 1, PA4 = 1, PA2 = 1, PA1 = 0 - dc.l VIA1InitMacLC-InfoMacLC ; VIA1 init info - dc.l 0 ; no VIA2 init info - dc.l SndCntlLC-InfoMacLC ; sound control vector table - dc.l EgretClockPRAM-InfoMacLC ; clock/PRAM vector table

- dc.l EgretADBTable-InfoMacLC ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l RBVEgretIntTbl-InfoMacLC ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoMacLC-InfoMacLC ; offset to ICON info - - - - ALIGN 4 -InfoVISAUnknown - dc.l VISADecoderTable-InfoVISAUnknown ; offset to decoder info - dc.l RamInfoVISA-InfoVISAUnknown ; offset to ram bank info - dc.l VideoInfoVISA-InfoVISAUnknown ; offset to video info - dc.l NuBusInfoVISA-InfoVISAUnknown ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.l EgretADBTable-InfoVISAUnknown ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l RBVEgretIntTbl-InfoVISAUnknown ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoMacLC-InfoVISAUnknown ; offset to ICON info - - - ENDIF ; {hasVISADecoder} - - - - IMPORT VIAIntTbl -InfoUnknownUnknown - dc.l UnknownDecoderTable-InfoUnknownUnknown ; offset to decoder info - dc.l 0 ; no ram bank info - dc.l 0 ; no built in video - dc.l 0 ; no NuBus info - dc.w 0 ; hwCfgFlags - dc.b BoxUnknown ; product kind - dc.b UnknownDecoder ; decoder kind - dc.w $FFFF ; ROM85 - dc.b 1 ; default ROM Resource configuration <2.1> - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 ; use default bases for this decoder - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l 0 ; use default external features for this decoder - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $00,$00,$00,$00 ; don't check any VIA bits - dc.b $00,$00,$00,$00 ; anything with this decoder matches - dc.l 0 ; no VIA1 to init - dc.l 0 ; no VIA2 to init - dc.l 0 ; no sound control vector table - dc.l RTCClockPRAM-InfoUnknownUnknown ; clock/PRAM vector table

- dc.l 0 ; no ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l VIAIntTbl-InfoUnknownUnknown ; interrupt handlers table - dc.l 0 ; internal modem manager - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l 0 ; no Icon info - + dc.l IconInfoNewWorld-InfoNewWorld ; offset to ICON info + dc.l $190 ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ @@ -3889,2038 +611,58 @@ InfoUnknownUnknown ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ ALIGN 16 - - IF hasPratt THEN -;----------------------------------------------------------------------------------------- -; Pratt Decoder -;----------------------------------------------------------------------------------------- - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid - SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid - VDACExists,\ ; VDAC (CSC) is valid - SONICExists ; SONIC is valid - BitVector32 \ ; Flags for valid base addresses 32-63 - SingerExists,\ ; PrattAddr is valid - PrattExists ; SingerAddr is valid - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Default ext features 0-31 - (ADBPwrMgr)|\ ; PMGR ADB - (ClockPwrMgr)|\ ; PMGR clock/pram - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (Sound16Bit)|\ ; has 16-bit hardware - (SoundStereoOut)|\ ; has stereo sound output - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - -;----------------------------------------------------------------------------------------- -; HMC Decoder (PDM) -;----------------------------------------------------------------------------------------- - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - RBVExists,\ ; RBVAddr is valid - SCCRdExists,\ ; SCCRdAddr may be valid - SCCWrExists,\ ; SCCWrAddr may be valid - ASCExists,\ ; ASC isn't valid, but say it is - SCSI96_1Exists ; 1st SCSI96 is valid - BitVector32 \ ; Default valid addresses 32-63 - AwacsExists,\ ; AwacsAddr exists - MaceExists, \ ; MACE exists - AMICExists,\ ; AMIC DMA IO controller exists - SWIM3Exists,\ ; SWIM3 DMA floppy controller exists - BartExists ; BART (NuBus controller) may exist - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Cuda)|\ ; Cuda firmware - (Sound16Bit)|\ ; Has 16-bit mono/stereo sound input - (SoundStereoOut)|\ ; has stereo sound output - (1< - dc.l $50F14000 ; Base of AWACS - dc.l $00000000 ; Base of Civic - dc.l $00000000 ; Base of Sebastian - dc.l $F0000000 ; Base of BART - -;----------------------------------------------------------------------------------------- -; HMC Decoder (ColdFusion - differs from PDM only in SCSI & soft power) -;----------------------------------------------------------------------------------------- - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - RBVExists,\ ; RBVAddr is valid - SCCRdExists,\ ; SCCRdAddr may be valid - SCCWrExists,\ ; SCCWrAddr may be valid - ASCExists,\ ; ASC isn't valid, but say it is - SCSI96_1Exists,\ ; Internal 53CF96 is valid - SCSI96_2Exists ; External 53C96 (curio) is valid - BitVector32 \ ; Default valid addresses 32-63 - AwacsExists,\ ; AwacsAddr exists - MaceExists, \ ; MACE exists - AMICExists,\ ; AMIC DMA IO controller exists - SWIM3Exists,\ ; SWIM3 DMA floppy controller exists - BartExists ; BART (NuBus controller) may exist - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Cuda)|\ ; Cuda firmware - (Sound16Bit)|\ ; Has 16-bit mono/stereo sound input - (SoundStereoOut)|\ ; has stereo sound output - (1< - dc.l $50F14000 ; Base of AWACS - dc.l $00000000 ; Base of Civic - dc.l $00000000 ; Base of Sebastian - dc.l $F0000000 ; Base of BART - ENDIF ; hasHMC - - - IF hasOrwell THEN - IMPORT CheckForOrwell -;----------------------------------------------------------------------------------------- -; Orwell Decoder -;----------------------------------------------------------------------------------------- - IF forSmurf THEN - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid - SCCRdExists,\ ; SCCRdAddr may be valid - SCCWrExists,\ ; SCCWrAddr may be valid - SWIMIOPExists,\ ; SWIMIOPAddr may be valid - SCCIOPExists,\ ; SCCIOPAddr may be valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - OrwellExists,\ ; Orwell MCA is valid CSS - SONICExists,\ ; SONIC is valid on the Smurf Card - DAFBExists ; DAFB video is valid - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l 0 ; Default ext features 0-31 - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< CSS - dc.l $00000000 ; JAWS - unused - dc.l $5000A000 ; Sonic - valid <45> - dc.l $5000F000 ; 1st (internal) SCSI96 - valid <58> - dc.l $5000F402 ; 2nd (external) SCSI96 - valid <58> - dc.l $F9800000 ; DAFB - valid - dc.l $00000000 ; unused 27 - dc.l $00000000 ; ROMPhysAddr - unused - dc.l $E0000000 ; PatchRomAddr - valid - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - - ELSE ; {forSmurf} - - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid - SCCRdExists,\ ; SCCRdAddr may be valid - SCCWrExists,\ ; SCCWrAddr may be valid - SWIMIOPExists,\ ; SWIMIOPAddr may be valid - SCCIOPExists,\ ; SCCIOPAddr may be valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SCSI96_2Exists,\ ; 2nd SCSI96 may be valid - OrwellExists,\ ; Orwell MCA is valid CSS - SONICExists,\ ; SONIC is valid - DAFBExists ; DAFB video is valid - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (1<<47> - dc.l CheckForOrwell-OrwellDecoderTable ; routine to identify this map - dc.b OrwellDecoder - dc.b DecoderInfoVersion ; DecoderInfo version - dcb.b 2,0 - dc.l $50F0E000 ; Orwell Base Address -OrwellDecoderTable ; Eclipse Memory Map <13> - dc.l $40800000 ; ROM - valid - dc.l $58000000 ; DiagROM - valid <16> - dc.l $50F00000 ; VIA1 - valid - dc.l $50F0C020 ; SCC read - valid <58> - dc.l $50F0C020 ; SCC write - valid <58> - dc.l $50F1E000 ; IWM - valid <58> - dc.l $00000000 ; PWM - unused - dc.l $00000000 ; Sound - unused - dc.l $00000000 ; SCSI - unused - dc.l $00000000 ; SCSIDack - unused - dc.l $00000000 ; SCSIHsk - unused - dc.l $50F02000 ; VIA2 - valid - dc.l $50F14000 ; ASC - valid - dc.l $00000000 ; RBV - unused - dc.l $F9800000 ; VDAC - used <58> - dc.l $00000000 ; SCSIDMA - valid <58> - dc.l $50F1E020 ; SWIMIOP - valid - dc.l $50F0C020 ; SCCIOP - valid - dc.l $00000000 ; OSS - unused - dc.l $00000000 ; FMC - unused - dc.l $00000000 ; RPU - unused - dc.l $5000E000 ; Orwell - valid CSS - dc.l $00000000 ; JAWS - unused <25> - dc.l $50F0A000 ; Sonic - valid <45> - dc.l $50F0F000 ; 1st (internal) SCSI96 - valid <58> - dc.l $50F0F402 ; 2nd (external) SCSI96 - valid <58> - dc.l $F9800000 ; DAFB - valid <58> - dc.l $00000000 ; unused 27 - dc.l $00000000 ; ROMPhysAddr - unused - dc.l $E0000000 ; PatchRomAddr - valid - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - ENDIF ; {forSmurf} - ENDIF ; {hasOrwell} - - - IF hasJaws THEN - IMPORT CheckForJAWS -;----------------------------------------------------------------------------------------- -; JAWS Decoder -;----------------------------------------------------------------------------------------- - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid - SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid - JAWSExists ; JAWS is valid - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Default ext features 0-31 - (ClockNoPram)|\ ; has PowerManager clock, but not PwrMgr pram - (ADBPwrMgr)|\ ; PowerManager ADB - (1< - dc.l $50F80000 ; JAWS - valid <25> - dc.l $00000000 ; Sonic - unused <45> - dc.l $00000000 ; 1st (internal) SCSI96 - unused - dc.l $00000000 ; 2nd (external) SCSI96 - unused - dc.l $00000000 ; DAFB - unused - dc.l $00000000 ; unused 27 - dc.l $00000000 ; ROMPhysAddr - unused - dc.l $00000000 ; unused 29 - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - - ENDIF ; {hasJaws} - - - IF hasNiagra THEN - IMPORT CheckForNiagra -;----------------------------------------------------------------------------------------- -; Niagra Decoder -;----------------------------------------------------------------------------------------- - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid - SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid - JAWSExists ; JAWS is valid - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Default ext features 0-31 - (ClockRTC)|\ ; RTC clock/PRAM - (ADBPwrMgr)|\ ; PowerManager ADB - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.l $00000000 ; SCSIDMA - unused - dc.l $00000000 ; SWIMIOP - unused - dc.l $00000000 ; SCCIOP - unused - dc.l $00000000 ; OSS - unused - dc.l $00000000 ; FMC - unused - dc.l $00000000 ; RPU - unused - dc.l $00000000 ; Orwell - unused - dc.l $50F80000 ; JAWS - valid - dc.l $00000000 ; Sonic - unused - dc.l $00000000 ; 1st (internal) SCSI96 - unused - dc.l $00000000 ; 2nd (external) SCSI96 - unused - dc.l $00000000 ; DAFB - unused - dc.l $00000000 ; unused 27 - dc.l $00000000 ; ROMPhysAddr - unused - dc.l $00000000 ; PatchROMAddr - unused - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - - ENDIF ; {hasNiagra} - - - IF hasMSC THEN -;----------------------------------------------------------------------------------------- -; MSC Decoder -;----------------------------------------------------------------------------------------- - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid
- SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBVAddr is valid - VDACExists ; VDACAddr (GSC) is valid - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Default ext features 0-31 - (ADBPwrMgr)|\ ; PMGR ADB - (ClockPwrMgr)|\ ; PMGR clock/pram - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (1< - dc.l 0 ; Default ext features 32-63 - dc.l 0 ; Default ext features 64-95 - dc.b $00,$00,$00,$00 ; no special VIA bits to avoid changing - dc.l 0 ; no identify routine - supports CPU ID reg - dc.b MSCDecoder - dc.b DecoderInfoVersion ; DecoderInfo version - dcb.b 3,0 - dc.l $FFFFFFFF ; No Base Address for this decoder -MSCTable - IF ROMinRAM THEN ; - dc.l $00400000 ; ROM - hacked ₯ HACK 4 Meg - ELSE ; - dc.l $40800000 ; ROM - valid - ENDIF ; - dc.l $58000000 ; DiagROM - valid - dc.l $50F00000 ; VIA1 - valid - dc.l $50F04000 ; SCC read - valid - dc.l $50F04000 ; SCC write - valid - dc.l $50F16000 ; IWM - valid
- dc.l $00000000 ; PWM - unused - dc.l $00000000 ; Sound - unused - dc.l $50F10000 ; SCSI - valid - dc.l $50F12000 ; SCSIDack - valid - dc.l $50F06000 ; SCSIHsk - valid - dc.l $00000000 ; VIA2 - unused - dc.l $50F14000 ; ASC - valid - dc.l $50F26000 ; RBV - valid - dc.l $50F20000 ; VDAC - valid (GSC) - dc.l $00000000 ; SCSIDMA - unused - dc.l $00000000 ; SWIMIOP - unused - dc.l $00000000 ; SCCIOP - unused - dc.l $00000000 ; OSS - unused - dc.l $00000000 ; FMC - unused - dc.l $00000000 ; RPU - unused - dc.l $00000000 ; Orwell - unused - dc.l $00000000 ; JAWS - unused - dc.l $00000000 ; Sonic - unused - dc.l $00000000 ; 1st (internal) SCSI96 - unused - dc.l $00000000 ; 2nd (external) SCSI96 - unused - dc.l $00000000 ; DAFB - unused - dc.l $00000000 ; unused 27
- dc.l $00000000 ; ROMPhysAddr - unused - dc.l $00000000 ; PatchROM - unused - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - - ENDIF ; {hasMSC} - - - IF hasSonora THEN -;----------------------------------------------------------------------------------------- -; Sonora Decoder -;----------------------------------------------------------------------------------------- - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid (Actually, SWIM2) - SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBVAddr is valid - VDACExists,\ ; VDACAddr is valid - SONICExists,\ ; SONIC is valid - PatchROMExists ; PatchRomAddr is valid - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Default ext features 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input - (SoundStereoOut)|\ ; has stereo sound output - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (1< - dc.l 0 ; Default ext features 32-63 - dc.l 0 ; Default ext features 64-95 - dc.b $00,$00,$00,$00 ; no special VIA bits to avoid changing - dc.l 0 ; no identify routine - supports CPU ID reg - dc.b SonoraDecoder - dc.b DecoderInfoVersion ; DecoderInfo version - dcb.b 2,0 - dc.l $FFFFFFFF ; No Base Address for this decoder -SonoraTable - dc.l $40800000 ; ΓROM - valid - -;₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯ -; -; NOTE: Singapore has built their board testers using $50FC0000 as the DiagROM -; address. So, I need to change it here (since Vail is a Sonora machine). They will -; use the correct address in the future. -; -; dc.l $58000000 ; ΓDiagROM - valid - dc.l $50FC0000 ; ΓDiagROM - valid - -;₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯ - dc.l $50F00000 ; ΓVIA1 - valid - dc.l $50F04000 ; ΓSCC read - valid - dc.l $50F04000 ; ΓSCC write - valid - dc.l $50F16000 ; ΓIWM - SWIM2 address - dc.l $00000000 ; PWM - unused - dc.l $00000000 ; Sound - unused - dc.l $50F10000 ; ΓSCSI - valid - dc.l $50F12000 ; ΓSCSIDack - valid - dc.l $50F06000 ; ΓSCSIHsk - valid - dc.l $00000000 ; VIA2 - unused - dc.l $50F14000 ; ΓASC - valid - dc.l $50F26000 ; ΓRBV - valid - dc.l $50F24000 ; ΓVDAC - valid - dc.l $00000000 ; SCSIDMA - unused - dc.l $00000000 ; SWIMIOP - unused - dc.l $00000000 ; SCCIOP - unused - dc.l $00000000 ; OSS - unused - dc.l $00000000 ; FMC - unused - dc.l $00000000 ; RPU - unused - dc.l $00000000 ; Orwell - unused - dc.l $00000000 ; JAWS - unused - dc.l $50F0A000 ; ΓSonic - valid - dc.l $00000000 ; 1st (internal) SCSI96 - unused - dc.l $00000000 ; 2nd (external) SCSI96 - unused - dc.l $00000000 ; DAFB - unused - dc.l $00000000 ; unused 27
- dc.l $00000000 ; ROMPhysAddr - unused - dc.l $5FF00000 ; ΓPatchROM - valid - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - - ENDIF ; {hasSonora} - - - IF hasDJMEMC THEN -;----------------------------------------------------------------------------------------- -; djMEMC Decoder ₯₯₯₯ This info is not up to date ₯₯₯₯ -;----------------------------------------------------------------------------------------- - IF forSmurf THEN ; - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid - IWMExists,\ ; IWMAddr is valid (Actually, SWIM2) - SCCRdExists,\ ; SCCRdAddr may be valid - SCCWrExists,\ ; SCCWrAddr may be valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - DAFBExists ; DAFB video is valid - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Default ext features 0-31 - SoundPlayAndRecord ; can Play and Record simultaneously - ; (we better know what features we have) - dc.l \ ; Flags for valid ext feature flags 32-63 - (1< - dc.l $00000000 ; JAWS - unused - dc.l $5000A000 ; Sonic - valid - dc.l $50010000 ; 1st (internal) SCSI96 - valid - dc.l $00000000 ; 2nd (external) SCSI96 - unused - dc.l $F9800000 ; DAFB - valid - dc.l $00000000 ; unused 27 - dc.l $00000000 ; ROMPhysAddr - unused - dc.l $5F000000 ; PatchRomAddr - valid - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - - ELSE ; {forSmurf} - - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid - SCCRdExists,\ ; SCCRdAddr may be valid - SCCWrExists,\ ; SCCWrAddr may be valid - SCSI96_1Exists,\ ; 1st SCSI96 is valid - SONICExists,\ ; SONIC is valid - DAFBExists ; DAFB video is valid - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Default ext features 0-31 - (SoundPlayAndRecord )|\ ; can Play and Record simultaneously - \ ; (we better know what features we have) - (1< - dc.l $00000000 ; JAWS - unused - dc.l $50F0A000 ; Sonic - valid - dc.l $50F10000 ; 1st (internal) SCSI96 - valid - dc.l $00000000 ; 2nd (external) SCSI96 - unused - dc.l $F9800000 ; DAFB - valid - dc.l $00000000 ; unused 27 - dc.l $00000000 ; ROMPhysAddr - unused - dc.l $5FF00000 ; PatchRomAddr - valid - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - ENDIF ; {forSmurf} - ENDIF ; {hasDJMEMC} - - - IF hasYMCA THEN ; this is really YMCA now -;----------------------------------------------------------------------------------------- -; YMCA Decoder -;----------------------------------------------------------------------------------------- - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - VIA2Exists,\ ; VIA2Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - NewAgeExists,\ ; NewAge is valid - SCSI96_1Exists,\ ; SCSI 96 is valid - PSCExists ; PSC DMA is valid - BitVector32 \ ; Default valid addresses 32-63 - DSPExists,\ ; DSP is valid - MaceExists, \ ; MACE is valid - MUNIExists, \ ; MUNI is valid - CivicExists,\ ; Civic video is valid - SebastianExists ; Sebastian CLUT DAC is valid - BitVector32 ; Default valid addresses 64-95 - dc.l 0 ; Default ext features 0-31 - ; (we better know what features we have) - dc.l 0 ; Default ext features 32-63 - dc.l 0 ; Default ext features 64-95 - dc.b $00,$30,$00,$00 ; special VIA bits to avoid changing, - ; VIA1 PB4=1,PB5=1, for Cuda 1/27/92 gjs - dc.l 0 ; no identify routine - supports CPU ID reg - dc.b YMCADecoder - dc.b DecoderInfoVersion ; DecoderInfo version - dcb.b 2,0 - dc.l $50F30400 ; YMCA Base Address -CycloneDecoderTable - IF ROMinRAM THEN ; - dc.l $00400000 ; ROM - hacked ₯ HACK 4 Meg - ELSE ; - dc.l $40800000 ; ROM - valid - ENDIF ; - dc.l $58000000 ; DiagROM - valid - dc.l $50F00000 ; VIA1 - valid - dc.l $50F04000 ; SCC read - valid - dc.l $50F04000 ; SCC write - valid - dc.l $00000000 ; IWM - unused - dc.l $00000000 ; PWM - unused - dc.l $00000000 ; Sound - unused - dc.l $00000000 ; SCSI - unused - dc.l $00000000 ; SCSIDack - unused - dc.l $00000000 ; SCSIHsk - unused - dc.l $50F02000 ; VIA2 - valid - dc.l $00000000 ; ASC - unused - dc.l $00000000 ; RBV - unused - dc.l $00000000 ; VDAC - valid - dc.l $00000000 ; SCSIDMA - unused - dc.l $00000000 ; SWIMIOP - unused - dc.l $00000000 ; SCCIOP - unused - dc.l $00000000 ; OSS - unused - dc.l $00000000 ; FMC - unused - dc.l $00000000 ; RPU - unused - dc.l $00000000 ; Unused21 - valid - dc.l $00000000 ; JAWS - unused - dc.l $00000000 ; Sonic - unused - dc.l $50F18000 ; 1st (internal) SCSI96 - unused - dc.l $00000000 ; 2nd (external) SCSI96 - unused - dc.l $00000000 ; Civic - valid - dc.l $50F31000 ; PSC DMA - valid - dc.l $00000000 ; ROMPhysAddr - unused - dc.l $00000000 ; PatchROMAddr - unused - dc.l $50F2A000 ; NewAge - valid - dc.l $00000000 ; Unused31 - dc.l $00000000 ; Singer - unused - dc.l $50F31000 ; DSP (really PSC's base address) - valid - dc.l $50F1C000 ; MACE - valid - dc.l $50F30000 ; MUNI - valid - dc.l $00000000 ; AMIC DMA controller - unused - dc.l $00000000 ; Pratt decoder - unused - dc.l $00000000 ; SWIM3 chip - unused - dc.l $00000000 ; AWACS chip - unused - dc.l $50036000 ; Civic - valid - dc.l $50F30800 ; Sebastian - valid - - - ENDIF ; - - - IF hasVISADecoder THEN - IMPORT CheckForVISADecoder -;----------------------------------------------------------------------------------------- -; VISA Decoder -;----------------------------------------------------------------------------------------- - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid - SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBVAddr is valid - VDACExists ; VDACAddr is valid - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Default ext features 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Has Egret ADB - (1< - dc.l $50F80000 ; DiagROM - valid <12><8> - dc.l $50F00000 ; VIA1 - valid - dc.l $50F04000 ; SCC read - valid - dc.l $50F04000 ; SCC write - valid - dc.l $50F16000 ; IWM - valid - dc.l $00000000 ; PWM - unused - dc.l $00000000 ; Sound - unused - dc.l $50F10000 ; SCSI - valid - dc.l $50F12000 ; SCSIDack - valid - dc.l $50F06000 ; SCSIHsk - valid - dc.l $00000000 ; VIA2 - unused - dc.l $50F14000 ; ASC - valid - dc.l $50F26000 ; RBV - valid - dc.l $50F24000 ; VDAC - valid - dc.l $00000000 ; SCSIDMA - unused - dc.l $00000000 ; SWIMIOP - unused - dc.l $00000000 ; SCCIOP - unused - dc.l $00000000 ; OSS - unused - dc.l $00000000 ; FMC - unused - dc.l $00000000 ; RPU - unused - dc.l $00000000 ; unused 21 - dc.l $00000000 ; unused 22 - dc.l $00000000 ; unused 23 - dc.l $00000000 ; 1st (internal) SCSI96 - unused - dc.l $00000000 ; 2nd (external) SCSI96 - unused - dc.l $00000000 ; DAFB - unused - dc.l $00000000 ; unused 27 - dc.l $00A00000 ; ROMPhysAddr - unused - dc.l $00000000 ; unused 29 - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - - ENDIF ; {hasVISADecoder} - - - IF hasGrandCentral THEN -;----------------------------------------------------------------------------------------- -; HammerHead Decoder Table -;----------------------------------------------------------------------------------------- - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - SCSI96_1Exists,\ ; SCSI 96 bus 1 is valid - SCSI96_2Exists ; SCSI 96 bus 2 is valid - BitVector32 \ ; Default valid addresses 32-63 - MaceExists, \ ; MACE is valid - SWIM3Exists,\ ; SWIM3 is valid - AwacsExists,\ ; Awacs is valid - GrandCentralExists ; Grand Central DMA is valid - BitVector32 ; Default valid addresses 64-95 - dc.l 0 ; Default ext features 0-31 - ; (we better know what features we have) - dc.l 0 ; Default ext features 32-63 - dc.l 0 ; Default ext features 64-95 - dc.b $00,$30,$00,$00 ; special VIA bits to avoid changing, - ; VIA1 PB4=1, PB5=1, for Cuda - dc.l 0 ; no identify routine -- use CPU ID register - dc.b HHeadDecoder - dc.b DecoderInfoVersion ; DecoderInfo version - dcb.b 2,0 - dc.l $F8000000 ; HammerHead Base Address -HHeadDecoderTable - dc.l $40800000 ; ROM - valid - dc.l $00000000 ; DiagROM - unused - dc.l $F3016000 ; VIA1 - valid - dc.l $F3012000 ; SCC read - valid - dc.l $F3012000 ; SCC write - valid - dc.l $00000000 ; IWM - unused - dc.l $00000000 ; PWM - unused - dc.l $00000000 ; Sound - unused - dc.l $00000000 ; SCSI - unused - dc.l $00000000 ; SCSIDack - unused - dc.l $00000000 ; SCSIHsk - unused - dc.l $00000000 ; VIA2 - unused - dc.l $00000000 ; ASC - unused - dc.l $00000000 ; RBV - unused - dc.l $00000000 ; VDAC - unused - dc.l $00000000 ; SCSIDMA - unused - dc.l $00000000 ; SWIMIOP - unused - dc.l $00000000 ; SCCIOP - unused - dc.l $00000000 ; OSS - unused - dc.l $00000000 ; FMC - unused - dc.l $00000000 ; RPU - unused - dc.l $00000000 ; Unused21 - unused - dc.l $00000000 ; JAWS - unused - dc.l $00000000 ; Sonic - unused - dc.l $F3018000 ; 1st (internal) SCSI96 - valid - dc.l $F3010000 ; 2nd (external) SCSI96 - valid - dc.l $00000000 ; Civic - unused - dc.l $00000000 ; PSC DMA - unused - dc.l $00000000 ; ROMPhysAddr - unused - dc.l $00000000 ; PatchROMAddr - unused - dc.l $00000000 ; NewAge - unused - dc.l $00000000 ; Unused31 - dc.l $00000000 ; Singer - unused - dc.l $00000000 ; DSP (really PSC's base address) - unused - dc.l $F3011000 ; MACE - valid - dc.l $00000000 ; MUNI - unused - dc.l $00000000 ; AMIC DMA controller - unused - dc.l $00000000 ; Pratt decoder - unused - dc.l $F3015000 ; SWIM3 chip - valid - dc.l $F3014000 ; AWACS chip - valid - dc.l $00000000 ; Civic - unused - dc.l $00000000 ; Sebastian - unused - dc.l $00000000 ; BART - unused - dc.l $F3000000 ; Grand Central - valid - - ENDIF ; {hasGrandCentral} - - - -;----------------------------------------------------------------------------------------- -; Unknown Decoder -;----------------------------------------------------------------------------------------- - IMPORT CheckForUnknown - - BitVector32 ; Default valid addresses 0-31 - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l 0 ; Default ext features 0-31 - dc.l 0 ; Default ext features 32-63 - dc.l 0 ; Default ext features 64-95 - dc.b $00,$00,$00,$00 ; no special VIA bits to avoid changing - dc.l CheckForUnknown-UnknownDecoderTable ; routine to identify this map - dc.b UnknownDecoder - dc.b DecoderInfoVersion ; DecoderInfo version - dcb.b 2,0 - dc.l $FFFFFFFF ; No Base Address for this decoder -UnknownDecoderTable - dc.l $00000000 ; ROM - unused - dc.l $00000000 ; DiagROM - unused - dc.l $00000000 ; VIA1 - unused - dc.l $00000000 ; SCC read - unused - dc.l $00000000 ; SCC write - unused - dc.l $00000000 ; IWM - unused - dc.l $00000000 ; PWM - unused - dc.l $00000000 ; Sound - unused - dc.l $00000000 ; SCSI - unused - dc.l $00000000 ; SCSIDack - unused - dc.l $00000000 ; SCSIHsk - unused - dc.l $00000000 ; VIA2 - unused - dc.l $00000000 ; ASC - unused - dc.l $00000000 ; RBV - unused - dc.l $00000000 ; VDAC - unused - dc.l $00000000 ; SCSIDMA - unused - dc.l $00000000 ; SWIMIOP - unused - dc.l $00000000 ; SCCIOP - unused - dc.l $00000000 ; OSS - unused - dc.l $00000000 ; FMC - unused - dc.l $00000000 ; RPU - unused - dc.l $00000000 ; unused 21 - dc.l $00000000 ; JAWS - unused <25> - dc.l $00000000 ; Sonic - unused <45> - dc.l $00000000 ; 1st (internal) SCSI96 - unused - dc.l $00000000 ; 2nd (external) SCSI96 - unused - dc.l $00000000 ; DAFB - unused - dc.l $00000000 ; unused 27 - dc.l $00000000 ; ROMPhysAddr - unused - dc.l $00000000 ; unused 29 - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - - ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ ; RAM Info Tables ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ - IF hasMDU THEN ; -RAMInfo2Bank1Meg ; common 2 bank RAM model: - dc.l $00100000 ; 1 Meg is smallest bank - dc.l $00000000,$04000000 ; 64 Meg Bank A - dc.l $04000000,$08000000 ; 64 Meg Bank B - dc.l $FFFFFFFF ; end of table - ENDIF ; - - IF hasOrwell | hasYMCA THEN ; -RAMInfo2Bank4Meg ; common 2 bank RAM model: - dc.l $00400000 ; 4 MB is smallest bank - dc.l $00000000,$04000000 ; 64 MB Bank A - dc.l $04000000,$08000000 ; 64 MB Bank B - dc.l $FFFFFFFF ; end of table - ENDIF ; - - IF hasVISADecoder THEN -RamInfoVISA - dc.l $00100000 ; 1 MB is smallest bank - dc.l $00000000,$00800000 ; 8 MB Bank A - dc.l $00800000,$00A00000 ; 2 MB Bank B - dc.l $FFFFFFFF ; end of table -RamInfoMacLCII ; Special case 4MB on PCB for LC II - dc.l $00100000 ; 1 MB is smallest bank - dc.l $00000000,$00400000 ; 4 MB Bank A - dc.l $00400000,$00800000 ; 4 MB Bank B +RamInfoNewWorld + dc.l $00800000 ; 8 MB is smallest bank + dc.l $00000000,$40000000 ; 1 GB Bank A dc.l $FFFFFFFF ; end of table - ENDIF ; {hasVISADecoder} - - IF hasOrwell THEN -RamInfoQuadra900 ; Quadra 900 supports 4 banks of memory - dc.l $00400000 ; 4 MB is smallest bank - dc.l $00000000,$04000000 ; 64 MB Bank A - dc.l $04000000,$08000000 ; 64 MB Bank B - dc.l $08000000,$0C000000 ; 64 MB Bank C - dc.l $0C000000,$10000000 ; 64 MB Bank D - dc.l $FFFFFFFF ; End of table - - IF forSmurf THEN -RamInfoRiscQuadra ; Smurf Card supports 1 12M bank of memory - dc.l $00C00000 ; 12 MB is smallest bank - dc.l $00000000,$00C00000 ; 12 MB Bank - dc.l $FFFFFFFF ; End of table - ENDIF ; {forSmurf} - ENDIF ; {hasOrwell} - - IF hasJaws THEN -RAMInfoJaws - dc.l $00080000 ; 512K is smallest bank - dc.l $00000000,$00200000 ; 2 Meg Bank A - dc.l $00200000,$00400000 ; 2 Meg Bank B - dc.l $00400000,$00600000 ; 2 Meg Bank C - dc.l $00600000,$00800000 ; 2 Meg Bank D - dc.l $FFFFFFFF ; End of table - ENDIF ; {hasJaws} - - IF hasNiagra THEN -RamInfoNiagra - dc.l $00080000 ; 512K is smallest bank - dc.l $00000000,$00200000 ; 2 Meg Bank 0 - dc.l $00200000,$00400000 ; 2 Meg Bank 1 - dc.l $00400000,$00600000 ; 2 Meg Bank 2 - dc.l $00600000,$00800000 ; 2 Meg Bank 3 - dc.l $00800000,$00A00000 ; 2 Meg Bank 4 - dc.l $00A00000,$00C00000 ; 2 Meg Bank 5 - dc.l $00C00000,$00E00000 ; 2 Meg Bank 6 - dc.l $00E00000,$01000000 ; 2 Meg Bank 7 (16 Meg Total) - dc.l $FFFFFFFF ; End of table - ENDIF ; {hasNiagra} - - IF hasMSC THEN -RAMInfoMSC - dc.l $00200000 ; 2 Meg is smallest bank allowed - dc.l $00000000,$00200000 ; 2 Meg Bank A - dc.l $00200000,$00400000 ; 2 Meg Bank B - dc.l $00400000,$00600000 ; 2 Meg Bank C - dc.l $00600000,$00800000 ; 2 Meg Bank D - dc.l $00800000,$01000000 ; 8 Meg Bank E - dc.l $01000000,$01800000 ; 8 Meg Bank F - dc.l $01800000,$02000000 ; 8 Meg Bank G - dc.l $02000000,$02800000 ; 8 Meg Bank H - dc.l $FFFFFFFF ; end of table - ENDIF ; {hasMSC} - - IF hasPratt THEN -RAMInfoPratt - dc.l $00200000 ; 2 Meg is smallest bank allowed - dc.l $00000000,$00800000 ; 8 Meg Bank A - dc.l $00800000,$01000000 ; 4 Meg Bank B - dc.l $01000000,$01800000 ; 8 Meg Bank C - dc.l $01800000,$02000000 ; 8 Meg Bank D - dc.l $02000000,$02800000 ; 8 Meg Bank E - dc.l $02800000,$03000000 ; 8 Meg Bank F - dc.l $FFFFFFFF ; end of table - ENDIF ; {hasPratt} - - IF hasPratt THEN - EXPORT RamInfoPrattFlash -RamInfoPrattFlash - dc.l $00200000 ; 2 Meg is smallest bank allowed - dc.l $00000000,$00800000 ; 8 Meg Bank A - dc.l $00800000,$01000000 ; 8 Meg Bank B - dc.l $01000000,$01800000 ; 8 Meg Bank C - dc.l $01800000,$02000000 ; 8 Meg Bank D - dc.l $FFFFFFFF ; end of table - ENDIF ; {hasPratt} - - IF hasSonora THEN -RamInfoVail - dc.l $00100000 ; 1 Meg is smallest bank allowed - dc.l $00000000,$01000000 ; 16 Meg Bank A/0 - dc.l $01000000,$02000000 ; 16 Meg Bank B/1 - dc.l $02000000,$03000000 ; 16 Meg Bank C/2 - dc.l $03000000,$04000000 ; 16 Meg Bank D/3 - dc.l $04000000,$05000000 ; 16 Meg Bank E/4 - dc.l $FFFFFFFF ; end of table - ENDIF ; {hasSonora} - - IF hasDJMEMC THEN -RamInfoDJMEMC - dc.l $00400000 ; 4 Meg is smallest bank allowed - dc.l $00000000,$04000000 ; 64 Meg Bank 0 (built in) - dc.l $04000000,$08000000 ; 64 Meg Bank 1 (built in) - dc.l $08000000,$0C000000 ; 64 Meg Bank 2 (SIMM 0A) socket 0 - dc.l $0C000000,$10000000 ; 64 Meg Bank 3 (SIMM 1A) - dc.l $10000000,$14000000 ; 64 Meg Bank 4 (SIMM 0B) socket 1 - dc.l $14000000,$18000000 ; 64 Meg Bank 5 (SIMM 1B) - dc.l $18000000,$1C000000 ; 64 Meg Bank 6 (SIMM 2A) socket 2 - dc.l $1C000000,$20000000 ; 64 Meg Bank 7 (SIMM 3A) - dc.l $53616D42 ; ('SamB') End of 1st half table (Sizebanks can - ; only handle 8 banks. So we must break the sizing - dc.l $00400000 ; into two parts.) - dc.l $20000000,$24000000 ; 64 Meg Bank 8 (SIMM 2B) socket 3 - dc.l $24000000,$28000000 ; 64 Meg Bank 9 (SIMM 3B) 640 Meg! Yeah! Can you say - dc.l $FFFFFFFF ; end of table long RAM test?!! - - IF forSmurf THEN -RamInfoRiscDJMEMC ; Smurf Card supports 1 12M bank of memory - dc.l $00C00000 ; 12 MB is smallest bank - dc.l $00000000,$00C00000 ; 12 MB Bank - dc.l $FFFFFFFF ; End of table - ENDIF ; {forSmurf} - - ENDIF ; {hasDJMEMC} - - IF hasYMCA THEN ; - -RamInfoCyclone ; Cyclone EVT4 supports 8 banks of memory - dc.l $00100000 ; 1 MB is smallest bank - dc.l $00000000,$01000000 ; 16 MB Bank 0 - dc.l $01000000,$02000000 ; 16 MB Bank 1 - dc.l $02000000,$03000000 ; 16 MB Bank 2 - dc.l $03000000,$04000000 ; 16 MB Bank 3 - dc.l $04000000,$05000000 ; 16 MB Bank 4 - dc.l $05000000,$06000000 ; 16 MB Bank 5 - dc.l $06000000,$07000000 ; 16 MB Bank 6 - dc.l $07000000,$08000000 ; 16 MB Bank 7 - dc.l $FFFFFFFF ; End of table - -RamInfoTempest ; Tempest supports 8 banks of memory ???? - dc.l $00100000 ; 1 MB is smallest bank - dc.l $00000000,$01000000 ; 16 MB Bank 0 - dc.l $01000000,$02000000 ; 16 MB Bank 1 - dc.l $02000000,$03000000 ; 16 MB Bank 2 - dc.l $03000000,$04000000 ; 16 MB Bank 3 - dc.l $04000000,$05000000 ; 16 MB Bank 4 - dc.l $05000000,$06000000 ; 16 MB Bank 5 - dc.l $06000000,$07000000 ; 16 MB Bank 6 - dc.l $07000000,$08000000 ; 16 MB Bank 7 - dc.l $FFFFFFFF ; End of table - - ENDIF ; - - - IF hasHMC THEN -RamInfoPDM ; PDM supports .. memory (Emulator maps all into 1 bank) - dc.l $10000000 ; 256 MB - dc.l $00000000,$10000000 ; - dc.l $FFFFFFFF ; End of table - - ENDIF - - IF hasGrandCentral THEN -RamInfoTNT ; PDM supports .. memory (Emulator maps all into 1 bank) - dc.l $10000000 ; 256 MB - dc.l $00000000,$10000000 ; - dc.l $FFFFFFFF ; End of table - - ENDIF ; (hasGrandCentral) ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ ; Video Info Tables ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ - IF hasVISADecoder THEN ; -VideoInfoVISA - dc.l $50F40000 ; Physical base address of screen - dc.l $50F40000 ; Logical 32 bit base address of screen - dc.l $50F40000 ; Logical 24 bit base address of screen - dc.b $0B ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($0B-$09)*sizeSPRAMRec) ; PRAM address for RBV slot zero - dc.b sRsrcBFBasedDir ; Use the BoxFlag-based sRsrc directory directory. - dc.b 0 ; Use boxFlag to identify board sRsrc. - dc.w 0 ; - ENDIF ; - - IF hasJaws THEN -VideoInfoJaws - dc.l $FEE08000 ; Physical base address of screen - dc.l $FEE08000 ; Logical 32 bit base address of screen - dc.l $FEE08000 ; Logical 24 bit base address of screen <39> - dc.b $0B ; Slot number to use for PRAM storage <25> - dc.b SmPRAMTop+(($0B-$09)*sizeSPRAMRec) ; PRAM address for slot zero <25> - dc.b sRsrcBFBasedDir ; Use the BoxFlag-based sRsrc directory directory. - dc.b 0 ; Use boxFlag to identify board sRsrc. - dc.w 0 ; - ENDIF ; {hasJaws} - - IF hasDAFB THEN -VideoInfoDAFB ; - dc.l $F9000000 ; Physical base address of screen - dc.l $F9000000 ; Logical 32 bit base address of screen - dc.l 0 ; no Logical 24 bit base address for DAFB - dc.b $09 ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($09-$09)*sizeSPRAMRec) ; PRAM address for slot zero - dc.b sRsrcBFBasedDir ; Use the BoxFlag-based sRsrc directory directory. - dc.b 0 ; Use boxFlag to identify board sRsrc. - dc.w drHwDAFB ; Uses the DAFB video driver. - ENDIF ; {hasDAFB} - - IF hasNiagra THEN -VideoInfoNiagra - dc.l $60040000 ; Physical base address of screen - dc.l $60040000 ; Logical 32 bit base address of screen - dc.l $00000000 ; Logical 24 bit base address of screen - dc.b $0B ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($0B-$09)*sizeSPRAMRec) ; PRAM address for slot zero - dc.b sRsrcBFBasedDir ; Use the BoxFlag-based sRsrc directory directory. - dc.b 0 ; Use boxFlag to identify board sRsrc. - dc.w drHwGSC ; Uses the GSC (DBLite) video driver. - ENDIF ; {hasNiagra} - - IF hasMSC THEN -VideoInfoMSC - dc.l $60000000 ; Physical base address of screen - dc.l $60000000 ; Logical 32 bit base address of screen - dc.l $00000000 ; Logical 24 bit base address of screen (always access in 32-bit mode) - dc.b $0B ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($0B-$09)*sizeSPRAMRec) ; PRAM address for slot zero - dc.b sRsrcBFBasedDir ; Use the BoxFlag-based sRsrc directory directory. - dc.b 0 ; Use boxFlag to identify board sRsrc. - dc.w drHwGSC ; Uses the GSC (DBLite) video driver. - -VideoInfoEscher - dc.l $60000000 ; Physical base address of screen - dc.l $60000000 ; Logical 32 bit base address of screen - dc.l 0 ; No logical 24-bit address. - dc.b $0B ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($0B-$09)*\ ; PRAM address for slot zero - sizeSPRAMRec) - dc.b sRsrcCSCDir ; Use the CSC sRsrc directory directory. - dc.b sRsrc_BdEscher ; Use the Escher-family board sRsrc. - dc.w drHwCSC ; Uses the CSC video driver. - -VideoInfoYeager - dc.l $60000000 ; Physical base address of screen - dc.l $60000000 ; Logical 32 bit base address of screen - dc.l 0 ; No logical 24-bit address. - dc.b $0B ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($0B-$09)*\ ; PRAM address for slot zero - sizeSPRAMRec) - dc.b sRsrcCSCDir ; Use the CSC sRsrc directory directory. - dc.b sRsrc_BdYeager ; Use the Yeager-family board sRsrc. - dc.w drHwCSC ; Uses the CSC video driver. - - ENDIF ; {hasMSC} - - IF hasPratt THEN -VideoInfoPratt - dc.l $60000000 ; Physical base address of screen - dc.l $60000000 ; Logical 32 bit base address of screen - dc.l $00000000 ; No logical 24-bit base address? - dc.b $0C ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($0C-$09)*sizeSPRAMRec) ; PRAM address for slot zero - dc.b sRsrcCSCDir ; Use the CSC sRsrc directory directory. - dc.b sRsrc_BdBlackBird ; Use the BlackBird-family board sRsrc. - dc.w drHwCSC ; Uses the CSC video driver. - ENDIF ; {hasPratt} - - IF hasSonora THEN -VideoInfoVail - dc.l $60B00000 ; Physical base address of screen - dc.l $60B00000 ; Logical 32-bit base address of screen - dc.l $00B00000 ; Logical 24-bit base address of screen - dc.b $0B ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($0B-$09)*sizeSPRAMRec) ; PRAM address for slot zero - dc.b sRsrcSonoraDir ; Use the Sonora sRsrc directory directory. - dc.b sRsrc_BDVail ; Use the Vail-Family board sRsrc. - dc.w drHwSonora ; Uses the Sonora video driver. - ENDIF ; {hasSonora} - - IF hasYMCA THEN ; -VideoInfoCyclone ; - dc.l $50100000 ; Physical base address of screen - dc.l $50100000 ; Logical 32 bit base address of screen - dc.l 0 ; No logical 24-bit base address. - dc.b $09 ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($09-$09)*sizeSPRAMRec) ; PRAM address for slot zero - dc.b sRsrcCivicDir ; Use the Civic sRsrc directory directory. - dc.b sRsrc_BDCyclone ; Use the Cyclone-Family board sRsrc. - dc.w drHwCivic ; Uses the Civic video driver. - -VideoInfoTempest ; - dc.l $50100000 ; Physical base address of screen - dc.l $50100000 ; Logical 32 bit base address of screen - dc.l 0 ; No logical 24-bit base address. - dc.b $09 ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($09-$09)*sizeSPRAMRec) ; PRAM address for slot zero - dc.b sRsrcCivicDir ; Use the Civic sRsrc directory directory. - dc.b sRsrc_BDTempest ; Use the Tempest-Family board sRsrc. - dc.w drHwCivic ; Uses the Civic video driver. - ENDIF ; - - IF hasHMC THEN ; -VideoInfoPDM - dc.l $00000000 ; Physical base address of screen - dc.l $60B00000 ; Logical 32-bit base address of screen - dc.l 0 ; No logical 24-bit base address. - dc.b $09 ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($09-$09)*sizeSPRAMRec) ; PRAM address for slot zero - dc.b sRsrcSonoraDir ; Use the Sonora sRsrc directory directory. - dc.b sRsrc_BdPDM ; Use the PDM-family board sRsrc. - dc.w drHwSonora ; Uses the Sonora video driver. - ENDIF ; - - IF hasGrandCentral THEN ; -VideoInfoTNT - dc.l $E0200000 ; Physical base address of screen - dc.l $E0200000 ; Logical 32-bit base address of screen - dc.l 0 ; No logical 24-bit base address. - dc.b $0E ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($0E-$09)*sizeSPRAMRec) ; PRAM address for slot zero - dc.b sRsrcATIDir ; Use the ATI sRsrc directory directory. - dc.b 1 ; Use the ATI-family board sRsrc. -; dc.b sRsrc_BdATI ; Use the PDM-family board sRsrc. - dc.w drHwATI ; Uses the ATI video driver. - ENDIF ; - +VideoInfoNewWorld + dc.w -1 ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ ; NuBus Info Tables ;ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ - IF hasVISADecoder THEN -NuBusInfoVISA ; beginning of change <24><4> +NuBusInfoNewWorld dc.b 0|(1< - dc.b 0|\ ; slot B - (1< - dc.b 0|\ ; slot C - (1< - dc.b 0|\ ; slot D - (1< - dc.b 0|\ ; slot E - (1< - dc.b 0|(1< - dc.b 0|(1< - (1< - (1< - dc.b 0|\ ; slot A - (1< - (1< - (1< - (1< - dc.b 0 ; slot F - ENDIF ; {hasOrwell} - - IF hasJaws THEN -NuBusInfoJaws - dc.b 0|(1< - (1< - ENDIF ; {hasNiagra} - - IF hasMSC THEN -NuBusInfoMSC - dc.b 0|(1< - (1< - dc.b 0 ; slot 7 - dc.b 0 ; slot 8 - dc.b 0 ; slot 9 - dc.b 0 ; slot A - dc.b 0|(1< - dc.b 0|(1< thru next - dc.b 0|(1< - ENDIF ; {hasDJMEMC} - - IF hasYMCA THEN ; -NuBusInfoCyclone ; - dc.b 0|(1< Built-in Video, Ethernet, etcΙ. - dc.b 0 ; slot 1 - dc.b 0 ; slot 2 - dc.b 0 ; slot 3 - dc.b 0 ; slot 4 - dc.b 0|(1< Built-in videoΥs VRAM is here (Super5). - dc.b 0 ; slot 6 - dc.b 0 ; slot 7 - dc.b 0 ; slot 8 - dc.b 0|(1< Built-in Video PRAM - dc.b 0|\ ; slot A - (1< Physical Slot. - (1< Physical Slot. - (1< Physical Slot. - (1< End of table (Slot Manager/VM doesnΥt use). - -NuBusInfoTempest ; - dc.b 0|(1< Built-in Video, Ethernet, etcΙ. - dc.b 0 ; slot 1 - dc.b 0 ; slot 2 - dc.b 0 ; slot 3 - dc.b 0 ; slot 4 - dc.b 0|(1< Built-in videoΥs VRAM is here (Super5). - dc.b 0 ; slot 6 - dc.b 0 ; slot 7 - dc.b 0 ; slot 8 - dc.b 0|(1< Built-in Video PRAM - dc.b 0|\ ; slot A - (1< Physical Slot. - (1< End of table (Slot Manager/VM doesnΥt use). - ENDIF ; {hasYMCA} - - IF hasHMC THEN ; -NuBusInfoPDM - dc.b 0|(1< Built-in Video, Ethernet, etcΙ. - dc.b 0 ; slot 1 -> ??? - dc.b 0 ; slot 2 -> ??? - dc.b 0 ; slot 3 -> ??? - dc.b 0 ; slot 4 -> ??? - dc.b 0 ; slot 5 -> - dc.b 0|\ ; slot 6 -> ??? - (1< ??? - dc.b 0 ; slot 8 -> ??? - dc.b 0|\ ; slot 9 -> Built-in Video PRAM, Ethernet interrupts, - (1< ??? - dc.b 0 ; slot B -> ??? - dc.b 0 ; slot C -> ??? - dc.b 0 ; slot D -> ??? - dc.b 0|\ ; slot E -> Physical Slot. - (1< End of table (Slot Manager/VM doesnΥt use). - -NuBusInfoCFusion - dc.b 0|(1< Built-in Video, Ethernet, etcΙ. - dc.b 0 ; slot 1 -> ??? - dc.b 0 ; slot 2 -> ??? - dc.b 0 ; slot 3 -> ??? - dc.b 0 ; slot 4 -> ??? - dc.b 0 ; slot 5 -> - dc.b 0|\ ; slot 6 -> ??? - (1< ??? - dc.b 0 ; slot 8 -> ??? - dc.b 0|\ ; slot 9 -> Built-in Video PRAM, Ethernet interrupts, - (1< ??? - dc.b 0|\ ; slot B -> Physical Slot. - (1< Physical Slot. - (1< Physical Slot. - (1< Video Expansion (HPV or Plinaria). - (1< End of table (Slot Manager/VM doesnΥt use). - - ENDIF ; {hasHMC} - - IF hasGrandCentral THEN ; -NuBusInfoTNT - dc.b 0|(1< Built-in Video, Ethernet, etcΙ. - dc.b 0|\ ; slot 1 -> ??? - (1< ??? - (1< ??? - (1< ??? - (1< ??? - (1< ??? - (1< ??? - (1< ??? - (1< ??? - (1< ??? - (1< ??? - (1< ??? - (1< ??? - (1< ???. - (1< End of table (Slot Manager/VM doesnΥt use). - - ENDIF ; (hasGrandCentral) IconTable ; - IF hasOSS THEN -IconInfo6Slot ; Macintosh II,IIx,IIfx table - dc.l DisketteIcon-IconInfo6Slot ; drive 1 logical icon, - dc.l Right6SlotIcon-IconInfo6Slot ; physical icon, - dc.w $0003 ; primary int removable, 800K Sony - - dc.l DisketteIcon-IconInfo6Slot ; drive 2 logical icon, - dc.l Left6SlotIcon-IconInfo6Slot ; physical icon, - dc.w $0803 ; secondary int removable, 800K Sony - ENDIF - - IF hasMDU THEN ; -IconInfo3Slot ; Macintosh IIcx/Aurora table - dc.l DisketteIcon-IconInfo3Slot ; drive 1 logical icon, - dc.l Int3SlotIcon-IconInfo3Slot ; physical icon (small box) - dc.w $0003 ; primary int removable, 800K Sony - - dc.l DisketteIcon-IconInfo3Slot ; drive 2 logical icon, - dc.l Ext3SlotIcon-IconInfo3Slot ; physical icon, (small box) - dc.w $0103 ; primary ext removable 800K Sony - -IconInfoMacIIsi ; Macintosh IIsi table - dc.l DisketteIcon-IconInfoMacIIsi ; drive 1 logical icon, - dc.l IntMacIIsiIcon-IconInfoMacIIsi ; physical icon (small box) - dc.w $0003 ; primary int removable, 800K Sony - - dc.l DisketteIcon-IconInfoMacIIsi ; drive 2 logical icon, - dc.l ExtMacIIsiIcon-IconInfoMacIIsi ; physical icon, (small box) - dc.w $0103 ; primary ext removable 800K Sony - ENDIF - - IF hasVISADecoder | hasSonora THEN -IconInfoMacLC ; Macintosh LC Table - dc.l DisketteIcon-IconInfoMacLC ; drive 1 logical icon, - dc.l RightMacLCIcon-IconInfoMacLC ; physical icon, +IconInfoNewWorld + dc.l DisketteIcon-IconInfoNewWorld ; drive 1 logical icon, + dc.l DisketteIcon-IconInfoNewWorld ; physical icon, dc.w $0004 ; primary int removable, SuperDrive - dc.l DisketteIcon-IconInfoMacLC ; drive 2 logical icon, - dc.l LeftMacLCIcon-IconInfoMacLC ; physical icon, - dc.w $0804 ; secondary int removable, SuperDrive - ENDIF - - IF hasOrwell THEN -IconInfoQuadra700 ; Quadra 700 Table - dc.l DisketteIcon-IconInfoQuadra700 ; drive 1 logical icon, - dc.l Quadra700Icon-IconInfoQuadra700 ; physical icon, - dc.w $0004 ; primary int removable, SuperDrive - - dc.l DisketteIcon-IconInfoQuadra700 ; drive 2 logical icon, - dc.l Quadra700Icon-IconInfoQuadra700 ; physical icon, + dc.l DisketteIcon-IconInfoNewWorld ; drive 2 logical icon, + dc.l DisketteIcon-IconInfoNewWorld ; physical icon, dc.w $0104 ; secondary ext removable, SuperDrive (Actually there is none...) - -IconInfoQuadra900 ; Quadra 900/950 Table - dc.l DisketteIcon-IconInfoQuadra900 ; drive 1 logical icon, - dc.l Quadra900Icon-IconInfoQuadra900 ; physical icon, - dc.w $0004 ; primary int removable, SuperDrive - - dc.l DisketteIcon-IconInfoQuadra900 ; drive 2 logical icon, - dc.l Quadra900Icon-IconInfoQuadra900 ; physical icon, - dc.w $0104 ; secondary ext removable, SuperDrive (Actually there is none...) - ENDIF - - IF hasJaws | hasNiagra | hasPratt THEN ; -IconInfoTim ; Tim Table - dc.l DisketteIcon-IconInfoTim ; drive 1 logical icon, - dc.l TimIcon-IconInfoTim ; physical icon, - dc.w $0004 ; primary int removable, SuperDrive - - dc.l DisketteIcon-IconInfoTim ; drive 2 logical icon, - dc.l TimIcon-IconInfoTim ; physical icon, - dc.w $0104 ; secondary ext removable, SuperDrive (Actually there is none...) - ENDIF - - IF hasMSC THEN -IconInfoDBLite ; DB-Lite table - dc.l DisketteIcon-IconInfoDBLite ; drive 1 logical icon, - dc.l DBLiteIcon-IconInfoDBLite ; physical icon, - dc.w $0104 ; primary ext removable, SuperDrive - - dc.l DisketteIcon-IconInfoDBLite ; drive 2 logical icon, - dc.l DBLiteIcon-IconInfoDBLite ; physical icon, - dc.w $0904 ; secondary ext removable, SuperDrive - ENDIF - - IF hasDJMEMC | hasYMCA | hasHMC THEN ; -IconInfoLego ; Wombat (or others) in a Lego package - dc.l DisketteIcon-IconInfoLego ; drive 1 logical icon, - dc.l LegoIcon-IconInfoLego ; physical icon, - dc.w $0004 ; primary int removable, SuperDrive - - dc.l DisketteIcon-IconInfoLego ; drive 2 logical icon, - dc.l LegoIcon-IconInfoLego ; physical icon, - dc.w $0104 ; secondary ext removable, SuperDrive (Actually there is none...) - -IconInfoFrigidaire ; Wombat (or others) in a Frigidaire package - dc.l DisketteIcon-IconInfoFrigidaire ; drive 1 logical icon, - dc.l FrigidaireIcon-IconInfoFrigidaire ; physical icon, - dc.w $0004 ; primary int removable, SuperDrive - - dc.l DisketteIcon-IconInfoFrigidaire ; drive 2 logical icon, - dc.l FrigidaireIcon-IconInfoFrigidaire ; physical icon, - dc.w $0104 ; secondary ext removable, SuperDrive (Actually there is none...) - -IconInfoQFC ; WLCD, PDM (or others) in a QFC package - dc.l DisketteIcon-IconInfoQFC ; drive 1 logical icon, - dc.l QFCIcon-IconInfoQFC ; physical icon, - dc.w $0004 ; primary int removable, SuperDrive - - dc.l DisketteIcon-IconInfoQFC ; drive 2 logical icon, - dc.l QFCIcon-IconInfoQFC ; physical icon, - dc.w $0104 ; secondary ext removable, SuperDrive (Actually there is none...) - ENDIF ; @@ -5948,387 +690,6 @@ DisketteIcon _AssumeEq (DisketteIcon-IconTable),((DisketteIcon-IconTable)>>1)<<1 - IF hasOSS THEN -; Mac II Left Sony icon - -Left6SlotIcon - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$FFFF,$FFFF - dc.w $8000,$0001,$8000,$0001,$903F,$C7F9,$8000,$0001 - dc.w $8004,$0001,$800E,$0001,$801F,$0001,$8004,$0001 - dc.w $8004,$0001,$8004,$0001,$8000,$0001,$FFFF,$FFFF - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$FFFF,$FFFF - dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (Left6SlotIcon-IconTable),((Left6SlotIcon-IconTable)>>1)<<1 - -; Mac II Right Sony icon - -Right6SlotIcon - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$FFFF,$FFFF - dc.w $8000,$0001,$8000,$0001,$903F,$C7F9,$8000,$0001 - dc.w $8000,$0081,$8000,$01C1,$8000,$03E1,$8000,$0081 - dc.w $8000,$0081,$8000,$0081,$8000,$0001,$FFFF,$FFFF - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$FFFF,$FFFF - dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (Right6SlotIcon-IconTable),((Right6SlotIcon-IconTable)>>1)<<1 - ENDIF - - - IF hasMDU THEN -; small box Mac II Internal Sony icon - -Int3SlotIcon - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0080,$0000,$0080,$0000,$0080 - dc.w $0000,$0080,$0000,$03E0,$0000,$01C0,$0000,$0080 - dc.w $0000,$0000,$FFFF,$FFFF,$8000,$0001,$FFFF,$FFFF - dc.w $8000,$0001,$8000,$0001,$8000,$0001,$FFFF,$FFFF - dc.w $8000,$0FF9,$8000,$0001,$8000,$0001,$A000,$0001 - dc.w $8000,$0001,$FFFF,$FFFF,$8000,$0001,$FFFF,$FFFF - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0080,$0000,$0080,$0000,$0080 - dc.w $0000,$0080,$0000,$03E0,$0000,$01C0,$0000,$0080 - dc.w $0000,$0000,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (Int3SlotIcon-IconTable),((Int3SlotIcon-IconTable)>>1)<<1 - -; small box Mac II External Sony icon - -Ext3SlotIcon - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0010 - dc.w $0000,$0010,$FFFF,$FC10,$8000,$0410,$FFFF,$FC7C - dc.w $8000,$0438,$FFFF,$FC10,$8001,$F400,$A000,$05FF - dc.w $8000,$0501,$FFFF,$FD7D,$8000,$0501,$FFFF,$FDFF - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0010 - dc.w $0000,$0010,$FFFF,$FC10,$FFFF,$FC10,$FFFF,$FC7C - dc.w $FFFF,$FC38,$FFFF,$FC10,$FFFF,$FC00,$FFFF,$FDFF - dc.w $FFFF,$FDFF,$FFFF,$FDFF,$FFFF,$FDFF,$FFFF,$FDFF - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (Ext3SlotIcon-IconTable),((Ext3SlotIcon-IconTable)>>1)<<1 - -; Macintosh IIsi internal drive icon. - -IntMacIIsiIcon - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0400,$0000,$0400,$0000,$0400 - dc.w $0000,$1F00,$0000,$0E00,$0000,$0400,$0000,$0000 - dc.w $1FFF,$FFF8,$1000,$0008,$1000,$7FC8,$1000,$0008 - dc.w $1300,$0008,$1000,$0008,$1FFF,$FFF8,$0800,$0010 - dc.w $0FFF,$FFF0,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - - - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0400,$0000,$0400,$0000,$0400 - dc.w $0000,$1F00,$0000,$0E00,$0000,$0400,$0000,$0000 - dc.w $1FFF,$FFF8,$1FFF,$FFF8,$1FFF,$FFF8,$1FFF,$FFF8 - dc.w $1FFF,$FFF8,$1FFF,$FFF8,$1FFF,$FFF8,$0FFF,$FFF0 - dc.w $0FFF,$FFF0,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (IntMacIIsiIcon-IconTable),((IntMacIIsiIcon-IconTable)>>1)<<1 - -; Macintosh IIsi external drive icon. - -ExtMacIIsiIcon - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0010,$0000,$0010,$0000,$0010,$FFFF,$FC7C - dc.w $8000,$0438,$803F,$E410,$8000,$0400,$A000,$05FF - dc.w $8000,$0501,$FFFF,$FD7D,$4000,$0901,$7FFF,$F9FF - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - - - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0010,$0000,$0010,$0000,$0010,$FFFF,$FC7C - dc.w $FFFF,$FC38,$FFFF,$FC10,$FFFF,$FC00,$FFFF,$FDFF - dc.w $FFFF,$FDFF,$FFFF,$FDFF,$7FFF,$F9FF,$7FFF,$F9FF - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (ExtMacIIsiIcon-IconTable),((ExtMacIIsiIcon-IconTable)>>1)<<1 - ENDIF - - - IF hasVISADecoder | hasSonora THEN -; Macintosh LC left drive icon. - -LeftMacLCIcon - dc.w $0000,$0000,$0080,$0000,$0080,$0000,$0080,$0000 - dc.w $0080,$0000,$03E0,$0000,$01C0,$0000,$0080,$0000 - dc.w $0000,$0000,$FFFF,$FFFF,$8000,$0001,$8FF8,$1FF1 - dc.w $8000,$0001,$8000,$0001,$FFFF,$FFFF,$2000,$0004 - dc.w $3FFF,$FFFC,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - - dc.w $01C0,$0000,$01C0,$0000,$01C0,$0000,$01C0,$0000 - dc.w $0FF8,$0000,$07F0,$0000,$03E0,$0000,$01C0,$0000 - dc.w $0080,$0000,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$3FFF,$FFFC - dc.w $3FFF,$FFFC,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (LeftMacLCIcon-IconTable),((LeftMacLCIcon-IconTable)>>1)<<1 - -; Macintosh LC right drive icon. - -RightMacLCIcon - dc.w $0000,$0000,$0000,$0100,$0000,$0100,$0000,$0100 - dc.w $0000,$0100,$0000,$07C0,$0000,$0380,$0000,$0100 - dc.w $0000,$0000,$FFFF,$FFFF,$8000,$0001,$8000,$1FF1 - dc.w $8000,$0001,$8000,$0001,$FFFF,$FFFF,$2000,$0004 - dc.w $3FFF,$FFFC,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - - dc.w $0000,$0380,$0000,$0380,$0000,$0380,$0000,$0380 - dc.w $0000,$1FF0,$0000,$0FE0,$0000,$07C0,$0000,$0380 - dc.w $0000,$0100,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF - dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$3FFF,$FFFC - dc.w $3FFF,$FFFC,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (RightMacLCIcon-IconTable),((RightMacLCIcon-IconTable)>>1)<<1 - ENDIF - - - IF hasOrwell THEN -; Quadra 900 icon. - -Quadra900Icon - dc.w $0000,$0000,$0FFF,$F000,$0800,$1000,$08FF,$F000 - dc.w $0880,$1080,$0880,$1180,$08BF,$D3F8,$0880,$1180 - dc.w $0880,$1080,$0880,$1000,$0880,$1000,$0880,$1000 - dc.w $0880,$1000,$0880,$1000,$0880,$1000,$0880,$1000 - dc.w $0880,$1000,$0880,$1000,$0880,$1000,$0880,$1000 - dc.w $0880,$1000,$08BF,$D000,$0880,$1000,$08BF,$D000 - dc.w $0880,$1000,$08BF,$D000,$0880,$1000,$08BF,$D000 - dc.w $0880,$1000,$08BF,$D000,$0880,$1000,$0FFF,$F000 - - dc.w $0000,$0000,$0FFF,$F000,$0FFF,$F000,$0FFF,$F000 - dc.w $0FFF,$F080,$0FFF,$F180,$0FFF,$F3F8,$0FFF,$F180 - dc.w $0FFF,$F080,$0FFF,$F000,$0FFF,$F000,$0FFF,$F000 - dc.w $0FFF,$F000,$0FFF,$F000,$0FFF,$F000,$0FFF,$F000 - dc.w $0FFF,$F000,$0FFF,$F000,$0FFF,$F000,$0FFF,$F000 - dc.w $0FFF,$F000,$0FFF,$F000,$0FFF,$F000,$0FFF,$F000 - dc.w $0FFF,$F000,$0FFF,$F000,$0FFF,$F000,$0FFF,$F000 - dc.w $0FFF,$F000,$0FFF,$F000,$0FFF,$F000,$0FFF,$F000 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (Quadra900Icon-IconTable),((Quadra900Icon-IconTable)>>1)<<1 - - -; Quadra 700 icon. - -Quadra700Icon - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $1FFF,$8000,$1000,$8000,$1000,$8000,$17A0,$8000 - dc.w $1020,$8400,$17A0,$8C00,$1020,$9FC0,$17A0,$8C00 - dc.w $1020,$8400,$17A6,$8000,$1026,$8000,$1780,$8000 - dc.w $1000,$8000,$1780,$8000,$1000,$8000,$1780,$8000 - dc.w $1000,$8000,$1780,$8000,$1000,$8000,$1780,$8000 - dc.w $1000,$8000,$1780,$8000,$1000,$8000,$1782,$8000 - dc.w $1000,$8000,$1782,$8000,$1000,$8000,$1FFF,$8000 - - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $1FFF,$8000,$1FFF,$8000,$1FFF,$8000,$1FFF,$8000 - dc.w $1FFF,$8400,$1FFF,$8C00,$1FFF,$9FC0,$1FFF,$8C00 - dc.w $1FFF,$8400,$1FFF,$8000,$1FFF,$8000,$1FFF,$8000 - dc.w $1FFF,$8000,$1FFF,$8000,$1FFF,$8000,$1FFF,$8000 - dc.w $1FFF,$8000,$1FFF,$8000,$1FFF,$8000,$1FFF,$8000 - dc.w $1FFF,$8000,$1FFF,$8000,$1FFF,$8000,$1FFF,$8000 - dc.w $1FFF,$8000,$1FFF,$8000,$1FFF,$8000,$1FFF,$8000 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (Quadra700Icon-IconTable),((Quadra700Icon-IconTable)>>1)<<1 - ENDIF - - - IF hasJaws | hasNiagra | hasPratt THEN -; PowerBook 140/170, Dartanian/Dartanian LC icon. - -TimIcon - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0002,$0000,$0005,$0000,$0009 - dc.w $0000,$0012,$0000,$0024,$0000,$0048,$0000,$0090 - dc.w $0000,$0120,$0000,$0240,$0000,$0480,$0000,$0900 - dc.w $0000,$0E00,$0000,$1C00,$00DB,$7E00,$01FF,$C210 - dc.w $7F00,$4230,$803F,$427F,$8000,$4230,$FFFF,$FC10 - - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0000,$0000,$0000,$0002,$0000,$0007,$0000,$000F - dc.w $0000,$001E,$0000,$003C,$0000,$0078,$0000,$00F0 - dc.w $0000,$01E0,$0000,$03C0,$0000,$0780,$0000,$0F00 - dc.w $0000,$0E00,$0000,$1C00,$00DB,$7E00,$01FF,$FE10 - dc.w $7FFF,$FE30,$FFFF,$FE7F,$FFFF,$FE30,$FFFF,$FC10 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (TimIcon-IconTable),((TimIcon-IconTable)>>1)<<1 - ENDIF - - - IF hasMSC THEN -; DBLite icon. - -DBLiteIcon dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0002 - dc.w $0000,$0005,$0000,$0009,$0000,$0012,$0000,$0024 - dc.w $0000,$0048,$0000,$0090,$0000,$0120,$0000,$0240 - dc.w $0000,$0480,$0000,$0900,$0000,$1E00,$006D,$9C00 - dc.w $7FFF,$FE00,$8000,$0200,$8000,$0200,$7FFF,$FC00 - dc.w $0000,$0000,$0000,$0000,$003F,$FE20,$0020,$0260 - dc.w $0027,$F2FE,$0020,$0260,$003F,$FE20,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0002 - dc.w $0000,$0007,$0000,$000F,$0000,$001E,$0000,$003C - dc.w $0000,$0078,$0000,$00F0,$0000,$01E0,$0000,$03C0 - dc.w $0000,$0780,$0000,$0F00,$0000,$1E00,$006D,$9C00 - dc.w $7FFF,$FE00,$FFFF,$FE00,$FFFF,$FE00,$7FFF,$FC00 - dc.w $0000,$0000,$0000,$0000,$003F,$FE20,$003F,$FE60 - dc.w $003F,$FEFE,$003F,$FE60,$003F,$FE20,$0000,$0000 - dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - dc.w $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (DBLiteIcon-IconTable),((DBLiteIcon-IconTable)>>1)<<1 - ENDIF - - - IF hasDJMEMC | hasYMCA | hasHMC THEN -; Lego icon - -LegoIcon - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $0000,$0080,$0000,$0080,$0000,$0080,$0000,$0080 - DC.W $0000,$03E0,$0000,$01C0,$0000,$0080,$0000,$0000 - DC.W $0000,$0000,$7FFF,$FFFE,$4000,$0002,$5800,$0FF2 - DC.W $5800,$0002,$4000,$0002,$7FFF,$FFFE,$4004,$0002 - DC.W $5554,$0002,$4004,$0002,$5554,$0002,$4004,$0002 - DC.W $7FFF,$FFFE,$4000,$0002,$4000,$0002,$7FFF,$FFFE - - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$01C0 - DC.W $0000,$01C0,$0000,$01C0,$0000,$01C0,$0000,$07F0 - DC.W $0000,$07F0,$0000,$03E0,$0000,$01C0,$0000,$0080 - DC.W $0000,$0000,$7FFF,$FFFE,$7FFF,$FFFE,$7FFF,$FFFE - DC.W $7FFF,$FFFE,$7FFF,$FFFE,$7FFF,$FFFE,$7FFF,$FFFE - DC.W $7FFF,$FFFE,$7FFF,$FFFE,$7FFF,$FFFE,$7FFF,$FFFE - DC.W $7FFF,$FFFE,$7FFF,$FFFE,$7FFF,$FFFE,$7FFF,$FFFE - DC.W $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (LegoIcon-IconTable),((LegoIcon-IconTable)>>1)<<1 - - -; Fridgidaire Sony icon - -FrigidaireIcon - DC.W $0000,$0000,$0000,$0000,$000F,$FFC0,$0010,$0120 - DC.W $0010,$0120,$0010,$0120,$0010,$0120,$021F,$FF20 - DC.W $0310,$0120,$3F93,$F920,$0310,$0120,$021F,$FF20 - DC.W $0010,$0120,$0010,$0120,$0010,$0120,$0010,$0120 - DC.W $001F,$FF20,$0010,$0120,$0010,$0120,$0010,$0120 - DC.W $0010,$0120,$0010,$0120,$0010,$0120,$0030,$01B0 - DC.W $0030,$0130,$0030,$61B0,$0030,$6130,$0030,$01B0 - DC.W $0030,$0130,$003F,$FFF0,$003E,$01F0,$0000,$0000 - - DC.W $0000,$0000,$0000,$0000,$000F,$FFC0,$001F,$FFE0 - DC.W $001F,$FFE0,$001F,$FFE0,$061F,$FFE0,$071F,$FFE0 - DC.W $7F9F,$FFE0,$7FDF,$FFE0,$7F9F,$FFE0,$071F,$FFE0 - DC.W $061F,$FFE0,$001F,$FFE0,$001F,$FFE0,$001F,$FFE0 - DC.W $001F,$FFE0,$001F,$FFE0,$001F,$FFE0,$001F,$FFE0 - DC.W $001F,$FFE0,$001F,$FFE0,$001F,$FFE0,$003F,$FFF0 - DC.W $003F,$FFF0,$003F,$FFF0,$003F,$FFF0,$003F,$FFF0 - DC.W $003F,$FFF0,$003F,$FFF0,$003E,$01F0,$0000,$0000 - DC.W $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (FrigidaireIcon-IconTable),((FrigidaireIcon-IconTable)>>1)<<1 - - -; QFC Sony icon - -QFCIcon - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0040 - DC.W $0000,$0040,$0000,$0040,$0000,$0040,$0000,$01F0 - DC.W $0000,$00E0,$0000,$0040,$0000,$0000,$0000,$0000 - DC.W $7FFF,$FFFE,$4020,$0802,$5820,$0BFA,$5820,$0802 - DC.W $4020,$0802,$4820,$081A,$7FFF,$FFE6,$3FFF,$FFFC - - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 - DC.W $7FFF,$FFFE,$7FFF,$FFFE,$7FFF,$FFFE,$7FFF,$FFFE - DC.W $7FFF,$FFFE,$7FFF,$FFFE,$7FFF,$FFFE,$7FFF,$FFFE - DC.W $0 ;old HD-20 driver drive ID string (null here) - - _AssumeEq (QFCIcon-IconTable),((QFCIcon-IconTable)>>1)<<1 - ENDIF - - @@ -6343,31 +704,21 @@ QFCIcon dINPUT EQU 0 dOUTPUT EQU 1 - - IF hasVISADecoder | hasMDU THEN -VIA1InitMacIIsi -VIA1InitMacLC - dc.b \ ; vBufA initial value <9> - (6)|\ ; sound volume level initially 1 +VIA1InitNewWorld + dc.b \ ; vBufA initial value (0< - (%0<<4)|\ ; CB1 input neg active edge (ADB clock) - (%001<<5) ; CB2 ind input neg active edge (ADB data) - - dc.b \ ; vACR initial value - (%0<<0)|\ ; PA latch disable - (%0<<1)|\ ; PB latch disable - (%000<<2)|\ ; SR disabled - (%0<<5)|\ ; T2 timed interrupt - (%00<<6) ; T1 timed interrupt, PB7 disabled - -VIA1InitQuadra900 - dc.b \ ; vBufA initial value - (0< - (1< - (0< - (0< - (1< - (dINPUT< - (dOUTPUT< - (dOUTPUT< - (dOUTPUT< - (%0<<4)|\ ; CB1 input neg active edge (ADB clock) <47> - (%001<<5) ; CB2 ind input neg active edge (ADB data) - - dc.b \ ; vACR initial value - (%0<<0)|\ ; PA latch disable - (%0<<1)|\ ; PB latch disable - (%111<<2)|\ ; SR enabled for Egret <47> - (%0<<5)|\ ; T2 timed interrupt - (%00<<6) ; T1 timed interrupt, PB7 disabled - -VIA2InitQuadra700 ; - dc.b \ ; vBufA initial value - (0< - - dc.b \ ; vDIRA initial value - (dINPUT< - - dc.b \ ; vBufB initial value - (0< - (1< - (0< - (0< - (0< - (dINPUT< - (dOUTPUT< - (dOUTPUT< - (dINPUT< - (%0<<4)|\ ; CB1 input neg active edge (ASC interrupt) - (%001<<5) ; CB2 ind input neg active edge (SCSI DMA IRQ interrupt) - - dc.b \ ; vACR initial value - (%0<<0)|\ ; PA latch disable - (%0<<1)|\ ; PB latch disable - (%000<<2)|\ ; SR disabled - (%0<<5)|\ ; T2 timed interrupt - (%11<<6) ; T1 continuous interrupt, square wave output - -VIA2InitQuadra900 ; <13> - dc.b \ ; vBufA initial value - (0< - (0< - - dc.b \ ; vDIRA initial value - (dINPUT< - (dINPUT< - - dc.b \ ; vBufB initial value - (1< - (1< - (dINPUT< - (dINPUT< - (dINPUT< - (dOUTPUT< - (%0<<4)|\ ; CB1 input neg active edge (ASC interrupt) - (%001<<5) ; CB2 ind input neg active edge (SCSI DMA IRQ interrupt) - - dc.b \ ; vACR initial value - (%0<<0)|\ ; PA latch disable - (%0<<1)|\ ; PB latch disable - (%000<<2)|\ ; SR disabled - (%0<<5)|\ ; T2 timed interrupt - (%11<<6) ; T1 continuous interrupt, square wave output - ENDIF ; {hasOrwell} - - IF hasJaws | hasNiagra THEN -VIA1InitNiagra -VIA1InitJaws ; <8> HJR - dc.b \ ; vBufA initial value <25> - (1)|\ ; 0 via test - (0< - (%0<<4)|\ ; CB1 input neg active edge (PwrMgr interrupt) - (%001<<5) ; CB2 ind input neg active edge (modem snd enable) - - dc.b \ ; vACR initial value - (%0<<0)|\ ; PA latch disable - (%0<<1)|\ ; PB latch disable - (%000<<2)|\ ; SR disabled - (%0<<5)|\ ; T2 timed interrupt - (%00<<6) ; T1 timed interrupt, PB7 disabled - -VIA2InitNiagra -VIA2InitJaws ; <8> HJR - dc.b $00 ; vBufA initial value (all zeros) - dc.b $00 ; vDIRA initial value (all inputs) - - dc.b \ ; vBufB initial value - (0< - (1< - (0< - (1< - (1< - (1<< v2ModemRST ) ; 7 modem reset <25> - - dc.b \ ; vDIRB initial value - (dOUTPUT< - (dINPUT< - (dOUTPUT< - (dOUTPUT<< v2HMMU )|\ ; 5 HMMU <25> - (dINPUT< - (dOUTPUT< - - dc.b \ ; vPCR initial value - (%0<<0)|\ ; CA1 input neg active edge (Any Slot interrupt) - (%001<<1)|\ ; CA2 ind input neg active edge (SCSI DRQ interrupt) - (%0<<4)|\ ; CB1 input neg active edge (ASC interrupt) - (%001<<5) ; CB2 ind input neg active edge (SCSI IRQ interrupt) - - dc.b \ ; vACR initial value - (%0<<0)|\ ; PA latch disable - (%0<<1)|\ ; PB latch disable - (%000<<2)|\ ; SR disabled - (%0<<5)|\ ; T2 timed interrupt - (%00<<6) ; T1 timed interrupt, PB7 disabled - ENDIF ; {hasJaws | hasNiagra} - - IF hasMSC THEN -VIA1InitMSC ; via1 initialization - dc.b 0 ; vBufA initial value (all bits are inputs) - - dc.b 0 ; vDIRA initial value (all bits are inputs) - - dc.b 0 ; vBufB initial value (all bits are inputs) - - dc.b 0 ; vDIRB initial value (all bits are inputs) - - dc.b \ ; vPCR initial value - (%0<<0)|\ ; CA1 input neg active edge (60Hz interrupt) - (%001<<1)|\ ; CA2 (PG&E interrupt) - (%0<<4)|\ ; CB1 (no connection) - (%000<<5) ; CB2 (no connection) - - dc.b \ ; vACR initial value - (%0<<0)|\ ; PA latch disable - (%0<<1)|\ ; PB latch disable - (%111<<2)|\ ; SR shifts out with CB1 (external clock) -> PMGR - (%0<<5)|\ ; T2 timed interrupt - (%00<<6) ; T1 timed interrupt, PB7 disabled - ENDIF ; {hasMSC} - - IF hasPratt THEN -VIA1InitPratt - dc.b \ ; vBufA initial value - (0< PMGR - (%0<<5)|\ ; T2 timed interrupt - (%00<<6) ; T1 timed interrupt, PB7 disabled - -VIA2InitPratt - dc.b \ ; vBufA initial value - (0< - (0< - (dOUTPUT< - - dc.b \ ; vDIRB initial value - (dINPUT< - (0< - (dINPUT< - (%0<<4)|\ ; CB1 input neg active edge (ADB clock) - (%001<<5) ; CB2 ind input neg active edge (ADB data) - -; This is here because the Proto1&2 VIA cell in BIOS does not correctly -; deal with writes to Port{A,B} before the direction bits for the that -; port are set correctly (output enables, that is). -; IF forWombat THEN -; dc.b \ ; vACR initial value -; (%0<<0)|\ ; PA latch disable -; (%0<<1)|\ ; PB latch disable -; (%111<<2)|\ ; SR disabled -; (%0<<5)|\ ; T2 timed interrupt -; (%00<<6) ; T1 timed interrupt, PB7 disabled -; ELSE - dc.b \ ; vACR initial value - (%0<<0)|\ ; PA latch disable - (%0<<1)|\ ; PB latch disable - (%000<<2)|\ ; SR disabled - (%0<<5)|\ ; T2 timed interrupt - (%00<<6) ; T1 timed interrupt, PB7 disabled -; ENDIF - -VIA2InitWombat - dc.b \ ; vBufA initial value - (0< - ENDIF ; {hasDJMEMC} - - - IF hasYMCA THEN ; - -; Initialize the VIA1 Direction Register before the Data Register - -VIA1InitCyclone - -; PSC VIA1 vDirA/vBufA Notes: -; -; Because ReqA and ReqB are really used for DMA, they are not wire-ORed to the vSCCWrReq bit -; as on most Macintoshes. This bit instead reads the logical OR of ReqA and ReqB, either of -; which can be masked. This allows WReqA to be used in the traditional sense even while WReqB -; is indicating DMA activity. -; -; NOTE: PSC revisions earlier than 343S1100-a do not support masking! -; For these revisions, vSCCWrReq should be reprogrammed as an ouput and latched with -; a "1" so that polling does not occur on port A due to DMA activity on port B. - - dc.b \ ; vDIRA initial value - (dOUTPUT< - (dOUTPUT< - (dINPUT< - - dc.b \ ; vBufA initial value - (0< - (1< - - dc.b \ ; vDIRB initial value - (dOUTPUT< - (0< - (1< - (0< - dc.b \ ; vBufA initial value - (0< - - - IF hasHMC THEN ; -VIA1InitPDM ; - dc.b \ ; vBufA initial value - (0< - (1< - (1< - - dc.b \ ; vDIRB initial value - (dINPUT< - - IF hasGrandCentral THEN ; -VIA1InitTNT ; - dc.b \ ; vBufA initial value - (0< - (1< - - dc.b \ ; vDIRA initial value - (dOUTPUT< - (dOUTPUT< - (dINPUT< - (1< - - dc.b \ ; vDIRB initial value - (dINPUT< - - - IF hasMDU THEN ; - - IMPORT SndCntlMacIIsi ; - ALIGN 4 -InfoMacIIsi - dc.l MDUTable-InfoMacIIsi ; offset to decoder info - dc.l RAMInfo2Bank1Meg-InfoMacIIsi ; offset to ram bank info - dc.l VideoInfoMacIIsi-InfoMacIIsi ; offset to video info - dc.l NuBusInfoMacIIsi-InfoMacIIsi ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.b MDUDecoder ; decoder kind - dc.w $3FFF ; ROM85, New ROMs, Power Off ability. - dc.b 4 ; default ROM Resource configuration - dc.b ProductInfoVersion ; ProductInfo version - BitVector32 \ ; Flags for valid base addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid - SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBVAddr is valid - VDACExists ; VDACAddr is valid - BitVector32 ; Flags for valid base addresses 32-63 - BitVector32 ; Flags for valid base addresses 64-95 - dc.l \ ; Flags for valid ext feature flags 0-31 - (ClockEgret)|\ ; Has Egret clock/pram - (ADBEgret)|\ ; Egret ADB - (Egret8)|\ ; Egret Eight firmware - (SoundHasSoundIn)|\ ; Has 8-bit mono sound input <23> - (SoundStereoOut)|\ ; has stereo output - (SoundPlayAndRecord)|\ ; can Play and Record simultaneously - (SoundStereoMixing) ; has stereo mixing - dc.l 0 ; Flags for valid ext feature flags 32-63 - dc.l 0 ; Flags for valid ext feature flags 64-95 - dc.b $56,$00,$00,$00 ; Check VIA1 PA6, PA4, PA2, PA1 - dc.b $16,$00,$00,$00 ; VIA1 PA6 = 0, PA4 = 1, PA2 = 1, PA1 = 1 - dc.l VIA1InitMacIIsi-InfoMacIIsi ; VIA1 init info - dc.l 0 ; no VIA2 init info - dc.l SndCntlMacIIsi-InfoMacIIsi ; sound control vector table PN - dc.l EgretClockPRAM-InfoMacIIsi ; clock/PRAM vector table

- dc.l EgretADBTable-InfoMacIIsi ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.l RBVEgretIntTbl-InfoMacIIsi ; interrupt handlers table PN - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfoMacIIsi-InfoMacIIsi ; offset to ICON info - - - - ALIGN 4 - IMPORT CheckForMDU - - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - SCCRdExists,\ ; SCCRdAddr is valid - SCCWrExists,\ ; SCCWrAddr is valid - IWMExists,\ ; IWMAddr is valid - SCSIExists,\ ; SCSIAddr is valid - SCSIDackExists,\ ; SCSIDackAddr is valid - SCSIHskExists,\ ; SCSIHskAddr is valid - VIA2Exists,\ ; VIA2Addr is valid - ASCExists,\ ; ASCAddr is valid - RBVExists,\ ; RBVAddr is valid - VDACExists ; VDACAddr is valid - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Default ext features 0-31 - (ClockRTC)|\ ; Has RTC clock/pram - (ADBXcvr) ; transceiver ADB - dc.l 0 ; Default ext features 32-63 - dc.l 0 ; Default ext features 64-95 - dc.b $00,$00,$00,$00 ; no special VIA bits to avoid changing - dc.l CheckForMDU-MDUtable ; routine to identify this map - dc.b MDUDecoder - dc.b DecoderInfoVersion ; DecoderInfo version - dcb.b 2,0 - dc.l $FFFFFFFF ; No Base Address for this decoder -MDUtable - dc.l $40800000 ; ROM - valid - dc.l $58000000 ; DiagROM - valid - dc.l $50F00000 ; VIA1 - valid - dc.l $50F04000 ; SCC read - optional - dc.l $50F04000 ; SCC write - optional - dc.l $50F16000 ; IWM - optional - dc.l $00000000 ; PWM - unused - dc.l $00000000 ; Sound - unused - dc.l $50F10000 ; SCSI - optional - dc.l $50F12000 ; SCSIDack - optional - dc.l $50F06000 ; SCSIHsk - optional - dc.l $50F02000 ; VIA2 - optional - dc.l $50F14000 ; ASC - valid - dc.l $50F26000 ; RBV - optional - dc.l $50F24000 ; VDAC - optional - dc.l $50F18000 ; SCSIDMA - optional - dc.l $50F1E020 ; SWIMIOP - optional - dc.l $50F0C020 ; SCCIOP - optional - dc.l $00000000 ; OSS - unused - dc.l $00000000 ; FMC - unused - dc.l $00000000 ; RPU - unused - dc.l $00000000 ; unused 21 - dc.l $00000000 ; JAWS - unused <25> - dc.l $00000000 ; Sonic - unused <45> - dc.l $00000000 ; 1st (internal) SCSI96 - unused - dc.l $00000000 ; 2nd (external) SCSI96 - unused - dc.l $00000000 ; DAFB - unused - dc.l $00000000 ; unused 27 - dc.l $00000000 ; ROMPhysAddr - unused - dc.l $00000000 ; unused 29 - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - - -VideoInfoMDU - dc.l 0 ; Physical base address of screen - dc.l $FBB08000 ; Logical 32 bit base address of screen - dc.l $FBB08000 ; Logical 24 bit base address of screen - dc.b $0B ; Slot number to use for PRAM storage - dc.b SmPRAMTop+(($0B-$09)*sizeSPRAMRec) ; PRAM address for RBV slot zero - dc.b sRsrcBFBasedDir ; Use the BoxFlag-based sRsrc directory directory. - dc.b 0 ; Use boxFlag to identify board sRsrc. - -VideoInfoMacIIsi ; <33> - dc.l 0 ; Physical base address of screen <33> - dc.l $FEE08000 ; Logical 32 bit base address of screen <33> - dc.l $FEE08000 ; Logical 24 bit base address of screen <40> - dc.b $0E ; Slot number to use for PRAM storage <33> - dc.b SmPRAMTop+(($0E-$09)*\ ; PRAM address for RBV slot zero <33> - sizeSPRAMRec) - dc.b sRsrcBFBasedDir ; Use the BoxFlag-based sRsrc directory directory. - dc.b 0 ; Use boxFlag to identify board sRsrc. - -NuBusInfoMacIIsi ; slot info for Macintosh IIsi <24> - dc.b 0|(1< - - - - IF 0 THEN ; -;₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯ -;₯ ₯ -;₯ This is the old CPU graveyard. All of the universal tables for the old CPUs will be put here until ₯ -;₯ it's decided that they'll never be used again, at which point, they can be removed entirely. ₯ -;₯ ₯ -;₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯₯ - -ProductLookup - IF hasMDU THEN - dc.l InfoMacIIci-* ; Macintosh IIci - dc.l InfoMacIIciPGC-* ; Macintosh IIci, PGC installed - ENDIF - IF hasOSS THEN - dc.l InfoMacIIfx-* ; Macintosh IIfx - ENDIF - IF hasMDU THEN - dc.l InfoMDUUnknown-* ; unknown MDU based machine - ENDIF - IF hasOss THEN - dc.l InfoOSSUnknown-* ; unknown OSS based machine - ENDIF - DC.L 0 - - -DecoderLookup - IF hasOSS THEN - dc.l OSSFMCtable-* ; check for OSS/FMC decoder - ENDIF - DC.L 0 - - - IF hasMDU THEN - - ALIGN 4 -InfoMacIIci dc.l MDUTable-InfoMacIIci ; offset to decoder info - dc.l RAMInfo2Bank1Meg-InfoMacIIci ; offset to ram bank info - dc.l VideoInfoMDU-InfoMacIIci ; offset to video info - dc.l NuBusInfoMacIIci-InfoMacIIci ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.l ViaADBTable-InfoMacIIci ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.w 0 ; no CPU ID register - dc.w 0 ; allow room for expansion - dc.l IconInfo3Slot-InfoMacIIci ; offset to ICON info - - - ALIGN 4 -InfoMacIIciPGC - dc.l MDUTable-InfoMacIIciPGC ; offset to decoder info - dc.l RAMInfo2Bank1Meg-InfoMacIIciPGC ; offset to ram bank info - dc.l VideoInfoMDU-InfoMacIIciPGC ; offset to video info - dc.l NuBusInfoMacIIci-InfoMacIIciPGC ; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.l ViaADBTable-InfoMacIIciPGC ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfo3Slot-InfoMacIIciPGC ; offset to ICON info - - - ALIGN 4 -InfoMDUUnknown - dc.l MDUTable-InfoMDUUnknown ; offset to decoder info - dc.l RAMInfo2Bank1Meg-InfoMDUUnknown ; offset to ram bank info - dc.l VideoInfoMDU-InfoMDUUnknown ; offset to video info - dc.l NuBusInfoSixSlotNoVid-InfoMDUUnknown; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.l ViaADBTable-InfoMDUUnknown ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfo3Slot-InfoMDUUnknown ; offset to ICON info - - - -NuBusInfoMacIIci - dc.b 0|(1< - dc.l IOPADBTable-InfoMacIIfx ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.w 0 ; no CPU ID register - dc.w 0 ; allow room for expansion - dc.l IconInfo6Slot-InfoMacIIfx ; offset to ICON info - - - ALIGN 4 -InfoOSSUnknown - dc.l OSSFMCTable-InfoOSSUnknown ; offset to decoder info - dc.l RAMInfo2Bank1Meg-InfoOSSUnknown ; offset to ram bank info - dc.l 0 ; no built in video - dc.l NuBusInfoSixSlotNoVid-InfoOSSUnknown; offset to NuBus info - dc.w 0|\ ; hwCfgFlags - (1< - dc.l IOPADBTable-InfoOSSUnknown ; ADB/DebugUtil vector table - dc.l 0 ; no Power Manager primitives - dc.w 0 ; no CPU ID register - dc.w 0 ; spare - dc.l IconInfo6Slot-InfoOSSUnknown ; offset to ICON info - - - ALIGN 4 - IMPORT CheckForOSSFMC - - BitVector32 \ ; Default valid addresses 0-31 - ROMExists,\ ; ROMAddr is valid - DiagROMExists,\ ; DiagROMAddr is valid - VIA1Exists,\ ; VIA1Addr is valid - ASCExists,\ ; ASCAddr is valid - SCSIDMAExists,\ ; SCSIDMAAddr is valid - SWIMIOPExists,\ ; SWIMIOPAddr is valid - SCCIOPExists,\ ; SCCIOPAddr is valid - OSSExists,\ ; OSSAddr is valid - FMCExists,\ ; FMCAddr is valid - RPUExists ; RPUAddr is valid - BitVector32 ; Default valid addresses 32-63 - BitVector32 ; Default valid addresses 64-95 - dc.l \ ; Default ext features 0-31 - (ClockRTC)|\ ; Has RTC clock/pram - (ADBIop) ; Has IOP ADB - dc.l 0 ; Default ext features 32-63 - dc.l 0 ; Default ext features 64-95 - dc.b $00,$00,$00,$00 ; no special VIA bits to avoid changing - dc.l CheckForOSSFMC-OSSFMCtable ; routine to identify this map - dc.b OSSFMCDecoder - dc.b DecoderInfoVersion ; DecoderInfo version - dcb.b 2,0 - dc.l $50F1C000 ; FMC Base Address -OSSFMCtable dc.l $40800000 ; ROM - valid - dc.l $58000000 ; DiagROM - valid - dc.l $50F00000 ; VIA1 - valid - dc.l $00000000 ; SCC read - unused - dc.l $00000000 ; SCC write - unused - dc.l $00000000 ; IWM - unused - dc.l $00000000 ; PWM - unused - dc.l $00000000 ; Sound - unused - dc.l $00000000 ; SCSI - unused - dc.l $00000000 ; SCSIDack - unused - dc.l $00000000 ; SCSIHsk - unused - dc.l $00000000 ; VIA2 - unused - dc.l $50F10000 ; ASC - valid - dc.l $00000000 ; RBV - unused - dc.l $00000000 ; VDAC - unused - dc.l $50F08000 ; SCSIDMA - valid - dc.l $50F12020 ; SWIMIOP - valid - dc.l $50F04020 ; SCCIOP - valid - dc.l $50F1A000 ; OSS - valid - dc.l $50F1C000 ; FMC - valid - dc.l $50F1E000 ; RPU - (optional) - dc.l $00000000 ; unused 21 - dc.l $00000000 ; JAWS - unused <25> - dc.l $00000000 ; Sonic - unused <45> - dc.l $00000000 ; 1st (internal) SCSI96 - unused - dc.l $00000000 ; 2nd (external) SCSI96 - unused - dc.l $00000000 ; DAFB - unused - dc.l $00000000 ; unused 27 - dc.l $00000000 ; ROMPhysAddr - unused - dc.l $00000000 ; unused 29 - dc.l $00000000 ; unused 30 - dc.l $00000000 ; unused 31 - - -VIA1InitOSS - dc.b \ ; vBufA initial value - (1)|\ ; sound volume level initially 1 - (0< - - - - ENDWITH ; {DecoderKinds,DecoderInfo,ProductInfo,NuBusInfo} + dc.b $00 + dc.b $58 + dc.b $00 + dc.b $00 + dc.b $00 + dc.b $00 + dc.b $00 + dc.b $00 EndProc