Skip to content

Commit 651188d

Browse files
committed
updates for 68030 issues
1 parent ebd9720 commit 651188d

File tree

1 file changed

+88
-38
lines changed

1 file changed

+88
-38
lines changed

AR5.asm

Lines changed: 88 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -292,10 +292,18 @@ rsnoop SET 0
292292
rsnoop SET 1
293293
endc
294294

295-
;fixcol macro
296-
; MOVE.W #\1,$DFF180
297-
; JSR debugDelay
298-
; endm
295+
fixcol macro
296+
MOVE.L D0,-(A7)
297+
MOVE.W #25,D0
298+
.dloop
299+
MOVE.B #0,ciaatodlo
300+
.dloop2:
301+
MOVE.W #\1,$DFF180
302+
CMP.B #2,ciaatodlo
303+
BNE.S .dloop2
304+
DBF D0,.dloop
305+
MOVE.L (A7)+,D0
306+
endm
299307

300308
;fixcol macro
301309
; endm
@@ -705,7 +713,7 @@ DisplayArInstalLogo:
705713
MOVE.W #$7fff,intena+hardware
706714
MOVE.L A7,A6
707715
LEA StackEnd,A7
708-
LEA EXT_0,A0
716+
LEA EXT_1000,A0
709717
LEA ChipramSave1,A1
710718
MOVE.L A0,A2
711719
MOVE.W #$1f40-1,D0
@@ -930,7 +938,7 @@ NMI_Entry:
930938
MOVE.B EXT_F8000D,kickstartVersion
931939
.k3
932940
endc
933-
941+
934942
if arhardware=1
935943
BTST #1,FreezeState
936944
BNE reset
@@ -942,34 +950,47 @@ NMI_Entry:
942950
if (arhardware+pistorm=1)
943951
tst.b exceptionsActive
944952
beq.s nmi1
945-
CMPI.L #$124,2(A7)
953+
954+
CMPI.L #$128,2(A7)
946955
BGT.W nmi1
947956
CMPI.L #$100,2(A7)
948957
BLS.W nmi1
949958
jmp ExceptionEntry
950959
nmi1:
951960
tst.b breakpointsActive
952961
beq.s nmi2
962+
CMPI.L #$40,2(A7)
963+
BEQ.S .isbp
953964
CMPI.L #$46,2(A7)
954965
bne.s nmi2
966+
.isbp
955967
jmp ExceptionEntry2
956968

957969
nmi2:
958970
tst.b MemwatchActive
959971
beq.s nmi3
972+
cmp.l #$130,2(a7)
973+
beq.s .ismw
960974
cmp.l #$136,2(a7)
961975
bne.s nmi3
976+
.ismw
962977
jmp ExceptionEntry2
963978
nmi3:
964979
tst.b apiActive
965980
beq.s nmi4
981+
cmp.l #$100,2(a7)
982+
BEQ.S .isapi
966983
cmp.l #$106,2(a7)
967984
bne.s nmi4
985+
.isapi
968986
jmp ApiEntry
969987

970988
nmi4:
989+
cmp.l #$150,2(a7)
990+
BEQ.S .istr
971991
cmp.l #$156,2(a7)
972992
bne.s x
993+
.istr
973994
MOVE.L A0,D0
974995
JSR getVBR
975996
MOVE.L D0,A0
@@ -2020,7 +2041,7 @@ AREntry2:
20202041
MOVE.W 0(A7),SaveOldSr
20212042
MOVE #$2000,SR
20222043
LEA StackEnd,A7
2023-
2044+
20242045
CMP.B #34,kickstartVersion
20252046
BLS.S .1
20262047

@@ -2035,8 +2056,15 @@ AREntry2:
20352056
JSR getCACR
20362057
MOVE.L D0,SAVE_CACR
20372058
MOVEQ #0,D0
2059+
2060+
SF.B tempD1
20382061
JSR setCACR
20392062

