SNES menu: add time setting dialog + begin work on main menu

This commit is contained in:
ikari 2011-03-14 01:44:26 +01:00
parent c4d3756a18
commit 9af83658e7
22 changed files with 3466 additions and 2195 deletions

View File

@ -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 all: menu.bin menu.smc

View File

@ -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 $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 $00, $30, $30, $48, $30, $48, $30, $48
.byt $20, $18, $00, $10, $30, $00, $00, $18 .byt $20, $58, $00, $30, $30, $48, $00, $30
.byt $6c, $00, $6c, $12, $24, $12, $00, $12 .byt $00, $6c, $6c, $92, $24, $5a, $00, $36
.byt $00, $00, $00, $00, $00, $00, $00, $00 .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $6c, $00, $6c, $12, $fe, $00, $6c, $13 .byt $00, $6c, $6c, $92, $fe, $01, $6c, $92
.byt $fe, $00, $6c, $13, $6c, $12, $00, $36 .byt $fe, $01, $6c, $92, $00, $6c, $00, $00
.byt $10, $00, $7c, $44, $c6, $38, $f0, $03 .byt $10, $6c, $7c, $c6, $c6, $39, $f0, $0e
.byt $1e, $60, $c6, $09, $7c, $47, $10, $2e .byt $1e, $e1, $c6, $39, $7c, $c6, $10, $6c
.byt $42, $00, $a4, $01, $48, $12, $10, $24 .byt $42, $a5, $a4, $5a, $48, $b4, $10, $6c
.byt $24, $08, $4a, $10, $84, $21, $00, $42 .byt $24, $5a, $4a, $b5, $84, $4a, $00, $84
.byt $70, $40, $c0, $38, $c4, $24, $6e, $4a .byt $70, $c8, $c0, $34, $c4, $2e, $6e, $db
.byt $c4, $33, $c4, $22, $7c, $46, $00, $3e .byt $c4, $2a, $c4, $3a, $7c, $c6, $00, $7c
.byt $18, $00, $18, $04, $10, $0c, $00, $08 .byt $00, $18, $18, $24, $10, $28, $00, $10
.byt $00, $00, $00, $00, $00, $00, $00, $00 .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $18, $00, $30, $2c, $30, $08, $30, $08 .byt $18, $24, $30, $68, $30, $48, $30, $48
.byt $30, $08, $30, $28, $18, $00, $00, $0c .byt $30, $48, $30, $68, $18, $24, $00, $18
.byt $30, $00, $18, $08, $18, $04, $18, $04 .byt $30, $48, $18, $2c, $18, $24, $18, $24
.byt $18, $04, $18, $0c, $30, $0c, $00, $18 .byt $18, $24, $18, $2c, $30, $48, $00, $30
.byt $00, $00, $6c, $00, $38, $06, $7c, $00 .byt $00, $6c, $6c, $92, $38, $44, $7c, $82
.byt $38, $06, $6c, $12, $00, $36, $00, $00 .byt $38, $44, $6c, $92, $00, $6c, $00, $00
.byt $00, $00, $30, $00, $30, $08, $fc, $00 .byt $00, $18, $18, $24, $18, $66, $7e, $81
.byt $30, $4e, $30, $08, $00, $18, $00, $00 .byt $18, $66, $18, $24, $00, $18, $00, $00
.byt $00, $00, $00, $00, $00, $00, $00, $00 .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $00, $00, $18, $00, $18, $04, $10, $08 .byt $00, $18, $18, $24, $18, $24, $10, $28
.byt $00, $00, $00, $00, $00, $00, $fc, $00 .byt $00, $00, $00, $00, $00, $7e, $7e, $81
.byt $00, $7e, $00, $00, $00, $00, $00, $00 .byt $00, $7e, $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, $18, $00, $18, $04, $00, $0c .byt $00, $18, $18, $24, $18, $24, $00, $18
.byt $18, $00, $18, $04, $30, $0c, $30, $08 .byt $03, $04, $06, $09, $0c, $12, $18, $24
.byt $30, $08, $60, $18, $60, $10, $00, $30 .byt $30, $48, $60, $90, $c0, $20, $00, $c0
.byt $7c, $44, $e6, $38, $c6, $31, $c6, $21 .byt $7c, $c6, $e6, $39, $c6, $29, $c6, $29
.byt $c6, $21, $ce, $29, $7c, $47, $00, $3e .byt $c6, $29, $ce, $39, $7c, $c6, $00, $7c
.byt $08, $00, $18, $04, $18, $04, $18, $04 .byt $18, $34, $18, $24, $18, $24, $18, $24
.byt $18, $04, $18, $04, $18, $04, $00, $0c .byt $18, $24, $18, $24, $18, $24, $00, $18
.byt $fc, $00, $00, $7e, $06, $00, $7c, $07 .byt $fc, $06, $06, $f9, $06, $79, $7c, $86
.byt $c0, $be, $c0, $20, $fe, $00, $00, $7f .byt $c0, $bc, $c0, $3e, $fe, $01, $00, $fe
.byt $fc, $00, $00, $7e, $06, $00, $3c, $07 .byt $fc, $06, $06, $f9, $06, $39, $3c, $46
.byt $06, $18, $06, $01, $fc, $07, $00, $7e .byt $06, $39, $06, $f9, $fc, $06, $00, $fc
.byt $c6, $00, $c6, $21, $c0, $23, $7e, $40 .byt $c6, $29, $c6, $29, $c6, $39, $7e, $c1
.byt $06, $39, $06, $01, $06, $01, $00, $03 .byt $06, $79, $06, $09, $06, $09, $00, $06
.byt $fe, $00, $00, $7f, $c0, $00, $fc, $04 .byt $fe, $01, $c0, $3e, $c0, $3c, $fc, $06
.byt $06, $78, $06, $01, $fc, $07, $00, $7e .byt $06, $f9, $06, $f9, $fc, $06, $00, $f8
.byt $7c, $00, $00, $3e, $c0, $00, $fc, $04 .byt $7c, $c2, $c0, $3c, $c0, $3c, $fc, $06
.byt $c6, $38, $c6, $a1, $7c, $07, $00, $3e .byt $c6, $39, $c6, $39, $7c, $c6, $00, $7c
.byt $fe, $00, $00, $7f, $06, $00, $06, $01 .byt $fc, $06, $06, $f9, $06, $09, $06, $09
.byt $06, $01, $06, $01, $06, $01, $00, $03 .byt $06, $09, $06, $09, $06, $09, $00, $06
.byt $7c, $04, $06, $38, $c6, $01, $7c, $47 .byt $7c, $c6, $c6, $39, $c6, $39, $7c, $c6
.byt $c6, $38, $c6, $21, $7c, $47, $00, $3e .byt $c6, $39, $c6, $39, $7c, $c6, $00, $7c
.byt $7c, $04, $06, $38, $c6, $01, $7e, $41 .byt $7c, $c6, $c6, $39, $c6, $39, $7e, $c1
.byt $06, $39, $06, $01, $7c, $07, $00, $3e .byt $06, $79, $06, $79, $7c, $86, $00, $7c
.byt $00, $00, $00, $00, $30, $00, $00, $18 .byt $00, $00, $00, $30, $30, $48, $00, $30
.byt $00, $00, $30, $00, $00, $18, $00, $00 .byt $00, $30, $30, $48, $00, $30, $00, $00
.byt $00, $00, $00, $00, $30, $00, $00, $18 .byt $00, $00, $00, $30, $30, $48, $00, $30
.byt $00, $00, $30, $00, $20, $18, $00, $10 .byt $00, $30, $30, $48, $20, $50, $00, $20
.byt $00, $00, $18, $00, $30, $0c, $60, $18 .byt $00, $18, $18, $24, $30, $48, $60, $90
.byt $30, $00, $18, $00, $00, $0c, $00, $00 .byt $30, $48, $18, $24, $00, $18, $00, $00
.byt $00, $00, $00, $00, $3c, $00, $00, $1e .byt $00, $00, $00, $3c, $3c, $42, $00, $3c
.byt $00, $00, $3c, $00, $00, $1e, $00, $00 .byt $00, $3c, $3c, $42, $00, $3c, $00, $00
.byt $00, $00, $30, $00, $18, $00, $0c, $00 .byt $00, $30, $30, $48, $18, $24, $0c, $12
.byt $18, $06, $30, $0c, $00, $18, $00, $00 .byt $18, $24, $30, $48, $00, $30, $00, $00
.byt $f8, $08, $0c, $70, $0c, $02, $18, $06 .byt $f8, $0c, $0c, $f2, $0c, $12, $18, $24
.byt $30, $0c, $00, $18, $30, $00, $00, $18 .byt $30, $48, $00, $30, $30, $48, $00, $30
.byt $7c, $04, $06, $38, $c6, $01, $de, $21 .byt $7c, $c6, $c6, $39, $c6, $39, $de, $21
.byt $de, $21, $c0, $2f, $7e, $40, $00, $3f .byt $de, $21, $c0, $3e, $7e, $c1, $00, $7e
.byt $7c, $04, $06, $38, $c6, $01, $de, $21 .byt $7c, $c6, $c6, $39, $c6, $39, $de, $21
.byt $c6, $29, $c6, $21, $c6, $21, $00, $63 .byt $c6, $39, $c6, $29, $c6, $29, $00, $c6
.byt $fc, $04, $06, $78, $c6, $01, $dc, $27 .byt $fc, $06, $c6, $39, $c6, $39, $dc, $26
.byt $c6, $28, $c6, $21, $fc, $07, $00, $7e .byt $c6, $39, $c6, $39, $fc, $06, $00, $fc
.byt $7e, $00, $00, $3f, $c0, $00, $c0, $20 .byt $7e, $c1, $c0, $3e, $c0, $20, $c0, $20
.byt $c0, $20, $c0, $20, $7e, $40, $00, $3f .byt $c0, $20, $c0, $3e, $7e, $c1, $00, $7e
.byt $fc, $00, $06, $7a, $c6, $01, $c6, $21 .byt $fc, $02, $c6, $3b, $c6, $29, $c6, $29
.byt $c6, $21, $c6, $23, $fc, $03, $00, $7e .byt $c6, $29, $c6, $3b, $fc, $02, $00, $fc
.byt $fe, $00, $00, $7f, $c0, $00, $f8, $00 .byt $fe, $01, $c0, $3e, $c0, $38, $f8, $04
.byt $c0, $3c, $c0, $20, $fe, $00, $00, $7f .byt $c0, $38, $c0, $3e, $fe, $01, $00, $fe
.byt $fe, $00, $00, $7f, $c0, $00, $f8, $00 .byt $fe, $01, $c0, $3e, $c0, $38, $f8, $04
.byt $c0, $3c, $c0, $20, $c0, $20, $00, $60 .byt $c0, $38, $c0, $20, $c0, $20, $00, $c0
.byt $7e, $00, $00, $3f, $c0, $00, $ce, $20 .byt $7e, $c1, $c0, $3e, $c0, $2e, $ce, $33
.byt $c6, $21, $c6, $21, $7c, $47, $00, $3e .byt $c6, $29, $c6, $39, $7c, $c6, $00, $7c
.byt $c6, $00, $06, $61, $c6, $01, $de, $21 .byt $c6, $29, $c6, $29, $c6, $39, $fe, $01
.byt $c6, $29, $c6, $21, $c6, $21, $00, $63 .byt $c6, $39, $c6, $29, $c6, $29, $00, $c6
.byt $18, $00, $18, $04, $18, $04, $18, $04 .byt $18, $24, $18, $24, $18, $24, $18, $24
.byt $18, $04, $18, $04, $18, $04, $00, $0c .byt $18, $24, $18, $24, $18, $24, $00, $18
.byt $0c, $00, $0c, $02, $0c, $02, $0c, $02 .byt $0c, $12, $0c, $12, $0c, $12, $0c, $12
.byt $0c, $02, $0c, $06, $f8, $06, $00, $7c .byt $0c, $12, $0c, $f6, $f8, $06, $00, $fc
.byt $c6, $00, $c6, $21, $c0, $23, $fc, $04 .byt $c6, $29, $c6, $29, $c6, $38, $fc, $06
.byt $c6, $38, $c6, $21, $c6, $21, $00, $63 .byt $c6, $39, $c6, $29, $c6, $29, $00, $c7
.byt $c0, $00, $00, $60, $c0, $00, $c0, $20 .byt $c0, $20, $c0, $20, $c0, $20, $c0, $20
.byt $c0, $20, $c0, $20, $fc, $00, $00, $7e .byt $c0, $20, $c0, $3c, $fc, $02, $00, $fc
.byt $fc, $04, $16, $68, $d6, $09, $d6, $29 .byt $ec, $16, $d6, $29, $d6, $29, $d6, $29
.byt $c6, $29, $c6, $21, $c6, $21, $00, $63 .byt $c6, $39, $c6, $29, $c6, $29, $00, $c7
.byt $fc, $04, $06, $78, $c6, $01, $c6, $21 .byt $fc, $06, $c6, $39, $c6, $29, $c6, $29
.byt $c6, $21, $c6, $21, $c6, $21, $00, $63 .byt $c6, $29, $c6, $29, $c6, $29, $00, $c6
.byt $7c, $04, $06, $38, $c6, $01, $c6, $21 .byt $7c, $c6, $c6, $39, $c6, $29, $c6, $29
.byt $c6, $21, $c6, $21, $7c, $47, $00, $3e .byt $c6, $29, $c6, $39, $7c, $c6, $00, $7c
.byt $fc, $04, $06, $78, $c6, $01, $c6, $01 .byt $fc, $06, $c6, $39, $c6, $29, $c6, $39
.byt $fc, $07, $c0, $3e, $c0, $20, $00, $60 .byt $fc, $06, $c0, $3c, $c0, $20, $00, $c0
.byt $7c, $00, $06, $3a, $c6, $01, $c6, $21 .byt $7c, $82, $c6, $bb, $c6, $29, $c6, $29
.byt $c6, $21, $ce, $21, $7e, $41, $00, $3f .byt $c6, $29, $ce, $31, $7e, $c1, $00, $7e
.byt $fc, $04, $06, $78, $c6, $01, $fc, $06 .byt $fc, $06, $c6, $39, $c6, $39, $fc, $06
.byt $c6, $39, $c6, $21, $c6, $21, $00, $63 .byt $c6, $39, $c6, $29, $c6, $29, $00, $c6
.byt $7e, $00, $00, $3f, $c0, $00, $7c, $44 .byt $7e, $c1, $c0, $3e, $c0, $3c, $7c, $c6
.byt $06, $38, $06, $01, $fc, $07, $00, $7e .byt $06, $79, $06, $f9, $fc, $06, $00, $fc
.byt $fe, $00, $00, $7f, $18, $00, $18, $04 .byt $fe, $01, $18, $e6, $18, $24, $18, $24
.byt $18, $04, $18, $04, $18, $04, $00, $0c .byt $18, $24, $18, $24, $18, $24, $00, $18
.byt $c6, $00, $06, $61, $c6, $01, $c6, $21 .byt $c6, $29, $c6, $29, $c6, $29, $c6, $29
.byt $c6, $21, $c6, $21, $7c, $47, $00, $3e .byt $c6, $29, $c6, $39, $7c, $c6, $00, $7c
.byt $c6, $00, $06, $61, $c6, $01, $c6, $21 .byt $c6, $29, $c6, $29, $c6, $29, $c6, $29
.byt $66, $01, $36, $01, $1e, $01, $00, $0f .byt $66, $99, $36, $49, $1e, $21, $00, $1f
.byt $c6, $00, $06, $61, $c6, $01, $d6, $21 .byt $c6, $29, $c6, $29, $c6, $39, $d6, $29
.byt $d6, $29, $d6, $29, $7e, $41, $00, $3f .byt $d6, $29, $d6, $29, $6e, $d1, $00, $6e
.byt $c6, $00, $06, $61, $c6, $01, $7c, $47 .byt $c6, $29, $c6, $29, $c6, $39, $7c, $c6
.byt $c6, $38, $c6, $21, $c6, $21, $00, $63 .byt $c6, $39, $c6, $29, $c6, $29, $00, $c6
.byt $c6, $00, $06, $61, $c6, $01, $7e, $41 .byt $c6, $29, $c6, $29, $c6, $39, $7e, $c1
.byt $06, $39, $06, $03, $fc, $03, $00, $7e .byt $06, $79, $06, $f9, $fc, $06, $00, $fc
.byt $fe, $00, $00, $7f, $06, $00, $7c, $47 .byt $fe, $01, $06, $f9, $06, $79, $7c, $c6
.byt $c0, $3e, $c0, $20, $fe, $00, $00, $7f .byt $c0, $3c, $c0, $3e, $fe, $01, $00, $fe
.byt $3c, $00, $30, $0e, $30, $08, $30, $08 .byt $3c, $42, $30, $4c, $30, $48, $30, $48
.byt $30, $08, $30, $08, $3c, $00, $00, $1e .byt $30, $48, $30, $4c, $3c, $42, $00, $3c
.byt $30, $00, $30, $08, $18, $00, $18, $04 .byt $c0, $20, $60, $90, $30, $48, $18, $24
.byt $18, $04, $0c, $00, $0c, $02, $00, $06 .byt $0c, $12, $06, $09, $03, $04, $00, $03
.byt $3c, $00, $0c, $12, $0c, $02, $0c, $02 .byt $3c, $42, $0c, $32, $0c, $12, $0c, $12
.byt $0c, $02, $0c, $02, $3c, $02, $00, $1e .byt $0c, $12, $0c, $32, $3c, $42, $00, $3c
.byt $18, $00, $3c, $24, $66, $18, $00, $33 .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, $00, $00, $00, $00 .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $00, $00, $00, $00, $fe, $00, $00, $7f .byt $00, $00, $00, $7e, $7e, $81, $00, $7e
.byt $30, $00, $18, $00, $18, $04, $00, $0c .byt $30, $48, $18, $24, $18, $24, $00, $18
.byt $00, $00, $00, $00, $00, $00, $00, $00 .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $00, $00, $00, $00, $7c, $04, $06, $38 .byt $00, $00, $00, $7c, $7c, $86, $06, $79
.byt $7e, $41, $c6, $39, $7e, $41, $00, $3f .byt $7e, $c1, $c6, $39, $7e, $c1, $00, $7e
.byt $c0, $00, $c0, $20, $fc, $04, $c6, $38 .byt $c0, $20, $c0, $3c, $fc, $06, $c6, $39
.byt $c6, $21, $c6, $21, $fc, $07, $00, $7e .byt $c6, $29, $c6, $39, $fc, $06, $00, $fc
.byt $00, $00, $00, $00, $7e, $40, $c0, $3f .byt $00, $00, $00, $7e, $7e, $c1, $c0, $3e
.byt $c0, $20, $c0, $20, $7e, $40, $00, $3f .byt $c0, $20, $c0, $3e, $7e, $c1, $00, $7e
.byt $06, $00, $06, $01, $7e, $41, $c6, $39 .byt $06, $09, $06, $79, $7e, $c1, $c6, $39
.byt $c6, $21, $c6, $21, $7e, $41, $00, $3f .byt $c6, $29, $c6, $39, $7e, $c1, $00, $7f
.byt $00, $00, $00, $00, $7c, $44, $c6, $38 .byt $00, $00, $00, $7c, $7c, $c6, $c6, $39
.byt $de, $21, $c0, $2f, $7e, $40, $00, $3f .byt $fe, $01, $c0, $3e, $7e, $c3, $00, $7e
.byt $1e, $00, $30, $2f, $30, $08, $3c, $00 .byt $1e, $21, $30, $6e, $30, $4c, $3c, $42
.byt $30, $0e, $30, $08, $30, $08, $30, $08 .byt $30, $4c, $30, $48, $30, $48, $30, $48
.byt $00, $00, $00, $00, $7e, $40, $c6, $38 .byt $00, $00, $00, $7e, $7e, $c1, $c6, $39
.byt $c6, $21, $7e, $41, $06, $39, $7c, $03 .byt $c6, $39, $7e, $c1, $06, $79, $7c, $86
.byt $c0, $00, $c0, $20, $fc, $04, $c6, $38 .byt $c0, $20, $c0, $3c, $fc, $06, $c6, $39
.byt $c6, $21, $c6, $21, $c6, $21, $00, $63 .byt $c6, $29, $c6, $29, $c6, $29, $00, $c6
.byt $00, $00, $18, $00, $00, $0c, $18, $00 .byt $00, $18, $18, $24, $00, $18, $18, $24
.byt $18, $04, $18, $04, $18, $04, $00, $0c .byt $18, $24, $18, $24, $18, $24, $00, $18
.byt $00, $00, $18, $00, $00, $0c, $18, $00 .byt $00, $18, $18, $24, $00, $18, $18, $24
.byt $18, $04, $18, $04, $18, $0c, $30, $0c .byt $18, $24, $18, $24, $18, $2c, $30, $48
.byt $c0, $00, $c6, $20, $c6, $21, $fc, $07 .byt $c0, $20, $c0, $26, $c6, $29, $c6, $2b
.byt $c6, $38, $c6, $21, $c6, $21, $00, $63 .byt $fc, $06, $c6, $2b, $c6, $29, $00, $c7
.byt $30, $00, $30, $08, $30, $08, $30, $08 .byt $30, $48, $30, $48, $30, $48, $30, $48
.byt $30, $08, $30, $28, $18, $00, $00, $0c .byt $30, $48, $30, $68, $18, $24, $00, $1c
.byt $00, $00, $00, $00, $fc, $04, $d6, $28 .byt $00, $00, $00, $ec, $ec, $16, $d6, $29
.byt $d6, $29, $d6, $29, $c6, $29, $00, $63 .byt $d6, $29, $d6, $29, $c6, $39, $00, $c7
.byt $00, $00, $00, $00, $fc, $04, $c6, $38 .byt $00, $00, $00, $fc, $fc, $06, $c6, $39
.byt $c6, $21, $c6, $21, $c6, $21, $00, $63 .byt $c6, $29, $c6, $29, $c6, $29, $00, $c6
.byt $00, $00, $00, $00, $7c, $44, $c6, $38 .byt $00, $00, $00, $7c, $7c, $c6, $c6, $39
.byt $c6, $21, $c6, $21, $7c, $47, $00, $3e .byt $c6, $29, $c6, $39, $7c, $c6, $00, $7c
.byt $00, $00, $00, $00, $fc, $04, $c6, $38 .byt $00, $00, $00, $fc, $fc, $06, $c6, $39
.byt $c6, $21, $fc, $07, $c0, $3e, $c0, $20 .byt $c6, $39, $fc, $06, $c0, $3c, $c0, $20
.byt $00, $00, $00, $00, $7e, $40, $c6, $39 .byt $00, $00, $00, $7e, $7e, $c1, $c6, $39
.byt $c6, $21, $7e, $41, $06, $39, $06, $01 .byt $c6, $39, $7e, $c1, $06, $79, $06, $09
.byt $00, $00, $00, $00, $7c, $40, $c0, $3e .byt $00, $00, $00, $7c, $7c, $c2, $c0, $3c
.byt $c0, $20, $c0, $20, $c0, $20, $00, $60 .byt $c0, $20, $c0, $20, $c0, $20, $00, $c0
.byt $00, $00, $00, $00, $7e, $40, $c0, $3f .byt $00, $00, $00, $7e, $7e, $c1, $c0, $3e
.byt $7c, $44, $06, $38, $fc, $07, $00, $7e .byt $7c, $c6, $06, $f9, $fc, $06, $00, $fc
.byt $30, $00, $30, $08, $3c, $00, $30, $0e .byt $30, $48, $30, $4c, $3c, $42, $30, $4c
.byt $30, $08, $30, $08, $1e, $10, $00, $0f .byt $30, $48, $30, $4e, $1e, $31, $00, $1e
.byt $00, $00, $00, $00, $c6, $00, $c6, $21 .byt $00, $00, $00, $c6, $c6, $29, $c6, $29
.byt $c6, $21, $c6, $21, $7c, $47, $00, $3e .byt $c6, $29, $c6, $39, $7c, $c6, $00, $7c
.byt $00, $00, $00, $00, $c6, $00, $c6, $21 .byt $00, $00, $00, $c6, $c6, $29, $c6, $29
.byt $66, $01, $36, $01, $1e, $01, $00, $0f .byt $66, $99, $36, $49, $1e, $21, $00, $1e
.byt $00, $00, $00, $00, $c6, $00, $d6, $21 .byt $00, $00, $00, $c6, $c6, $39, $d6, $29
.byt $d6, $29, $d6, $29, $7e, $41, $00, $3f .byt $d6, $29, $d6, $29, $6e, $d1, $00, $6e
.byt $00, $00, $00, $00, $c6, $00, $c6, $21 .byt $00, $00, $00, $c6, $c6, $29, $c6, $39
.byt $7c, $47, $c6, $38, $c6, $21, $00, $63 .byt $7c, $c6, $c6, $39, $c6, $29, $00, $c6
.byt $00, $00, $00, $00, $c6, $00, $c6, $21 .byt $00, $00, $00, $c6, $c6, $29, $c6, $39
.byt $7e, $41, $06, $39, $06, $01, $fc, $07 .byt $7e, $c1, $06, $79, $06, $f9, $fc, $06
.byt $00, $00, $00, $00, $fe, $00, $06, $79 .byt $00, $00, $00, $fe, $fe, $01, $06, $f9
.byt $7c, $47, $c0, $3e, $fe, $00, $00, $7f .byt $7c, $c6, $c0, $3e, $fe, $01, $00, $fe
.byt $18, $00, $30, $0c, $30, $08, $70, $08 .byt $18, $24, $30, $48, $30, $48, $70, $88
.byt $30, $08, $30, $08, $18, $00, $00, $0c .byt $30, $48, $30, $48, $18, $24, $00, $18
.byt $18, $00, $18, $04, $18, $04, $00, $0c .byt $18, $24, $18, $24, $18, $24, $00, $18
.byt $18, $00, $18, $04, $18, $04, $00, $0c .byt $18, $24, $18, $24, $18, $24, $00, $18
.byt $30, $00, $18, $00, $18, $04, $1c, $00 .byt $30, $48, $18, $24, $18, $24, $1c, $22
.byt $18, $06, $18, $04, $30, $0c, $00, $18 .byt $18, $24, $18, $24, $30, $48, $00, $30
.byt $00, $00, $00, $00, $72, $10, $fe, $01 .byt $00, $00, $00, $72, $72, $9d, $fe, $01
.byt $9c, $73, $00, $4e, $00, $00, $00, $00 .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
.byt $00, $00, $00, $00, $00, $00, $00, $00 .byt $00, $00, $00, $00, $00, $00, $00, $00

