[Coco] Help with some HiRes CoCo 3 MMU settings

Robert Gault robert.gault at att.net
Wed Dec 7 18:17:30 EST 2016


Glen Hewlett wrote:
> Hi Robert,
>
> I think William Astle, has figured out some of my problems are CoCo 1 & 2 Interrupts that are still enabled and running in the background.  I guess you guys would have figured out that if I sent the entire code, but my program is actually quite big at this time.  Although just for learning and testing I’ve now shrunk it down to a quick little setup and test code.  Whenever I finish my program I will share it on the list, I just don’t want to go into any details of the actual program right now.
>
> You said I don’t want the fast rate enabled for the Timer Clock source.  Why not?  Is that only used for sound and too many interrupts for a general program to use?  Or am I way off?  Another question from Sock Masters site I read:
> FF91 (65425) Initialization Register 1 - INIT1

Glen,

You can use the fast clock timer if you know what you are doing and realize that 
the value is not that in the service manual 70nsec but rather 279nsec.

With MESS/MAME as your test base, you could easily set a break points in your 
service routines to see what is happening.

Robert

  PS Below is an example of using the Fast Timer.

* This is intended to determine the rate of the GIME fast timer

	org	$7000
start	ldy	#0
	sty	count
	lda	$FEF4
	ldx	$FEF5
	sta	OldFIRQ
	stx	OldFIRQ+1
	orcc	#$50
	lda	#$7E	JMP
	leax	FIRQ,pcr
	sta	$FEF4
	stx	$FEF5
	lda	#$34
	sta	$ff01
	sta	$ff03
	lda	#%01011100
	sta	$FF90
	lda	#%00100000
	sta	$FF91	fast timer
	sta	$FF93	FIRQ engage
	ldd	#$FFF	this should be 1.144E-3 seconds
	std	$FF94
	andcc	#$AF
a@	bra	a@

OldFIRQ	rmb	3
count	fdb	0

FIRQ	lda	$FF93
	ldy	count
	leay	1,y
	sty	count
	cmpy	#52447	should be 60 seconds
	beq	exit
	rti
	
exit	orcc	#$50	the time lost here is too small to matter
	lda	OldFIRQ
	ldx	OldFIRQ+1
	sta	$FEF4
	stx	$FEF5
	clra
	sta	$FF91
	sta	$FF93
	sta	$FF95
	sta	$FF94
	lda	#%01001100
	sta	$FF90
	lda	#$35
	sta	$FF03
	andcc	#$af
	puls	a,x,pc
	end	start


More information about the Coco mailing list