I dont know what the blizzard do here.but i read
that blizard load the powerup library early.
But it happen that the resident is always kill on a soft reboot.
see code of morelibspace.
Wy this do not run a a blizzard1260 card ?
seem the resident is always kill
If FindResident_("morelibspace") Then End
memsize=?endresi-?begin+150+SizeOf .Resident
*kicktag.MemList=AllocMem_(memsize,$10001)
*resi.Resident=*kicktag+80
codemem.l=*resi+SizeOf .Resident
*kicktag\ml_Node\ln_Type=0;#NT_KICKMEM
*kicktag\ml_NumEntries=1
*kicktag\ml_ME\meu_Addr=*kicktag,memsize
*resi.Resident\rt_MatchWord=$4afc
*resi\rt_Flags=#RTF_COLDSTART
*resi\rt_Version=45,0,70
*resi\rt_Name=(?name-?begin)+codemem,(?name2-?begin)+codemem
*resi\rt_Init=codemem
*resi\rt_EndSkip=SizeOf .Resident;+(codemem+(?endresi-?begin +SizeOf .Resident))
*resi\rt_MatchTag=*resi
CopyMem_ ?begin,codemem,?endresi-?begin
*exec.ExecBase=execbase
*kicktag\ml_Node\ln_Succ=*exec\KickMemPtr
*exec\KickMemPtr=*kicktag
If *exec\KickTagPtr
Poke.l *resi-4,*exec\KickTagPtr OR $80000000
End If
Poke.l *resi-8,*resi
*exec\KickTagPtr=*resi-8
*exec\KickCheckSum=SumKickData_
CacheClearU_
If NumPars=1 AND Par$(1)="REBOOT" Then ColdReboot_
End
;#include ;example from Piru for blitzkick compatible
;#include
;
;void Init(void);
;
;struct Resident res =
;{
; RTC_MATCHWORD,
; &res,
; &res + 1,
; RTF_COLDSTART,
; 1,
; NT_UNKNOWN,
; 70,
; "whatever",
; "whatever 1.0 (26.5.2007)\r\n",
; Init
;};
;
;void Init(void)
;{
;}
ROMTag: Dc.w #RTC_MATCHWORD ; UWORD RT_MATCHWORD
Dc.l ROMTag ; APTR RT_MATCHTAG
Dc.l endresi ; APTR RT_ENDSKIP
Dc.b #RTF_COLDSTART ; UBYTE RT_FLAGS
Dc.b 45 ; UBYTE RT_VERSION
Dc.b #NT_UNKNOWN ; UBYTE RT_TYPE
Dc.b 70 ; BYTE RT_PRI
Dc.l name ; APTR RT_NAME
Dc.l name2 ; APTR RT_IDSTRING
Dc.l begin ; APTR RT_INIT
begin
MOVEM.l a0-a6/d0-d7,-(a7)
MOVE.l $4,a6
MOVE.l a6,a1
LEA newfunc(pc),a0
MOVE.l a0,d0
MOVE.l #-84,a0 ;makelibrary
JSR -420(a6)
LEA oldfunc(pc),a0
MOVE.l d0,(a0)
MOVEM.l (a7)+,a0-a6/d0-d7
RTS
newfunc
MOVEM.l d1/a1/a2/a3,-(a7)
JSR -$84(a6)
CMP.l #1492,d0 ;diskfont
BEQ 'ok
CMP.l #134,d0 ;diskfont
BEQ 'ok
CMP.l #3150,d0 ;intuition library
BEQ 'ok
CMP.l #544,d0 ;graphics library
BEQ 'ok
CMP.l #46,d0 ;layers library
BEQ 'ok
CMP.l #348,d0 ;icon.library
BEQ 'ok
CMP.l #50,d0 ;icon.library OS3.1
BNE 'skip
;TRAP #0
'ok
MOVE.l d0,d0store
MOVE.l a0,a0store
MOVEQ #0,d0
CMP.w #-1,(a0)
BNE 'dolong
MOVE.l a0,a2
ADDQ.w #2,a0
LEA funcs(pc),a1
'g1 CMP.w #-1,(a0)
BEQ 'em1
MOVE.w (a0)+,d1
EXT.l d1
ADD.l a2,d1
MOVE.l d1,(a1)+
ADDQ.l #1,d0
BRA 'g1
'em1 ADDQ.l #1,d0
LEA dummy(pc),a0
MOVE.l a0,(a1)+
CMP.l #350,d0
BNE 'em1
MOVE.l #-1,(a1)+
LEA funcs(pc),a0
BRA 'doit
'dolong
LEA funcs(pc),a1
'g2 CMP.l #-1,(a0)
BEQ 'em1
MOVE.l (a0)+,(a1)+
ADDQ.l #1,d0
CMP.l #300,d0 ; failsave libs over 300 Slots are no romlib dont increase
BEQ 'wrong
BRA 'g2
'wrong
MOVE.l d0store,d0
MOVE.l a0store,a0
BRA 'skip
'doit MOVE.l #10000,d0
'skip MOVEM.l (a7)+,a1/a2/d1/a3
MOVE.l a3,-(a7)
;MOVE.l oldfunc(pc),-(a7)
MOVE.l oldfunc(pc),a3
JSR (a3)
MOVE.l (a7)+,a3
JSR -$8a(a6)
RTS
dummy: TRAP #0
RTS
funcs: Ds.l 410
oldfunc: Dc.l 0
d0store: Dc.l 0
a0store: Dc.l 0
name: Dc.b "morelibspace",0
name2: Dc.b "morelibspace V45",0
Even
endresi