View File

@ -116,7 +116,6 @@ oam_data_l .byt 75, 56, 31, $0e
.byt 75, 80, 24, $0e .byt 75, 80, 24, $0e
.byt 83, 80, 25, $0e .byt 83, 80, 25, $0e
.byt 91, 80, 26, $0e .byt 91, 80, 26, $0e
oam_data_h .byt 0, 0, 0, 0, 0, 0, 0, 0 oam_data_h .byt 0, 0, 0, 0, 0, 0, 0, 0
space64 .byt $20, $20, $20, $20, $20, $20, $20, $20 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 $20, $20, $20, $20, $20, $20, $20, $20
.byt $00 .byt $00
text_dirmark .byt " <dir>", 0 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

View File

@ -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 .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---------- ;----------parameters for text output----------
print_x .byt 0 ;x coordinate 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_x .byt 0 ; pixel x position of select bar
bar_y .byt 0 ; pixel y position of select bar bar_y .byt 0 ; pixel y position of select bar
bar_w .byt 0 ; bar width bar_w .byt 0 ; bar width
bar_wl .byt 0 ; bar width
menu_state .byt 0 ; menu state (0=file select) 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_dirty .byt 0 ; menu dirty (e.g. after state change or when redraw is needed)
menu_sel .word 0 ; selected item # menu_sel .word 0 ; selected item #
@ -67,7 +60,37 @@ fd_fnoff .word 0 ; offset of filename in file descriptor
pad1mem .word 0 pad1mem .word 0
pad1trig .word 0 pad1trig .word 0
pad1delay .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) ;----------menu layout/system constants (224/448)
vidmode .byt 0 ; 0=224, 1=448
listdisp .word 0 ; number of displayable list entries listdisp .word 0 ; number of displayable list entries
textdmasize .word 0 ; number of bytes to copy each frame textdmasize .word 0 ; number of bytes to copy each frame
barstep .byt 0 ; step size for bar barstep .byt 0 ; step size for bar

