Reverse boot 3

Well, the parts of it that are clearly descended from the Cube-E
sources.
This commit is contained in:
Elliot Nunn 2018-01-02 16:30:32 +08:00
parent 0217003077
commit 2b68b7d5e7
6 changed files with 25848 additions and 1155 deletions

View File

@ -22,8 +22,8 @@ BackLightDir = {DriverDir}BackLight:
#include {SonyDir}Sony.make
#include {SerialDir}Serial.make
#include {SerialDMADir}SerialDMA.make
##include {SerialDir}Serial.make
##include {SerialDMADir}SerialDMA.make
#include {NewAgeDir}NewAge.make

View File

@ -602,8 +602,30 @@ gestaltInternalDisplay EQU 'idsp' ; slot number of internal display location
dc.w $ABF1
ENDM
MACRO
_SetGestaltValue
move.w #$0404,d0
dc.w $ABF1
ENDM
ENDIF ; _NewGestaltValue
ENDIF ; ...already included
ENDIF ; ...already included
gestaltOpenFirmwareInfo EQU 'opfw' ; Open Firmware info
gestaltMacOSCompatibilityBoxAttr EQU 'bbox' ; Classic presence and features
gestaltMacOSCompatibilityBoxPresent EQU 0 ; True if running under the Classic
gestaltMacOSCompatibilityBoxHasSerial EQU 1 ; True if Classic serial support is implemented.
gestaltMacOSCompatibilityBoxless EQU 2 ; True if we're Boxless (screen shared with Carbon/Cocoa)
gestaltPowerMgrVers EQU 'pwrv' ; power manager version
gestaltVMHasPagingControl EQU 4 ; true if MakeMemoryResident, MakeMemoryNonResident, FlushMemory, and ReleaseMemoryData are available
gestaltMemoryMapAttr EQU 'mmap' ; Memory map type
gestaltMemoryMapSparse EQU 0 ; Sparse memory is on
gestaltVMInfoType EQU 'vmin' ; Indicates how the Finder should display information about VM in
; the Finder about box.
gestaltVMInfoSizeStorageType EQU 0 ; Display VM on/off, backing store size and name
gestaltVMInfoSizeType EQU 1 ; Display whether VM is on or off and the size of the backing store
gestaltVMInfoSimpleType EQU 2 ; Display whether VM is on or off
gestaltVMInfoNoneType EQU 3 ; Display no VM information

View File

@ -2002,6 +2002,12 @@ selectLockMemory EQU 2
selectLockMemoryContiguous EQU 4
selectUnlockMemory EQU 3
selectGetPhysical EQU 5
selectLockMemoryForOutput EQU 10
selectMakeMemoryResident EQU 11
selectReleaseMemoryData EQU 12
selectMakeMemoryNonResident EQU 13
selectFlushMemory EQU 14
selectGetVolumeVMInfo EQU 15
selectDebuggerGetMax EQU 0
selectDebuggerEnter EQU 1
@ -2043,6 +2049,36 @@ selectEnterSupervisorMode EQU 8
DoDispatch _MemoryDispatchA0Result,selectGetPhysical
ENDM
MACRO
_LockMemoryForOutput
DoDispatch _MemoryDispatch,selectLockMemoryForOutput
ENDM
MACRO
_MakeMemoryResident
DoDispatch _MemoryDispatch,selectMakeMemoryResident
ENDM
MACRO
_ReleaseMemoryData
DoDispatch _MemoryDispatch,selectReleaseMemoryData
ENDM
MACRO
_MakeMemoryNonResident
DoDispatch _MemoryDispatch,selectMakeMemoryNonResident
ENDM
MACRO
_FlushMemory
DoDispatch _MemoryDispatch,selectFlushMemory
ENDM
MACRO
_GetVolumeVirtualMemoryInfo
DoDispatch _MemoryDispatch,selectGetVolumeVMInfo
ENDM
; DebugUtil calls
MACRO

View File

@ -87,7 +87,13 @@ postBootNewPtrStartup ds.l 1 ; 4 pointer to implementation of NewPtrStartup
bufPtrLimit ds.l 1 ; 4 barrier; how low bufPtr is allowed to go
resetFlag ds.w 1 ; 2 clear if donÕt reset; -1 if do reset
reservedForAfterBoot ds.l 1 ; 4 minSysHeapFreeAfterBoot until launch time
ds.b 86 ; 86 padding (so we match the ROM boot code)
ds.b 24
sysRsrcFirstBlk ds.w 1 ; 2 $32
sysRsrcPhysicalLen ds.l 1 ; 4 $34
enablerRsrcFirstBlk ds.w 1 ; 2 $38
enablerRsrcPhysicalLen ds.l 1 ; 4 $3A
boot3Size ds.l 1 ; 4 $3E
ds.b 46 ; 46 padding (so we match the ROM boot code)
port ds.b portRec ; 108 GrafPort already opened by the boot code
fileName ds.b 256 ; 256 file name used by INIT file opening code
ds.b 148 ; 148 padding (so we match the ROM boot code)
@ -108,17 +114,17 @@ processMgrCode0 equ -16470 ; resource ID of jump table for the Process Mgr.
minRAMNeededToBoot equ 3*512*1024 ; 1.5 MB You just gotta have it.
; MacsBug sizes
debuggerGlobalSize equ 1*1024 ; size above BufPtr needed by MacsBug
debuggerGlobalSize equ 4 ; size above BufPtr needed by MacsBug
; system heap sizes
initialSysHeapSize equ 700*1024 ; for Finder and 1 cdev
minSysHeapFreeForINIT equ 24*1024 ; minimum amount that INITs need in the system heap
minSysHeapFreeAfterBoot equ 100*1024 ; minimum amount that must remain free in system heap
initialSysHeapSize equ 10*1024*1024; for Finder and 1 cdev and I'm guessing a bit more
minSysHeapFreeForINIT equ 256*1024 ; minimum amount that INITs need in the system heap
minSysHeapFreeAfterBoot equ 400*1024 ; minimum amount that must remain free in system heap
sysHeapFreeSpaceSlop equ 16*1024 ; slop for MakeSysFree routine
minSysHeapFreeSpace equ 64*1024 ; this goes into emMinSysHeapFreeSpace for use by Finder & Process Mgr
; size of heap used to load INITs, script systems, and
minBootAppHeapSize equ 32*1024 ; smallest heap for INIT loading
minBootAppHeapSize equ 256*1024 ; smallest heap for INIT loading
; Process Mgr. sizes
processMgrStackSize equ 8*1024 ; stack size

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,6 @@ StartTestObjs = "{ObjDir}USTStartTest.a.o"
Boot3Objects = "{ObjDir}Boot3.a.o" ś
"{ObjDir}DispatchPatch.a.o"
"{RsrcDir}Gibbly.rsrc" ÄÄ "{StartDir}Gibbly.r"