2063+
TST.B tempD1
2064+
BNE.S .2
2065+
MOVE.W #8,cpuAddrSize
2066+
.2
2067+
20402068
MOVE.L vposr+hardware,D0
20412069
MOVE.L D0,SAVE_VPOS
20422070
AND.L #$7fffffff,D0
@@ -2158,6 +2186,7 @@ LAB_A10A88:
21582186
MOVE D0,SR
21592187

21602188
MOVE.L SAVE_CACR,D0
2189+
OR.W #$808,D0 ;clear data and instruction cache
21612190
JSR setCACR
21622191

21632192
MOVE.L Int5Save,AUTO_INT5.W
@@ -2229,7 +2258,7 @@ LAB_A10BF4:
22292258
.noret
22302259
endc
22312260
RTE
2232-
2261+
22332262
getVBR:
22342263
MOVE.L ILLEG_OPC.W,-(A7)
22352264
MOVE.L #vbrtrap,ILLEG_OPC.W
@@ -2248,7 +2277,11 @@ getVBR:
22482277
RTS
22492278
vbrtrap:
22502279
MOVE.W #0,vbrflag
2280+
ADD.L #4,2(a7)
2281+
RTE
2282+
22512283
cacrtrap:
2284+
ST.B tempD1
22522285
ADD.L #4,2(a7)
22532286
RTE
22542287

@@ -8941,6 +8974,9 @@ LAB_A1323A:
89418974
CMPI.W #7,D2
89428975
BNE.S LAB_A13244
89438976
ADDQ.L #6,D0
8977+
TST.W vbrflag
8978+
BEQ.S LAB_A13244
8979+
ADDQ.L #2,D0
89448980
LAB_A13244:
89458981
JSR Print8DigitHex
89468982
JSR PrintSpace
@@ -9953,8 +9989,11 @@ LAB_A13C0E:
99539989
BEQ.S LAB_A13C1E
99549990
JSR FindVirus
99559991
LAB_A13C1E:
9992+
CMPI.L #$00000040,SaveOldPc
9993+
BEQ.S .isbp
99569994
CMPI.L #$00000046,SaveOldPc
99579995
BNE.S LAB_A13C7C
9996+
.isbp
99589997
LEA SaveCpuRegs,A0
99599998
MOVEA.L $3C(A0),A1 ;get old A7
99609999
MOVE.L (A1),-(A7)
@@ -9985,8 +10024,11 @@ LAB_A13C1E:
998510024
BSR.W PrintCrIfNotBlankLine
998610025
SF restartFlag
998710026
LAB_A13C7C:
10027+
CMPI.L #$00000130,SaveOldPc
10028+
BEQ.S .ismw
998810029
CMPI.L #$00000136,SaveOldPc
998910030
BNE LAB_A13D02
10031+
.ismw
999010032
LEA SaveCpuRegs,A0
999110033
MOVEA.L $3C(A0),A1
999210034
MOVE.L (A1),-(A7)
@@ -10046,7 +10088,7 @@ ChangedToText:
1004610088

1004710089
aboutText:
1004810090
DC.B "********************************************************************************"
10049-
DC.B " ACTION REPLAY AMIGA V5.0.0 (05-Apr-2025)",$D
10091+
DC.B " ACTION REPLAY AMIGA V5.0.0 (14-Apr-2025)",$D
1005010092
DC.B " Developed by REbEL / QUARTEX",$D
1005110093
DC.B " Hardware Engineering by NA103 and GERBIL",$D,$D
1005210094
DC.B " Based upon Action Replay MKIII (Datel Electronics)",$D
@@ -14633,13 +14675,11 @@ LAB_4080A8:
1463314675
BLE.S LAB_4080A8
1463414676