13
snes/dma.i65 Normal file
View 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

View File

@ -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, $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, $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 $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 $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, $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, $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 $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 $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, $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, $3e, $1c, $22, $1c, $23, $1f, $20
.byt $00, $00, $00, $00, $00, $00, $00, $00 .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
.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
@ -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, $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, $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 $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 $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, $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, $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, $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 $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, $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, $3e, $1c, $22, $1c, $23, $1f, $20
.byt $00, $00, $00, $00, $00, $00, $00, $00 .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
.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

View File

@ -5,15 +5,20 @@
*= $C0FF00 *= $C0FF00
RESET: RESET:
sei: clc: xce sei
clc
xce
rep #$20 : .al
lda #$1fff
tcs
jmp @GAME_MAIN jmp @GAME_MAIN
NMI_16bit: NMI_16bit:
php php
rep #$30 rep #$30 : .al : .xl
pha: phx: phy: phd: phb pha: phx: phy: phd: phb
jsl @NMI_ROUTINE jsl @NMI_ROUTINE
rep #$30 rep #$30 : .al : .xl
int_exit: int_exit:
plb: pld: ply: plx: pla plb: pld: ply: plx: pla
plp plp
@ -21,10 +26,10 @@ int_exit:
IRQ_16bit: IRQ_16bit:
php php
rep #$30 rep #$30 : .al : .xl
pha: phx: phy: phd: phb pha: phx: phy: phd: phb
jsl @IRQ_ROUTINE jsl @IRQ_ROUTINE
rep #$30 rep #$30 : .al : .xl
bra int_exit bra int_exit
;error vectors ;error vectors

