mirror of
https://github.com/antoinevignau/source.git
synced 2025-08-06 05:25:13 +00:00
relocatable
This commit is contained in:
106
ultima2/CREATE.S
106
ultima2/CREATE.S
@@ -22,6 +22,8 @@ COUT EQU $FDED
|
||||
SETINV EQU $FE80
|
||||
SETNORM EQU $FE84
|
||||
|
||||
L4E00 EQU $4E00
|
||||
|
||||
*----------------------------
|
||||
|
||||
JSR HOME
|
||||
@@ -40,7 +42,7 @@ L602B LDA KBD
|
||||
ASC "NOMONIOC"0D
|
||||
ASC 04
|
||||
ASC "BLOAD PLAYER"0D00
|
||||
LDA $4E00
|
||||
LDA L4E00+$00
|
||||
BEQ L6089
|
||||
JSR HOME
|
||||
LDY #$0B
|
||||
@@ -88,57 +90,57 @@ L6089 JSR HOME
|
||||
LDX #$1A
|
||||
JSR L6665
|
||||
JSR L65E7
|
||||
STA $4E15
|
||||
STA L4E00+$15
|
||||
JSR L6635
|
||||
LDY #$05
|
||||
LDX #$1A
|
||||
JSR L6665
|
||||
JSR L65E7
|
||||
STA $4E16
|
||||
STA L4E00+$16
|
||||
JSR L6635
|
||||
LDX #$1A
|
||||
LDY #$06
|
||||
JSR L6665
|
||||
JSR L65E7
|
||||
STA $4E17
|
||||
STA L4E00+$17
|
||||
JSR L6635
|
||||
LDY #$07
|
||||
LDX #$1A
|
||||
JSR L6665
|
||||
JSR L65E7
|
||||
STA $4E18
|
||||
STA L4E00+$18
|
||||
JSR L6635
|
||||
LDX #$1A
|
||||
LDY #$08
|
||||
JSR L6665
|
||||
JSR L65E7
|
||||
STA $4E19
|
||||
STA L4E00+$19
|
||||
JSR L6635
|
||||
LDX #$1A
|
||||
LDY #$09
|
||||
JSR L6665
|
||||
JSR L65E7
|
||||
STA $4E1A
|
||||
STA L4E00+$1A
|
||||
JSR L6635
|
||||
LDX #$14
|
||||
LDY #$0B
|
||||
JSR L6665
|
||||
L6306 JSR RDKEY
|
||||
STA $4E10
|
||||
STA L4E00+$10
|
||||
CMP #$CD ; M
|
||||
BNE L6333
|
||||
JSR L65BA
|
||||
ASC "MALE"00
|
||||
LDA $4E15
|
||||
LDA L4E00+$15
|
||||
SED
|
||||
CLC
|
||||
ADC #$05
|
||||
CLD
|
||||
STA $4E15
|
||||
STA L4E00+$15
|
||||
LDX #$1A
|
||||
LDY #$04
|
||||
JSR L6665
|
||||
LDA $4E15
|
||||
LDA L4E00+$15
|
||||
JSR PRBYTE
|
||||
JMP L6359
|
||||
|
||||
@@ -146,36 +148,36 @@ L6333 CMP #$C6 ; F
|
||||
BNE L6306
|
||||
JSR L65BA
|
||||
ASC "FEMALE"00
|
||||
LDA $4E18
|
||||
LDA L4E00+$18
|
||||
SED
|
||||
CLC
|
||||
ADC #$10
|
||||
CLD
|
||||
STA $4E18
|
||||
STA L4E00+$18
|
||||
LDX #$1A
|
||||
LDY #$07
|
||||
JSR L6665
|
||||
LDA $4E18
|
||||
LDA L4E00+$18
|
||||
JSR PRBYTE
|
||||
L6359 LDX #$14
|
||||
LDY #$0C
|
||||
JSR L6665
|
||||
JSR RDKEY
|
||||
STA $4E12
|
||||
STA L4E00+$12
|
||||
CMP #$B1
|
||||
BNE L638E
|
||||
JSR L65BA
|
||||
ASC "HUMAN"00
|
||||
LDA $4E1A
|
||||
LDA L4E00+$1A
|
||||
SED
|
||||
CLC
|
||||
ADC #$05
|
||||
CLD
|
||||
STA $4E1A
|
||||
STA L4E00+$1A
|
||||
LDX #$1A
|
||||
LDY #$09
|
||||
JSR L6665
|
||||
LDA $4E1A
|
||||
LDA L4E00+$1A
|
||||
JSR PRBYTE
|
||||
JMP L6405
|
||||
|
||||
@@ -183,16 +185,16 @@ L638E CMP #$B2
|
||||
BNE L63B4
|
||||
JSR L65BA
|
||||
ASC "ELF"00
|
||||
LDA $4E16
|
||||
LDA L4E00+$16
|
||||
SED
|
||||
CLC
|
||||
ADC #$05
|
||||
CLD
|
||||
STA $4E16
|
||||
STA L4E00+$16
|
||||
LDX #$1A
|
||||
LDY #$05
|
||||
JSR L6665
|
||||
LDA $4E16
|
||||
LDA L4E00+$16
|
||||
JSR PRBYTE
|
||||
JMP L6405
|
||||
|
||||
@@ -200,16 +202,16 @@ L63B4 CMP #$B3
|
||||
BNE L63DC
|
||||
JSR L65BA
|
||||
ASC "DWARF"00
|
||||
LDA $4E15
|
||||
LDA L4E00+$15
|
||||
SED
|
||||
CLC
|
||||
ADC #$05
|
||||
CLD
|
||||
STA $4E15
|
||||
STA L4E00+$15
|
||||
LDX #$1A
|
||||
LDY #$04
|
||||
JSR L6665
|
||||
LDA $4E15
|
||||
LDA L4E00+$15
|
||||
JSR PRBYTE
|
||||
JMP L6405
|
||||
|
||||
@@ -219,40 +221,40 @@ L63DC CMP #$B4
|
||||
|
||||
L63E3 JSR L65BA
|
||||
ASC "HOBBIT"00
|
||||
LDA $4E19
|
||||
LDA L4E00+$19
|
||||
SED
|
||||
CLC
|
||||
ADC #$10
|
||||
CLD
|
||||
STA $4E19
|
||||
STA L4E00+$19
|
||||
LDX #$1A
|
||||
LDY #$08
|
||||
JSR L6665
|
||||
LDA $4E19
|
||||
LDA L4E00+$19
|
||||
JSR PRBYTE
|
||||
L6405 CLC
|
||||
LDA $4E12
|
||||
LDA L4E00+$12
|
||||
SBC #$B0
|
||||
STA $4E12
|
||||
STA L4E00+$12
|
||||
LDY #$0D
|
||||
LDX #$14
|
||||
JSR L6665
|
||||
JSR RDKEY
|
||||
STA $4E11
|
||||
STA L4E00+$11
|
||||
CMP #$B1
|
||||
BNE L6445
|
||||
JSR L65BA
|
||||
ASC "FIGHTER"00
|
||||
LDA $4E15
|
||||
LDA L4E00+$15
|
||||
SED
|
||||
CLC
|
||||
ADC #$15
|
||||
CLD
|
||||
STA $4E15
|
||||
STA L4E00+$15
|
||||
LDX #$1A
|
||||
LDY #$04
|
||||
JSR L6665
|
||||
LDA $4E15
|
||||
LDA L4E00+$15
|
||||
JSR PRBYTE
|
||||
JMP L64BF
|
||||
|
||||
@@ -260,16 +262,16 @@ L6445 CMP #$B2
|
||||
BNE L646E
|
||||
JSR L65BA
|
||||
ASC "CLERIC"00
|
||||
LDA $4E19
|
||||
LDA L4E00+$19
|
||||
SED
|
||||
CLC
|
||||
ADC #$10
|
||||
CLD
|
||||
STA $4E19
|
||||
STA L4E00+$19
|
||||
LDX #$1A
|
||||
LDY #$08
|
||||
JSR L6665
|
||||
LDA $4E19
|
||||
LDA L4E00+$19
|
||||
JSR PRBYTE
|
||||
JMP L64BF
|
||||
|
||||
@@ -277,16 +279,16 @@ L646E CMP #$B3
|
||||
BNE L6497
|
||||
JSR L65BA
|
||||
ASC "WIZARD"00
|
||||
LDA $4E1A
|
||||
LDA L4E00+$1A
|
||||
SED
|
||||
CLC
|
||||
ADC #$10
|
||||
CLD
|
||||
STA $4E1A
|
||||
STA L4E00+$1A
|
||||
LDX #$1A
|
||||
LDY #$09
|
||||
JSR L6665
|
||||
LDA $4E1A
|
||||
LDA L4E00+$1A
|
||||
JSR PRBYTE
|
||||
JMP L64BF
|
||||
|
||||
@@ -296,21 +298,21 @@ L6497 CMP #$B4
|
||||
|
||||
L649E JSR L65BA
|
||||
ASC "THIEF"00
|
||||
LDA $4E16
|
||||
LDA L4E00+$16
|
||||
SED
|
||||
CLC
|
||||
ADC #$10
|
||||
CLD
|
||||
STA $4E16
|
||||
STA L4E00+$16
|
||||
LDX #$1A
|
||||
LDY #$05
|
||||
JSR L6665
|
||||
LDA $4E16
|
||||
LDA L4E00+$16
|
||||
JSR PRBYTE
|
||||
L64BF CLC
|
||||
LDA $4E11
|
||||
LDA L4E00+$11
|
||||
SBC #$B0
|
||||
STA $4E11
|
||||
STA L4E00+$11
|
||||
L64C8 LDY #$0E
|
||||
LDX #$14
|
||||
JSR L6665
|
||||
@@ -321,7 +323,7 @@ L64C8 LDY #$0E
|
||||
JSR L6665
|
||||
LDX #$0E
|
||||
LDA #$00
|
||||
L64ED STA $4E00,X
|
||||
L64ED STA L4E00+$00,X
|
||||
DEX
|
||||
BNE L64ED
|
||||
LDX #$00
|
||||
@@ -331,7 +333,7 @@ L64F5 JSR RDKEY
|
||||
CMP #$8D
|
||||
BEQ L650B
|
||||
JSR COUT
|
||||
STA $4E00,X
|
||||
STA L4E00+$00,X
|
||||
INX
|
||||
CPX #$0C
|
||||
BCC L64F5
|
||||
@@ -347,15 +349,15 @@ L650B LDY #$10
|
||||
L651F CMP #$D9 ; Y
|
||||
BNE L650B
|
||||
LDA #$14
|
||||
STA $4E24
|
||||
STA L4E00+$24
|
||||
LDA #$14
|
||||
STA $4E25
|
||||
STA L4E00+$25
|
||||
LDA #$02
|
||||
STA $4E13
|
||||
STA L4E00+$13
|
||||
LDA #$04
|
||||
STA $4E1B
|
||||
STA $4E1D
|
||||
STA $4E22
|
||||
STA L4E00+$1B
|
||||
STA L4E00+$1D
|
||||
STA L4E00+$22
|
||||
JSR L65BA
|
||||
ASC 0D
|
||||
ASC 04
|
||||
|
325
ultima2/STARS.S
325
ultima2/STARS.S
@@ -21,65 +21,74 @@ WAIT EQU $FCA8
|
||||
PRBYTE EQU $FDDA
|
||||
COUT EQU $FDED
|
||||
|
||||
L1F00 EQU $1F00
|
||||
L402C EQU $402C ; PRINTSTRING
|
||||
L458A EQU $458A ; GOTOXY
|
||||
L472C EQU $472C
|
||||
L47EC EQU $47EC
|
||||
L48AC EQU $48AC
|
||||
L49CB EQU $49CB
|
||||
L4E00 EQU $4E00
|
||||
|
||||
*----------------------------
|
||||
|
||||
L8900 JSR L8C01
|
||||
LDA HIRES
|
||||
LDA TXTCLR
|
||||
LDA #$80
|
||||
STA $1F80
|
||||
STA L1F00+$80
|
||||
LDA #$40
|
||||
STA $1F81
|
||||
LDX $4E37
|
||||
STA L1F00+$81
|
||||
LDX L4E00+$37
|
||||
LDA L8E28,X
|
||||
STA $1F89
|
||||
STA L1F00+$89
|
||||
LDA L8E32,X
|
||||
STA $1F8A
|
||||
STA L1F00+$8A
|
||||
LDA L8E3C,X
|
||||
STA $1F8B
|
||||
STA L1F00+$8B
|
||||
SED
|
||||
LDA $4EAF
|
||||
LDA L4E00+$AF
|
||||
SEC
|
||||
SBC #$01
|
||||
STA $4EAF
|
||||
STA L4E00+$AF
|
||||
CLD
|
||||
LDA #$28
|
||||
STA $21
|
||||
LDX #$1E
|
||||
LDY #$14
|
||||
JSR $458A
|
||||
JSR $402C
|
||||
JSR L458A
|
||||
JSR L402C
|
||||
ASC " FUEL="00
|
||||
LDX #$1E
|
||||
LDY #$15
|
||||
JSR $458A
|
||||
JSR $402C
|
||||
JSR L458A
|
||||
JSR L402C
|
||||
ASC " XENO="00
|
||||
LDX #$1E
|
||||
LDY #$16
|
||||
JSR $458A
|
||||
JSR $402C
|
||||
JSR L458A
|
||||
JSR L402C
|
||||
ASC " YAKO="00
|
||||
LDX #$1E
|
||||
LDY #$17
|
||||
JSR $458A
|
||||
JSR $402C
|
||||
JSR L458A
|
||||
JSR L402C
|
||||
ASC " ZABO="00
|
||||
LDA #$20
|
||||
STA $21
|
||||
JSR L8DE4
|
||||
JSR L8C18
|
||||
JSR L8C92
|
||||
LDA $4E2C
|
||||
LDA L4E00+$2C
|
||||
CMP #$05
|
||||
BCS L89AF
|
||||
JSR $402C
|
||||
JSR L402C
|
||||
ASC 8D
|
||||
ASC "YOU HAVE EXPLODED!"8D8D00
|
||||
L89AC JMP L89AC
|
||||
|
||||
L89AF JSR L8DE4
|
||||
JSR $402C
|
||||
JSR L402C
|
||||
ASC "CMD: "00
|
||||
L89BB JSR L8A66
|
||||
LDA KBD
|
||||
@@ -111,53 +120,53 @@ L89E9 CMP #$CC ; L
|
||||
|
||||
L89F0 JSR L8BA7
|
||||
LDA #$80
|
||||
STA $1F80
|
||||
STA L1F00+$80
|
||||
LDA #$40
|
||||
STA $1F81
|
||||
STA L1F00+$81
|
||||
JMP L89BB
|
||||
|
||||
L8A00 JSR $402C
|
||||
L8A00 JSR L402C
|
||||
ASC "LEFT"8D00
|
||||
JSR L8BA7
|
||||
LDA #$20
|
||||
STA $1F80
|
||||
STA L1F00+$80
|
||||
LDA #$40
|
||||
STA $1F81
|
||||
STA L1F00+$81
|
||||
JMP L89AF
|
||||
|
||||
L8A19 JSR $402C
|
||||
L8A19 JSR L402C
|
||||
ASC "RIGHT"8D00
|
||||
JSR L8BA7
|
||||
LDA #$DF
|
||||
STA $1F80
|
||||
STA L1F00+$80
|
||||
LDA #$40
|
||||
STA $1F81
|
||||
STA L1F00+$81
|
||||
JMP L89AF
|
||||
|
||||
L8A33 JSR $402C
|
||||
L8A33 JSR L402C
|
||||
ASC "CLIMB"8D00
|
||||
JSR L8BA7
|
||||
LDA #$10
|
||||
STA $1F81
|
||||
STA L1F00+$81
|
||||
LDA #$80
|
||||
STA $1F80
|
||||
STA L1F00+$80
|
||||
JMP L89AF
|
||||
|
||||
L8A4D JSR $402C
|
||||
L8A4D JSR L402C
|
||||
ASC "DIVE"8D00
|
||||
JSR L8BA7
|
||||
LDA #$6F
|
||||
STA $1F81
|
||||
STA L1F00+$81
|
||||
LDA #$80
|
||||
STA $1F80
|
||||
STA L1F00+$80
|
||||
JMP L89AF
|
||||
|
||||
L8A66 JSR L8C38
|
||||
LDY #$00
|
||||
L8A6B LDA $1F00,Y
|
||||
STA $1F82
|
||||
L8A6B LDA L1F00+$00,Y
|
||||
STA L1F00+$82
|
||||
SEC
|
||||
SBC $1F80
|
||||
SBC L1F00+$80
|
||||
BCS L8A90
|
||||
EOR #$FF
|
||||
LSR
|
||||
@@ -165,13 +174,13 @@ L8A6B LDA $1F00,Y
|
||||
LSR
|
||||
LSR
|
||||
TAX
|
||||
LDA $1F82
|
||||
LDA L1F00+$82
|
||||
SEC
|
||||
SBC L8B51,X
|
||||
BCS L8A8A
|
||||
JMP L8B20
|
||||
|
||||
L8A8A STA $1F84
|
||||
L8A8A STA L1F00+$84
|
||||
JMP L8AA4
|
||||
|
||||
L8A90 LSR
|
||||
@@ -179,17 +188,17 @@ L8A90 LSR
|
||||
LSR
|
||||
LSR
|
||||
TAX
|
||||
LDA $1F82
|
||||
LDA L1F00+$82
|
||||
CLC
|
||||
ADC L8B51,X
|
||||
STA $1F84
|
||||
STA L1F00+$84
|
||||
BCC L8AA4
|
||||
JMP L8B20
|
||||
|
||||
L8AA4 LDA $1F40,Y
|
||||
STA $1F83
|
||||
L8AA4 LDA L1F00+$40,Y
|
||||
STA L1F00+$83
|
||||
SEC
|
||||
SBC $1F81
|
||||
SBC L1F00+$81
|
||||
BCS L8AC6
|
||||
EOR #$FF
|
||||
LSR
|
||||
@@ -197,10 +206,10 @@ L8AA4 LDA $1F40,Y
|
||||
LSR
|
||||
LSR
|
||||
TAX
|
||||
LDA $1F83
|
||||
LDA L1F00+$83
|
||||
SEC
|
||||
SBC L8B61,X
|
||||
STA $1F85
|
||||
STA L1F00+$85
|
||||
BPL L8AD7
|
||||
JMP L8B20
|
||||
|
||||
@@ -209,52 +218,52 @@ L8AC6 LSR
|
||||
LSR
|
||||
LSR
|
||||
TAX
|
||||
LDA $1F83
|
||||
LDA L1F00+$83
|
||||
CLC
|
||||
ADC L8B61,X
|
||||
BMI L8B20
|
||||
STA $1F85
|
||||
L8AD7 STY $1F88
|
||||
LDA $1F86
|
||||
STA L1F00+$85
|
||||
L8AD7 STY L1F00+$88
|
||||
LDA L1F00+$86
|
||||
BEQ L8AEC
|
||||
LDA $1F82
|
||||
LDA L1F00+$82
|
||||
STA $60
|
||||
LDA $1F83
|
||||
LDA L1F00+$83
|
||||
STA $61
|
||||
JSR L8B87
|
||||
L8AEC LDY $1F88
|
||||
LDA $1F84
|
||||
L8AEC LDY L1F00+$88
|
||||
LDA L1F00+$84
|
||||
STA $60
|
||||
STA $1F00,Y
|
||||
LDA $1F85
|
||||
STA L1F00+$00,Y
|
||||
LDA L1F00+$85
|
||||
STA $61
|
||||
STA $1F40,Y
|
||||
STA L1F00+$40,Y
|
||||
JSR L8B69
|
||||
LDY $1F88
|
||||
LDY L1F00+$88
|
||||
INY
|
||||
CPY #$40
|
||||
BEQ L8B17
|
||||
LDA $1F86
|
||||
LDA L1F00+$86
|
||||
CMP #$02
|
||||
BCS L8B14
|
||||
BIT SPKR
|
||||
L8B14 JMP L8A6B
|
||||
|
||||
L8B17 LDA $1F86
|
||||
L8B17 LDA L1F00+$86
|
||||
BEQ L8B1F
|
||||
JSR WAIT
|
||||
L8B1F RTS
|
||||
|
||||
L8B20 BIT SPKR
|
||||
LDA $1F00,Y
|
||||
STA $1F82
|
||||
LDA $1F40,Y
|
||||
STA $1F83
|
||||
LDA L1F00+$00,Y
|
||||
STA L1F00+$82
|
||||
LDA L1F00+$40,Y
|
||||
STA L1F00+$83
|
||||
JSR L8B43
|
||||
STA $1F84
|
||||
STA L1F00+$84
|
||||
JSR L8B43
|
||||
AND #$7F
|
||||
STA $1F85
|
||||
STA L1F00+$85
|
||||
BIT SPKR
|
||||
JMP L8AD7
|
||||
|
||||
@@ -274,14 +283,14 @@ L8B69 LDA $61
|
||||
CLC
|
||||
ADC #$10
|
||||
TAY
|
||||
LDA $472C,Y
|
||||
LDA L472C,Y
|
||||
STA $FE
|
||||
LDA $47EC,Y
|
||||
LDA L47EC,Y
|
||||
STA $FF
|
||||
LDX $60
|
||||
LDY $48AC,X
|
||||
LDY L48AC,X
|
||||
INY
|
||||
LDA $49CB,X
|
||||
LDA L49CB,X
|
||||
ORA ($FE),Y
|
||||
STA ($FE),Y
|
||||
RTS
|
||||
@@ -290,22 +299,22 @@ L8B87 LDA $61
|
||||
CLC
|
||||
ADC #$10
|
||||
TAY
|
||||
LDA $472C,Y
|
||||
LDA L472C,Y
|
||||
STA $FE
|
||||
LDA $47EC,Y
|
||||
LDA L47EC,Y
|
||||
STA $FF
|
||||
LDX $60
|
||||
LDY $48AC,X
|
||||
LDY L48AC,X
|
||||
INY
|
||||
LDA $49CB,X
|
||||
LDA L49CB,X
|
||||
EOR #$FF
|
||||
AND ($FE),Y
|
||||
STA ($FE),Y
|
||||
RTS
|
||||
|
||||
L8BA7 LDA $1F80
|
||||
L8BA7 LDA L1F00+$80
|
||||
STA $60
|
||||
LDA $1F81
|
||||
LDA L1F00+$81
|
||||
SEC
|
||||
SBC #$03
|
||||
STA $61
|
||||
@@ -322,11 +331,11 @@ L8BA7 LDA $1F80
|
||||
JSR L8B87
|
||||
INC $61
|
||||
JSR L8B87
|
||||
LDA $1F80
|
||||
LDA L1F00+$80
|
||||
SEC
|
||||
SBC #$03
|
||||
STA $60
|
||||
LDA $1F81
|
||||
LDA L1F00+$81
|
||||
STA $61
|
||||
JSR L8B87
|
||||
INC $60
|
||||
@@ -359,23 +368,23 @@ L8C0A STA ($FC),Y
|
||||
L8C18 JSR L8C2F
|
||||
LDY #$3F
|
||||
L8C1D JSR L8B43
|
||||
STA $1F00,Y
|
||||
STA L1F00+$00,Y
|
||||
JSR L8B43
|
||||
AND #$7F
|
||||
STA $1F40,Y
|
||||
STA L1F00+$40,Y
|
||||
DEY
|
||||
BPL L8C1D
|
||||
RTS
|
||||
|
||||
L8C2F LDA #$3B
|
||||
STA $4E
|
||||
STA L4E00+$
|
||||
LDA #$67
|
||||
STA $4F
|
||||
RTS
|
||||
|
||||
L8C38 LDA $1F80
|
||||
L8C38 LDA L1F00+$80
|
||||
STA $60
|
||||
LDA $1F81
|
||||
LDA L1F00+$81
|
||||
SEC
|
||||
SBC #$03
|
||||
STA $61
|
||||
@@ -392,11 +401,11 @@ L8C38 LDA $1F80
|
||||
JSR L8B69
|
||||
INC $61
|
||||
JSR L8B69
|
||||
LDA $1F80
|
||||
LDA L1F00+$80
|
||||
SEC
|
||||
SBC #$03
|
||||
STA $60
|
||||
LDA $1F81
|
||||
LDA L1F00+$81
|
||||
STA $61
|
||||
JSR L8B69
|
||||
INC $60
|
||||
@@ -412,93 +421,93 @@ L8C38 LDA $1F80
|
||||
JSR L8B69
|
||||
RTS
|
||||
|
||||
L8C92 JSR $402C
|
||||
L8C92 JSR L402C
|
||||
ASC "HYPERWARP ENGAGED!"8D00
|
||||
LDA #$80
|
||||
STA $1F87
|
||||
STA L1F00+$87
|
||||
LDA #$00
|
||||
STA $1F86
|
||||
STA L1F00+$86
|
||||
JSR L8C2F
|
||||
L8CB6 JSR L8A66
|
||||
DEC $1F87
|
||||
DEC L1F00+$87
|
||||
BNE L8CB6
|
||||
LDA #$80
|
||||
STA $1F87
|
||||
STA L1F00+$87
|
||||
LDA #$01
|
||||
STA $1F86
|
||||
STA L1F00+$86
|
||||
JSR L8DE4
|
||||
JSR L8C2F
|
||||
L8CCE JSR L8A66
|
||||
DEC $1F87
|
||||
DEC L1F00+$87
|
||||
BNE L8CCE
|
||||
INC $1F86
|
||||
INC L1F00+$86
|
||||
L8CD9 JSR L8A66
|
||||
INC $1F86
|
||||
INC $1F86
|
||||
INC L1F00+$86
|
||||
INC L1F00+$86
|
||||
BPL L8CD9
|
||||
LDA $4EAF
|
||||
LDA L4E00+$AF
|
||||
LSR
|
||||
BCC L8D1C
|
||||
LSR
|
||||
BCC L8D1C
|
||||
STA $4F
|
||||
JSR $402C
|
||||
JSR L402C
|
||||
ASC "SHIP OFF COURSE!"8D00
|
||||
JSR L8B43
|
||||
AND #$07
|
||||
STA $1F89
|
||||
STA L1F00+$89
|
||||
JSR L8B43
|
||||
AND #$07
|
||||
STA $1F8A
|
||||
STA L1F00+$8A
|
||||
JSR L8B43
|
||||
AND #$07
|
||||
STA $1F8B
|
||||
STA L1F00+$8B
|
||||
L8D1C JSR L8E46
|
||||
RTS
|
||||
|
||||
L8D20 LDA $4EAF
|
||||
L8D20 LDA L4E00+$AF
|
||||
BNE L8D36
|
||||
JSR $402C
|
||||
JSR L402C
|
||||
ASC "NO FUEL!"878D00
|
||||
JMP L89AF
|
||||
|
||||
L8D36 SED
|
||||
SEC
|
||||
SBC #$01
|
||||
STA $4EAF
|
||||
STA L4E00+$AF
|
||||
CLD
|
||||
JSR L8BA7
|
||||
LDA #$80
|
||||
STA $1F80
|
||||
STA L1F00+$80
|
||||
LDA #$40
|
||||
STA $1F81
|
||||
JSR $402C
|
||||
STA L1F00+$81
|
||||
JSR L402C
|
||||
ASC "HYPERWARP TO:"8D
|
||||
ASC "XENO="00
|
||||
JSR L8DCA
|
||||
STA $1F89
|
||||
JSR $402C
|
||||
STA L1F00+$89
|
||||
JSR L402C
|
||||
ASC " YAKO="00
|
||||
JSR L8DCA
|
||||
STA $1F8A
|
||||
JSR $402C
|
||||
STA L1F00+$8A
|
||||
JSR L402C
|
||||
ASC " ZABO="00
|
||||
JSR L8DCA
|
||||
STA $1F8B
|
||||
JSR $402C
|
||||
STA L1F00+$8B
|
||||
JSR L402C
|
||||
ASC 8D
|
||||
ASC "PREPARE FOR HYPERWARP!"8D00
|
||||
JSR L8C2F
|
||||
L8DA7 JSR L8A66
|
||||
DEC $1F86
|
||||
LDA $1F86
|
||||
DEC L1F00+$86
|
||||
LDA L1F00+$86
|
||||
CMP #$02
|
||||
BNE L8DA7
|
||||
LDA #$40
|
||||
STA $1F87
|
||||
STA L1F00+$87
|
||||
JSR L8C2F
|
||||
L8DBC JSR L8A66
|
||||
DEC $1F87
|
||||
DEC L1F00+$87
|
||||
BNE L8DBC
|
||||
JSR L8C92
|
||||
JMP L89AF
|
||||
@@ -521,29 +530,29 @@ L8DE4 LDA #$28
|
||||
STA $21
|
||||
LDX #$25
|
||||
LDY #$14
|
||||
JSR $458A
|
||||
LDA $4EAF
|
||||
JSR L458A
|
||||
LDA L4E00+$AF
|
||||
JSR PRBYTE
|
||||
LDX #$25
|
||||
LDY #$15
|
||||
JSR $458A
|
||||
LDA $1F89
|
||||
JSR L458A
|
||||
LDA L1F00+$89
|
||||
JSR PRBYTE
|
||||
LDX #$25
|
||||
LDY #$16
|
||||
JSR $458A
|
||||
LDA $1F8A
|
||||
JSR L458A
|
||||
LDA L1F00+$8A
|
||||
JSR PRBYTE
|
||||
LDX #$25
|
||||
LDY #$17
|
||||
JSR $458A
|
||||
LDA $1F8B
|
||||
JSR L458A
|
||||
LDA L1F00+$8B
|
||||
JSR PRBYTE
|
||||
LDA #$20
|
||||
STA $21
|
||||
LDX #$00
|
||||
LDY #$17
|
||||
JSR $458A
|
||||
JSR L458A
|
||||
RTS
|
||||
|
||||
* PLANET COORDINATES
|
||||
@@ -552,16 +561,16 @@ L8E28 HEX 06050306010209040009
|
||||
L8E32 HEX 06040302030804000109
|
||||
L8E3C HEX 06050403040506050409
|
||||
|
||||
L8E46 LDA $1F89
|
||||
L8E46 LDA L1F00+$89
|
||||
CMP #$04
|
||||
BNE L8E78
|
||||
LDA $1F8A
|
||||
LDA L1F00+$8A
|
||||
CMP #$04
|
||||
BNE L8E78
|
||||
LDA $1F8B
|
||||
LDA L1F00+$8B
|
||||
CMP #$04
|
||||
BNE L8E78
|
||||
JSR $402C
|
||||
JSR L402C
|
||||
ASC 8D8D
|
||||
ASC "YOU HIT THE SUN!"8D00
|
||||
JSR L8C01
|
||||
@@ -569,27 +578,27 @@ L8E75 JMP L8E75
|
||||
|
||||
L8E78 LDX #$09
|
||||
L8E7A LDA L8E28,X
|
||||
CMP $1F89
|
||||
CMP L1F00+$89
|
||||
BNE L8E92
|
||||
LDA L8E32,X
|
||||
CMP $1F8A
|
||||
CMP L1F00+$8A
|
||||
BNE L8E92
|
||||
LDA L8E3C,X
|
||||
CMP $1F8B
|
||||
CMP L1F00+$8B
|
||||
BEQ L8EB8
|
||||
L8E92 DEX
|
||||
BPL L8E7A
|
||||
JSR $402C
|
||||
JSR L402C
|
||||
ASC "YOU ARE IN DEEP SPACE."8D00
|
||||
LDA #$0A
|
||||
STA $4E37
|
||||
STA L4E00+$37
|
||||
JMP L8F8A
|
||||
|
||||
L8EB8 TXA
|
||||
STA $4E37
|
||||
JSR $402C
|
||||
STA L4E00+$37
|
||||
JSR L402C
|
||||
ASC "YOU ARE ORBITING "00
|
||||
LDA $4E37
|
||||
LDA L4E00+$37
|
||||
CMP #$00
|
||||
BEQ L8EFB
|
||||
CMP #$01
|
||||
@@ -610,84 +619,84 @@ L8EB8 TXA
|
||||
BEQ L8F72
|
||||
JMP L8F80
|
||||
|
||||
L8EFB JSR $402C
|
||||
L8EFB JSR L402C
|
||||
ASC "EARTH."8D00
|
||||
JMP L8F8A
|
||||
|
||||
L8F09 JSR $402C
|
||||
L8F09 JSR L402C
|
||||
ASC "MERCURY."8D00
|
||||
JMP L8F8A
|
||||
|
||||
L8F19 JSR $402C
|
||||
L8F19 JSR L402C
|
||||
ASC "VENUS."8D00
|
||||
JMP L8F8A
|
||||
|
||||
L8F27 JSR $402C
|
||||
L8F27 JSR L402C
|
||||
ASC "MARS."8D00
|
||||
JMP L8F8A
|
||||
|
||||
L8F34 JSR $402C
|
||||
L8F34 JSR L402C
|
||||
ASC "JUPITER."8D00
|
||||
JMP L8F8A
|
||||
|
||||
L8F44 JSR $402C
|
||||
L8F44 JSR L402C
|
||||
ASC "SATURN."8D00
|
||||
JMP L8F8A
|
||||
|
||||
L8F53 JSR $402C
|
||||
L8F53 JSR L402C
|
||||
ASC "URANUS."8D00
|
||||
JMP L8F8A
|
||||
|
||||
L8F62 JSR $402C
|
||||
L8F62 JSR L402C
|
||||
ASC "NEPTUNE."8D00
|
||||
JMP L8F8A
|
||||
|
||||
L8F72 JSR $402C
|
||||
L8F72 JSR L402C
|
||||
ASC "PLUTO."8D00
|
||||
JMP L8F8A
|
||||
|
||||
L8F80 JSR $402C
|
||||
L8F80 JSR L402C
|
||||
ASC "X."8D00
|
||||
JMP L8F8A
|
||||
L8F8A RTS
|
||||
|
||||
L8F8B JSR L8BA7
|
||||
LDA #$80
|
||||
STA $1F80
|
||||
STA L1F00+$80
|
||||
LDA #$40
|
||||
STA $1F81
|
||||
JSR $402C
|
||||
STA L1F00+$81
|
||||
JSR L402C
|
||||
ASC "LANDING REQUESTED!"8D00
|
||||
JSR L8E46
|
||||
LDA $4E37
|
||||
LDA L4E00+$37
|
||||
CMP #$0A
|
||||
BNE L8FD0
|
||||
JSR $402C
|
||||
JSR L402C
|
||||
ASC "REQUEST DENIED!"8D00
|
||||
JMP L89AF
|
||||
|
||||
L8FD0 CMP #$00
|
||||
BNE L9002
|
||||
JSR $402C
|
||||
JSR L402C
|
||||
ASC "(INSERT PLAYER DISK)"8D00
|
||||
L8FED JSR L8A66
|
||||
LDA KBD
|
||||
CMP #$9B
|
||||
BNE L8FED
|
||||
LDA #$00
|
||||
STA $4E14
|
||||
STA L4E00+$14
|
||||
LDA #$04
|
||||
STA $4E13
|
||||
STA L4E00+$13
|
||||
RTS
|
||||
|
||||
L9002 JSR $402C
|
||||
L9002 JSR L402C
|
||||
ASC "(INSERT GALACTIC DISK)"8D00
|
||||
L901D JSR L8A66
|
||||
LDA KBD
|
||||
CMP #$9B
|
||||
BNE L901D
|
||||
LDA #$00
|
||||
STA $4E14
|
||||
LDA $4E37
|
||||
STA $4E13
|
||||
STA L4E00+$14
|
||||
LDA L4E00+$37
|
||||
STA L4E00+$13
|
||||
RTS
|
||||
|
@@ -20,18 +20,26 @@ COUT EQU $FDED
|
||||
SETINV EQU $FE80
|
||||
SETNORM EQU $FE84
|
||||
|
||||
L4A00 EQU $4A00
|
||||
L4D00 EQU $4D00
|
||||
L4E00 EQU $4E00
|
||||
L9154 EQU $9154
|
||||
L927D EQU $927D
|
||||
L933D EQU $933D
|
||||
L93FD EQU $93FD
|
||||
|
||||
*----------------------------
|
||||
|
||||
L4000 SEC
|
||||
LDA $00
|
||||
SBC $4D00,X
|
||||
SBC L4D00+$00,X
|
||||
ASL
|
||||
ASL
|
||||
JSR L44BD
|
||||
STA $17
|
||||
SEC
|
||||
LDA $01
|
||||
SBC $4D20,X
|
||||
SBC L4D00+$20,X
|
||||
ASL
|
||||
ASL
|
||||
JSR L44BD
|
||||
@@ -40,11 +48,11 @@ L4000 SEC
|
||||
|
||||
L401B SEC
|
||||
LDA $00
|
||||
SBC $4D00,X
|
||||
SBC L4D00+$00,X
|
||||
STA $17
|
||||
SEC
|
||||
LDA $01
|
||||
SBC $4D20,X
|
||||
SBC L4D00+$20,X
|
||||
STA $18
|
||||
RTS
|
||||
|
||||
@@ -68,9 +76,9 @@ L4046 LDA $FF
|
||||
PHA
|
||||
RTS
|
||||
|
||||
L404D LDA #$20
|
||||
L404D LDA #>HGR1
|
||||
STA $FD
|
||||
LDA #$00
|
||||
LDA #<HGR1
|
||||
STA $FC
|
||||
L4055 LDY #$00
|
||||
L4057 LDA ($FC),Y
|
||||
@@ -80,11 +88,11 @@ L4057 LDA ($FC),Y
|
||||
BNE L4057
|
||||
INC $FD
|
||||
LDA $FD
|
||||
CMP #$40
|
||||
CMP #>HGR2
|
||||
BCC L4055
|
||||
RTS
|
||||
|
||||
L4069 LDA $4E10
|
||||
L4069 LDA L4E00+$10
|
||||
CMP #$CD
|
||||
BNE L4079
|
||||
JSR L402C
|
||||
@@ -97,7 +105,7 @@ L4079 JSR L402C
|
||||
|
||||
L4084 LDA #$00
|
||||
STA $FC
|
||||
LDA #$4E
|
||||
LDA #L4E00+$
|
||||
STA $FD
|
||||
LDX #$00
|
||||
L408E LDA ($FC,X)
|
||||
@@ -332,13 +340,13 @@ L4435 LDA L4398
|
||||
BNE L443B
|
||||
RTS
|
||||
|
||||
L443B LDA |$00FC ; NOT ZP
|
||||
STA $44A5
|
||||
L443B LDA |$00FC ; NOT ZP - BUG, USE ZP MODE
|
||||
STA L44A5
|
||||
LDA #$01
|
||||
STA L44A4
|
||||
L4446 LDA |$00FD
|
||||
L4449 PHA
|
||||
LDX $44A5
|
||||
LDX L44A5
|
||||
L444D DEX
|
||||
BNE L444D
|
||||
BIT SPKR
|
||||
@@ -357,12 +365,12 @@ L4456 DEX
|
||||
CMP #$1B
|
||||
BEQ L4475
|
||||
STA L44A4
|
||||
DEC $44A5
|
||||
DEC L44A5
|
||||
JMP L4446
|
||||
|
||||
L4475 LDA |$00FD
|
||||
L4478 PHA
|
||||
LDX $44A5
|
||||
LDX L44A5
|
||||
L447C DEX
|
||||
BNE L447C
|
||||
BIT SPKR
|
||||
@@ -379,14 +387,15 @@ L4485 DEX
|
||||
SEC
|
||||
SBC #$01
|
||||
CMP #$01
|
||||
BEQ $44A6
|
||||
BEQ L44A6
|
||||
STA L44A4
|
||||
INC $44A5
|
||||
INC L44A5
|
||||
JMP L4475
|
||||
|
||||
L44A4 HEX 20
|
||||
HEX 31
|
||||
RTS
|
||||
L44A5 HEX 31
|
||||
|
||||
L44A6 RTS
|
||||
|
||||
L44A7 LDA #$C0
|
||||
STA $FC
|
||||
@@ -432,8 +441,8 @@ L44DE LDA #$28
|
||||
JSR L402C
|
||||
ASC 0A
|
||||
ASC "H.P.="00
|
||||
LDX $4E1C
|
||||
LDA $4E1B
|
||||
LDX L4E00+$1C
|
||||
LDA L4E00+$1B
|
||||
BNE L44FF
|
||||
JSR SETINV
|
||||
L44FF JSR PRNTAX
|
||||
@@ -443,8 +452,8 @@ L44FF JSR PRNTAX
|
||||
JSR L402C
|
||||
ASC 0A
|
||||
ASC "FOOD="00
|
||||
LDX $4E1E
|
||||
LDA $4E1D
|
||||
LDX L4E00+$1E
|
||||
LDA L4E00+$1D
|
||||
BNE L451E
|
||||
JSR SETINV
|
||||
L451E JSR PRNTAX
|
||||
@@ -454,16 +463,16 @@ L451E JSR PRNTAX
|
||||
JSR L402C
|
||||
ASC 0A
|
||||
ASC "EXP.="00
|
||||
LDA $4E20
|
||||
LDX $4E21
|
||||
LDA L4E00+$20
|
||||
LDX L4E00+$21
|
||||
JSR PRNTAX
|
||||
LDA #$1E
|
||||
STA $24
|
||||
JSR L402C
|
||||
ASC 0A
|
||||
ASC "GOLD="00
|
||||
LDA $4E22
|
||||
LDX $4E23
|
||||
LDA L4E00+$22
|
||||
LDX L4E00+$23
|
||||
JSR PRNTAX
|
||||
LDA #$1E
|
||||
STA $21
|
||||
@@ -554,9 +563,9 @@ L45E1 STA $AB
|
||||
LDA $A2
|
||||
PHA
|
||||
LDX $A0
|
||||
LDY $9154,X
|
||||
LDY L9154,X
|
||||
STY $AA
|
||||
LDA $93FD,X
|
||||
LDA L93FD,X
|
||||
ASL
|
||||
TAX
|
||||
LDA L463B,X
|
||||
@@ -566,9 +575,9 @@ L45E1 STA $AB
|
||||
LDX #$10
|
||||
STX $A8
|
||||
L4604 LDY $A2
|
||||
LDA $927D,Y
|
||||
LDA L927D,Y
|
||||
STA $A3
|
||||
LDA $933D,Y
|
||||
LDA L933D,Y
|
||||
STA $A4
|
||||
LDX #$02
|
||||
STX $A9
|
||||
|
BIN
ultima2/ULTIMA.II
Normal file
BIN
ultima2/ULTIMA.II
Normal file
Binary file not shown.
1929
ultima2/ULTIMA.II.S
1929
ultima2/ULTIMA.II.S
File diff suppressed because it is too large
Load Diff
6045
ultima2/ULTIMA.II_Output.txt
Normal file
6045
ultima2/ULTIMA.II_Output.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -12,6 +12,13 @@
|
||||
|
||||
*----------------------------
|
||||
|
||||
L472C EQU $472C
|
||||
L47EC EQU $47EC
|
||||
L4B00 EQU $4B00
|
||||
L4C00 EQU $4C00
|
||||
|
||||
*----------------------------
|
||||
|
||||
L0240 LDA $10
|
||||
CMP #$FF
|
||||
BNE L0249
|
||||
@@ -42,30 +49,30 @@ L025F CLC
|
||||
L0270 LDA $10
|
||||
JMP L0291
|
||||
|
||||
L0275 STA $07
|
||||
L0275 STA $06+1
|
||||
LDA #$00
|
||||
LSR $07
|
||||
LSR $06+1
|
||||
ROR
|
||||
LSR $07
|
||||
LSR $06+1
|
||||
ROR
|
||||
ADC $04
|
||||
ADC $02
|
||||
STA $06
|
||||
CLC
|
||||
LDA $07
|
||||
LDA $06+1
|
||||
ADC #$10
|
||||
STA $07
|
||||
STA $06+1
|
||||
LDA ($06),Y
|
||||
LSR
|
||||
AND #$FE
|
||||
L0291 CMP $4C00,X
|
||||
L0291 CMP L4C00,X
|
||||
BNE L02A0
|
||||
CMP #$00
|
||||
BEQ L02A0
|
||||
CMP #$2E
|
||||
BEQ L02A0
|
||||
ORA #$80
|
||||
L02A0 STA $4B00,X
|
||||
L02A0 STA L4B00,X
|
||||
INX
|
||||
INC $04
|
||||
LDA $04
|
||||
@@ -76,18 +83,18 @@ L02A0 STA $4B00,X
|
||||
LDA $05
|
||||
CMP #$0A
|
||||
BNE L025F
|
||||
LDA $4B6D
|
||||
LDA L4B00+$6D
|
||||
STA $12
|
||||
LDA $4B59
|
||||
LDA L4B00+$59
|
||||
STA $13
|
||||
LDA $4B81
|
||||
LDA L4B00+$81
|
||||
STA $14
|
||||
LDA $4B6C
|
||||
LDA L4B00+$6C
|
||||
STA $16
|
||||
LDA $4B6E
|
||||
LDA L4B00+$6E
|
||||
STA $15
|
||||
LDA $11
|
||||
STA $4B6D
|
||||
STA L4B00+$6D
|
||||
JMP L035E
|
||||
|
||||
L02D7 SEC
|
||||
@@ -114,29 +121,29 @@ L02F1 CLC
|
||||
LDA $05
|
||||
ADC $03
|
||||
AND #$3F
|
||||
STA $07
|
||||
STA $06+1
|
||||
LDA #$00
|
||||
LSR $07
|
||||
LSR $06+1
|
||||
ROR
|
||||
LSR $07
|
||||
LSR $06+1
|
||||
ROR
|
||||
ADC $17
|
||||
STA $06
|
||||
CLC
|
||||
LDA $07
|
||||
LDA $06+1
|
||||
ADC #$10
|
||||
STA $07
|
||||
STA $06+1
|
||||
LDA ($06),Y
|
||||
LSR
|
||||
AND #$FE
|
||||
CMP $4C00,X
|
||||
CMP L4C00,X
|
||||
BNE L032A
|
||||
CMP #$00
|
||||
BEQ L032A
|
||||
CMP #$2E
|
||||
BEQ L032A
|
||||
ORA #$80
|
||||
L032A STA $4B00,X
|
||||
L032A STA L4B00,X
|
||||
INX
|
||||
INC $04
|
||||
LDA $04
|
||||
@@ -147,25 +154,25 @@ L032A STA $4B00,X
|
||||
LDA $05
|
||||
CMP #$0A
|
||||
BNE L02F1
|
||||
LDA $4B6D
|
||||
LDA L4B00+$6D
|
||||
STA $12
|
||||
LDA $4B59
|
||||
LDA L4B00+$59
|
||||
STA $13
|
||||
LDA $4B81
|
||||
LDA L4B00+$81
|
||||
STA $14
|
||||
LDA $4B6C
|
||||
LDA L4B00+$6C
|
||||
STA $16
|
||||
LDA $4B6E
|
||||
LDA L4B00+$6E
|
||||
STA $15
|
||||
LDA $11
|
||||
STA $4B6D
|
||||
STA L4B00+$6D
|
||||
L035E LDX #$00
|
||||
STX $0C
|
||||
L0362 LDY $0C
|
||||
LDA $472C,Y
|
||||
LDA L472C,Y
|
||||
STA L0399+1
|
||||
STA L03A5+1
|
||||
LDA $47EC,Y
|
||||
LDA L47EC,Y
|
||||
STA L0399+2
|
||||
STA L03A5+2
|
||||
TYA
|
||||
@@ -180,12 +187,12 @@ L0362 LDY $0C
|
||||
STA L0394+1
|
||||
ADC #$01
|
||||
STA L039F+1
|
||||
L038F LDY $4B00,X
|
||||
L038F LDY L4B00,X
|
||||
BMI L03A8
|
||||
L0394 LDA $FFFF,Y
|
||||
LDY $0D
|
||||
L0399 STA $FFFF,Y
|
||||
LDY $4B00,X
|
||||
LDY L4B00,X
|
||||
L039F LDA $FFFF,Y
|
||||
LDY $0D
|
||||
INY
|
||||
@@ -209,9 +216,9 @@ L03A8 INX
|
||||
JMP L0362
|
||||
|
||||
L03C7 LDX #$00
|
||||
L03C9 LDA $4B00,X
|
||||
L03C9 LDA L4B00,X
|
||||
AND #$7F
|
||||
STA $4C00,X
|
||||
STA L4C00,X
|
||||
INX
|
||||
CPX #$F0
|
||||
BNE L03C9
|
||||
|
1
ultima2/_FileInformation.txt
Normal file
1
ultima2/_FileInformation.txt
Normal file
@@ -0,0 +1 @@
|
||||
ULTIMA.II=Type(00),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
BIN
ultima2/disks/ultima_ii-1.dsk
Normal file
BIN
ultima2/disks/ultima_ii-1.dsk
Normal file
Binary file not shown.
Reference in New Issue
Block a user