http://7800.8bitdev.org/index.php?title=YM2151_Detection&feed=atom&action=history
YM2151 Detection - Revision history
2024-03-29T08:19:20Z
Revision history for this page on the wiki
MediaWiki 1.28.0
http://7800.8bitdev.org/index.php?title=YM2151_Detection&diff=869&oldid=prev
MSaarna: Created page with "<pre> YM2151ADDR EQU $460 YM2151DATA EQU $461 XMCNTRL EQU $470 LDA #$70 STA CTRL ;TURN OFF MARIA LDA #$84 ;enable YM STA XMCNTRL LDA #$00 TAX YMLP1: JSR WRITEYMAD..."
2021-04-10T16:26:56Z
<p>Created page with "<pre> YM2151ADDR EQU $460 YM2151DATA EQU $461 XMCNTRL EQU $470 LDA #$70 STA CTRL ;TURN OFF MARIA LDA #$84 ;enable YM STA XMCNTRL LDA #$00 TAX YMLP1: JSR WRITEYMAD..."</p>
<p><b>New page</b></p><div><pre><br />
YM2151ADDR EQU $460<br />
YM2151DATA EQU $461<br />
XMCNTRL EQU $470<br />
<br />
LDA #$70<br />
STA CTRL ;TURN OFF MARIA<br />
<br />
LDA #$84 ;enable YM<br />
STA XMCNTRL<br />
<br />
LDA #$00<br />
TAX<br />
YMLP1: JSR WRITEYMADDR<br />
STA YM2151DATA<br />
INX<br />
BNE YMLP1 <br />
<br />
LDX #$14 ;disable counter<br />
LDA #00<br />
JSR WRITEYMADDR<br />
<br />
LDX #$12 ;set counter<br />
LDA #252 <br />
JSR WRITEYMADDR<br />
<br />
LDX #$14 ;enable counter<br />
LDA #$2A<br />
JSR WRITEYMADDR<br />
<br />
;TIMER IS NOW ACTIVE SO LETS COUNT WHILE WAITING FOR THE CLOCK TO OVERFLOW<br />
LDY #$02<br />
REPEAT: LDX #$00<br />
POLLFLAG: INX<br />
BEQ YMNOTFOUND ;timeout if no ym present <br />
LDA YM2151DATA ;read counter flag<br />
AND #$02<br />
BNE CHECKCOUNT<br />
JMP POLLFLAG<br />
<br />
WRITEYMADDR<br />
BIT YM2151DATA<br />
BMI WRITEYMADDR<br />
STX YM2151ADDR<br />
WRITEYMDATA<br />
BIT YM2151DATA<br />
BMI WRITEYMDATA<br />
STA YM2151DATA<br />
RTS<br />
<br />
CHECKCOUNT:<br />
DEY<br />
BEQ CHKCNT<br />
LDX #$14 ;RESET COUNTER FLAG<br />
LDA #$2A<br />
JSR WRITEYMADDR<br />
JMP REPEAT<br />
CHKCNT: <br />
CPX #$80 ;COUNT SHOULD BE $88, CHECK IT'S BETWEEN $80-$90<br />
BCC YMNOTFOUND ;COUNT < $80<br />
CPX #$90<br />
BCS YMNOTFOUND ;COUND >=$90<br />
<br />
YMFOUND:<br />
LDA #$40<br />
STA CTRL<br />
LDA #$D4 ;MAKE BACKGROUND GREEN<br />
STA $20<br />
<br />
YMFOUNDLP: JMP YMFOUNDLP<br />
<br />
YMNOTFOUND:<br />
LDA #$40<br />
STA CTRL<br />
LDA #$46 ;MAKE BACKGROUND RED<br />
STA $20<br />
YMNOTFOUNDLP: JMP YMNOTFOUNDLP<br />
</pre></div>
MSaarna