File diff suppressed because it is too large Load Diff

View File

@ -22,15 +22,10 @@ GAME_MAIN:
jsr menu_init jsr menu_init
jsr tests jsr tests
sep #$20 : .as sep #$20 : .as
- lda @$C00000 lda @RTC_STATUS
lda @$D00000 beq +
lda @$E00000 jsr time_init
lda @$F00000 +
lda @$400000
lda @$500000
lda @$600000
lda @$700000
; bra -
jsr menuloop jsr menuloop
cli cli
stz $4200 stz $4200
@ -130,7 +125,7 @@ setup_gfx:
;copy logo tiles ;copy logo tiles
ldx #$2000 ldx #$2000
stx $2116 stx $2116
DMA0(#$01, #$3740, #^logo, #!logo, #$18) DMA0(#$01, #$4000, #^logo, #!logo, #$18)
;copy logo tilemap ;copy logo tilemap
ldx #BG1_TILE_BASE ldx #BG1_TILE_BASE
@ -380,7 +375,7 @@ fadeloop_start
sta hdma_math+17 sta hdma_math+17
txa txa
dec dec
; sta $2100 sta $2100
tax tax
bne fadeloop_start bne fadeloop_start
stz $2126 stz $2126
@ -389,7 +384,7 @@ fadeloop_start
stz $2130 stz $2130
lda #$00 lda #$00
sta @hdma_math sta @hdma_math
; stz $2100 stz $2100
- bra - - bra -
fadeloop_end: fadeloop_end:

69
snes/mainmenu.a65 Normal file
View 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
View 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

View File

@ -16,6 +16,10 @@ menu_init:
sta cursor_x sta cursor_x
lda #$09 lda #$09
sta cursor_y sta cursor_y
lda #$01
sta bar_xl
lda #$3e
sta bar_wl
ldx #$0000 ldx #$0000
stx dirptr_idx stx dirptr_idx
stx menu_sel stx menu_sel
@ -32,6 +36,7 @@ menuloop_s1
bcc menuloop_s1 bcc menuloop_s1
stz isr_done stz isr_done
jsr printtime
jsr menu_updates ;update stuff, check keys etc jsr menu_updates ;update stuff, check keys etc
lda menu_dirty ;is there ANY reason to redraw the menu? lda menu_dirty ;is there ANY reason to redraw the menu?
cmp #$01 cmp #$01
@ -81,7 +86,7 @@ menu_cleanup_loop ;pad rest of screen with empty lines
sta menu_sel sta menu_sel
menu_cleanup_out menu_cleanup_out
rts rts
menu_updates: menu_updates:
;update selection, scroll etc ;update selection, scroll etc
@ -93,7 +98,10 @@ menu_updates:
clc clc
adc #$08 adc #$08
sta bar_yl sta bar_yl
lda #$3e
sta bar_wl
lda #$01
sta bar_xl
;get input ;get input
jsr read_pad jsr read_pad
lda #$04 lda #$04
@ -117,6 +125,9 @@ menu_updates:
lda #$80 lda #$80
and pad1trig and pad1trig
bne key_a bne key_a
lda #$40
and pad1trig
bne key_x
bra menuupd_out bra menuupd_out
key_down key_down
jsr menu_key_down jsr menu_key_down
@ -136,6 +147,10 @@ key_b
key_a key_a
jsr menu_key_a jsr menu_key_a
bra menuupd_out bra menuupd_out
key_x
jsr menu_key_x
bra menuupd_out
key_select key_select
jsr menu_key_select jsr menu_key_select
bra menuupd_out bra menuupd_out
@ -192,7 +207,7 @@ redraw_filelist_loop
bra redraw_filelist_loop bra redraw_filelist_loop
redraw_filelist_dirend redraw_filelist_dirend
plb plb
dey ; recover last valid direntry number dey ; recover last valid direntry number
dey ; (we had 2x iny of the direntry pointer above, dey ; (we had 2x iny of the direntry pointer above,
dey ; so account for those too) dey ; so account for those too)
dey dey
@ -227,8 +242,8 @@ print_direntry:
ldx dirent_addr ldx dirent_addr
phb phb
pha pha
plb plb
lda @dirent_type lda @dirent_type
cmp #$80 cmp #$80
@ -238,14 +253,25 @@ dirent_is_dir
lda #$04 ;skip dir tgt lda #$04 ;skip dir tgt
sta @fd_fnoff sta @fd_fnoff
lda #$01 ;different color for dirs lda #$01 ;different color for dirs
sta @print_pal
bra dirent_type_cont bra dirent_type_cont
dirent_is_file dirent_is_file
lda #$06 ;skip size string lda #$06 ;skip size string
sta @fd_fnoff sta @fd_fnoff
lda #$00 ;palette 0 (white) lda @dirent_type
sta @print_pal 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 dirent_type_cont
sta @print_pal
rep #$20 : .al rep #$20 : .al
txa txa
clc clc
@ -302,7 +328,7 @@ dirent_type_cont
dirent_is_file_2 dirent_is_file_2
lda dirent_bank lda dirent_bank
ldx dirent_addr ldx dirent_addr
sta print_bank sta print_bank
stx print_src stx print_src
dirent_type_cont_2 dirent_type_cont_2
lda #56 lda #56
@ -312,7 +338,7 @@ dirent_type_cont_2
jsr hiprint jsr hiprint
rts rts
menu_key_down: menu_key_down:
lda listdisp lda listdisp
dec dec
@ -323,7 +349,7 @@ menu_key_down:
lda dirend_onscreen lda dirend_onscreen
bne down_out bne down_out
rep #$20 : .al rep #$20 : .al
lda dirptr_addr lda dirptr_addr
clc clc
adc #$04 adc #$04
sta dirptr_addr sta dirptr_addr
@ -341,7 +367,7 @@ menu_key_down:
inc inc
sta menu_sel sta menu_sel
down_out down_out
rts rts
menu_key_up: menu_key_up:
lda menu_sel lda menu_sel
@ -370,7 +396,7 @@ menuupd_lastcursor
rts rts
; go back one page ; go back one page
menu_key_left: menu_key_left:
lda #$01 ; must redraw afterwards lda #$01 ; must redraw afterwards
sta menu_dirty sta menu_dirty
rep #$20 : .al rep #$20 : .al
@ -453,6 +479,9 @@ select_item:
iny iny
iny iny
lda (dirptr_addr), y lda (dirptr_addr), y
cmp #$01
beq sel_is_file
cmp #$04
beq sel_is_file beq sel_is_file
cmp #$80 cmp #$80
beq sel_is_dir beq sel_is_dir
@ -469,9 +498,10 @@ sel_is_dir
select_file: select_file:
; have avr load the rom ; have avr load the rom
dey dey
lda (dirptr_addr), y
sta @AVR_PARAM+2
rep #$20 : .al rep #$20 : .al
lda (dirptr_addr), y
and #$00ff
sta @AVR_PARAM+2
dey dey
dey dey
lda (dirptr_addr), y lda (dirptr_addr), y
@ -481,7 +511,7 @@ select_file:
sta @AVR_CMD sta @AVR_CMD
lda #$00 lda #$00
sta @$4200 sta @$4200
cli sei
jsl @wram_fadeloop jsl @wram_fadeloop
rts rts
@ -519,6 +549,9 @@ select_dir: ; y = direntry ptr
plb plb
rts rts
menu_key_x:
jsr mainmenu
rts
setup_224: setup_224:
php php
@ -547,6 +580,7 @@ setup_224_adjsel
sta $2133 sta $2133
lda #$08 lda #$08
sta hdma_math_selection sta hdma_math_selection
stz vidmode
lda #$01 lda #$01
sta menu_dirty sta menu_dirty
lda #^space64 lda #^space64
@ -564,7 +598,7 @@ setup_224_adjsel
sta print_y sta print_y
jsr hiprint jsr hiprint
jsr hiprint jsr hiprint
plp plp
rts rts
@ -589,6 +623,7 @@ setup_448:
lda #$04 lda #$04
sta hdma_math_selection sta hdma_math_selection
lda #$01 lda #$01
sta vidmode
sta menu_dirty sta menu_dirty
plp plp
rts rts

View File

@ -51,8 +51,6 @@ setup_hdma:
ldx #185 ;Set IRQ trigger to line 185 ldx #185 ;Set IRQ trigger to line 185
stx $4209 ; stx $4209 ;
lda #$21 ;V-Count IRQ + Auto Joypad Read
sta $4200
lda #$0e lda #$0e
sta $420c sta $420c
rts rts

View File

@ -5,6 +5,10 @@ GAME_MAIN:
stz $4200 ; inhibit IRQs stz $4200 ; inhibit IRQs
jsr killdma jsr killdma
jsr waitblank jsr waitblank
jsr waitblank
jsr waitblank
jsr waitblank
jsr waitblank
jsr snes_init jsr snes_init
jsr spc_upload jsr spc_upload
lda #$01 lda #$01
@ -14,10 +18,10 @@ GAME_MAIN:
jsr setup_hdma jsr setup_hdma
jsr screen_init jsr screen_init
sep #$20 : .as sep #$20 : .as
jsr msu1init - jsr msu1init
cli cli
jsr msu1loop jsr msu1loop
- wai ; idle loop sei
bra - bra -
killdma: killdma:

View File

@ -48,9 +48,27 @@ msu1loop:
sta altcnt sta altcnt
lda #$01 lda #$01
sta curcnt sta curcnt
ldx #$0000
stx $1000 ;temp var
ldx numframes ldx numframes
dex 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 msu1loop2
lda isr_flag lda isr_flag
beq msu1loop2 beq msu1loop2
@ -60,6 +78,12 @@ msu1loop2
bpl + bpl +
;load half picture ;load half picture
lda #$18 lda #$18
phx
ldx $1000
sta @$306100, x
inx
stx $1000
plx
sta $4301 sta $4301
lda #$09 lda #$09
sta $4300 sta $4300
@ -69,6 +93,12 @@ msu1loop2
sta $420b sta $420b
+ inc dispcnt ;inc field count + inc dispcnt ;inc field count
lda dispcnt ;and compare with current duration lda dispcnt ;and compare with current duration
phx
ldx $1000
sta @$306100, x
inx
stx $1000
plx
cmp curdur ;if not reached... cmp curdur ;if not reached...
bne msu1loop2 ;...wait another field bne msu1loop2 ;...wait another field
@ -120,9 +150,8 @@ ptr2
jmp msu1loop2 jmp msu1loop2
msu1stop: msu1stop:
lda #$80 ; lda #$80
sta $2100 ; sta $2100
stz $420c ; stz $420c
stz MSU_CONTROL stz MSU_CONTROL
- bra - rts

View File

@ -121,5 +121,6 @@ int main(int argc, char **argv) {
fwrite(&alt_frameduration, 1, 1, out); fwrite(&alt_frameduration, 1, 1, out);
fwrite(&alt_durfreq, 1, 1, out); fwrite(&alt_durfreq, 1, 1, out);
fclose(out); fclose(out);
printf("%d images processed.\n", fileno);
return 0; return 0;
} }

View File

@ -10,21 +10,25 @@
; NMI - called on VBlank ; NMI - called on VBlank
NMI_ROUTINE: NMI_ROUTINE:
php
sep #$20 : .as sep #$20 : .as
pha pha
lda $4210 ; ack interrupt lda $4210 ; ack interrupt
; lda #$0e ; lda #$0e
; sta $420c ; enable HDMA ch. 1-3 ; sta $420c ; enable HDMA ch. 1-3
pla pla
plp
rtl rtl
; IRQ - called when triggered ; IRQ - called when triggered
IRQ_ROUTINE: IRQ_ROUTINE:
php
sep #$20 : .as sep #$20 : .as
pha pha
lda $4211 ;Acknowledge irq lda $4211 ;Acknowledge irq
lda #$01 lda #$01
sta isr_flag sta isr_flag
pla pla
plp
rtl rtl

View File

@ -4,6 +4,7 @@ read_pad:
read_pad1 read_pad1
ldx pad1mem ;byetUDLRaxlriiii ldx pad1mem ;byetUDLRaxlriiii
lda $4218 lda $4218
ora $421a
sta pad1mem sta pad1mem
and #$0f00 and #$0f00
bne read_pad1_count bne read_pad1_count

View File

@ -1,70 +1,74 @@
palette palette
;fonts ;8bit palette; 4bit palette0; 2bit palette0
; .byt $42, $08, $ff, $7f, $00, $00, $18, $63 .byt $42, $08, $ff, $7f, $c6, $18, $18, $63
; .byt $42, $08, $ff, $43, $00, $00, $18, $63 ;2bit palette1
.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
.byt $42, $08, $ff, $43, $c6, $0c, $18, $63 .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 .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 .byt $10, $42, $10, $42, $10, $42, $10, $42
;2bit palette6
.byt $10, $42, $10, $42, $10, $42, $10, $42 .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 ;logo
.byt $10, $42, $82, $35, $23, $46, $85, $4e .byt $00, $00, $00, $00, $20, $04, $20, $00
.byt $a0, $39, $c8, $56, $09, $5f, $e9, $5a .byt $20, $00, $21, $00, $21, $08, $40, $08
.byt $6b, $6f, $2a, $63, $66, $4e, $8d, $73 .byt $40, $04, $42, $04, $42, $0c, $60, $0c
.byt $6e, $6f, $a0, $35, $04, $42, $4a, $6b .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $42, $46, $07, $63, $e7, $5a, $20, $46 .byt $62, $0c, $61, $0c, $62, $00, $63, $0c
.byt $4d, $6b, $29, $67, $a4, $52, $64, $4a .byt $63, $10, $62, $08, $80, $10, $64, $0c
.byt $c0, $3d, $e1, $41, $c3, $3d, $c6, $56 .byt $a0, $14, $84, $10, $a2, $0c, $a4, $0c
.byt $a7, $52, $45, $4a, $21, $25, $40, $29 .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $e1, $1c, $00, $21, $84, $31, $88, $52 .byt $a4, $10, $c0, $18, $a4, $14, $a6, $14
.byt $a9, $56, $a1, $14, $c6, $18, $5a, $67 .byt $a5, $14, $89, $14, $e0, $1c, $c5, $10
.byt $a5, $14, $39, $63, $ff, $7f, $c1, $18 .byt $c6, $18, $e3, $0c, $e5, $1c, $00, $21
.byt $83, $10, $17, $5f, $f7, $5a, $84, $10 .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $72, $4a, $7b, $6b, $4a, $29, $21, $04 .byt $04, $0d, $ca, $18, $04, $11, $e7, $1c
.byt $b5, $52, $de, $7b, $ad, $35, $42, $08 .byt $20, $25, $21, $1d, $5d, $0c, $08, $15
.byt $63, $0c, $30, $42, $41, $04, $93, $4e .byt $40, $29, $08, $21, $5e, $10, $5d, $10
.byt $d5, $56, $61, $0c, $41, $08, $6b, $2d .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $08, $21, $bd, $77, $29, $25, $0f, $3e .byt $cf, $20, $7b, $10, $7e, $14, $27, $25
.byt $e7, $1c, $ee, $39, $21, $08, $82, $14 .byt $60, $31, $28, $25, $44, $29, $61, $29
.byt $63, $10, $62, $10, $9c, $73, $81, $10 .byt $46, $29, $29, $25, $62, $2d, $f3, $1c
.byt $ac, $31, $62, $0c, $51, $46, $83, $0c .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $62, $08, $42, $0c, $43, $29, $82, $4e .byt $66, $15, $d6, $18, $63, $31, $d8, $18
.byt $53, $4a, $a5, $10, $00, $7f, $06, $7f .byt $0e, $25, $80, $35, $48, $29, $bb, $18
.byt $a6, $6e, $67, $5e, $a7, $6e, $e4, $7a .byt $4a, $29, $66, $2d, $4b, $29, $a3, $2d
.byt $02, $7f, $e6, $76, $e5, $7e, $64, $2d .byt $a0, $39, $f6, $20, $6a, $15, $6a, $19
.byt $45, $56, $a6, $62, $e6, $72, $44, $56 .byt $32, $21, $a1, $39, $a1, $41, $31, $29
.byt $23, $4e, $a7, $6a, $c3, $41, $52, $29 .byt $4e, $31, $a2, $39, $c0, $3d, $6b, $2d
.byt $6a, $2d, $7e, $14, $37, $29, $be, $14 .byt $8a, $31, $6d, $2d, $c8, $19, $00, $42
.byt $be, $18, $4f, $29, $11, $21, $12, $25 .byt $8c, $31, $e3, $3d, $ac, $19, $e3, $45
.byt $2f, $25, $bc, $18, $66, $31, $db, $1c .byt $ad, $15, $e3, $49, $02, $42, $e6, $2d
.byt $6d, $2d, $ca, $5a, $82, $10, $82, $08 .byt $20, $42, $ad, $35, $24, $46, $24, $4e
.byt $a4, $2d, $ac, $2a, $89, $11, $a3, $08 .byt $28, $2e, $42, $46, $ee, $39, $45, $4a
.byt $83, $2d, $ed, $2a, $4e, $23, $0e, $27 .byt $2a, $16, $48, $2e, $0f, $1e, $46, $56
.byt $4f, $27, $69, $2e, $86, $5e, $83, $39 .byt $64, $4a, $44, $5e, $0f, $3e, $64, $4e
.byt $6b, $31, $34, $25, $7e, $10, $d8, $1c .byt $65, $5a, $83, $4e, $67, $4e, $30, $42
.byt $6d, $31, $9f, $10, $19, $25, $6b, $1a .byt $86, $4e, $32, $46, $6d, $2e, $52, $1a
.byt $4a, $1a, $04, $0d, $cc, $1e, $6b, $22 .byt $00, $00, $00, $00, $00, $00, $00, $00
;sprite palette 3 .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $10, $42, $10, $42, $10, $42, $10, $42 .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $10, $42, $10, $42, $10, $42, $10, $42 .byt $00, $00, $00, $00, $00, $00, $00, $00
.byt $10, $42, $10, $42, $10, $42, $10, $42 .byt $8b, $22, $a5, $56, $51, $46, $ab, $1a
.byt $10, $42, $10, $42, $10, $42, $10, $42 .byt $a5, $6a, $a5, $6e, $c1, $76, $c7, $5a
;logo .byt $93, $16, $e0, $7a, $72, $4a, $cc, $26
.byt $87, $19, $c8, $1d, $49, $19, $ad, $19 .byt $b0, $2a, $93, $4e, $e5, $7e, $e8, $5e
.byt $31, $1e, $b5, $1e, $d5, $1a, $72, $1e .byt $b5, $1e, $ed, $1e, $e6, $7e, $b5, $16
.byt $ac, $19, $46, $2d, $e6, $10, $49, $2d .byt $95, $52, $b3, $56, $b5, $56, $0a, $63
.byt $a3, $0c, $a8, $35, $17, $21, $cc, $18 .byt $2d, $1b, $29, $67, $2f, $23, $f4, $2a
.byt $41, $0c, $ce, $18, $a8, $18, $c1, $14 .byt $d6, $5a, $17, $1b, $4a, $6b, $4d, $67
.byt $e9, $1d, $a9, $1d, $d6, $26, $f7, $22 .byt $f7, $5e, $f8, $62, $39, $1f, $18, $63
.byt $30, $22, $ff, $13, $de, $17, $ff, $1b .byt $6c, $73, $78, $23, $39, $67, $7b, $1b
.byt $39, $1f, $93, $1e, $7a, $1f, $df, $1b .byt $5a, $6b, $7b, $6f, $de, $17, $9c, $73
.byt $48, $19, $9a, $23, $ee, $21, $a9, $14 .byt $bd, $77, $ff, $13, $de, $7b, $ff, $7f
.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
;sprite palette 7 ;sprite palette 7
.byt $3f, $7c, $20, $08, $84, $0c, $a5, $14 .byt $3f, $7c, $20, $08, $84, $0c, $a5, $14
.byt $08, $21, $5a, $6b, $bc, $73, $fe, $7b .byt $08, $21, $5a, $6b, $bc, $73, $fe, $7b

