GEN_BLK LDA $E4,x ;x座標下バイト
AND #$F0
STA $9A
LDA $14E0,x ;x座標上バイト
STA $9B
LDA $D8,x ;y座標下バイト
AND #$F0
STA $98
LDA $14D4,x ;y座標上バイト
STA $99
REP #$30
LDA.W #$0125 ;生成するタイルの16x番号
JSR SUBL_SET_MAP16
SEP #$30
RTS
SUBL_SET_MAP16 PHX
TAX
JSR SUB_8034
PLX
RTS
RETURN18 PLX
PLB
RTS
SUB_8034 SEP #$20
PHB
LDA #$00
PHA
PLB
REP #$30
PHX
LDA $9A
STA $0C
LDA $98
STA $0E
LDA.W #$0000
SEP #$20
LDA $5B
STA $09
LDA $1933
BEQ NO_SHIFT
LSR $09
NO_SHIFT LDY $0E
LDA $09
AND #$01
BEQ HORIZ
LDA $9B
STA $00
LDA $99
STA $9B
LDA $00
STA $99
LDY $0C
HORIZ CPY.W #$0200
BCS RETURN18
LDA $1933
ASL A
TAX
LDA $BEA8,x
STA $65
LDA $BEA9,x
STA $66
STZ $67
LDA $1925
ASL A
TAY
LDA ($65),y
STA $04
INY
LDA ($65),y
STA $05
STZ $06
LDA $9B
STA $07
ASL A
CLC
ADC $07
TAY
LDA ($04),y
STA $6B
STA $6E
INY
LDA ($04),y
STA $6C
STA $6F
LDA #$7E
STA $6D
INC A
STA $70
LDA $09
AND #$01
BEQ NO_AND
LDA $99
LSR A
LDA $9B
AND #$01
BRA LABEL52
NO_AND LDA $9B
LSR A
LDA $99
LABEL52 ROL A
ASL A
ASL A
ORA #$20
STA $04
CPX.W #$0000
BEQ NO_ADD
CLC
ADC #$10
STA $04
NO_ADD LDA $98
AND #$F0
CLC
ASL A
ROL A
STA $05
ROL A
AND #$03
ORA $04
STA $06
LDA $9A
AND #$F0
LSR A
LSR A
LSR A
STA $04
LDA $05
AND #$C0
ORA $04
STA $07
REP #$20
LDA $09
AND.W #$0001
BNE LABEL51
LDA $1A
SEC
SBC.W #$0080
TAX
LDY $1C
LDA $1933
BEQ LABEL50
LDX $1E
LDA $20
SEC
SBC.W #$0080
TAY
BRA LABEL50
LABEL51 LDX $1A
LDA $1C
SEC
SBC.W #$0080
TAY
LDA $1933
BEQ LABEL50
LDA $1E
SEC
SBC.W #$0080
TAX
LDY $20
LABEL50 STX $08
STY $0A
LDA $98
AND.W #$01F0
STA $04
LDA $9A
LSR A
LSR A
LSR A
LSR A
AND.W #$000F
ORA $04
TAY
PLA
SEP #$20
STA [$6B],y
XBA
STA [$6E],y
XBA
REP #$20
ASL A
TAY
PHK
PER.W #$0006
PEA $804C
JML $00C0FB
MAP16_RETURN PLB
RTS