sysinfo.a65 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #include "memmap.i65"
  2. ; sysinfo.a65: display sysinfo text block
  3. .byt "===SHOW_SYSINFO==="
  4. show_sysinfo:
  5. php
  6. sep #$20 : .as
  7. rep #$10 : .xl
  8. stz bar_wl
  9. dec bar_wl
  10. stz bar_xl
  11. dec bar_xl
  12. stz bar_yl
  13. dec bar_yl
  14. jsr backup_screen
  15. lda #^text_mm_sysinfo
  16. sta window_tbank
  17. ldx #!text_mm_sysinfo
  18. stx window_taddr
  19. lda @sysinfo_win_x
  20. sta window_x
  21. inc
  22. inc
  23. pha
  24. stz print_x+1
  25. lda @sysinfo_win_y
  26. sta window_y
  27. inc
  28. inc
  29. pha
  30. stz print_y+1
  31. lda @sysinfo_win_w
  32. sta window_w
  33. lda @sysinfo_win_h
  34. sta window_h
  35. jsr draw_window
  36. stz print_pal
  37. ldx #38
  38. copy_snes_system_text:
  39. lda @text_system,x
  40. sta @snes_system_config,x
  41. dex
  42. bpl copy_snes_system_text
  43. sysinfo_printloop:
  44. sep #$20 : .as
  45. rep #$10 : .xl
  46. lda #CMD_SYSINFO
  47. sta @MCU_CMD
  48. lda #^SYSINFO_BLK
  49. ldx #!SYSINFO_BLK
  50. sta print_bank
  51. stx print_src
  52. stz print_pal
  53. pla
  54. sta print_y
  55. pla
  56. sta print_x
  57. lda #40
  58. sta print_count
  59. lda #12
  60. - pha
  61. jsr hiprint
  62. inc print_y
  63. rep #$20 : .al
  64. lda print_src
  65. clc
  66. adc #40
  67. sta print_src
  68. sep #$20 : .as
  69. pla
  70. dec
  71. bne -
  72. ldx #24
  73. lda $213e
  74. and #$0f
  75. clc
  76. adc #$30
  77. sta @snes_system_config,x
  78. ldx #38
  79. lda $213f
  80. and #$0f
  81. clc
  82. adc #$30
  83. sta @snes_system_config,x
  84. ldx #10
  85. lda $4210
  86. and #$0f
  87. clc
  88. adc #$30
  89. sta @snes_system_config,x
  90. lda #^snes_system_config ; System text
  91. ldx #!snes_system_config
  92. sta print_bank
  93. stx print_src
  94. stz print_pal
  95. lda #39
  96. sta print_count
  97. lda #23
  98. sta print_y
  99. lda #12
  100. sta print_x
  101. jsr hiprint
  102. - lda isr_done
  103. lsr
  104. bcc -
  105. jsr printtime
  106. jsr read_pad
  107. lda #$80
  108. and pad1trig
  109. bne +
  110. lda #$80
  111. and pad1trig+1
  112. bne +
  113. lda @sysinfo_win_x
  114. inc
  115. inc
  116. pha
  117. lda @sysinfo_win_y
  118. inc
  119. inc
  120. pha
  121. jmp sysinfo_printloop
  122. + plp
  123. jsr restore_screen
  124. lda #$00
  125. sta @MCU_CMD
  126. rtl