<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://7800.8bitdev.org/index.php?action=history&amp;feed=atom&amp;title=YM2151_Detection</id>
		<title>YM2151 Detection - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://7800.8bitdev.org/index.php?action=history&amp;feed=atom&amp;title=YM2151_Detection"/>
		<link rel="alternate" type="text/html" href="https://7800.8bitdev.org/index.php?title=YM2151_Detection&amp;action=history"/>
		<updated>2026-05-16T17:31:46Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>https://7800.8bitdev.org/index.php?title=YM2151_Detection&amp;diff=869&amp;oldid=prev</id>
		<title>MSaarna: Created page with &quot;&lt;pre&gt; 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...&quot;</title>
		<link rel="alternate" type="text/html" href="https://7800.8bitdev.org/index.php?title=YM2151_Detection&amp;diff=869&amp;oldid=prev"/>
				<updated>2021-04-10T16:26:56Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;pre&amp;gt; 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...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
YM2151ADDR	EQU	$460&lt;br /&gt;
YM2151DATA	EQU	$461&lt;br /&gt;
XMCNTRL		EQU	$470&lt;br /&gt;
&lt;br /&gt;
	LDA #$70&lt;br /&gt;
	STA CTRL		;TURN OFF MARIA&lt;br /&gt;
&lt;br /&gt;
	LDA #$84		;enable YM&lt;br /&gt;
	STA XMCNTRL&lt;br /&gt;
&lt;br /&gt;
	LDA #$00&lt;br /&gt;
	TAX&lt;br /&gt;
YMLP1:  JSR WRITEYMADDR&lt;br /&gt;
	STA YM2151DATA&lt;br /&gt;
	INX&lt;br /&gt;
	BNE YMLP1		&lt;br /&gt;
&lt;br /&gt;
	LDX #$14		;disable counter&lt;br /&gt;
	LDA #00&lt;br /&gt;
	JSR WRITEYMADDR&lt;br /&gt;
&lt;br /&gt;
	LDX #$12		;set counter&lt;br /&gt;
	LDA #252		&lt;br /&gt;
	JSR WRITEYMADDR&lt;br /&gt;
&lt;br /&gt;
	LDX #$14		;enable counter&lt;br /&gt;
	LDA #$2A&lt;br /&gt;
	JSR WRITEYMADDR&lt;br /&gt;
&lt;br /&gt;
;TIMER IS NOW ACTIVE SO LETS COUNT WHILE WAITING FOR THE CLOCK TO OVERFLOW&lt;br /&gt;
	LDY #$02&lt;br /&gt;
REPEAT: LDX #$00&lt;br /&gt;
POLLFLAG: INX&lt;br /&gt;
	BEQ YMNOTFOUND		;timeout if no ym present	&lt;br /&gt;
	LDA YM2151DATA		;read counter flag&lt;br /&gt;
	AND #$02&lt;br /&gt;
	BNE CHECKCOUNT&lt;br /&gt;
	JMP POLLFLAG&lt;br /&gt;
&lt;br /&gt;
WRITEYMADDR&lt;br /&gt;
	BIT YM2151DATA&lt;br /&gt;
	BMI WRITEYMADDR&lt;br /&gt;
	STX YM2151ADDR&lt;br /&gt;
WRITEYMDATA&lt;br /&gt;
	BIT YM2151DATA&lt;br /&gt;
	BMI WRITEYMDATA&lt;br /&gt;
	STA YM2151DATA&lt;br /&gt;
	RTS&lt;br /&gt;
&lt;br /&gt;
CHECKCOUNT:&lt;br /&gt;
	DEY&lt;br /&gt;
	BEQ CHKCNT&lt;br /&gt;
	LDX #$14		;RESET COUNTER FLAG&lt;br /&gt;
	LDA #$2A&lt;br /&gt;
	JSR WRITEYMADDR&lt;br /&gt;
	JMP REPEAT&lt;br /&gt;
CHKCNT: 			&lt;br /&gt;
	CPX #$80		;COUNT SHOULD BE $88, CHECK IT'S BETWEEN $80-$90&lt;br /&gt;
	BCC YMNOTFOUND		;COUNT &amp;lt; $80&lt;br /&gt;
	CPX #$90&lt;br /&gt;
	BCS YMNOTFOUND		;COUND &amp;gt;=$90&lt;br /&gt;
&lt;br /&gt;
YMFOUND:&lt;br /&gt;
        LDA #$40&lt;br /&gt;
        STA CTRL&lt;br /&gt;
        LDA #$D4        ;MAKE BACKGROUND GREEN&lt;br /&gt;
        STA $20&lt;br /&gt;
&lt;br /&gt;
YMFOUNDLP: JMP YMFOUNDLP&lt;br /&gt;
&lt;br /&gt;
YMNOTFOUND:&lt;br /&gt;
        LDA #$40&lt;br /&gt;
        STA CTRL&lt;br /&gt;
        LDA #$46        ;MAKE BACKGROUND RED&lt;br /&gt;
        STA $20&lt;br /&gt;
YMNOTFOUNDLP: JMP YMNOTFOUNDLP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>MSaarna</name></author>	</entry>

	</feed>