SNES menu: add time setting dialog + begin work on main menu
This commit is contained in:
parent
c4d3756a18
commit
9af83658e7
@ -1,4 +1,4 @@
|
||||
OBJS = header.ips reset.o65 main.o65 font.o65 palette.o65 data.o65 const.o65 logo.o65 text.o65 dma.o65 menu.o65 pad.o65 # gfx.o65 # vars.o65
|
||||
OBJS = header.ips reset.o65 main.o65 font.o65 palette.o65 data.o65 const.o65 logo.o65 logospr.o65 text.o65 dma.o65 menu.o65 pad.o65 time.o65 mainmenu.o65 # gfx.o65 # vars.o65
|
||||
|
||||
all: menu.bin menu.smc
|
||||
|
||||
|
||||
@ -64,193 +64,193 @@ font7 .byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $30, $00, $30, $08, $30, $08, $30, $08
|
||||
.byt $20, $18, $00, $10, $30, $00, $00, $18
|
||||
.byt $6c, $00, $6c, $12, $24, $12, $00, $12
|
||||
.byt $00, $30, $30, $48, $30, $48, $30, $48
|
||||
.byt $20, $58, $00, $30, $30, $48, $00, $30
|
||||
.byt $00, $6c, $6c, $92, $24, $5a, $00, $36
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $6c, $00, $6c, $12, $fe, $00, $6c, $13
|
||||
.byt $fe, $00, $6c, $13, $6c, $12, $00, $36
|
||||
.byt $10, $00, $7c, $44, $c6, $38, $f0, $03
|
||||
.byt $1e, $60, $c6, $09, $7c, $47, $10, $2e
|
||||
.byt $42, $00, $a4, $01, $48, $12, $10, $24
|
||||
.byt $24, $08, $4a, $10, $84, $21, $00, $42
|
||||
.byt $70, $40, $c0, $38, $c4, $24, $6e, $4a
|
||||
.byt $c4, $33, $c4, $22, $7c, $46, $00, $3e
|
||||
.byt $18, $00, $18, $04, $10, $0c, $00, $08
|
||||
.byt $00, $6c, $6c, $92, $fe, $01, $6c, $92
|
||||
.byt $fe, $01, $6c, $92, $00, $6c, $00, $00
|
||||
.byt $10, $6c, $7c, $c6, $c6, $39, $f0, $0e
|
||||
.byt $1e, $e1, $c6, $39, $7c, $c6, $10, $6c
|
||||
.byt $42, $a5, $a4, $5a, $48, $b4, $10, $6c
|
||||
.byt $24, $5a, $4a, $b5, $84, $4a, $00, $84
|
||||
.byt $70, $c8, $c0, $34, $c4, $2e, $6e, $db
|
||||
.byt $c4, $2a, $c4, $3a, $7c, $c6, $00, $7c
|
||||
.byt $00, $18, $18, $24, $10, $28, $00, $10
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $18, $00, $30, $2c, $30, $08, $30, $08
|
||||
.byt $30, $08, $30, $28, $18, $00, $00, $0c
|
||||
.byt $30, $00, $18, $08, $18, $04, $18, $04
|
||||
.byt $18, $04, $18, $0c, $30, $0c, $00, $18
|
||||
.byt $00, $00, $6c, $00, $38, $06, $7c, $00
|
||||
.byt $38, $06, $6c, $12, $00, $36, $00, $00
|
||||
.byt $00, $00, $30, $00, $30, $08, $fc, $00
|
||||
.byt $30, $4e, $30, $08, $00, $18, $00, $00
|
||||
.byt $18, $24, $30, $68, $30, $48, $30, $48
|
||||
.byt $30, $48, $30, $68, $18, $24, $00, $18
|
||||
.byt $30, $48, $18, $2c, $18, $24, $18, $24
|
||||
.byt $18, $24, $18, $2c, $30, $48, $00, $30
|
||||
.byt $00, $6c, $6c, $92, $38, $44, $7c, $82
|
||||
.byt $38, $44, $6c, $92, $00, $6c, $00, $00
|
||||
.byt $00, $18, $18, $24, $18, $66, $7e, $81
|
||||
.byt $18, $66, $18, $24, $00, $18, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $18, $00, $18, $04, $10, $08
|
||||
.byt $00, $00, $00, $00, $00, $00, $fc, $00
|
||||
.byt $00, $18, $18, $24, $18, $24, $10, $28
|
||||
.byt $00, $00, $00, $00, $00, $7e, $7e, $81
|
||||
.byt $00, $7e, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $18, $00, $18, $04, $00, $0c
|
||||
.byt $18, $00, $18, $04, $30, $0c, $30, $08
|
||||
.byt $30, $08, $60, $18, $60, $10, $00, $30
|
||||
.byt $7c, $44, $e6, $38, $c6, $31, $c6, $21
|
||||
.byt $c6, $21, $ce, $29, $7c, $47, $00, $3e
|
||||
.byt $08, $00, $18, $04, $18, $04, $18, $04
|
||||
.byt $18, $04, $18, $04, $18, $04, $00, $0c
|
||||
.byt $fc, $00, $00, $7e, $06, $00, $7c, $07
|
||||
.byt $c0, $be, $c0, $20, $fe, $00, $00, $7f
|
||||
.byt $fc, $00, $00, $7e, $06, $00, $3c, $07
|
||||
.byt $06, $18, $06, $01, $fc, $07, $00, $7e
|
||||
.byt $c6, $00, $c6, $21, $c0, $23, $7e, $40
|
||||
.byt $06, $39, $06, $01, $06, $01, $00, $03
|
||||
.byt $fe, $00, $00, $7f, $c0, $00, $fc, $04
|
||||
.byt $06, $78, $06, $01, $fc, $07, $00, $7e
|
||||
.byt $7c, $00, $00, $3e, $c0, $00, $fc, $04
|
||||
.byt $c6, $38, $c6, $a1, $7c, $07, $00, $3e
|
||||
.byt $fe, $00, $00, $7f, $06, $00, $06, $01
|
||||
.byt $06, $01, $06, $01, $06, $01, $00, $03
|
||||
.byt $7c, $04, $06, $38, $c6, $01, $7c, $47
|
||||
.byt $c6, $38, $c6, $21, $7c, $47, $00, $3e
|
||||
.byt $7c, $04, $06, $38, $c6, $01, $7e, $41
|
||||
.byt $06, $39, $06, $01, $7c, $07, $00, $3e
|
||||
.byt $00, $00, $00, $00, $30, $00, $00, $18
|
||||
.byt $00, $00, $30, $00, $00, $18, $00, $00
|
||||
.byt $00, $00, $00, $00, $30, $00, $00, $18
|
||||
.byt $00, $00, $30, $00, $20, $18, $00, $10
|
||||
.byt $00, $00, $18, $00, $30, $0c, $60, $18
|
||||
.byt $30, $00, $18, $00, $00, $0c, $00, $00
|
||||
.byt $00, $00, $00, $00, $3c, $00, $00, $1e
|
||||
.byt $00, $00, $3c, $00, $00, $1e, $00, $00
|
||||
.byt $00, $00, $30, $00, $18, $00, $0c, $00
|
||||
.byt $18, $06, $30, $0c, $00, $18, $00, $00
|
||||
.byt $f8, $08, $0c, $70, $0c, $02, $18, $06
|
||||
.byt $30, $0c, $00, $18, $30, $00, $00, $18
|
||||
.byt $7c, $04, $06, $38, $c6, $01, $de, $21
|
||||
.byt $de, $21, $c0, $2f, $7e, $40, $00, $3f
|
||||
.byt $7c, $04, $06, $38, $c6, $01, $de, $21
|
||||
.byt $c6, $29, $c6, $21, $c6, $21, $00, $63
|
||||
.byt $fc, $04, $06, $78, $c6, $01, $dc, $27
|
||||
.byt $c6, $28, $c6, $21, $fc, $07, $00, $7e
|
||||
.byt $7e, $00, $00, $3f, $c0, $00, $c0, $20
|
||||
.byt $c0, $20, $c0, $20, $7e, $40, $00, $3f
|
||||
.byt $fc, $00, $06, $7a, $c6, $01, $c6, $21
|
||||
.byt $c6, $21, $c6, $23, $fc, $03, $00, $7e
|
||||
.byt $fe, $00, $00, $7f, $c0, $00, $f8, $00
|
||||
.byt $c0, $3c, $c0, $20, $fe, $00, $00, $7f
|
||||
.byt $fe, $00, $00, $7f, $c0, $00, $f8, $00
|
||||
.byt $c0, $3c, $c0, $20, $c0, $20, $00, $60
|
||||
.byt $7e, $00, $00, $3f, $c0, $00, $ce, $20
|
||||
.byt $c6, $21, $c6, $21, $7c, $47, $00, $3e
|
||||
.byt $c6, $00, $06, $61, $c6, $01, $de, $21
|
||||
.byt $c6, $29, $c6, $21, $c6, $21, $00, $63
|
||||
.byt $18, $00, $18, $04, $18, $04, $18, $04
|
||||
.byt $18, $04, $18, $04, $18, $04, $00, $0c
|
||||
.byt $0c, $00, $0c, $02, $0c, $02, $0c, $02
|
||||
.byt $0c, $02, $0c, $06, $f8, $06, $00, $7c
|
||||
.byt $c6, $00, $c6, $21, $c0, $23, $fc, $04
|
||||
.byt $c6, $38, $c6, $21, $c6, $21, $00, $63
|
||||
.byt $c0, $00, $00, $60, $c0, $00, $c0, $20
|
||||
.byt $c0, $20, $c0, $20, $fc, $00, $00, $7e
|
||||
.byt $fc, $04, $16, $68, $d6, $09, $d6, $29
|
||||
.byt $c6, $29, $c6, $21, $c6, $21, $00, $63
|
||||
.byt $fc, $04, $06, $78, $c6, $01, $c6, $21
|
||||
.byt $c6, $21, $c6, $21, $c6, $21, $00, $63
|
||||
.byt $7c, $04, $06, $38, $c6, $01, $c6, $21
|
||||
.byt $c6, $21, $c6, $21, $7c, $47, $00, $3e
|
||||
.byt $fc, $04, $06, $78, $c6, $01, $c6, $01
|
||||
.byt $fc, $07, $c0, $3e, $c0, $20, $00, $60
|
||||
.byt $7c, $00, $06, $3a, $c6, $01, $c6, $21
|
||||
.byt $c6, $21, $ce, $21, $7e, $41, $00, $3f
|
||||
.byt $fc, $04, $06, $78, $c6, $01, $fc, $06
|
||||
.byt $c6, $39, $c6, $21, $c6, $21, $00, $63
|
||||
.byt $7e, $00, $00, $3f, $c0, $00, $7c, $44
|
||||
.byt $06, $38, $06, $01, $fc, $07, $00, $7e
|
||||
.byt $fe, $00, $00, $7f, $18, $00, $18, $04
|
||||
.byt $18, $04, $18, $04, $18, $04, $00, $0c
|
||||
.byt $c6, $00, $06, $61, $c6, $01, $c6, $21
|
||||
.byt $c6, $21, $c6, $21, $7c, $47, $00, $3e
|
||||
.byt $c6, $00, $06, $61, $c6, $01, $c6, $21
|
||||
.byt $66, $01, $36, $01, $1e, $01, $00, $0f
|
||||
.byt $c6, $00, $06, $61, $c6, $01, $d6, $21
|
||||
.byt $d6, $29, $d6, $29, $7e, $41, $00, $3f
|
||||
.byt $c6, $00, $06, $61, $c6, $01, $7c, $47
|
||||
.byt $c6, $38, $c6, $21, $c6, $21, $00, $63
|
||||
.byt $c6, $00, $06, $61, $c6, $01, $7e, $41
|
||||
.byt $06, $39, $06, $03, $fc, $03, $00, $7e
|
||||
.byt $fe, $00, $00, $7f, $06, $00, $7c, $47
|
||||
.byt $c0, $3e, $c0, $20, $fe, $00, $00, $7f
|
||||
.byt $3c, $00, $30, $0e, $30, $08, $30, $08
|
||||
.byt $30, $08, $30, $08, $3c, $00, $00, $1e
|
||||
.byt $30, $00, $30, $08, $18, $00, $18, $04
|
||||
.byt $18, $04, $0c, $00, $0c, $02, $00, $06
|
||||
.byt $3c, $00, $0c, $12, $0c, $02, $0c, $02
|
||||
.byt $0c, $02, $0c, $02, $3c, $02, $00, $1e
|
||||
.byt $18, $00, $3c, $24, $66, $18, $00, $33
|
||||
.byt $00, $18, $18, $24, $18, $24, $00, $18
|
||||
.byt $03, $04, $06, $09, $0c, $12, $18, $24
|
||||
.byt $30, $48, $60, $90, $c0, $20, $00, $c0
|
||||
.byt $7c, $c6, $e6, $39, $c6, $29, $c6, $29
|
||||
.byt $c6, $29, $ce, $39, $7c, $c6, $00, $7c
|
||||
.byt $18, $34, $18, $24, $18, $24, $18, $24
|
||||
.byt $18, $24, $18, $24, $18, $24, $00, $18
|
||||
.byt $fc, $06, $06, $f9, $06, $79, $7c, $86
|
||||
.byt $c0, $bc, $c0, $3e, $fe, $01, $00, $fe
|
||||
.byt $fc, $06, $06, $f9, $06, $39, $3c, $46
|
||||
.byt $06, $39, $06, $f9, $fc, $06, $00, $fc
|
||||
.byt $c6, $29, $c6, $29, $c6, $39, $7e, $c1
|
||||
.byt $06, $79, $06, $09, $06, $09, $00, $06
|
||||
.byt $fe, $01, $c0, $3e, $c0, $3c, $fc, $06
|
||||
.byt $06, $f9, $06, $f9, $fc, $06, $00, $f8
|
||||
.byt $7c, $c2, $c0, $3c, $c0, $3c, $fc, $06
|
||||
.byt $c6, $39, $c6, $39, $7c, $c6, $00, $7c
|
||||
.byt $fc, $06, $06, $f9, $06, $09, $06, $09
|
||||
.byt $06, $09, $06, $09, $06, $09, $00, $06
|
||||
.byt $7c, $c6, $c6, $39, $c6, $39, $7c, $c6
|
||||
.byt $c6, $39, $c6, $39, $7c, $c6, $00, $7c
|
||||
.byt $7c, $c6, $c6, $39, $c6, $39, $7e, $c1
|
||||
.byt $06, $79, $06, $79, $7c, $86, $00, $7c
|
||||
.byt $00, $00, $00, $30, $30, $48, $00, $30
|
||||
.byt $00, $30, $30, $48, $00, $30, $00, $00
|
||||
.byt $00, $00, $00, $30, $30, $48, $00, $30
|
||||
.byt $00, $30, $30, $48, $20, $50, $00, $20
|
||||
.byt $00, $18, $18, $24, $30, $48, $60, $90
|
||||
.byt $30, $48, $18, $24, $00, $18, $00, $00
|
||||
.byt $00, $00, $00, $3c, $3c, $42, $00, $3c
|
||||
.byt $00, $3c, $3c, $42, $00, $3c, $00, $00
|
||||
.byt $00, $30, $30, $48, $18, $24, $0c, $12
|
||||
.byt $18, $24, $30, $48, $00, $30, $00, $00
|
||||
.byt $f8, $0c, $0c, $f2, $0c, $12, $18, $24
|
||||
.byt $30, $48, $00, $30, $30, $48, $00, $30
|
||||
.byt $7c, $c6, $c6, $39, $c6, $39, $de, $21
|
||||
.byt $de, $21, $c0, $3e, $7e, $c1, $00, $7e
|
||||
.byt $7c, $c6, $c6, $39, $c6, $39, $de, $21
|
||||
.byt $c6, $39, $c6, $29, $c6, $29, $00, $c6
|
||||
.byt $fc, $06, $c6, $39, $c6, $39, $dc, $26
|
||||
.byt $c6, $39, $c6, $39, $fc, $06, $00, $fc
|
||||
.byt $7e, $c1, $c0, $3e, $c0, $20, $c0, $20
|
||||
.byt $c0, $20, $c0, $3e, $7e, $c1, $00, $7e
|
||||
.byt $fc, $02, $c6, $3b, $c6, $29, $c6, $29
|
||||
.byt $c6, $29, $c6, $3b, $fc, $02, $00, $fc
|
||||
.byt $fe, $01, $c0, $3e, $c0, $38, $f8, $04
|
||||
.byt $c0, $38, $c0, $3e, $fe, $01, $00, $fe
|
||||
.byt $fe, $01, $c0, $3e, $c0, $38, $f8, $04
|
||||
.byt $c0, $38, $c0, $20, $c0, $20, $00, $c0
|
||||
.byt $7e, $c1, $c0, $3e, $c0, $2e, $ce, $33
|
||||
.byt $c6, $29, $c6, $39, $7c, $c6, $00, $7c
|
||||
.byt $c6, $29, $c6, $29, $c6, $39, $fe, $01
|
||||
.byt $c6, $39, $c6, $29, $c6, $29, $00, $c6
|
||||
.byt $18, $24, $18, $24, $18, $24, $18, $24
|
||||
.byt $18, $24, $18, $24, $18, $24, $00, $18
|
||||
.byt $0c, $12, $0c, $12, $0c, $12, $0c, $12
|
||||
.byt $0c, $12, $0c, $f6, $f8, $06, $00, $fc
|
||||
.byt $c6, $29, $c6, $29, $c6, $38, $fc, $06
|
||||
.byt $c6, $39, $c6, $29, $c6, $29, $00, $c7
|
||||
.byt $c0, $20, $c0, $20, $c0, $20, $c0, $20
|
||||
.byt $c0, $20, $c0, $3c, $fc, $02, $00, $fc
|
||||
.byt $ec, $16, $d6, $29, $d6, $29, $d6, $29
|
||||
.byt $c6, $39, $c6, $29, $c6, $29, $00, $c7
|
||||
.byt $fc, $06, $c6, $39, $c6, $29, $c6, $29
|
||||
.byt $c6, $29, $c6, $29, $c6, $29, $00, $c6
|
||||
.byt $7c, $c6, $c6, $39, $c6, $29, $c6, $29
|
||||
.byt $c6, $29, $c6, $39, $7c, $c6, $00, $7c
|
||||
.byt $fc, $06, $c6, $39, $c6, $29, $c6, $39
|
||||
.byt $fc, $06, $c0, $3c, $c0, $20, $00, $c0
|
||||
.byt $7c, $82, $c6, $bb, $c6, $29, $c6, $29
|
||||
.byt $c6, $29, $ce, $31, $7e, $c1, $00, $7e
|
||||
.byt $fc, $06, $c6, $39, $c6, $39, $fc, $06
|
||||
.byt $c6, $39, $c6, $29, $c6, $29, $00, $c6
|
||||
.byt $7e, $c1, $c0, $3e, $c0, $3c, $7c, $c6
|
||||
.byt $06, $79, $06, $f9, $fc, $06, $00, $fc
|
||||
.byt $fe, $01, $18, $e6, $18, $24, $18, $24
|
||||
.byt $18, $24, $18, $24, $18, $24, $00, $18
|
||||
.byt $c6, $29, $c6, $29, $c6, $29, $c6, $29
|
||||
.byt $c6, $29, $c6, $39, $7c, $c6, $00, $7c
|
||||
.byt $c6, $29, $c6, $29, $c6, $29, $c6, $29
|
||||
.byt $66, $99, $36, $49, $1e, $21, $00, $1f
|
||||
.byt $c6, $29, $c6, $29, $c6, $39, $d6, $29
|
||||
.byt $d6, $29, $d6, $29, $6e, $d1, $00, $6e
|
||||
.byt $c6, $29, $c6, $29, $c6, $39, $7c, $c6
|
||||
.byt $c6, $39, $c6, $29, $c6, $29, $00, $c6
|
||||
.byt $c6, $29, $c6, $29, $c6, $39, $7e, $c1
|
||||
.byt $06, $79, $06, $f9, $fc, $06, $00, $fc
|
||||
.byt $fe, $01, $06, $f9, $06, $79, $7c, $c6
|
||||
.byt $c0, $3c, $c0, $3e, $fe, $01, $00, $fe
|
||||
.byt $3c, $42, $30, $4c, $30, $48, $30, $48
|
||||
.byt $30, $48, $30, $4c, $3c, $42, $00, $3c
|
||||
.byt $c0, $20, $60, $90, $30, $48, $18, $24
|
||||
.byt $0c, $12, $06, $09, $03, $04, $00, $03
|
||||
.byt $3c, $42, $0c, $32, $0c, $12, $0c, $12
|
||||
.byt $0c, $12, $0c, $32, $3c, $42, $00, $3c
|
||||
.byt $18, $24, $3c, $66, $66, $99, $00, $66
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $fe, $00, $00, $7f
|
||||
.byt $30, $00, $18, $00, $18, $04, $00, $0c
|
||||
.byt $00, $00, $00, $7e, $7e, $81, $00, $7e
|
||||
.byt $30, $48, $18, $24, $18, $24, $00, $18
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $7c, $04, $06, $38
|
||||
.byt $7e, $41, $c6, $39, $7e, $41, $00, $3f
|
||||
.byt $c0, $00, $c0, $20, $fc, $04, $c6, $38
|
||||
.byt $c6, $21, $c6, $21, $fc, $07, $00, $7e
|
||||
.byt $00, $00, $00, $00, $7e, $40, $c0, $3f
|
||||
.byt $c0, $20, $c0, $20, $7e, $40, $00, $3f
|
||||
.byt $06, $00, $06, $01, $7e, $41, $c6, $39
|
||||
.byt $c6, $21, $c6, $21, $7e, $41, $00, $3f
|
||||
.byt $00, $00, $00, $00, $7c, $44, $c6, $38
|
||||
.byt $de, $21, $c0, $2f, $7e, $40, $00, $3f
|
||||
.byt $1e, $00, $30, $2f, $30, $08, $3c, $00
|
||||
.byt $30, $0e, $30, $08, $30, $08, $30, $08
|
||||
.byt $00, $00, $00, $00, $7e, $40, $c6, $38
|
||||
.byt $c6, $21, $7e, $41, $06, $39, $7c, $03
|
||||
.byt $c0, $00, $c0, $20, $fc, $04, $c6, $38
|
||||
.byt $c6, $21, $c6, $21, $c6, $21, $00, $63
|
||||
.byt $00, $00, $18, $00, $00, $0c, $18, $00
|
||||
.byt $18, $04, $18, $04, $18, $04, $00, $0c
|
||||
.byt $00, $00, $18, $00, $00, $0c, $18, $00
|
||||
.byt $18, $04, $18, $04, $18, $0c, $30, $0c
|
||||
.byt $c0, $00, $c6, $20, $c6, $21, $fc, $07
|
||||
.byt $c6, $38, $c6, $21, $c6, $21, $00, $63
|
||||
.byt $30, $00, $30, $08, $30, $08, $30, $08
|
||||
.byt $30, $08, $30, $28, $18, $00, $00, $0c
|
||||
.byt $00, $00, $00, $00, $fc, $04, $d6, $28
|
||||
.byt $d6, $29, $d6, $29, $c6, $29, $00, $63
|
||||
.byt $00, $00, $00, $00, $fc, $04, $c6, $38
|
||||
.byt $c6, $21, $c6, $21, $c6, $21, $00, $63
|
||||
.byt $00, $00, $00, $00, $7c, $44, $c6, $38
|
||||
.byt $c6, $21, $c6, $21, $7c, $47, $00, $3e
|
||||
.byt $00, $00, $00, $00, $fc, $04, $c6, $38
|
||||
.byt $c6, $21, $fc, $07, $c0, $3e, $c0, $20
|
||||
.byt $00, $00, $00, $00, $7e, $40, $c6, $39
|
||||
.byt $c6, $21, $7e, $41, $06, $39, $06, $01
|
||||
.byt $00, $00, $00, $00, $7c, $40, $c0, $3e
|
||||
.byt $c0, $20, $c0, $20, $c0, $20, $00, $60
|
||||
.byt $00, $00, $00, $00, $7e, $40, $c0, $3f
|
||||
.byt $7c, $44, $06, $38, $fc, $07, $00, $7e
|
||||
.byt $30, $00, $30, $08, $3c, $00, $30, $0e
|
||||
.byt $30, $08, $30, $08, $1e, $10, $00, $0f
|
||||
.byt $00, $00, $00, $00, $c6, $00, $c6, $21
|
||||
.byt $c6, $21, $c6, $21, $7c, $47, $00, $3e
|
||||
.byt $00, $00, $00, $00, $c6, $00, $c6, $21
|
||||
.byt $66, $01, $36, $01, $1e, $01, $00, $0f
|
||||
.byt $00, $00, $00, $00, $c6, $00, $d6, $21
|
||||
.byt $d6, $29, $d6, $29, $7e, $41, $00, $3f
|
||||
.byt $00, $00, $00, $00, $c6, $00, $c6, $21
|
||||
.byt $7c, $47, $c6, $38, $c6, $21, $00, $63
|
||||
.byt $00, $00, $00, $00, $c6, $00, $c6, $21
|
||||
.byt $7e, $41, $06, $39, $06, $01, $fc, $07
|
||||
.byt $00, $00, $00, $00, $fe, $00, $06, $79
|
||||
.byt $7c, $47, $c0, $3e, $fe, $00, $00, $7f
|
||||
.byt $18, $00, $30, $0c, $30, $08, $70, $08
|
||||
.byt $30, $08, $30, $08, $18, $00, $00, $0c
|
||||
.byt $18, $00, $18, $04, $18, $04, $00, $0c
|
||||
.byt $18, $00, $18, $04, $18, $04, $00, $0c
|
||||
.byt $30, $00, $18, $00, $18, $04, $1c, $00
|
||||
.byt $18, $06, $18, $04, $30, $0c, $00, $18
|
||||
.byt $00, $00, $00, $00, $72, $10, $fe, $01
|
||||
.byt $9c, $73, $00, $4e, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $7c, $7c, $86, $06, $79
|
||||
.byt $7e, $c1, $c6, $39, $7e, $c1, $00, $7e
|
||||
.byt $c0, $20, $c0, $3c, $fc, $06, $c6, $39
|
||||
.byt $c6, $29, $c6, $39, $fc, $06, $00, $fc
|
||||
.byt $00, $00, $00, $7e, $7e, $c1, $c0, $3e
|
||||
.byt $c0, $20, $c0, $3e, $7e, $c1, $00, $7e
|
||||
.byt $06, $09, $06, $79, $7e, $c1, $c6, $39
|
||||
.byt $c6, $29, $c6, $39, $7e, $c1, $00, $7f
|
||||
.byt $00, $00, $00, $7c, $7c, $c6, $c6, $39
|
||||
.byt $fe, $01, $c0, $3e, $7e, $c3, $00, $7e
|
||||
.byt $1e, $21, $30, $6e, $30, $4c, $3c, $42
|
||||
.byt $30, $4c, $30, $48, $30, $48, $30, $48
|
||||
.byt $00, $00, $00, $7e, $7e, $c1, $c6, $39
|
||||
.byt $c6, $39, $7e, $c1, $06, $79, $7c, $86
|
||||
.byt $c0, $20, $c0, $3c, $fc, $06, $c6, $39
|
||||
.byt $c6, $29, $c6, $29, $c6, $29, $00, $c6
|
||||
.byt $00, $18, $18, $24, $00, $18, $18, $24
|
||||
.byt $18, $24, $18, $24, $18, $24, $00, $18
|
||||
.byt $00, $18, $18, $24, $00, $18, $18, $24
|
||||
.byt $18, $24, $18, $24, $18, $2c, $30, $48
|
||||
.byt $c0, $20, $c0, $26, $c6, $29, $c6, $2b
|
||||
.byt $fc, $06, $c6, $2b, $c6, $29, $00, $c7
|
||||
.byt $30, $48, $30, $48, $30, $48, $30, $48
|
||||
.byt $30, $48, $30, $68, $18, $24, $00, $1c
|
||||
.byt $00, $00, $00, $ec, $ec, $16, $d6, $29
|
||||
.byt $d6, $29, $d6, $29, $c6, $39, $00, $c7
|
||||
.byt $00, $00, $00, $fc, $fc, $06, $c6, $39
|
||||
.byt $c6, $29, $c6, $29, $c6, $29, $00, $c6
|
||||
.byt $00, $00, $00, $7c, $7c, $c6, $c6, $39
|
||||
.byt $c6, $29, $c6, $39, $7c, $c6, $00, $7c
|
||||
.byt $00, $00, $00, $fc, $fc, $06, $c6, $39
|
||||
.byt $c6, $39, $fc, $06, $c0, $3c, $c0, $20
|
||||
.byt $00, $00, $00, $7e, $7e, $c1, $c6, $39
|
||||
.byt $c6, $39, $7e, $c1, $06, $79, $06, $09
|
||||
.byt $00, $00, $00, $7c, $7c, $c2, $c0, $3c
|
||||
.byt $c0, $20, $c0, $20, $c0, $20, $00, $c0
|
||||
.byt $00, $00, $00, $7e, $7e, $c1, $c0, $3e
|
||||
.byt $7c, $c6, $06, $f9, $fc, $06, $00, $fc
|
||||
.byt $30, $48, $30, $4c, $3c, $42, $30, $4c
|
||||
.byt $30, $48, $30, $4e, $1e, $31, $00, $1e
|
||||
.byt $00, $00, $00, $c6, $c6, $29, $c6, $29
|
||||
.byt $c6, $29, $c6, $39, $7c, $c6, $00, $7c
|
||||
.byt $00, $00, $00, $c6, $c6, $29, $c6, $29
|
||||
.byt $66, $99, $36, $49, $1e, $21, $00, $1e
|
||||
.byt $00, $00, $00, $c6, $c6, $39, $d6, $29
|
||||
.byt $d6, $29, $d6, $29, $6e, $d1, $00, $6e
|
||||
.byt $00, $00, $00, $c6, $c6, $29, $c6, $39
|
||||
.byt $7c, $c6, $c6, $39, $c6, $29, $00, $c6
|
||||
.byt $00, $00, $00, $c6, $c6, $29, $c6, $39
|
||||
.byt $7e, $c1, $06, $79, $06, $f9, $fc, $06
|
||||
.byt $00, $00, $00, $fe, $fe, $01, $06, $f9
|
||||
.byt $7c, $c6, $c0, $3e, $fe, $01, $00, $fe
|
||||
.byt $18, $24, $30, $48, $30, $48, $70, $88
|
||||
.byt $30, $48, $30, $48, $18, $24, $00, $18
|
||||
.byt $18, $24, $18, $24, $18, $24, $00, $18
|
||||
.byt $18, $24, $18, $24, $18, $24, $00, $18
|
||||
.byt $30, $48, $18, $24, $18, $24, $1c, $22
|
||||
.byt $18, $24, $18, $24, $30, $48, $00, $30
|
||||
.byt $00, $00, $00, $72, $72, $9d, $fe, $01
|
||||
.byt $9c, $72, $00, $9c, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
|
||||
@ -116,7 +116,6 @@ oam_data_l .byt 75, 56, 31, $0e
|
||||
.byt 75, 80, 24, $0e
|
||||
.byt 83, 80, 25, $0e
|
||||
.byt 91, 80, 26, $0e
|
||||
|
||||
oam_data_h .byt 0, 0, 0, 0, 0, 0, 0, 0
|
||||
|
||||
space64 .byt $20, $20, $20, $20, $20, $20, $20, $20
|
||||
@ -129,3 +128,27 @@ space64 .byt $20, $20, $20, $20, $20, $20, $20, $20
|
||||
.byt $20, $20, $20, $20, $20, $20, $20, $20
|
||||
.byt $00
|
||||
text_dirmark .byt " <dir>", 0
|
||||
window_nw .byt 20
|
||||
window_ne .byt 21
|
||||
window_sw .byt 22
|
||||
window_se .byt 23
|
||||
window_nh .byt 24
|
||||
window_sh .byt 25
|
||||
window_wv .byt 26
|
||||
window_ev .byt 27
|
||||
text_clkset .byt 28,"Please set the clock.", 29,0
|
||||
text_buttonB .byt "Dpad: sel/chg, B: OK", 0
|
||||
time_win_x .byt 18
|
||||
time_win_y .byt 15
|
||||
time_win_w .byt 27
|
||||
time_win_h .byt 7
|
||||
main_win_x .byt 18
|
||||
main_win_y .byt 11
|
||||
main_win_w .byt 27
|
||||
main_win_h .byt 13
|
||||
text_mainmenu .byt 28,"Main Menu", 29, 0
|
||||
|
||||
text_mm_time .byt "Set Clock", 0
|
||||
main_entries .byt 1
|
||||
main_enttab .byt ^text_mm_time, <text_mm_time, >text_mm_time, 1, ^time_init, <time_init, >time_init
|
||||
|
||||
|
||||
@ -21,14 +21,6 @@ dirlog .word 0,0,0,0,0,0,0,0,0
|
||||
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
stack .word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
|
||||
;----------parameters for text output----------
|
||||
print_x .byt 0 ;x coordinate
|
||||
@ -56,6 +48,7 @@ bar_yl .byt 0 ; logical y position of select bar
|
||||
bar_x .byt 0 ; pixel x position of select bar
|
||||
bar_y .byt 0 ; pixel y position of select bar
|
||||
bar_w .byt 0 ; bar width
|
||||
bar_wl .byt 0 ; bar width
|
||||
menu_state .byt 0 ; menu state (0=file select)
|
||||
menu_dirty .byt 0 ; menu dirty (e.g. after state change or when redraw is needed)
|
||||
menu_sel .word 0 ; selected item #
|
||||
@ -67,7 +60,37 @@ fd_fnoff .word 0 ; offset of filename in file descriptor
|
||||
pad1mem .word 0
|
||||
pad1trig .word 0
|
||||
pad1delay .word 0
|
||||
window_x .byt 0
|
||||
window_y .byt 0
|
||||
window_w .byt 0
|
||||
window_h .byt 0
|
||||
window_tmp .word 0
|
||||
window_tbank .byt 0
|
||||
window_taddr .word 0
|
||||
stringbuf .word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.word 0
|
||||
;----------dialog specific data
|
||||
time_s1 .byt 0
|
||||
time_s10 .byt 0
|
||||
time_m1 .byt 0
|
||||
time_m10 .byt 0
|
||||
time_h1 .byt 0
|
||||
time_h10 .byt 0
|
||||
time_d1 .byt 0
|
||||
time_d10 .byt 0
|
||||
time_mon .byt 0
|
||||
time_y1 .byt 0
|
||||
time_y10 .byt 0
|
||||
time_y100 .byt 0
|
||||
time_sel .byt 0
|
||||
time_exit .byt 0
|
||||
time_ptr .byt 0
|
||||
time_tmp .byt 0
|
||||
;--
|
||||
mm_tmp .byt 0
|
||||
;----------menu layout/system constants (224/448)
|
||||
vidmode .byt 0 ; 0=224, 1=448
|
||||
listdisp .word 0 ; number of displayable list entries
|
||||
textdmasize .word 0 ; number of bytes to copy each frame
|
||||
barstep .byt 0 ; step size for bar
|
||||
|
||||
13
snes/dma.i65
Normal file
13
snes/dma.i65
Normal file
@ -0,0 +1,13 @@
|
||||
#define DMA0(mode, len, a_bank, a_addr, b_reg)\
|
||||
lda mode \
|
||||
: sta dma_mode \
|
||||
: ldx a_addr \
|
||||
: lda a_bank \
|
||||
: stx dma_a_addr \
|
||||
: sta dma_a_bank \
|
||||
: ldx len \
|
||||
: stx dma_len \
|
||||
: lda b_reg \
|
||||
: sta dma_b_reg \
|
||||
: jsr dma0
|
||||
|
||||
@ -78,44 +78,44 @@ font2 .byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $3f, $3f, $60
|
||||
.byt $7f, $c0, $78, $8f, $70, $88, $70, $88
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $fc, $fc, $06
|
||||
.byt $fe, $03, $1e, $f1, $0e, $11, $0e, $11
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $70, $88, $70, $88, $78, $8f, $7f, $c0
|
||||
.byt $3f, $60, $00, $3f, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $0e, $11, $0e, $11, $1e, $f1, $fe, $03
|
||||
.byt $fc, $06, $00, $fc, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $ff, $ff, $00
|
||||
.byt $ff, $00, $00, $ff, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $ff, $ff, $00
|
||||
.byt $ff, $00, $00, $ff, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $70, $88, $70, $88, $70, $88, $70, $88
|
||||
.byt $70, $88, $70, $88, $70, $88, $70, $88
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $0e, $11, $0e, $11, $0e, $11, $0e, $11
|
||||
.byt $0e, $11, $0e, $11, $0e, $11, $0e, $11
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $7c, $38, $44, $38, $c4, $f8, $04
|
||||
.byt $f8, $04, $38, $c4, $38, $44, $00, $7c
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $3e, $1c, $22, $1c, $23, $1f, $20
|
||||
.byt $1f, $20, $1c, $23, $1c, $22, $00, $3e
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
@ -1182,80 +1182,80 @@ font4 .byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $3f, $3f, $60
|
||||
.byt $7f, $c0, $78, $8f, $70, $88, $70, $88
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $fc, $fc, $06
|
||||
.byt $fe, $03, $1e, $f1, $0e, $11, $0e, $11
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $70, $88, $70, $88, $78, $8f, $7f, $c0
|
||||
.byt $3f, $60, $00, $3f, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $0e, $11, $0e, $11, $1e, $f1, $fe, $03
|
||||
.byt $fc, $06, $00, $fc, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $ff, $ff, $00
|
||||
.byt $ff, $00, $00, $ff, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $ff, $ff, $00
|
||||
.byt $ff, $00, $00, $ff, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $70, $88, $70, $88, $70, $88, $70, $88
|
||||
.byt $70, $88, $70, $88, $70, $88, $70, $88
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $0e, $11, $0e, $11, $0e, $11, $0e, $11
|
||||
.byt $0e, $11, $0e, $11, $0e, $11, $0e, $11
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $7c, $38, $44, $38, $c4, $f8, $04
|
||||
.byt $f8, $04, $38, $c4, $38, $44, $00, $7c
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $3e, $1c, $22, $1c, $23, $1f, $20
|
||||
.byt $1f, $20, $1c, $23, $1c, $22, $00, $3e
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
|
||||
@ -5,15 +5,20 @@
|
||||
*= $C0FF00
|
||||
|
||||
RESET:
|
||||
sei: clc: xce
|
||||
sei
|
||||
clc
|
||||
xce
|
||||
rep #$20 : .al
|
||||
lda #$1fff
|
||||
tcs
|
||||
jmp @GAME_MAIN
|
||||
|
||||
NMI_16bit:
|
||||
php
|
||||
rep #$30
|
||||
rep #$30 : .al : .xl
|
||||
pha: phx: phy: phd: phb
|
||||
jsl @NMI_ROUTINE
|
||||
rep #$30
|
||||
rep #$30 : .al : .xl
|
||||
int_exit:
|
||||
plb: pld: ply: plx: pla
|
||||
plp
|
||||
@ -21,10 +26,10 @@ int_exit:
|
||||
|
||||
IRQ_16bit:
|
||||
php
|
||||
rep #$30
|
||||
rep #$30 : .al : .xl
|
||||
pha: phx: phy: phd: phb
|
||||
jsl @IRQ_ROUTINE
|
||||
rep #$30
|
||||
rep #$30 : .al : .xl
|
||||
bra int_exit
|
||||
|
||||
;error vectors
|
||||
|
||||
3861
snes/logo.a65
3861
snes/logo.a65
File diff suppressed because it is too large
Load Diff
@ -22,15 +22,10 @@ GAME_MAIN:
|
||||
jsr menu_init
|
||||
jsr tests
|
||||
sep #$20 : .as
|
||||
- lda @$C00000
|
||||
lda @$D00000
|
||||
lda @$E00000
|
||||
lda @$F00000
|
||||
lda @$400000
|
||||
lda @$500000
|
||||
lda @$600000
|
||||
lda @$700000
|
||||
; bra -
|
||||
lda @RTC_STATUS
|
||||
beq +
|
||||
jsr time_init
|
||||
+
|
||||
jsr menuloop
|
||||
cli
|
||||
stz $4200
|
||||
@ -130,7 +125,7 @@ setup_gfx:
|
||||
;copy logo tiles
|
||||
ldx #$2000
|
||||
stx $2116
|
||||
DMA0(#$01, #$3740, #^logo, #!logo, #$18)
|
||||
DMA0(#$01, #$4000, #^logo, #!logo, #$18)
|
||||
|
||||
;copy logo tilemap
|
||||
ldx #BG1_TILE_BASE
|
||||
@ -380,7 +375,7 @@ fadeloop_start
|
||||
sta hdma_math+17
|
||||
txa
|
||||
dec
|
||||
; sta $2100
|
||||
sta $2100
|
||||
tax
|
||||
bne fadeloop_start
|
||||
stz $2126
|
||||
@ -389,7 +384,7 @@ fadeloop_start
|
||||
stz $2130
|
||||
lda #$00
|
||||
sta @hdma_math
|
||||
; stz $2100
|
||||
stz $2100
|
||||
- bra -
|
||||
|
||||
fadeloop_end:
|
||||
|
||||
69
snes/mainmenu.a65
Normal file
69
snes/mainmenu.a65
Normal file
@ -0,0 +1,69 @@
|
||||
#include "memmap.i65"
|
||||
|
||||
mainmenu:
|
||||
php
|
||||
sep #$20 : .as
|
||||
jsr backup_screen
|
||||
lda #^text_mainmenu
|
||||
sta window_tbank
|
||||
ldx #!text_mainmenu
|
||||
stx window_taddr
|
||||
lda @main_win_x
|
||||
sta window_x
|
||||
inc
|
||||
inc
|
||||
sta bar_xl
|
||||
lda @main_win_y
|
||||
sta window_y
|
||||
inc
|
||||
sta bar_yl
|
||||
lda @main_win_w
|
||||
sta window_w
|
||||
sec
|
||||
sbc #$04
|
||||
sta bar_wl
|
||||
lda @main_win_h
|
||||
sta window_h
|
||||
jsr draw_window
|
||||
|
||||
stz mm_tmp
|
||||
mm_entloop
|
||||
lda @$912345
|
||||
lda #^main_enttab
|
||||
phb
|
||||
pha
|
||||
plb
|
||||
ldx #!main_enttab
|
||||
lda !1, x
|
||||
sta @print_src
|
||||
lda !2, x
|
||||
sta @print_src+1
|
||||
lda !0, x
|
||||
sta @print_bank
|
||||
lda @mm_tmp
|
||||
asl
|
||||
clc
|
||||
adc @main_win_y
|
||||
inc
|
||||
inc
|
||||
sta @print_y
|
||||
lda @main_win_x
|
||||
inc
|
||||
inc
|
||||
sta @print_x
|
||||
plb
|
||||
jsr hiprint
|
||||
inc mm_tmp
|
||||
lda mm_tmp
|
||||
cmp @main_entries
|
||||
bne mm_entloop
|
||||
plp
|
||||
mm_menuloop
|
||||
lda isr_done
|
||||
lsr
|
||||
bcc mm_menuloop
|
||||
jsr printtime
|
||||
stz isr_done
|
||||
bra mm_menuloop
|
||||
jsr restore_screen
|
||||
rts
|
||||
24
snes/memmap.i65
Normal file
24
snes/memmap.i65
Normal file
@ -0,0 +1,24 @@
|
||||
#if 0 /* #if0'd because it's #included, and those don't get parsed properly by snescom */
|
||||
; This file is part of the snescom-asm demo - a demo of how to build a SNES program.
|
||||
; See http://bisqwit.iki.fi/source/snescom.html for details.
|
||||
#endif
|
||||
|
||||
/* These must be defined as constants, because they're used
|
||||
* in calculation that is sent to PPU as parameters */
|
||||
|
||||
#define BG1_TILE_BASE $5800
|
||||
#define BG2_TILE_BASE $5000
|
||||
|
||||
#define OAM_TILE_BASE $6000
|
||||
|
||||
#define BG1_TILE_BUF $7FB000
|
||||
#define BG2_TILE_BUF $7FA000
|
||||
|
||||
#define BG1_TILE_BAK $7F9000
|
||||
#define BG2_TILE_BAK $7F8000
|
||||
|
||||
#define AVR_CMD $307000
|
||||
#define AVR_PARAM $307004
|
||||
#define RTC_STATUS $307100
|
||||
|
||||
#define ROOT_DIR $C10000
|
||||
@ -16,6 +16,10 @@ menu_init:
|
||||
sta cursor_x
|
||||
lda #$09
|
||||
sta cursor_y
|
||||
lda #$01
|
||||
sta bar_xl
|
||||
lda #$3e
|
||||
sta bar_wl
|
||||
ldx #$0000
|
||||
stx dirptr_idx
|
||||
stx menu_sel
|
||||
@ -32,6 +36,7 @@ menuloop_s1
|
||||
bcc menuloop_s1
|
||||
|
||||
stz isr_done
|
||||
jsr printtime
|
||||
jsr menu_updates ;update stuff, check keys etc
|
||||
lda menu_dirty ;is there ANY reason to redraw the menu?
|
||||
cmp #$01
|
||||
@ -81,7 +86,7 @@ menu_cleanup_loop ;pad rest of screen with empty lines
|
||||
sta menu_sel
|
||||
menu_cleanup_out
|
||||
rts
|
||||
|
||||
|
||||
|
||||
menu_updates:
|
||||
;update selection, scroll etc
|
||||
@ -93,7 +98,10 @@ menu_updates:
|
||||
clc
|
||||
adc #$08
|
||||
sta bar_yl
|
||||
|
||||
lda #$3e
|
||||
sta bar_wl
|
||||
lda #$01
|
||||
sta bar_xl
|
||||
;get input
|
||||
jsr read_pad
|
||||
lda #$04
|
||||
@ -117,6 +125,9 @@ menu_updates:
|
||||
lda #$80
|
||||
and pad1trig
|
||||
bne key_a
|
||||
lda #$40
|
||||
and pad1trig
|
||||
bne key_x
|
||||
bra menuupd_out
|
||||
key_down
|
||||
jsr menu_key_down
|
||||
@ -136,6 +147,10 @@ key_b
|
||||
key_a
|
||||
jsr menu_key_a
|
||||
bra menuupd_out
|
||||
key_x
|
||||
jsr menu_key_x
|
||||
bra menuupd_out
|
||||
|
||||
key_select
|
||||
jsr menu_key_select
|
||||
bra menuupd_out
|
||||
@ -192,7 +207,7 @@ redraw_filelist_loop
|
||||
bra redraw_filelist_loop
|
||||
redraw_filelist_dirend
|
||||
plb
|
||||
dey ; recover last valid direntry number
|
||||
dey ; recover last valid direntry number
|
||||
dey ; (we had 2x iny of the direntry pointer above,
|
||||
dey ; so account for those too)
|
||||
dey
|
||||
@ -227,8 +242,8 @@ print_direntry:
|
||||
ldx dirent_addr
|
||||
|
||||
phb
|
||||
pha
|
||||
plb
|
||||
pha
|
||||
plb
|
||||
|
||||
lda @dirent_type
|
||||
cmp #$80
|
||||
@ -238,14 +253,25 @@ dirent_is_dir
|
||||
lda #$04 ;skip dir tgt
|
||||
sta @fd_fnoff
|
||||
lda #$01 ;different color for dirs
|
||||
sta @print_pal
|
||||
bra dirent_type_cont
|
||||
dirent_is_file
|
||||
lda #$06 ;skip size string
|
||||
sta @fd_fnoff
|
||||
lda #$00 ;palette 0 (white)
|
||||
sta @print_pal
|
||||
lda @dirent_type
|
||||
and #$00ff
|
||||
cmp #$0001 ;SMC -> palette 0 (white)
|
||||
bne +
|
||||
lda #$0000
|
||||
bra dirent_type_cont
|
||||
+
|
||||
cmp #$0004 ;IPS -> palette 2 (green)
|
||||
bne +
|
||||
lda #$0002
|
||||
bra dirent_type_cont
|
||||
+
|
||||
lda #$0000 ;default -> palette 0
|
||||
dirent_type_cont
|
||||
sta @print_pal
|
||||
rep #$20 : .al
|
||||
txa
|
||||
clc
|
||||
@ -302,7 +328,7 @@ dirent_type_cont
|
||||
dirent_is_file_2
|
||||
lda dirent_bank
|
||||
ldx dirent_addr
|
||||
sta print_bank
|
||||
sta print_bank
|
||||
stx print_src
|
||||
dirent_type_cont_2
|
||||
lda #56
|
||||
@ -312,7 +338,7 @@ dirent_type_cont_2
|
||||
jsr hiprint
|
||||
|
||||
rts
|
||||
|
||||
|
||||
menu_key_down:
|
||||
lda listdisp
|
||||
dec
|
||||
@ -323,7 +349,7 @@ menu_key_down:
|
||||
lda dirend_onscreen
|
||||
bne down_out
|
||||
rep #$20 : .al
|
||||
lda dirptr_addr
|
||||
lda dirptr_addr
|
||||
clc
|
||||
adc #$04
|
||||
sta dirptr_addr
|
||||
@ -341,7 +367,7 @@ menu_key_down:
|
||||
inc
|
||||
sta menu_sel
|
||||
down_out
|
||||
rts
|
||||
rts
|
||||
|
||||
menu_key_up:
|
||||
lda menu_sel
|
||||
@ -370,7 +396,7 @@ menuupd_lastcursor
|
||||
rts
|
||||
|
||||
; go back one page
|
||||
menu_key_left:
|
||||
menu_key_left:
|
||||
lda #$01 ; must redraw afterwards
|
||||
sta menu_dirty
|
||||
rep #$20 : .al
|
||||
@ -453,6 +479,9 @@ select_item:
|
||||
iny
|
||||
iny
|
||||
lda (dirptr_addr), y
|
||||
cmp #$01
|
||||
beq sel_is_file
|
||||
cmp #$04
|
||||
beq sel_is_file
|
||||
cmp #$80
|
||||
beq sel_is_dir
|
||||
@ -469,9 +498,10 @@ sel_is_dir
|
||||
select_file:
|
||||
; have avr load the rom
|
||||
dey
|
||||
lda (dirptr_addr), y
|
||||
sta @AVR_PARAM+2
|
||||
rep #$20 : .al
|
||||
lda (dirptr_addr), y
|
||||
and #$00ff
|
||||
sta @AVR_PARAM+2
|
||||
dey
|
||||
dey
|
||||
lda (dirptr_addr), y
|
||||
@ -481,7 +511,7 @@ select_file:
|
||||
sta @AVR_CMD
|
||||
lda #$00
|
||||
sta @$4200
|
||||
cli
|
||||
sei
|
||||
jsl @wram_fadeloop
|
||||
rts
|
||||
|
||||
@ -519,6 +549,9 @@ select_dir: ; y = direntry ptr
|
||||
plb
|
||||
rts
|
||||
|
||||
menu_key_x:
|
||||
jsr mainmenu
|
||||
rts
|
||||
|
||||
setup_224:
|
||||
php
|
||||
@ -547,6 +580,7 @@ setup_224_adjsel
|
||||
sta $2133
|
||||
lda #$08
|
||||
sta hdma_math_selection
|
||||
stz vidmode
|
||||
lda #$01
|
||||
sta menu_dirty
|
||||
lda #^space64
|
||||
@ -564,7 +598,7 @@ setup_224_adjsel
|
||||
sta print_y
|
||||
jsr hiprint
|
||||
jsr hiprint
|
||||
|
||||
|
||||
plp
|
||||
rts
|
||||
|
||||
@ -589,6 +623,7 @@ setup_448:
|
||||
lda #$04
|
||||
sta hdma_math_selection
|
||||
lda #$01
|
||||
sta vidmode
|
||||
sta menu_dirty
|
||||
plp
|
||||
rts
|
||||
|
||||
@ -51,8 +51,6 @@ setup_hdma:
|
||||
|
||||
ldx #185 ;Set IRQ trigger to line 185
|
||||
stx $4209 ;
|
||||
lda #$21 ;V-Count IRQ + Auto Joypad Read
|
||||
sta $4200
|
||||
lda #$0e
|
||||
sta $420c
|
||||
rts
|
||||
|
||||
@ -5,6 +5,10 @@ GAME_MAIN:
|
||||
stz $4200 ; inhibit IRQs
|
||||
jsr killdma
|
||||
jsr waitblank
|
||||
jsr waitblank
|
||||
jsr waitblank
|
||||
jsr waitblank
|
||||
jsr waitblank
|
||||
jsr snes_init
|
||||
jsr spc_upload
|
||||
lda #$01
|
||||
@ -14,10 +18,10 @@ GAME_MAIN:
|
||||
jsr setup_hdma
|
||||
jsr screen_init
|
||||
sep #$20 : .as
|
||||
jsr msu1init
|
||||
- jsr msu1init
|
||||
cli
|
||||
jsr msu1loop
|
||||
- wai ; idle loop
|
||||
sei
|
||||
bra -
|
||||
|
||||
killdma:
|
||||
|
||||
@ -48,9 +48,27 @@ msu1loop:
|
||||
sta altcnt
|
||||
lda #$01
|
||||
sta curcnt
|
||||
ldx #$0000
|
||||
stx $1000 ;temp var
|
||||
ldx numframes
|
||||
dex
|
||||
lda #$21 ;V-Count IRQ + Auto Joypad Read
|
||||
sta $4200
|
||||
|
||||
lda numframes
|
||||
sta @$306000
|
||||
lda numframes+1
|
||||
sta @$306001
|
||||
lda stddur
|
||||
sta @$306002
|
||||
lda altdur
|
||||
sta @$306003
|
||||
lda altcnt
|
||||
sta @$306004
|
||||
lda curdur
|
||||
sta @$306005
|
||||
lda curcnt
|
||||
sta @$306006
|
||||
msu1loop2
|
||||
lda isr_flag
|
||||
beq msu1loop2
|
||||
@ -60,6 +78,12 @@ msu1loop2
|
||||
bpl +
|
||||
;load half picture
|
||||
lda #$18
|
||||
phx
|
||||
ldx $1000
|
||||
sta @$306100, x
|
||||
inx
|
||||
stx $1000
|
||||
plx
|
||||
sta $4301
|
||||
lda #$09
|
||||
sta $4300
|
||||
@ -69,6 +93,12 @@ msu1loop2
|
||||
sta $420b
|
||||
+ inc dispcnt ;inc field count
|
||||
lda dispcnt ;and compare with current duration
|
||||
phx
|
||||
ldx $1000
|
||||
sta @$306100, x
|
||||
inx
|
||||
stx $1000
|
||||
plx
|
||||
cmp curdur ;if not reached...
|
||||
bne msu1loop2 ;...wait another field
|
||||
|
||||
@ -120,9 +150,8 @@ ptr2
|
||||
jmp msu1loop2
|
||||
|
||||
msu1stop:
|
||||
lda #$80
|
||||
sta $2100
|
||||
stz $420c
|
||||
; lda #$80
|
||||
; sta $2100
|
||||
; stz $420c
|
||||
stz MSU_CONTROL
|
||||
- bra -
|
||||
|
||||
rts
|
||||
|
||||
@ -121,5 +121,6 @@ int main(int argc, char **argv) {
|
||||
fwrite(&alt_frameduration, 1, 1, out);
|
||||
fwrite(&alt_durfreq, 1, 1, out);
|
||||
fclose(out);
|
||||
printf("%d images processed.\n", fileno);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -10,21 +10,25 @@
|
||||
|
||||
; NMI - called on VBlank
|
||||
NMI_ROUTINE:
|
||||
php
|
||||
sep #$20 : .as
|
||||
pha
|
||||
lda $4210 ; ack interrupt
|
||||
; lda #$0e
|
||||
; sta $420c ; enable HDMA ch. 1-3
|
||||
pla
|
||||
plp
|
||||
rtl
|
||||
|
||||
; IRQ - called when triggered
|
||||
IRQ_ROUTINE:
|
||||
php
|
||||
sep #$20 : .as
|
||||
pha
|
||||
lda $4211 ;Acknowledge irq
|
||||
lda #$01
|
||||
sta isr_flag
|
||||
pla
|
||||
plp
|
||||
rtl
|
||||
|
||||
|
||||
@ -4,6 +4,7 @@ read_pad:
|
||||
read_pad1
|
||||
ldx pad1mem ;byetUDLRaxlriiii
|
||||
lda $4218
|
||||
ora $421a
|
||||
sta pad1mem
|
||||
and #$0f00
|
||||
bne read_pad1_count
|
||||
|
||||
126
snes/palette.a65
126
snes/palette.a65
@ -1,70 +1,74 @@
|
||||
palette
|
||||
;fonts
|
||||
; .byt $42, $08, $ff, $7f, $00, $00, $18, $63
|
||||
; .byt $42, $08, $ff, $43, $00, $00, $18, $63
|
||||
.byt $42, $08, $ff, $7f, $c6, $18, $18, $63
|
||||
.byt $42, $08, $ff, $43, $c6, $0c, $18, $63
|
||||
.byt $10, $42, $10, $42, $10, $42, $10, $42
|
||||
.byt $10, $42, $10, $42, $10, $42, $10, $42
|
||||
;8bit palette; 4bit palette0; 2bit palette0
|
||||
.byt $42, $08, $ff, $7f, $c6, $18, $18, $63
|
||||
;2bit palette1
|
||||
.byt $42, $08, $ff, $43, $c6, $0c, $18, $63
|
||||
;2bit palette2
|
||||
.byt $42, $08, $f0, $43, $c0, $0c, $18, $63
|
||||
;2bit palette3
|
||||
.byt $10, $42, $10, $42, $10, $42, $10, $42
|
||||
;4bit palette1; 2bit palette4
|
||||
.byt $42, $08, $ff, $43, $c6, $0c, $18, $63
|
||||
;2bit palette5
|
||||
.byt $10, $42, $10, $42, $10, $42, $10, $42
|
||||
;2bit palette6
|
||||
.byt $10, $42, $10, $42, $10, $42, $10, $42
|
||||
;2bit palette7
|
||||
.byt $10, $42, $10, $42, $10, $42, $10, $42
|
||||
;4bit palette2
|
||||
.byt $10, $42, $f0, $43, $c0, $0c, $18, $63
|
||||
;logo
|
||||
.byt $10, $42, $82, $35, $23, $46, $85, $4e
|
||||
.byt $a0, $39, $c8, $56, $09, $5f, $e9, $5a
|
||||
.byt $6b, $6f, $2a, $63, $66, $4e, $8d, $73
|
||||
.byt $6e, $6f, $a0, $35, $04, $42, $4a, $6b
|
||||
.byt $42, $46, $07, $63, $e7, $5a, $20, $46
|
||||
.byt $4d, $6b, $29, $67, $a4, $52, $64, $4a
|
||||
.byt $c0, $3d, $e1, $41, $c3, $3d, $c6, $56
|
||||
.byt $a7, $52, $45, $4a, $21, $25, $40, $29
|
||||
.byt $e1, $1c, $00, $21, $84, $31, $88, $52
|
||||
.byt $a9, $56, $a1, $14, $c6, $18, $5a, $67
|
||||
.byt $a5, $14, $39, $63, $ff, $7f, $c1, $18
|
||||
.byt $83, $10, $17, $5f, $f7, $5a, $84, $10
|
||||
.byt $72, $4a, $7b, $6b, $4a, $29, $21, $04
|
||||
.byt $b5, $52, $de, $7b, $ad, $35, $42, $08
|
||||
.byt $63, $0c, $30, $42, $41, $04, $93, $4e
|
||||
.byt $d5, $56, $61, $0c, $41, $08, $6b, $2d
|
||||
.byt $08, $21, $bd, $77, $29, $25, $0f, $3e
|
||||
.byt $e7, $1c, $ee, $39, $21, $08, $82, $14
|
||||
.byt $63, $10, $62, $10, $9c, $73, $81, $10
|
||||
.byt $ac, $31, $62, $0c, $51, $46, $83, $0c
|
||||
.byt $62, $08, $42, $0c, $43, $29, $82, $4e
|
||||
.byt $53, $4a, $a5, $10, $00, $7f, $06, $7f
|
||||
.byt $a6, $6e, $67, $5e, $a7, $6e, $e4, $7a
|
||||
.byt $02, $7f, $e6, $76, $e5, $7e, $64, $2d
|
||||
.byt $45, $56, $a6, $62, $e6, $72, $44, $56
|
||||
.byt $23, $4e, $a7, $6a, $c3, $41, $52, $29
|
||||
.byt $6a, $2d, $7e, $14, $37, $29, $be, $14
|
||||
.byt $be, $18, $4f, $29, $11, $21, $12, $25
|
||||
.byt $2f, $25, $bc, $18, $66, $31, $db, $1c
|
||||
.byt $6d, $2d, $ca, $5a, $82, $10, $82, $08
|
||||
.byt $a4, $2d, $ac, $2a, $89, $11, $a3, $08
|
||||
.byt $83, $2d, $ed, $2a, $4e, $23, $0e, $27
|
||||
.byt $4f, $27, $69, $2e, $86, $5e, $83, $39
|
||||
.byt $6b, $31, $34, $25, $7e, $10, $d8, $1c
|
||||
.byt $6d, $31, $9f, $10, $19, $25, $6b, $1a
|
||||
.byt $4a, $1a, $04, $0d, $cc, $1e, $6b, $22
|
||||
;sprite palette 3
|
||||
.byt $10, $42, $10, $42, $10, $42, $10, $42
|
||||
.byt $10, $42, $10, $42, $10, $42, $10, $42
|
||||
.byt $10, $42, $10, $42, $10, $42, $10, $42
|
||||
.byt $10, $42, $10, $42, $10, $42, $10, $42
|
||||
;logo
|
||||
.byt $87, $19, $c8, $1d, $49, $19, $ad, $19
|
||||
.byt $31, $1e, $b5, $1e, $d5, $1a, $72, $1e
|
||||
.byt $ac, $19, $46, $2d, $e6, $10, $49, $2d
|
||||
.byt $a3, $0c, $a8, $35, $17, $21, $cc, $18
|
||||
.byt $41, $0c, $ce, $18, $a8, $18, $c1, $14
|
||||
.byt $e9, $1d, $a9, $1d, $d6, $26, $f7, $22
|
||||
.byt $30, $22, $ff, $13, $de, $17, $ff, $1b
|
||||
.byt $39, $1f, $93, $1e, $7a, $1f, $df, $1b
|
||||
.byt $48, $19, $9a, $23, $ee, $21, $a9, $14
|
||||
.byt $b8, $18, $49, $36, $d0, $2a, $36, $27
|
||||
.byt $bc, $1f, $78, $27, $13, $2f, $6f, $32
|
||||
.byt $07, $32, $62, $2d, $10, $42, $10, $42
|
||||
.byt $00, $00, $00, $00, $20, $04, $20, $00
|
||||
.byt $20, $00, $21, $00, $21, $08, $40, $08
|
||||
.byt $40, $04, $42, $04, $42, $0c, $60, $0c
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $62, $0c, $61, $0c, $62, $00, $63, $0c
|
||||
.byt $63, $10, $62, $08, $80, $10, $64, $0c
|
||||
.byt $a0, $14, $84, $10, $a2, $0c, $a4, $0c
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $a4, $10, $c0, $18, $a4, $14, $a6, $14
|
||||
.byt $a5, $14, $89, $14, $e0, $1c, $c5, $10
|
||||
.byt $c6, $18, $e3, $0c, $e5, $1c, $00, $21
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $04, $0d, $ca, $18, $04, $11, $e7, $1c
|
||||
.byt $20, $25, $21, $1d, $5d, $0c, $08, $15
|
||||
.byt $40, $29, $08, $21, $5e, $10, $5d, $10
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $cf, $20, $7b, $10, $7e, $14, $27, $25
|
||||
.byt $60, $31, $28, $25, $44, $29, $61, $29
|
||||
.byt $46, $29, $29, $25, $62, $2d, $f3, $1c
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $66, $15, $d6, $18, $63, $31, $d8, $18
|
||||
.byt $0e, $25, $80, $35, $48, $29, $bb, $18
|
||||
.byt $4a, $29, $66, $2d, $4b, $29, $a3, $2d
|
||||
.byt $a0, $39, $f6, $20, $6a, $15, $6a, $19
|
||||
.byt $32, $21, $a1, $39, $a1, $41, $31, $29
|
||||
.byt $4e, $31, $a2, $39, $c0, $3d, $6b, $2d
|
||||
.byt $8a, $31, $6d, $2d, $c8, $19, $00, $42
|
||||
.byt $8c, $31, $e3, $3d, $ac, $19, $e3, $45
|
||||
.byt $ad, $15, $e3, $49, $02, $42, $e6, $2d
|
||||
.byt $20, $42, $ad, $35, $24, $46, $24, $4e
|
||||
.byt $28, $2e, $42, $46, $ee, $39, $45, $4a
|
||||
.byt $2a, $16, $48, $2e, $0f, $1e, $46, $56
|
||||
.byt $64, $4a, $44, $5e, $0f, $3e, $64, $4e
|
||||
.byt $65, $5a, $83, $4e, $67, $4e, $30, $42
|
||||
.byt $86, $4e, $32, $46, $6d, $2e, $52, $1a
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $00, $00, $00, $00, $00, $00, $00, $00
|
||||
.byt $8b, $22, $a5, $56, $51, $46, $ab, $1a
|
||||
.byt $a5, $6a, $a5, $6e, $c1, $76, $c7, $5a
|
||||
.byt $93, $16, $e0, $7a, $72, $4a, $cc, $26
|
||||
.byt $b0, $2a, $93, $4e, $e5, $7e, $e8, $5e
|
||||
.byt $b5, $1e, $ed, $1e, $e6, $7e, $b5, $16
|
||||
.byt $95, $52, $b3, $56, $b5, $56, $0a, $63
|
||||
.byt $2d, $1b, $29, $67, $2f, $23, $f4, $2a
|
||||
.byt $d6, $5a, $17, $1b, $4a, $6b, $4d, $67
|
||||
.byt $f7, $5e, $f8, $62, $39, $1f, $18, $63
|
||||
.byt $6c, $73, $78, $23, $39, $67, $7b, $1b
|
||||
.byt $5a, $6b, $7b, $6f, $de, $17, $9c, $73
|
||||
.byt $bd, $77, $ff, $13, $de, $7b, $ff, $7f
|
||||
;sprite palette 7
|
||||
.byt $3f, $7c, $20, $08, $84, $0c, $a5, $14
|
||||
.byt $08, $21, $5a, $6b, $bc, $73, $fe, $7b
|
||||
|
||||
@ -21,11 +21,11 @@ NMI_ROUTINE:
|
||||
|
||||
ldx #BG1_TILE_BASE+32*9
|
||||
stx $2116
|
||||
DMA0(#$01, #36*64, #^BG1_TILE_BUF, #!BG1_TILE_BUF+64*9, #$18)
|
||||
DMA0(#$01, #40*64, #^BG1_TILE_BUF, #!BG1_TILE_BUF+64*9, #$18)
|
||||
|
||||
ldx #BG2_TILE_BASE+32*9
|
||||
stx $2116
|
||||
DMA0(#$01, #36*64, #^BG2_TILE_BUF, #!BG2_TILE_BUF+64*9, #$18)
|
||||
DMA0(#$01, #40*64, #^BG2_TILE_BUF, #!BG2_TILE_BUF+64*9, #$18)
|
||||
|
||||
ldx #BG2_TILE_BASE
|
||||
stx $2116
|
||||
@ -68,6 +68,20 @@ lower_half
|
||||
lda #112
|
||||
sta hdma_math
|
||||
math_cont
|
||||
lda bar_xl ; get logical cursor X pos
|
||||
asl
|
||||
dec
|
||||
asl ; logical pos * 4
|
||||
sta bar_x ; physical pos = logical pos * 4
|
||||
sta $2126 ; window 1 left
|
||||
lda bar_wl ; get logical cursor width
|
||||
asl
|
||||
asl ; pixel width = logical width * 4
|
||||
inc
|
||||
sta bar_w ; = physical width
|
||||
clc
|
||||
adc bar_x ; + X start coord
|
||||
sta $2127 ; window 1 right
|
||||
lda #$3e ; ch. 1-5
|
||||
sta @$420c ; trigger HDMA
|
||||
lda #$01
|
||||
|
||||
173
snes/text.a65
173
snes/text.a65
@ -35,7 +35,7 @@ print_bg_cont
|
||||
asl ; double the offset for WRAM addressing
|
||||
tay ; zonday
|
||||
plx
|
||||
phy ; offset from tilemap start
|
||||
phy ; offset from tilemap start
|
||||
stx !print_temp
|
||||
clc
|
||||
adc !print_temp
|
||||
@ -48,7 +48,7 @@ print_bg_cont
|
||||
print_loop
|
||||
ldx !print_src
|
||||
lda !print_bank
|
||||
pha
|
||||
pha
|
||||
plb
|
||||
phx ; source addr
|
||||
print_loop_inner
|
||||
@ -66,7 +66,7 @@ print_loop_inner
|
||||
sta @print_done
|
||||
inx
|
||||
lda !0,x
|
||||
beq print_loop2
|
||||
beq print_loop2
|
||||
inx
|
||||
lda !0,x
|
||||
beq print_loop2
|
||||
@ -83,7 +83,7 @@ print_loop2
|
||||
sta @print_count_tmp
|
||||
lda #$00
|
||||
pha
|
||||
plb
|
||||
plb
|
||||
rep #$30 : .al : .xl
|
||||
ply ; source addr
|
||||
iny
|
||||
@ -174,4 +174,167 @@ loprint_end
|
||||
pha
|
||||
plb
|
||||
rts
|
||||
|
||||
|
||||
backup_screen:
|
||||
; MVN: X=source, Y=dest, A=count
|
||||
; imm1=srcbk, imm2=dstbk
|
||||
phb
|
||||
php
|
||||
rep #$30 : .xl : .al
|
||||
ldx #!BG1_TILE_BUF+64*9
|
||||
ldy #!BG1_TILE_BAK+64*9
|
||||
lda #36*64-1
|
||||
mvn ^BG1_TILE_BUF, ^BG1_TILE_BAK
|
||||
ldx #!BG2_TILE_BUF+64*9
|
||||
ldy #!BG2_TILE_BAK+64*9
|
||||
lda #36*64-1
|
||||
mvn ^BG2_TILE_BUF, ^BG2_TILE_BAK
|
||||
plp
|
||||
plb
|
||||
rts
|
||||
|
||||
restore_screen:
|
||||
; MVN: X=source, Y=dest, A=count
|
||||
; imm1=srcbk, imm2=dstbk
|
||||
phb
|
||||
php
|
||||
rep #$30 : .xl : .al
|
||||
ldx #!BG1_TILE_BAK+64*9
|
||||
ldy #!BG1_TILE_BUF+64*9
|
||||
lda #36*64
|
||||
mvn ^BG1_TILE_BAK, ^BG1_TILE_BUF
|
||||
ldx #!BG2_TILE_BAK+64*9
|
||||
ldy #!BG2_TILE_BUF+64*9
|
||||
lda #36*64
|
||||
mvn ^BG2_TILE_BAK, ^BG2_TILE_BUF
|
||||
plp
|
||||
plb
|
||||
rts
|
||||
|
||||
draw_window:
|
||||
phb
|
||||
php
|
||||
sep #$20 : .as
|
||||
|
||||
; draw upper border
|
||||
; upper left corner
|
||||
lda @window_nw
|
||||
sta stringbuf
|
||||
ldx #!stringbuf
|
||||
inx
|
||||
lda window_w
|
||||
sta window_tmp
|
||||
stz window_tmp+1
|
||||
ldy window_tmp
|
||||
dey
|
||||
dey
|
||||
; upper edge
|
||||
-
|
||||
lda @window_nh
|
||||
sta !0,x
|
||||
inx
|
||||
dey
|
||||
cpy #$0000
|
||||
bne -
|
||||
|
||||
; upper right corner
|
||||
lda @window_ne
|
||||
sta !0,x
|
||||
|
||||
; print to text buffer
|
||||
lda #$01
|
||||
sta print_pal
|
||||
lda window_x
|
||||
sta print_x
|
||||
lda window_y
|
||||
sta print_y
|
||||
lda #^stringbuf
|
||||
sta print_bank
|
||||
ldx #!stringbuf
|
||||
stx print_src
|
||||
lda window_w
|
||||
sta print_count
|
||||
jsr hiprint
|
||||
|
||||
; print window title
|
||||
inc print_x
|
||||
inc print_x
|
||||
lda window_tbank
|
||||
sta print_bank
|
||||
ldx window_taddr
|
||||
stx print_src
|
||||
jsr hiprint
|
||||
dec print_x
|
||||
dec print_x
|
||||
|
||||
; draw left+right borders + space inside window
|
||||
lda #^stringbuf
|
||||
sta print_bank
|
||||
ldx #!stringbuf
|
||||
stx print_src
|
||||
lda @window_wv
|
||||
sta stringbuf
|
||||
ldx #!stringbuf
|
||||
inx
|
||||
lda window_w
|
||||
sta window_tmp
|
||||
stz window_tmp+1
|
||||
ldy window_tmp
|
||||
dey
|
||||
dey
|
||||
-
|
||||
lda @space64
|
||||
sta !0,x
|
||||
inx
|
||||
dey
|
||||
cpy #$0000
|
||||
bne -
|
||||
|
||||
lda @window_ev
|
||||
sta !0,x
|
||||
|
||||
; print to text buffer multiple times
|
||||
lda window_h
|
||||
sta window_tmp
|
||||
stz window_tmp+1
|
||||
ldy window_tmp
|
||||
dey
|
||||
dey
|
||||
-
|
||||
inc print_y
|
||||
phy
|
||||
jsr hiprint
|
||||
ply
|
||||
dey
|
||||
cpy #$0000
|
||||
bne -
|
||||
|
||||
; draw lower window border
|
||||
; lower left corner
|
||||
lda @window_sw
|
||||
sta stringbuf
|
||||
ldx #!stringbuf
|
||||
inx
|
||||
lda window_w
|
||||
sta window_tmp
|
||||
stz window_tmp+1
|
||||
ldy window_tmp
|
||||
dey
|
||||
dey
|
||||
; lower edge
|
||||
-
|
||||
lda @window_sh
|
||||
sta !0,x
|
||||
inx
|
||||
dey
|
||||
cpy #$0000
|
||||
bne -
|
||||
; lower right corner
|
||||
lda @window_se
|
||||
sta !0,x
|
||||
; print to text buffer
|
||||
inc print_y
|
||||
jsr hiprint
|
||||
plp
|
||||
plb
|
||||
rts
|
||||
|
||||
713
snes/time.a65
Normal file
713
snes/time.a65
Normal file
@ -0,0 +1,713 @@
|
||||
#include "memmap.i65"
|
||||
#include "dma.i65"
|
||||
|
||||
timebox_data
|
||||
; string offset, selection width, bcdtime offset, 1s limit, 10s limit
|
||||
.byt 0, 4, 9
|
||||
.byt 5, 2, 8
|
||||
.byt 8, 2, 6
|
||||
.byt 11, 2, 4
|
||||
.byt 14, 2, 2
|
||||
.byt 17, 2, 0
|
||||
|
||||
time_month
|
||||
.byt 3, 1
|
||||
.byt 2, 8
|
||||
.byt 3, 1
|
||||
.byt 3, 0
|
||||
.byt 3, 1
|
||||
.byt 3, 0
|
||||
.byt 3, 1
|
||||
.byt 3, 1
|
||||
.byt 3, 0
|
||||
.byt 3, 1
|
||||
.byt 3, 0
|
||||
.byt 3, 1
|
||||
|
||||
time_init:
|
||||
php
|
||||
sep #$20 : .as
|
||||
; save text area
|
||||
jsr backup_screen
|
||||
; draw window + current time setting
|
||||
lda #^text_clkset
|
||||
sta window_tbank
|
||||
ldx #!text_clkset
|
||||
stx window_taddr
|
||||
lda @time_win_x
|
||||
sta window_x
|
||||
lda @time_win_w
|
||||
sta window_w
|
||||
lda @time_win_y
|
||||
sta window_y
|
||||
lda @time_win_h
|
||||
sta window_h
|
||||
jsr draw_window
|
||||
jsr gettime
|
||||
stz time_sel
|
||||
stz time_exit
|
||||
lda #^text_buttonB
|
||||
sta print_bank
|
||||
ldx #!text_buttonB
|
||||
stx print_src
|
||||
lda @time_win_x
|
||||
inc
|
||||
inc
|
||||
sta print_x
|
||||
lda @time_win_y
|
||||
clc
|
||||
adc #$5
|
||||
sta print_y
|
||||
lda #$01
|
||||
sta print_pal
|
||||
jsr hiprint
|
||||
time_update
|
||||
jsr rendertime
|
||||
lda #^stringbuf
|
||||
sta print_bank
|
||||
ldx #!stringbuf
|
||||
stx print_src
|
||||
lda @time_win_x
|
||||
clc
|
||||
adc #$04
|
||||
sta print_x
|
||||
lda @time_win_y
|
||||
clc
|
||||
adc #$03
|
||||
sta print_y
|
||||
stz print_pal
|
||||
jsr hiprint
|
||||
lda time_sel
|
||||
asl
|
||||
clc
|
||||
adc time_sel
|
||||
xba
|
||||
lda #$00
|
||||
xba
|
||||
tax
|
||||
lda !timebox_data, x
|
||||
clc
|
||||
adc #$04
|
||||
adc @time_win_x
|
||||
sta bar_xl
|
||||
lda @time_win_y
|
||||
adc #$02
|
||||
sta bar_yl
|
||||
inx
|
||||
lda !timebox_data, x
|
||||
sta bar_wl
|
||||
inx
|
||||
lda !timebox_data, x
|
||||
sta time_ptr
|
||||
timeloop1
|
||||
lda isr_done
|
||||
lsr
|
||||
bcc timeloop1
|
||||
stz isr_done
|
||||
jsr read_pad
|
||||
lda #$01
|
||||
and pad1trig+1
|
||||
bne tkey_right
|
||||
lda #$02
|
||||
and pad1trig+1
|
||||
bne tkey_left
|
||||
lda #$04
|
||||
and pad1trig+1
|
||||
bne tkey_down
|
||||
lda #$08
|
||||
and pad1trig+1
|
||||
bne tkey_up
|
||||
lda #$80
|
||||
and pad1trig+1
|
||||
bne tkey_b
|
||||
; do stuff
|
||||
lda time_exit
|
||||
beq timeloop1
|
||||
; set clock
|
||||
jsr settime
|
||||
; restore text area
|
||||
jsr restore_screen
|
||||
plp
|
||||
rts
|
||||
|
||||
tkey_b
|
||||
inc time_exit
|
||||
jmp time_update
|
||||
|
||||
tkey_left
|
||||
jsr time_key_left
|
||||
jmp time_update
|
||||
|
||||
tkey_right
|
||||
jsr time_key_right
|
||||
jmp time_update
|
||||
|
||||
tkey_up
|
||||
jsr time_key_up
|
||||
jmp time_update
|
||||
|
||||
tkey_down
|
||||
jsr time_key_down
|
||||
jmp time_update
|
||||
|
||||
time_key_left
|
||||
lda time_sel
|
||||
beq +
|
||||
dec time_sel
|
||||
+
|
||||
rts
|
||||
|
||||
time_key_right
|
||||
lda time_sel
|
||||
cmp #5
|
||||
beq +
|
||||
inc time_sel
|
||||
+
|
||||
rts
|
||||
|
||||
time_key_up
|
||||
lda time_ptr
|
||||
cmp #4
|
||||
beq time_inc_hour_jmp
|
||||
cmp #6
|
||||
beq time_inc_day_jmp
|
||||
cmp #8
|
||||
beq time_inc_mon_jmp
|
||||
cmp #9
|
||||
beq time_inc_year_jmp
|
||||
xba
|
||||
lda #$00
|
||||
xba
|
||||
tax
|
||||
lda !time_s1, x
|
||||
inc
|
||||
cmp #$0a
|
||||
bmi time_inc_minsec1_normal
|
||||
stz !time_s1, x
|
||||
lda !time_s10, x
|
||||
inc
|
||||
cmp #$06
|
||||
bmi time_inc_minsec10_normal
|
||||
stz !time_s10, x
|
||||
bra +
|
||||
time_inc_minsec10_normal
|
||||
sta !time_s10, x
|
||||
bra +
|
||||
time_inc_minsec1_normal
|
||||
sta !time_s1, x
|
||||
+
|
||||
rts
|
||||
|
||||
time_inc_hour_jmp
|
||||
jsr time_inc_hour
|
||||
rts
|
||||
|
||||
time_inc_day_jmp
|
||||
jsr time_inc_day
|
||||
rts
|
||||
|
||||
time_inc_mon_jmp
|
||||
jsr time_inc_mon
|
||||
rts
|
||||
|
||||
time_inc_year_jmp
|
||||
jsr time_inc_year
|
||||
lda time_mon
|
||||
jsr time_adjust_mon
|
||||
rts
|
||||
|
||||
time_inc_hour
|
||||
lda time_h10
|
||||
cmp #$02
|
||||
bne time_inc_hour_normal
|
||||
lda time_h1
|
||||
inc
|
||||
cmp #$04
|
||||
bmi +
|
||||
stz time_h1
|
||||
stz time_h10
|
||||
rts
|
||||
+
|
||||
sta time_h1
|
||||
rts
|
||||
time_inc_hour_normal
|
||||
lda time_h1
|
||||
inc
|
||||
cmp #$0a
|
||||
bmi +
|
||||
stz time_h1
|
||||
inc time_h10
|
||||
rts
|
||||
+
|
||||
sta time_h1
|
||||
rts
|
||||
|
||||
time_inc_day
|
||||
lda time_mon
|
||||
dec
|
||||
asl
|
||||
xba
|
||||
lda #$00
|
||||
xba
|
||||
tax
|
||||
lda !time_month, x
|
||||
cmp time_d10
|
||||
bne time_inc_day_normal
|
||||
inx
|
||||
jsr is_leapyear_feb
|
||||
lda !time_month, x
|
||||
dec
|
||||
adc #$00
|
||||
cmp time_d1
|
||||
bpl +
|
||||
stz time_d1
|
||||
stz time_d10
|
||||
+
|
||||
inc time_d1
|
||||
rts
|
||||
time_inc_day_normal
|
||||
lda time_d1
|
||||
inc
|
||||
cmp #$0a
|
||||
bmi +
|
||||
stz time_d1
|
||||
inc time_d10
|
||||
rts
|
||||
+
|
||||
sta time_d1
|
||||
rts
|
||||
|
||||
time_inc_mon
|
||||
lda time_mon
|
||||
inc
|
||||
cmp #13
|
||||
bmi +
|
||||
lda #$01
|
||||
+
|
||||
jsr time_adjust_mon
|
||||
rts
|
||||
|
||||
time_adjust_mon
|
||||
sta time_mon
|
||||
dec
|
||||
asl
|
||||
xba
|
||||
lda #$00
|
||||
xba
|
||||
tax
|
||||
lda time_d10
|
||||
cmp !time_month, x
|
||||
bcs time_mon_adjust
|
||||
rts
|
||||
time_mon_adjust
|
||||
php
|
||||
inx
|
||||
lda !time_month, x
|
||||
pha
|
||||
jsr is_leapyear_feb ; c=1 -> a leapyear february
|
||||
pla
|
||||
adc #$00
|
||||
plp
|
||||
bne time_mon_doadjust
|
||||
cmp time_d1
|
||||
bcs +
|
||||
time_mon_doadjust
|
||||
sta time_d1
|
||||
dex
|
||||
lda !time_month, x
|
||||
sta time_d10
|
||||
+
|
||||
rts
|
||||
|
||||
time_inc_year
|
||||
lda time_y1
|
||||
inc
|
||||
cmp #$0a
|
||||
bmi time_inc_y1_normal
|
||||
stz time_y1
|
||||
lda time_y10
|
||||
inc
|
||||
cmp #$0a
|
||||
bmi time_inc_y10_normal
|
||||
stz time_y10
|
||||
inc time_y100
|
||||
rts
|
||||
time_inc_y10_normal
|
||||
sta time_y10
|
||||
rts
|
||||
time_inc_y1_normal
|
||||
sta time_y1
|
||||
rts
|
||||
|
||||
|
||||
time_key_down
|
||||
lda time_ptr
|
||||
cmp #4
|
||||
beq time_dec_hour_jmp
|
||||
cmp #6
|
||||
beq time_dec_day_jmp
|
||||
cmp #8
|
||||
beq time_dec_mon_jmp
|
||||
cmp #9
|
||||
beq time_dec_year_jmp
|
||||
xba
|
||||
lda #$00
|
||||
xba
|
||||
tax
|
||||
lda !time_s1, x
|
||||
dec
|
||||
cmp #$ff
|
||||
bne time_dec_minsec1_normal
|
||||
lda #$09
|
||||
sta !time_s1, x
|
||||
lda !time_s10, x
|
||||
dec
|
||||
cmp #$ff
|
||||
bne time_dec_minsec10_normal
|
||||
lda #$05
|
||||
sta !time_s10, x
|
||||
bra +
|
||||
time_dec_minsec10_normal
|
||||
sta !time_s10, x
|
||||
bra +
|
||||
time_dec_minsec1_normal
|
||||
sta !time_s1, x
|
||||
+
|
||||
rts
|
||||
|
||||
time_dec_hour_jmp
|
||||
jsr time_dec_hour
|
||||
rts
|
||||
|
||||
time_dec_day_jmp
|
||||
jsr time_dec_day
|
||||
rts
|
||||
|
||||
time_dec_mon_jmp
|
||||
jsr time_dec_mon
|
||||
rts
|
||||
|
||||
time_dec_year_jmp
|
||||
jsr time_dec_year
|
||||
lda time_mon
|
||||
jsr time_adjust_mon
|
||||
rts
|
||||
|
||||
time_dec_hour
|
||||
lda time_h1
|
||||
dec
|
||||
cmp #$ff
|
||||
bne time_dec_h1_normal
|
||||
lda time_h10
|
||||
bne time_dec_h10_normal
|
||||
lda #$02
|
||||
sta time_h10
|
||||
lda #$03
|
||||
sta time_h1
|
||||
rts
|
||||
time_dec_h10_normal
|
||||
lda #$09
|
||||
sta time_h1
|
||||
dec time_h10
|
||||
rts
|
||||
time_dec_h1_normal
|
||||
sta time_h1
|
||||
rts
|
||||
|
||||
time_dec_day
|
||||
lda time_d10
|
||||
beq +
|
||||
lda time_d1
|
||||
dec
|
||||
cmp #$ff
|
||||
bne time_dec_d1_normal
|
||||
bra time_dec_cont
|
||||
+ lda time_d1
|
||||
dec
|
||||
bne time_dec_d1_normal
|
||||
time_dec_cont
|
||||
lda time_d10
|
||||
bne time_dec_d10_normal
|
||||
lda time_mon
|
||||
dec
|
||||
asl
|
||||
ldx #$0000
|
||||
tax
|
||||
lda !time_month, x
|
||||
sta time_d10
|
||||
inx
|
||||
lda !time_month, x
|
||||
pha
|
||||
jsr is_leapyear_feb
|
||||
pla
|
||||
adc #$00
|
||||
sta time_d1
|
||||
rts
|
||||
time_dec_d10_normal
|
||||
lda #$09
|
||||
sta time_d1
|
||||
dec time_d10
|
||||
rts
|
||||
time_dec_d1_normal
|
||||
sta time_d1
|
||||
rts
|
||||
|
||||
time_dec_mon
|
||||
lda time_mon
|
||||
dec
|
||||
bne +
|
||||
lda #12
|
||||
+
|
||||
jsr time_adjust_mon
|
||||
rts
|
||||
|
||||
time_dec_year
|
||||
lda time_y1
|
||||
dec
|
||||
cmp #$ff
|
||||
bne time_dec_y1_normal
|
||||
lda #$09
|
||||
sta time_y1
|
||||
lda time_y10
|
||||
dec
|
||||
cmp #$ff
|
||||
bne time_dec_y10_normal
|
||||
lda #$09
|
||||
sta time_y10
|
||||
dec time_y100
|
||||
rts
|
||||
time_dec_y10_normal
|
||||
sta time_y10
|
||||
rts
|
||||
time_dec_y1_normal
|
||||
sta time_y1
|
||||
rts
|
||||
|
||||
rts
|
||||
|
||||
gettime
|
||||
lda #$0d
|
||||
sta $2801
|
||||
lda $2800
|
||||
lda $2800
|
||||
sta time_s1
|
||||
lda $2800
|
||||
sta time_s10
|
||||
lda $2800
|
||||
sta time_m1
|
||||
lda $2800
|
||||
sta time_m10
|
||||
lda $2800
|
||||
sta time_h1
|
||||
lda $2800
|
||||
sta time_h10
|
||||
lda $2800
|
||||
sta time_d1
|
||||
lda $2800
|
||||
sta time_d10
|
||||
lda $2800
|
||||
sta time_mon
|
||||
lda $2800
|
||||
sta time_y1
|
||||
lda $2800
|
||||
sta time_y10
|
||||
lda $2800
|
||||
sta time_y100
|
||||
rts
|
||||
|
||||
rendertime
|
||||
ldx #!stringbuf
|
||||
lda time_y100
|
||||
and #$0f
|
||||
cmp #$0a
|
||||
bpl y_skip1
|
||||
clc
|
||||
adc #$30
|
||||
sta !1,x
|
||||
lda #$31
|
||||
sta !0,x
|
||||
bra y_skip2
|
||||
y_skip1
|
||||
clc
|
||||
adc #$26
|
||||
sta !1,x
|
||||
lda #$32
|
||||
sta !0,x
|
||||
y_skip2
|
||||
inx
|
||||
inx
|
||||
lda time_y10
|
||||
and #$0f
|
||||
clc
|
||||
adc #$30
|
||||
sta !0,x
|
||||
inx
|
||||
lda time_y1
|
||||
and #$0f
|
||||
clc
|
||||
adc #$30
|
||||
sta !0,x
|
||||
inx
|
||||
lda #$2d
|
||||
sta !0,x
|
||||
inx
|
||||
lda time_mon
|
||||
and #$0f
|
||||
cmp #$0a
|
||||
bpl mon_skip1
|
||||
clc
|
||||
adc #$30
|
||||
sta !1,x
|
||||
lda #$30
|
||||
sta !0,x
|
||||
bra mon_skip2
|
||||
mon_skip1
|
||||
clc
|
||||
adc #$26
|
||||
sta !1,x
|
||||
lda #$31
|
||||
sta !0,x
|
||||
mon_skip2
|
||||
inx
|
||||
inx
|
||||
lda #$2d
|
||||
sta !0,x
|
||||
inx
|
||||
lda time_d10
|
||||
clc
|
||||
adc #$30
|
||||
sta !0,x
|
||||
inx
|
||||
lda time_d1
|
||||
clc
|
||||
adc #$30
|
||||
sta !0,x
|
||||
inx
|
||||
lda #$20
|
||||
sta !0,x
|
||||
inx
|
||||
lda time_h10
|
||||
clc
|
||||
adc #$30
|
||||
sta !0,x
|
||||
inx
|
||||
lda time_h1
|
||||
clc
|
||||
adc #$30
|
||||
sta !0,x
|
||||
inx
|
||||
lda #$3a
|
||||
sta !0,x
|
||||
inx
|
||||
lda time_m10
|
||||
clc
|
||||
adc #$30
|
||||
sta !0,x
|
||||
inx
|
||||
lda time_m1
|
||||
clc
|
||||
adc #$30
|
||||
sta !0,x
|
||||
inx
|
||||
lda #$3a
|
||||
sta !0,x
|
||||
inx
|
||||
lda time_s10
|
||||
clc
|
||||
adc #$30
|
||||
sta !0,x
|
||||
inx
|
||||
lda time_s1
|
||||
clc
|
||||
adc #$30
|
||||
sta !0,x
|
||||
stz !1,x
|
||||
rts
|
||||
|
||||
is_leapyear_feb
|
||||
lda time_mon
|
||||
cmp #$02
|
||||
bne is_leapyear_feb_no
|
||||
lda time_y10
|
||||
asl
|
||||
sta time_tmp
|
||||
asl
|
||||
asl
|
||||
clc
|
||||
adc time_tmp
|
||||
clc
|
||||
adc time_y1
|
||||
sta time_tmp
|
||||
and #$03
|
||||
beq is_leapyear_4th ; every 4th year
|
||||
is_leapyear_feb_no
|
||||
clc
|
||||
rts
|
||||
|
||||
is_leapyear_4th ; leapyear candidate
|
||||
lda time_tmp ; year=00?
|
||||
beq + ; then check century
|
||||
sec ; else it's always a leapyear
|
||||
rts
|
||||
+
|
||||
lda time_y100 ; century divisible by 4?
|
||||
clc
|
||||
adc #10
|
||||
and #$03
|
||||
beq is_leapyear_400th
|
||||
clc
|
||||
rts
|
||||
|
||||
is_leapyear_400th
|
||||
sec
|
||||
rts
|
||||
|
||||
settime
|
||||
lda time_y100
|
||||
sta @AVR_PARAM
|
||||
lda time_y10
|
||||
sta @AVR_PARAM+1
|
||||
lda time_y1
|
||||
sta @AVR_PARAM+2
|
||||
lda time_mon
|
||||
sta @AVR_PARAM+3
|
||||
lda time_d10
|
||||
sta @AVR_PARAM+4
|
||||
lda time_d1
|
||||
sta @AVR_PARAM+5
|
||||
lda time_h10
|
||||
sta @AVR_PARAM+6
|
||||
lda time_h1
|
||||
sta @AVR_PARAM+7
|
||||
lda time_m10
|
||||
sta @AVR_PARAM+8
|
||||
lda time_m1
|
||||
sta @AVR_PARAM+9
|
||||
lda time_s10
|
||||
sta @AVR_PARAM+10
|
||||
lda time_s1
|
||||
sta @AVR_PARAM+11
|
||||
lda #$02 ; set clock
|
||||
sta @AVR_CMD
|
||||
rts
|
||||
|
||||
printtime:
|
||||
jsr gettime
|
||||
jsr rendertime
|
||||
lda listdisp
|
||||
clc
|
||||
adc #$0a
|
||||
clc
|
||||
adc vidmode
|
||||
sta print_y
|
||||
lda #$2b
|
||||
sta print_x
|
||||
lda #$40
|
||||
sta print_count
|
||||
lda #^stringbuf
|
||||
sta print_bank
|
||||
ldx #!stringbuf
|
||||
stx print_src
|
||||
stz print_pal
|
||||
jsr hiprint
|
||||
rts
|
||||
Loading…
x
Reference in New Issue
Block a user