SHARE
TWEET

Satellaview Tester Source

LuigiBlood May 20th, 2015 215 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. lorom
  2.  
  3. table MSUFontTable.tab,rtl
  4.  
  5.         ORG $008000
  6.  
  7. MSUPlayer:
  8.         JSR initsnes
  9.         SEP #$20 ; 8 bits A
  10.        
  11.         lda #$8F  ; Turning off the screen, forcing VBlank.
  12.     sta $2100
  13.        
  14.         LDA #$01
  15.         STA $2121 ;Write to Pallette Table 1
  16.         LDA $A002
  17.         STA $2122
  18.         LDA $A003
  19.         STA $2122
  20.         LDA $A004
  21.         STA $2122
  22.         LDA $A005
  23.         STA $2122
  24.         LDA $A006
  25.         STA $2122
  26.         LDA $A007
  27.         STA $2122
  28.         LDA $A008
  29.         STA $2122
  30.        
  31.         STZ $210C ;BG3 = $6000, BG4 = $8000
  32.        
  33.         STZ $210B ;BG1 = $2000, BG2 = $4000
  34.        
  35.         LDA #$00
  36.         STA $2115 ;Inc Value for VRAM
  37.         STZ $2117 ;Address $0000 for VRAM
  38.         STZ $2116
  39.         LDA #$01
  40.         STA $4300 ;DMA control register
  41.         LDA #$18
  42.         STA $4301 ;DMA Destination Address : To VRAM "$2118"
  43.         STZ $4302 ;DMA Source Address : 00D000  00D000
  44.         LDA #$D0
  45.         STA $4303
  46.         STZ $4304
  47.         STZ $4305 ;DMA Size Transfer : $1000 Bytes.
  48.         LDA #$10
  49.         STA $4306
  50.         LDA #$01
  51.         STA $420B ;Begin Transfer
  52.        
  53.         STZ $2105 ;  BG Mode 0
  54.         LDA.b #%00001100
  55.         STA $2107
  56.         LDA.b #%00010000
  57.         STA $2108
  58.         LDA.b #%00010100
  59.         STA $2109
  60.         LDA.b #%00011000
  61.         STA $210A
  62.        
  63.        
  64.         STZ $210C ;GFX : BG3 = $0000, BG4 = $0000
  65.        
  66.         STZ $210B ;GFX : BG1 = $0000, BG2 = $0000
  67.        
  68.         LDA #$00
  69.         STA $2116 ; VRAM address to write : $C00
  70.         LDA #$0C
  71.         STA $2117
  72.        
  73.         LDA #$00
  74.         STA $2115 ;Inc Value for VRAM
  75.         LDA #$00
  76.         STA $4300 ;DMA control register
  77.         LDA #$18
  78.         STA $4301 ;DMA Destination Address : To VRAM "$2118"
  79.         LDA #$00
  80.         STA $4302 ;DMA Source Address : 00D000  00CFF0
  81.         LDA #$B1
  82.         STA $4303
  83.         STZ $4304
  84.         REP #$20
  85.         LDA #480
  86.         STA $4305 ;DMA Size Transfer : 384 Bytes.
  87.         ;STZ $4306
  88.         SEP #$20
  89.         LDA #$01
  90.         STA $420B ;Begin Transfer
  91.        
  92.         SEP #$20
  93.         LDA.b #%00010001
  94.         STA $212C
  95.         lda #$0F  ; Turning on the screen.
  96.     sta $2100
  97.        
  98.         LDA #$80
  99.         STA $2197
  100.         jml InitTest
  101.         - bra -
  102.        
  103. JoypadCheck:
  104.         PHP
  105.         SEP #$20
  106.   -     LDA $4212
  107.         AND #$01
  108.         BNE -
  109.         PLP
  110.         RTS
  111.        
  112. InitTest:
  113.         REP #$20
  114.         LDA #$2188
  115.         STA $04 ;Current register
  116.         STZ $06 ;Bank 00.
  117.         STZ $07 ;7=Send  8=Recv, 9=Send16, A,B,C,D=Recv Serial
  118.         STZ $09
  119.         STZ $0A
  120.         STZ $0C
  121.         STZ $0E
  122.         STZ $10
  123.         SEP #$20
  124.         LDA #$01
  125.         STA $4200
  126.         JMP Mess
  127.        
  128. Set16:
  129.         SEP #$20
  130.         LDA $07
  131.         XBA
  132.         LDA $09
  133.         STA $07
  134.         XBA
  135.         STA $09
  136.         JMP UpdateScreen
  137.        
  138. SendSerial:
  139.         ;Serial Mode
  140.         JSL SerialMode
  141.         JMP UpdateScreen
  142.        
  143. Mess:
  144.         REP #$20
  145.         JSR JoypadCheck
  146.         LDA $4218
  147.         ;AntiRepeat
  148.         CMP $10
  149.         BNE Mess2
  150.         JMP UpdateScreen
  151. Mess2:
  152.         STA $10
  153.         ;Change Register (L/R)
  154.         BIT #$0020
  155.         BNE RegDown
  156.         BIT #$0010
  157.         BNE RegUp
  158.         ;Send Byte (Start)
  159.         BIT #$1000
  160.         BNE SendByte
  161.         ;Set other 16 bit (Select)
  162.         BIT #$2000
  163.         BNE Set16
  164.         ;Change Bit <^v>YXBA
  165.         BIT #$0200
  166.         BNE Bit7
  167.         BIT #$0800
  168.         BNE Bit6
  169.         BIT #$0400
  170.         BNE Bit5
  171.         BIT #$0100
  172.         BNE Bit4
  173.         BIT #$4000
  174.         BNE Bit3
  175.         BIT #$0040
  176.         BNE Bit2
  177.         BIT #$8000
  178.         BNE Bit1
  179.         BIT #$0080
  180.         BNE Bit0
  181.         JMP UpdateScreen
  182.        
  183. RegDown:
  184.         REP #$20
  185.         LDA $04
  186.         CMP #$2188
  187.         BEQ Mess
  188.         DEC
  189.         STA $04
  190.         JMP UpdateScreen
  191.        
  192. RegUp:
  193.         REP #$20
  194.         LDA $04
  195.         CMP #$2199
  196.         BEQ Mess
  197.         INC
  198.         STA $04
  199.         JMP UpdateScreen
  200.        
  201. SendByte:
  202.         LDA $04
  203.         CMP #$2198
  204.         BCS SendSerial
  205.         SEP #$20
  206.         LDA $07
  207.         STA ($04)
  208.         JMP UpdateScreen
  209.        
  210. Bit7:
  211.         SEP #$20
  212.         LDA $07
  213.         EOR #$80
  214.         STA $07
  215.         JMP UpdateScreen
  216.        
  217. Bit6:
  218.         SEP #$20
  219.         LDA $07
  220.         EOR #$40
  221.         STA $07
  222.         JMP UpdateScreen
  223.        
  224. Bit5:
  225.         SEP #$20
  226.         LDA $07
  227.         EOR #$20
  228.         STA $07
  229.         JMP UpdateScreen
  230.        
  231. Bit4:
  232.         SEP #$20
  233.         LDA $07
  234.         EOR #$10
  235.         STA $07
  236.         JMP UpdateScreen
  237.  
  238. Bit3:
  239.         SEP #$20
  240.         LDA $07
  241.         EOR #$08
  242.         STA $07
  243.         JMP UpdateScreen
  244.        
  245. Bit2:
  246.         SEP #$20
  247.         LDA $07
  248.         EOR #$04
  249.         STA $07
  250.         JMP UpdateScreen
  251.        
  252. Bit1:
  253.         SEP #$20
  254.         LDA $07
  255.         EOR #$02
  256.         STA $07
  257.         JMP UpdateScreen
  258.        
  259. Bit0:
  260.         SEP #$20
  261.         LDA $07
  262.         EOR #$01
  263.         STA $07
  264.         JMP UpdateScreen
  265.                
  266. UpdateScreen:
  267.         ;Timing Shifter
  268.         SEP #$20
  269.         LDA $0E
  270.         BEQ +
  271.         DEC $0E
  272.         BRA ++
  273.   + INC $0E
  274.         NOP
  275.  ++     LDA ($04)
  276.         STA $08
  277.  
  278.         ;Register C00
  279.         REP #$20
  280.         LDA #$C00+332
  281.         STA $2116
  282.        
  283.         SEP #$20
  284.         ;STZ $2100
  285.   -     LDA $4212
  286.         BIT #$80
  287.         BEQ -
  288.        
  289.         LDA $04
  290.         LSR A
  291.         LSR A
  292.         LSR A
  293.         LSR A
  294.         AND #$0F
  295.         ORA #$60
  296.         STA $2118
  297.        
  298.         LDA $04
  299.         AND #$0F
  300.         ORA #$60
  301.         STA $2118
  302.        
  303.         ;Send
  304.         REP #$20
  305.         LDA #$C00+395
  306.         STA $2116
  307.        
  308.         SEP #$30
  309.         LDY #$08
  310.         LDA $07
  311.         CLC
  312.         ROL
  313.   -     ROL
  314.         TAX
  315.         AND #$01
  316.         ORA #$60
  317.         STA $2118
  318.         TXA
  319.         DEY
  320.         BNE -
  321.        
  322.         STZ $2118
  323.         STZ $2118
  324.        
  325.         LDA $07
  326.         LSR A
  327.         LSR A
  328.         LSR A
  329.         LSR A
  330.         AND #$0F
  331.         ORA #$60
  332.         STA $2118
  333.        
  334.         LDA $07
  335.         AND #$0F
  336.         ORA #$60
  337.         STA $2118
  338.        
  339.         ;Recv
  340.         REP #$20
  341.         LDA #$C00+459
  342.         STA $2116
  343.        
  344.         SEP #$30
  345.         LDY #$08
  346.         LDA $08
  347.         CLC
  348.         ROL
  349.   -     ROL
  350.         TAX
  351.         AND #$01
  352.         ORA #$60
  353.         STA $2118
  354.         TXA
  355.         DEY
  356.         BNE -
  357.        
  358.         STZ $2118
  359.         STZ $2118
  360.        
  361.         LDA $08
  362.         LSR A
  363.         LSR A
  364.         LSR A
  365.         LSR A
  366.         AND #$0F
  367.         ORA #$60
  368.         STA $2118
  369.        
  370.         LDA $08
  371.         AND #$0F
  372.         ORA #$60
  373.         STA $2118
  374.        
  375.         ;Recv Serial 1
  376.         REP #$20
  377.         LDA #$C00+459+64
  378.         STA $2116
  379.        
  380.         SEP #$30
  381.         LDY #$08
  382.         LDA $0A
  383.         CLC
  384.         ROL
  385.   -     ROL
  386.         TAX
  387.         AND #$01
  388.         ORA #$60
  389.         STA $2118
  390.         TXA
  391.         DEY
  392.         BNE -
  393.        
  394.         STZ $2118
  395.         STZ $2118
  396.        
  397.         LDA $0A
  398.         LSR A
  399.         LSR A
  400.         LSR A
  401.         LSR A
  402.         AND #$0F
  403.         ORA #$60
  404.         STA $2118
  405.        
  406.         LDA $0A
  407.         AND #$0F
  408.         ORA #$60
  409.         STA $2118
  410.        
  411.         ;Recv Serial 2
  412.         REP #$20
  413.         LDA #$C00+459+64+32
  414.         STA $2116
  415.        
  416.         SEP #$30
  417.         LDY #$08
  418.         LDA $0B
  419.         CLC
  420.         ROL
  421.   -     ROL
  422.         TAX
  423.         AND #$01
  424.         ORA #$60
  425.         STA $2118
  426.         TXA
  427.         DEY
  428.         BNE -
  429.        
  430.         STZ $2118
  431.         STZ $2118
  432.        
  433.         LDA $0B
  434.         LSR A
  435.         LSR A
  436.         LSR A
  437.         LSR A
  438.         AND #$0F
  439.         ORA #$60
  440.         STA $2118
  441.        
  442.         LDA $0B
  443.         AND #$0F
  444.         ORA #$60
  445.         STA $2118
  446.        
  447.         ;Recv Serial 3
  448.         REP #$20
  449.         LDA #$C00+459+64+64
  450.         STA $2116
  451.        
  452.         SEP #$30
  453.         LDY #$08
  454.         LDA $0C
  455.         CLC
  456.         ROL
  457.   -     ROL
  458.         TAX
  459.         AND #$01
  460.         ORA #$60
  461.         STA $2118
  462.         TXA
  463.         DEY
  464.         BNE -
  465.        
  466.         STZ $2118
  467.         STZ $2118
  468.        
  469.         LDA $0C
  470.         LSR A
  471.         LSR A
  472.         LSR A
  473.         LSR A
  474.         AND #$0F
  475.         ORA #$60
  476.         STA $2118
  477.        
  478.         LDA $0C
  479.         AND #$0F
  480.         ORA #$60
  481.         STA $2118
  482.        
  483.         ;Recv Serial 4
  484.         REP #$20
  485.         LDA #$C00+459+64+64+32
  486.         STA $2116
  487.        
  488.         SEP #$30
  489.         LDY #$08
  490.         LDA $0D
  491.         CLC
  492.         ROL
  493.   -     ROL
  494.         TAX
  495.         AND #$01
  496.         ORA #$60
  497.         STA $2118
  498.         TXA
  499.         DEY
  500.         BNE -
  501.        
  502.         STZ $2118
  503.         STZ $2118
  504.        
  505.         LDA $0D
  506.         LSR A
  507.         LSR A
  508.         LSR A
  509.         LSR A
  510.         AND #$0F
  511.         ORA #$60
  512.         STA $2118
  513.        
  514.         LDA $0D
  515.         AND #$0F
  516.         ORA #$60
  517.         STA $2118
  518.        
  519.         ;lda #$0F  ; Turning on the screen.
  520.     ;sta $2100
  521.        
  522.         REP #$20
  523.   -     JSR JoypadCheck
  524.         LDA $4218
  525.         CMP $10
  526.         BEQ -
  527.         JMP Mess
  528.  
  529. ;Snes Init
  530.         ORG $9000
  531.         incsrc SNESInit.asm
  532.        
  533. Font:  
  534.         ORG $D000
  535.         incbin Font8_v3.chr
  536.  
  537. Pal:   
  538.         ORG $A000
  539.         db $00, $00, $FF, $FF, $FF, $FF, $FF, $FF
  540.  
  541. Text:
  542.         ORG $B100
  543.         Fillbyte $00
  544.         Fillbyte $1000
  545.         ORG $B100
  546.         db "Satellaview Test                "
  547.         db "Register Full Tester            "
  548.         db "                                "
  549.         db "L/R: Change Register            "
  550.         db "Left/Up/Down/Right/Y/X/B/A:     "
  551.         db "             Change Bit to Send "
  552.         db "Start: Send current Byte        "
  553.         db "Select: Set another byte        "
  554.         db "                                "
  555.         db "                                "
  556.         db "Register: 2188                  "
  557.         db "                                "
  558.         db "Byte Send: 00000000  00         "
  559.         db "                                "
  560.         db "Byte Recv: 00000000  00         "
  561.         db "                                "
  562.         db "SerialRecv 00000000  00         "
  563.  
  564. Header:
  565.         ORG $FFB0
  566.                 cleartable
  567.                 db "01" ; Always "01"
  568.                 db $00 ;Something
  569.                 db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ;Always $00
  570.                 db "Satella Tester  " ;Title
  571.                 db $01, $00, $00, $00 ;1M Data
  572.                 db $00, $00 ;Unlimited Starts
  573.                 db $70, %11101000 ;7-29 Date
  574.                 db $30, $10 ;FastROM, LoROM, Full Size ROM
  575.                 db $33 ;Maker, but always $33
  576.                 db $00 ;Version 0
  577.                 dw $0000 ;Checksum
  578.                 dw $0000 ;Complement Checksum
  579.  
  580. NormalSize:
  581.         ORG $FFE0
  582.                 fillbyte $00
  583.                 fill 1015808
  584.                
  585.         ORG $FFE0
  586.                 dw $0000, $0000, $8000, $8000, $8000, $8000, $8000, $8000
  587.                 dw $0000, $0000, $8000, $8000, $8000, $8000, $8000, $8000
  588.                
  589. SerialMode:
  590.         ORG $018000
  591.         ;Activate BIOS at $80-9F:$8000-FFFF
  592.        
  593.         SEP #$30
  594.         LDA #$80
  595.         STA $085000
  596.         STA $0E5000
  597.         ;Get register
  598.         REP #$30
  599.         LDA $04
  600.         CMP #$2198
  601.         BEQ Serial_Send98
  602.         BNE Serial_Send99
  603.        
  604. Serial_Send98:
  605.         ;Send 8bit
  606.         SEP #$20
  607.         REP #$10
  608.         LDA $07
  609.         LDY #$000A
  610.         LDX #$0002
  611.         ;JSL $1059B8 ;port_2198_send_cmd_recv_multiple_words Y=Address X=Number of words
  612.         PHY
  613.         JML $80C41F
  614.         RTL    
  615.  
  616. Serial_Send99:
  617.         ;Send 16bit
  618.         SEP #$20
  619.         REP #$10
  620.         LDA $07
  621.         XBA
  622.         LDA $09
  623.         XBA
  624.         ;JSL $80C3D6 ;send_16bit_to_port_2199
  625.         JSL $1059B0
  626.         JSL $1059B4 ;recv_8bit_from_port_2199
  627.         STA $0A
  628.         JSL $1059B4 ;recv_8bit_from_port_2199
  629.         STA $0B
  630.         JSL $1059B4 ;recv_8bit_from_port_2199
  631.         STA $0C
  632.         JSL $1059B4 ;recv_8bit_from_port_2199
  633.         STA $0D
  634.         RTL
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top