View File

@ -21,11 +21,11 @@ NMI_ROUTINE:
ldx #BG1_TILE_BASE+32*9 ldx #BG1_TILE_BASE+32*9
stx $2116 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 ldx #BG2_TILE_BASE+32*9
stx $2116 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 ldx #BG2_TILE_BASE
stx $2116 stx $2116
@ -68,6 +68,20 @@ lower_half
lda #112 lda #112
sta hdma_math sta hdma_math
math_cont 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 lda #$3e ; ch. 1-5
sta @$420c ; trigger HDMA sta @$420c ; trigger HDMA
lda #$01 lda #$01

View File

@ -35,7 +35,7 @@ print_bg_cont
asl ; double the offset for WRAM addressing asl ; double the offset for WRAM addressing
tay ; zonday tay ; zonday
plx plx
phy ; offset from tilemap start phy ; offset from tilemap start
stx !print_temp stx !print_temp
clc clc
adc !print_temp adc !print_temp
@ -48,7 +48,7 @@ print_bg_cont
print_loop print_loop
ldx !print_src ldx !print_src
lda !print_bank lda !print_bank
pha pha
plb plb
phx ; source addr phx ; source addr
print_loop_inner print_loop_inner
@ -66,7 +66,7 @@ print_loop_inner
sta @print_done sta @print_done
inx inx
lda !0,x lda !0,x
beq print_loop2 beq print_loop2
inx inx
lda !0,x lda !0,x
beq print_loop2 beq print_loop2
@ -83,7 +83,7 @@ print_loop2
sta @print_count_tmp sta @print_count_tmp
lda #$00 lda #$00
pha pha
plb plb
rep #$30 : .al : .xl rep #$30 : .al : .xl
ply ; source addr ply ; source addr
iny iny
@ -174,4 +174,167 @@ loprint_end
pha pha
plb plb
rts 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
View 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