Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- lorom
- table MSUFontTable.tab,rtl
- ORG $008000
- MSUPlayer:
- JSR initsnes
- SEP #$20 ; 8 bits A
- lda #$8F ; Turning off the screen, forcing VBlank.
- sta $2100
- LDA #$01
- STA $2121 ;Write to Pallette Table 1
- LDA $A002
- STA $2122
- LDA $A003
- STA $2122
- LDA $A004
- STA $2122
- LDA $A005
- STA $2122
- LDA $A006
- STA $2122
- LDA $A007
- STA $2122
- LDA $A008
- STA $2122
- STZ $210C ;BG3 = $6000, BG4 = $8000
- STZ $210B ;BG1 = $2000, BG2 = $4000
- LDA #$00
- STA $2115 ;Inc Value for VRAM
- STZ $2117 ;Address $0000 for VRAM
- STZ $2116
- LDA #$01
- STA $4300 ;DMA control register
- LDA #$18
- STA $4301 ;DMA Destination Address : To VRAM "$2118"
- STZ $4302 ;DMA Source Address : 00D000 00D000
- LDA #$D0
- STA $4303
- STZ $4304
- STZ $4305 ;DMA Size Transfer : $1000 Bytes.
- LDA #$10
- STA $4306
- LDA #$01
- STA $420B ;Begin Transfer
- STZ $2105 ; BG Mode 0
- LDA.b #%00001100
- STA $2107
- LDA.b #%00010000
- STA $2108
- LDA.b #%00010100
- STA $2109
- LDA.b #%00011000
- STA $210A
- STZ $210C ;GFX : BG3 = $0000, BG4 = $0000
- STZ $210B ;GFX : BG1 = $0000, BG2 = $0000
- LDA #$00
- STA $2116 ; VRAM address to write : $C00
- LDA #$0C
- STA $2117
- LDA #$00
- STA $2115 ;Inc Value for VRAM
- LDA #$00
- STA $4300 ;DMA control register
- LDA #$18
- STA $4301 ;DMA Destination Address : To VRAM "$2118"
- LDA #$00
- STA $4302 ;DMA Source Address : 00D000 00CFF0
- LDA #$B1
- STA $4303
- STZ $4304
- REP #$20
- LDA #480
- STA $4305 ;DMA Size Transfer : 384 Bytes.
- ;STZ $4306
- SEP #$20
- LDA #$01
- STA $420B ;Begin Transfer
- SEP #$20
- LDA.b #%00010001
- STA $212C
- lda #$0F ; Turning on the screen.
- sta $2100
- LDA #$80
- STA $2197
- jml InitTest
- - bra -
- JoypadCheck:
- PHP
- SEP #$20
- - LDA $4212
- AND #$01
- BNE -
- PLP
- RTS
- InitTest:
- REP #$20
- LDA #$2188
- STA $04 ;Current register
- STZ $06 ;Bank 00.
- STZ $07 ;7=Send 8=Recv, 9=Send16, A,B,C,D=Recv Serial
- STZ $09
- STZ $0A
- STZ $0C
- STZ $0E
- STZ $10
- SEP #$20
- LDA #$01
- STA $4200
- JMP Mess
- Set16:
- SEP #$20
- LDA $07
- XBA
- LDA $09
- STA $07
- XBA
- STA $09
- JMP UpdateScreen
- SendSerial:
- ;Serial Mode
- JSL SerialMode
- JMP UpdateScreen
- Mess:
- REP #$20
- JSR JoypadCheck
- LDA $4218
- ;AntiRepeat
- CMP $10
- BNE Mess2
- JMP UpdateScreen
- Mess2:
- STA $10
- ;Change Register (L/R)
- BIT #$0020
- BNE RegDown
- BIT #$0010
- BNE RegUp
- ;Send Byte (Start)
- BIT #$1000
- BNE SendByte
- ;Set other 16 bit (Select)
- BIT #$2000
- BNE Set16
- ;Change Bit <^v>YXBA
- BIT #$0200
- BNE Bit7
- BIT #$0800
- BNE Bit6
- BIT #$0400
- BNE Bit5
- BIT #$0100
- BNE Bit4
- BIT #$4000
- BNE Bit3
- BIT #$0040
- BNE Bit2
- BIT #$8000
- BNE Bit1
- BIT #$0080
- BNE Bit0
- JMP UpdateScreen
- RegDown:
- REP #$20
- LDA $04
- CMP #$2188
- BEQ Mess
- DEC
- STA $04
- JMP UpdateScreen
- RegUp:
- REP #$20
- LDA $04
- CMP #$2199
- BEQ Mess
- INC
- STA $04
- JMP UpdateScreen
- SendByte:
- LDA $04
- CMP #$2198
- BCS SendSerial
- SEP #$20
- LDA $07
- STA ($04)
- JMP UpdateScreen
- Bit7:
- SEP #$20
- LDA $07
- EOR #$80
- STA $07
- JMP UpdateScreen
- Bit6:
- SEP #$20
- LDA $07
- EOR #$40
- STA $07
- JMP UpdateScreen
- Bit5:
- SEP #$20
- LDA $07
- EOR #$20
- STA $07
- JMP UpdateScreen
- Bit4:
- SEP #$20
- LDA $07
- EOR #$10
- STA $07
- JMP UpdateScreen
- Bit3:
- SEP #$20
- LDA $07
- EOR #$08
- STA $07
- JMP UpdateScreen
- Bit2:
- SEP #$20
- LDA $07
- EOR #$04
- STA $07
- JMP UpdateScreen
- Bit1:
- SEP #$20
- LDA $07
- EOR #$02
- STA $07
- JMP UpdateScreen
- Bit0:
- SEP #$20
- LDA $07
- EOR #$01
- STA $07
- JMP UpdateScreen
- UpdateScreen:
- ;Timing Shifter
- SEP #$20
- LDA $0E
- BEQ +
- DEC $0E
- BRA ++
- + INC $0E
- NOP
- ++ LDA ($04)
- STA $08
- ;Register C00
- REP #$20
- LDA #$C00+332
- STA $2116
- SEP #$20
- ;STZ $2100
- - LDA $4212
- BIT #$80
- BEQ -
- LDA $04
- LSR A
- LSR A
- LSR A
- LSR A
- AND #$0F
- ORA #$60
- STA $2118
- LDA $04
- AND #$0F
- ORA #$60
- STA $2118
- ;Send
- REP #$20
- LDA #$C00+395
- STA $2116
- SEP #$30
- LDY #$08
- LDA $07
- CLC
- ROL
- - ROL
- TAX
- AND #$01
- ORA #$60
- STA $2118
- TXA
- DEY
- BNE -
- STZ $2118
- STZ $2118
- LDA $07
- LSR A
- LSR A
- LSR A
- LSR A
- AND #$0F
- ORA #$60
- STA $2118
- LDA $07
- AND #$0F
- ORA #$60
- STA $2118
- ;Recv
- REP #$20
- LDA #$C00+459
- STA $2116
- SEP #$30
- LDY #$08
- LDA $08
- CLC
- ROL
- - ROL
- TAX
- AND #$01
- ORA #$60
- STA $2118
- TXA
- DEY
- BNE -
- STZ $2118
- STZ $2118
- LDA $08
- LSR A
- LSR A
- LSR A
- LSR A
- AND #$0F
- ORA #$60
- STA $2118
- LDA $08
- AND #$0F
- ORA #$60
- STA $2118
- ;Recv Serial 1
- REP #$20
- LDA #$C00+459+64
- STA $2116
- SEP #$30
- LDY #$08
- LDA $0A
- CLC
- ROL
- - ROL
- TAX
- AND #$01
- ORA #$60
- STA $2118
- TXA
- DEY
- BNE -
- STZ $2118
- STZ $2118
- LDA $0A
- LSR A
- LSR A
- LSR A
- LSR A
- AND #$0F
- ORA #$60
- STA $2118
- LDA $0A
- AND #$0F
- ORA #$60
- STA $2118
- ;Recv Serial 2
- REP #$20
- LDA #$C00+459+64+32
- STA $2116
- SEP #$30
- LDY #$08
- LDA $0B
- CLC
- ROL
- - ROL
- TAX
- AND #$01
- ORA #$60
- STA $2118
- TXA
- DEY
- BNE -
- STZ $2118
- STZ $2118
- LDA $0B
- LSR A
- LSR A
- LSR A
- LSR A
- AND #$0F
- ORA #$60
- STA $2118
- LDA $0B
- AND #$0F
- ORA #$60
- STA $2118
- ;Recv Serial 3
- REP #$20
- LDA #$C00+459+64+64
- STA $2116
- SEP #$30
- LDY #$08
- LDA $0C
- CLC
- ROL
- - ROL
- TAX
- AND #$01
- ORA #$60
- STA $2118
- TXA
- DEY
- BNE -
- STZ $2118
- STZ $2118
- LDA $0C
- LSR A
- LSR A
- LSR A
- LSR A
- AND #$0F
- ORA #$60
- STA $2118
- LDA $0C
- AND #$0F
- ORA #$60
- STA $2118
- ;Recv Serial 4
- REP #$20
- LDA #$C00+459+64+64+32
- STA $2116
- SEP #$30
- LDY #$08
- LDA $0D
- CLC
- ROL
- - ROL
- TAX
- AND #$01
- ORA #$60
- STA $2118
- TXA
- DEY
- BNE -
- STZ $2118
- STZ $2118
- LDA $0D
- LSR A
- LSR A
- LSR A
- LSR A
- AND #$0F
- ORA #$60
- STA $2118
- LDA $0D
- AND #$0F
- ORA #$60
- STA $2118
- ;lda #$0F ; Turning on the screen.
- ;sta $2100
- REP #$20
- - JSR JoypadCheck
- LDA $4218
- CMP $10
- BEQ -
- JMP Mess
- ;Snes Init
- ORG $9000
- incsrc SNESInit.asm
- Font:
- ORG $D000
- incbin Font8_v3.chr
- Pal:
- ORG $A000
- db $00, $00, $FF, $FF, $FF, $FF, $FF, $FF
- Text:
- ORG $B100
- Fillbyte $00
- Fillbyte $1000
- ORG $B100
- db "Satellaview Test "
- db "Register Full Tester "
- db " "
- db "L/R: Change Register "
- db "Left/Up/Down/Right/Y/X/B/A: "
- db " Change Bit to Send "
- db "Start: Send current Byte "
- db "Select: Set another byte "
- db " "
- db " "
- db "Register: 2188 "
- db " "
- db "Byte Send: 00000000 00 "
- db " "
- db "Byte Recv: 00000000 00 "
- db " "
- db "SerialRecv 00000000 00 "
- Header:
- ORG $FFB0
- cleartable
- db "01" ; Always "01"
- db $00 ;Something
- db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ;Always $00
- db "Satella Tester " ;Title
- db $01, $00, $00, $00 ;1M Data
- db $00, $00 ;Unlimited Starts
- db $70, %11101000 ;7-29 Date
- db $30, $10 ;FastROM, LoROM, Full Size ROM
- db $33 ;Maker, but always $33
- db $00 ;Version 0
- dw $0000 ;Checksum
- dw $0000 ;Complement Checksum
- NormalSize:
- ORG $FFE0
- fillbyte $00
- fill 1015808
- ORG $FFE0
- dw $0000, $0000, $8000, $8000, $8000, $8000, $8000, $8000
- dw $0000, $0000, $8000, $8000, $8000, $8000, $8000, $8000
- SerialMode:
- ORG $018000
- ;Activate BIOS at $80-9F:$8000-FFFF
- SEP #$30
- LDA #$80
- STA $085000
- STA $0E5000
- ;Get register
- REP #$30
- LDA $04
- CMP #$2198
- BEQ Serial_Send98
- BNE Serial_Send99
- Serial_Send98:
- ;Send 8bit
- SEP #$20
- REP #$10
- LDA $07
- LDY #$000A
- LDX #$0002
- ;JSL $1059B8 ;port_2198_send_cmd_recv_multiple_words Y=Address X=Number of words
- PHY
- JML $80C41F
- RTL
- Serial_Send99:
- ;Send 16bit
- SEP #$20
- REP #$10
- LDA #$41
- STA $2199
- LDA $07
- XBA
- LDA $09
- XBA
- JSL $1059B0 ;send_16bit_to_port_2199
- LDA #$01
- STA $2199
- LDA #$40
- STA $2199
- JSL $1059B4 ;recv_8bit_from_port_2199
- STA $0A
- JSL $1059B4 ;recv_8bit_from_port_2199
- STA $0B
- JSL $1059B4 ;recv_8bit_from_port_2199
- STA $0C
- LDA #$01
- STA $2199
- LDA #$41
- STA $2199
- ;JSL $1059B4 ;recv_8bit_from_port_2199
- ;STA $0D
- RTL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement