Page 1 of 1

Quick & dirty test for new 63C09

Posted: Wed Aug 19, 2020 2:55 pm
by Vyper68
Hi all,
Does anyone have a quick test to check the 63C09 I fitted to my old trusty Dragon 32 today. It works just as It did beforehand and I know the benefits of a 63c09 are under the hood so just wanted to check it’s not a rebadged 6809.

Re: Quick & dirty test for new 63C09

Posted: Wed Aug 19, 2020 3:19 pm
by sixxie
I guess a really dumb test would be to trigger an invalid instruction trap. Try POKE359,66 - on a 6809, it'll just mangle output into graphic characters, on a 6309 it'll crash :)

An immediately observable difference I find is that a 6309 takes a while longer to initialise: when you turn the power on, there's a slightly longer delay until you get the OK prompt.

Re: Quick & dirty test for new 63C09

Posted: Wed Aug 19, 2020 3:55 pm
by Vyper68
Thanks sixxie I’ll try that out :D

Re: Quick & dirty test for new 63C09

Posted: Tue Aug 25, 2020 4:52 pm
by Vyper68
Well it had a hissy fit and then crashed & froze so it seems a legit 6309 :D

Re: Quick & dirty test for new 63C09

Posted: Sun Aug 30, 2020 12:26 pm
by prime
For what it's worth this is the code that the diag card uses to identify the 6309.

Code: Select all

;
; Test to see if CPU is a 6809 or 6309.
;	
; 
GetCPUType	
;		lbsr	LCDClrScr	; clear LCD screen
		leax	LCPUIs,pcr	; point to message
		lbsr	DevWriteStr	; write it
		
		ldb	#$ff		; setup b
		FCB	$10		; This will be CLRD on 6309, CLRA on 6809
		clra
		tstb			; is b zero?
		
		beq	Is6309		; yes, 6309
		
		leax	LCPU6809,pcr	; 6809 messsage
		bra	ShowCPU		

Is6309		leax	LCPU6309,pcr	; 6809 messsage
ShowCPU		lbsr	DevWriteStr
		lbsr	VCR
		lbra	WaitPause	; wait a while
Cheers,

Phill.