SNES: display system information (new menu entry)

This commit is contained in:
ikari 2012-01-02 23:33:24 +01:00
parent 97aef4a2d3
commit fec9004dc1
5 changed files with 57 additions and 11 deletions

View File

@ -1,4 +1,4 @@
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
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 sysinfo.o65 # gfx.o65 # vars.o65
all: menu.bin

View File

@ -136,7 +136,9 @@ 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
window_tl .byt 28
window_tr .byt 29
text_clkset .byt "Please set the clock.", 0
text_buttonB .byt "Dpad: sel/chg, B: OK", 0
time_win_x .byt 18
time_win_y .byt 15
@ -146,7 +148,11 @@ 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_mainmenu .byt "Main Menu", 0
sysinfo_win_x .byt 10
sysinfo_win_y .byt 9
sysinfo_win_w .byt 43
sysinfo_win_h .byt 17
text_mm_file .byt "File Browser", 0
text_mm_last .byt "Run last game", 0
@ -154,5 +160,5 @@ text_mm_time .byt "Set Clock", 0
text_mm_scic .byt "Enable SuperCIC", 0
text_mm_vmode_menu .byt "Menu video mode", 0
text_mm_vmode_game .byt "Game video mode", 0
text_mm_sysinfo .byt "System Information", 0
text_statusbar_keys .byt "B:Select A:Back X:Menu", 0

View File

@ -1,6 +1,6 @@
#include "memmap.i65"
;number of menu entries
main_entries .byt 1
main_entries .byt 2
;menu entry data
main_enttab ;Set Clock
.word !text_mm_time
@ -8,6 +8,11 @@ main_enttab ;Set Clock
.word !time_init-1
.byt ^time_init
.byt 1, 0
;System Information
.word !text_mm_sysinfo
.byt ^text_mm_sysinfo
.word !show_sysinfo-1
.byt ^show_sysinfo
;SuperCIC
.word !text_mm_scic
.byt ^text_mm_scic

View File

@ -20,5 +20,8 @@
#define AVR_CMD $307000
#define AVR_PARAM $307004
#define RTC_STATUS $307100
#define SYSINFO_BLK $307110
#define ROOT_DIR $C10000
#define CMD_SYSINFO $03

View File

@ -53,7 +53,9 @@ print_loop
phx ; source addr
print_loop_inner
lda !0,x
asl
bne +
jmp print_end2
+ asl
sta @$2180
lda @print_pal
asl
@ -81,6 +83,7 @@ print_loop2
lda @print_count
dec
sta @print_count_tmp
beq print_end2
lda #$00
pha
plb
@ -100,7 +103,9 @@ print_loop2
plb
print_loop2_inner
lda !0,x
asl
bne +
jmp print_end
+ asl
sta @$2180
lda @print_pal
asl
@ -124,6 +129,10 @@ print_loop2_inner
beq print_end
bmi print_end
bra print_loop2_inner
print_end2 ; clean up the stack (6 bytes)
ply
ply
ply
print_end
lda #$00
pha
@ -157,7 +166,7 @@ loprint:
sta $2183
ldx !print_src
lda !print_bank
pha
pha
plb
loprint_loop_inner
lda !0,x
@ -257,16 +266,39 @@ draw_window:
jsr hiprint
; print window title
lda print_x
pha
inc print_x
inc print_x
lda #^window_tl
sta print_bank
ldx #!window_tl
stx print_src
lda #$01
sta print_count
jsr hiprint
inc print_x
lda window_tbank
sta print_bank
ldx window_taddr
stx print_src
lda window_w
sta print_count
jsr hiprint
dec print_x
dec print_x
lda print_done
adc print_x
sta print_x
lda #^window_tr
sta print_bank
ldx #!window_tr
stx print_src
lda #$01
sta print_count
jsr hiprint
lda window_w
sta print_count
pla
sta print_x
; draw left+right borders + space inside window
lda #^stringbuf
sta print_bank