mirror of
https://github.com/antoinevignau/source.git
synced 2024-12-29 11:30:55 +00:00
0498bcc0c9
of a couple of (working) disassemblies
222 lines
4.0 KiB
ArmAsm
222 lines
4.0 KiB
ArmAsm
*
|
|
* Ultima II: The Revenge of the Enchanteress
|
|
*
|
|
* (c) 1982, Sierra On-Line
|
|
* (s) 2020, John Disam
|
|
*
|
|
|
|
TYP BIN
|
|
ORG $0240
|
|
MX %11
|
|
LST OFF
|
|
|
|
*----------------------------
|
|
|
|
L0240 LDA $10
|
|
CMP #$FF
|
|
BNE L0249
|
|
JMP L02D7
|
|
|
|
L0249 SEC
|
|
LDA $01
|
|
SBC #$05
|
|
STA $03
|
|
SEC
|
|
LDA $00
|
|
SBC #$09
|
|
STA $02
|
|
LDA #$00
|
|
STA $05
|
|
STA $04
|
|
TAY
|
|
TAX
|
|
L025F CLC
|
|
LDA $04
|
|
ADC $02
|
|
CMP #$40
|
|
BCS L0270
|
|
LDA $05
|
|
ADC $03
|
|
CMP #$40
|
|
BCC L0275
|
|
L0270 LDA $10
|
|
JMP L0291
|
|
|
|
L0275 STA $07
|
|
LDA #$00
|
|
LSR $07
|
|
ROR
|
|
LSR $07
|
|
ROR
|
|
ADC $04
|
|
ADC $02
|
|
STA $06
|
|
CLC
|
|
LDA $07
|
|
ADC #$10
|
|
STA $07
|
|
LDA ($06),Y
|
|
LSR
|
|
AND #$FE
|
|
L0291 CMP $4C00,X
|
|
BNE L02A0
|
|
CMP #$00
|
|
BEQ L02A0
|
|
CMP #$2E
|
|
BEQ L02A0
|
|
ORA #$80
|
|
L02A0 STA $4B00,X
|
|
INX
|
|
INC $04
|
|
LDA $04
|
|
CMP #$14
|
|
BNE L025F
|
|
STY $04
|
|
INC $05
|
|
LDA $05
|
|
CMP #$0A
|
|
BNE L025F
|
|
LDA $4B6D
|
|
STA $12
|
|
LDA $4B59
|
|
STA $13
|
|
LDA $4B81
|
|
STA $14
|
|
LDA $4B6C
|
|
STA $16
|
|
LDA $4B6E
|
|
STA $15
|
|
LDA $11
|
|
STA $4B6D
|
|
JMP L035E
|
|
|
|
L02D7 SEC
|
|
LDA $01
|
|
SBC #$05
|
|
AND #$3F
|
|
STA $03
|
|
SEC
|
|
LDA $00
|
|
SBC #$09
|
|
AND #$3F
|
|
STA $02
|
|
LDA #$00
|
|
STA $05
|
|
STA $04
|
|
TAY
|
|
TAX
|
|
L02F1 CLC
|
|
LDA $04
|
|
ADC $02
|
|
AND #$3F
|
|
STA $17
|
|
CLC
|
|
LDA $05
|
|
ADC $03
|
|
AND #$3F
|
|
STA $07
|
|
LDA #$00
|
|
LSR $07
|
|
ROR
|
|
LSR $07
|
|
ROR
|
|
ADC $17
|
|
STA $06
|
|
CLC
|
|
LDA $07
|
|
ADC #$10
|
|
STA $07
|
|
LDA ($06),Y
|
|
LSR
|
|
AND #$FE
|
|
CMP $4C00,X
|
|
BNE L032A
|
|
CMP #$00
|
|
BEQ L032A
|
|
CMP #$2E
|
|
BEQ L032A
|
|
ORA #$80
|
|
L032A STA $4B00,X
|
|
INX
|
|
INC $04
|
|
LDA $04
|
|
CMP #$14
|
|
BNE L02F1
|
|
STY $04
|
|
INC $05
|
|
LDA $05
|
|
CMP #$0A
|
|
BNE L02F1
|
|
LDA $4B6D
|
|
STA $12
|
|
LDA $4B59
|
|
STA $13
|
|
LDA $4B81
|
|
STA $14
|
|
LDA $4B6C
|
|
STA $16
|
|
LDA $4B6E
|
|
STA $15
|
|
LDA $11
|
|
STA $4B6D
|
|
L035E LDX #$00
|
|
STX $0C
|
|
L0362 LDY $0C
|
|
LDA $472C,Y
|
|
STA L0399+1
|
|
STA L03A5+1
|
|
LDA $47EC,Y
|
|
STA L0399+2
|
|
STA L03A5+2
|
|
TYA
|
|
AND #$0F
|
|
LSR
|
|
ORA #$08
|
|
STA L0394+2
|
|
STA L039F+2
|
|
LDA #$00
|
|
STA $0D
|
|
ROR
|
|
STA L0394+1
|
|
ADC #$01
|
|
STA L039F+1
|
|
L038F LDY $4B00,X
|
|
BMI L03A8
|
|
L0394 LDA $FFFF,Y
|
|
LDY $0D
|
|
L0399 STA $FFFF,Y
|
|
LDY $4B00,X
|
|
L039F LDA $FFFF,Y
|
|
LDY $0D
|
|
INY
|
|
L03A5 STA $FFFF,Y
|
|
L03A8 INX
|
|
LDA $0D
|
|
CLC
|
|
ADC #$02
|
|
STA $0D
|
|
CMP #$28
|
|
BNE L038F
|
|
INC $0C
|
|
LDA $0C
|
|
CMP #$A0
|
|
BEQ L03C7
|
|
AND #$0F
|
|
BEQ L0362
|
|
TXA
|
|
SBC #$13
|
|
TAX
|
|
JMP L0362
|
|
|
|
L03C7 LDX #$00
|
|
L03C9 LDA $4B00,X
|
|
AND #$7F
|
|
STA $4C00,X
|
|
INX
|
|
CPX #$F0
|
|
BNE L03C9
|
|
RTS
|
|
|
|
HEX A0
|
|
HEX D3
|