1463514677
JSR disableAllDma
14636-
SUBA.L A0,A0
14637-
MOVE.W #$2c00,D0
14678+
LEA EXT_100.W,a0
14679+
MOVE.W #$2bc0-1,D0
1463814680
LAB_4080B8:
1463914681
CLR.L (A0)+
1464014682
DBF D0,LAB_4080B8
14641-
MOVEM.L (A7),D0-D7/A0-A6
14642-
MOVE.L A1,BUS_ERROR.W
1464314683
LAB_4080C6:
1464414684
CMP.B #34,kickstartVersion
1464514685
BHI.S LAB_408104
@@ -22095,15 +22135,15 @@ LAB_40D56A:
2209522135
.2
2209622136
MOVE.L A1,-(A7)
2209722137
MOVE.L A0,UnpackSourceEnd
22098-
MOVE.L #$0000100,UnpackDest
22138+
MOVE.L #$0001100,UnpackDest
2209922139
JSR UnpackNoFlash
2210022140
MOVE.L (A7)+,A0
22101-
LEA EXT_0.W,A1
22141+
LEA EXT_1000.W,A1
2210222142
LAB_40D5CE:
2210322143
MOVE.L (A0),(A1)+
2210422144
CMPI.L #$fffffffe,(A0)+
2210522145
BNE.S LAB_40D5CE
22106-
CLR.L cop1lch+hardware
22146+
MOVE.L #EXT_1000,cop1lch+hardware
2210722147
MOVE.W #$04d2,copjmp1+hardware
2210822148
MOVE.W #$7fff,intreq+hardware
2210922149
LAB_40D624:
@@ -22124,9 +22164,9 @@ BootScreenCopper1:
2212422164
DC.L $01a8079A,$01aa086D,$01ac08AB,$01ae097E
2212522165
DC.L $01b009BC,$01b20A8F,$01b40ACD,$01b60BDE
2212622166
DC.L $01b80CEF,$01ba0DFF,$01bc0090,$01be0F00
22127-
DC.L $00e00000,$00e20100,$00e40000,$00e616e0
22128-
DC.L $00e80000,$00ea2cc0,$00ec0000,$00ee42a0
22129-
DC.L $00f00000,$00f25880
22167+
DC.L $00e00000,$00e21100,$00e40000,$00e626e0
22168+
DC.L $00e80000,$00ea3cc0,$00ec0000,$00ee52a0
22169+
DC.L $00f00000,$00f26880
2213022170
DC.L $01005200,$fffffffe
2213122171

2213222172
BootScreenCopper2:
@@ -22140,9 +22180,9 @@ BootScreenCopper2:
2214022180
DC.L $01A80000,$01AA0000,$01AC0000,$01AE0000
2214122181
DC.L $01B00000,$01B20000,$01B40000,$01B60000
2214222182
DC.L $01B80000,$01BA0000,$01BC0000,$01BE0000
22143-
DC.L $00e00000,$00e20100,$00e40000,$00e616e0
22144-
DC.L $00e80000,$00ea2cc0,$00ec0000,$00ee42a0
22145-
DC.L $00f00000,$00f25880
22183+
DC.L $00e00000,$00e21100,$00e40000,$00e626e0
22184+
DC.L $00e80000,$00ea3cc0,$00ec0000,$00ee52a0
22185+
DC.L $00f00000,$00f26880
2214622186
DC.L $01005200,$fffffffe
2214722187

2214822188
disableAllDma:
@@ -22256,10 +22296,10 @@ LAB_A1CFB2:
2225622296

2225722297
if arhardware=1
2225822298
MOVE.L #$4a3900bf,(A0)+
22259-
MOVE.W #$e001,(A0)+
22299+
MOVE.L #$e0014e71,(A0)+
2226022300
else
2226122301
MOVE.L #$4e4e4e73,(A0)+
22262-
MOVE.W #$4e71,(A0)+
22302+
MOVE.L #$4e714e71,(A0)+
2226322303
endc
2226422304
DBF D0,LAB_A1CFB2
2226522305

@@ -22274,10 +22314,10 @@ LAB_A1CFB2:
2227422314
endc
2227522315

2227622316
MOVE.L #$00000100,ADR_ERROR(A0)
22277-
MOVE.L #$00000106,ILLEG_OPC(A0)
22278-
MOVE.L #$0000010c,DIVISION0(A0)
22279-
MOVE.L #$00000112,LINEA_EMU(A0)
22280-
MOVE.L #$00000118,LINEF_EMU(A0)
22317+
MOVE.L #$00000108,ILLEG_OPC(A0)
22318+
MOVE.L #$00000110,DIVISION0(A0)
22319+
MOVE.L #$00000118,LINEA_EMU(A0)
22320+
MOVE.L #$00000120,LINEF_EMU(A0)
2228122321
ST exceptionsActive
2228222322
LEA ExceptionHandlerInsText(PC),A0
2228322323
JSR PrintText
@@ -22290,30 +22330,40 @@ ExceptionHandlerInsText:
2229022330

2229122331
SUB_A1D0A8:
2229222332
if arhardware=1
22293-
CMPI.L #$00000124,SaveOldPc
22333+
CMPI.L #$00000128,SaveOldPc
2229422334
BHI.S LAB_A1D0F0
22335+
CMPI.L #$00000100,SaveOldPc
22336+
BEQ.S LAB_A1D0F2
2229522337
CMPI.L #$00000106,SaveOldPc
2229622338
BEQ.S LAB_A1D0F2
22297-
CMPI.L #$0000010c,SaveOldPc
22339+
CMPI.L #$00000108,SaveOldPc
2229822340
BEQ.S LAB_A1D0F8
22299-
CMPI.L #$00000112,SaveOldPc
22341+
CMPI.L #$0000010e,SaveOldPc
22342+
BEQ.S LAB_A1D0F8
22343+
CMPI.L #$00000110,SaveOldPc
22344+
BEQ.S LAB_A1D0FE
22345+
CMPI.L #$00000116,SaveOldPc
2230022346
BEQ.S LAB_A1D0FE
2230122347
CMPI.L #$00000118,SaveOldPc
2230222348
BEQ.S LAB_A1D104
2230322349
CMPI.L #$0000011e,SaveOldPc
22350+
BEQ.S LAB_A1D104
22351+
CMPI.L #$00000120,SaveOldPc
22352+
BEQ.S LAB_A1D10A
22353+
CMPI.L #$00000126,SaveOldPc
2230422354
BEQ.S LAB_A1D10A
2230522355
else
22306-
CMPI.L #$0000011c,SaveOldPc
22356+
CMPI.L #$00000128,SaveOldPc
2230722357
BHI.S LAB_A1D0F0
2230822358
CMPI.L #$00000102,SaveOldPc
2230922359
BEQ.S LAB_A1D0F2
22310-
CMPI.L #$00000108,SaveOldPc
22360+
CMPI.L #$0000010a,SaveOldPc
2231122361
BEQ.S LAB_A1D0F8
22312-
CMPI.L #$0000010e,SaveOldPc
22362+
CMPI.L #$00000112,SaveOldPc
2231322363
BEQ.S LAB_A1D0FE
22314-
CMPI.L #$00000114,SaveOldPc
22315-
BEQ.S LAB_A1D104
2231622364
CMPI.L #$0000011a,SaveOldPc
22365+
BEQ.S LAB_A1D104
22366+
CMPI.L #$00000122,SaveOldPc
2231722367
BEQ.S LAB_A1D10A
2231822368
endc
2231922369
LAB_A1D0F0:
@@ -51877,7 +51927,7 @@ checksum:
5187751927
;DC.L $275fa408 ; v0.8.0
5187851928
;DC.L $9178fa9e ; v0.9.0
5187951929
; !
51880-
DC.L $628efff9 ; v5.0.0
51930+
DC.L $592ff7f0 ; v5.0.0
5188151931

5188251932
arramstart:
5188351933
;all of this is used to store chipmem data

0 commit comments

Comments
 (0)