Detecting Euphoric

If you want to ask questions about how the machine works, peculiar details, the differences between models, here it is !
How to program the oric hardware (VIA, FDC, ...) is also welcome.
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Detecting Euphoric

Post by Twilighte »

The following code can be used to detect whether the system is an Emulator or not.

Code: Select all

*=$500
;Will return Carry if Real Machine
is_real	lda #00
	sta $30F
	lda #$FF
	sta $030C
	;Set CB2 to Pulse Mode
	lda #%10111101
	sta $030c
	lda #$F3	;Random value
	sta $030F
	lda $0300
	lda #$dd
	sta $030C
	lda #$DF
	sta $030C
	lda $030F
	cmp #$f3
	beq skip1
	clc
skip1	rts
It uses an obscure VIA mode that selects handshaking of CB2 when writing or reading from Port B.
I use it to write a value to the AY sound chip.
The routine then reads back data from the same AY register (0) and if it isn't the same then Euphoric is being used.
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Post by Dbug »

I'm pretty sure that we will soon see a new version of Euphoric that will actually behave in a way you will not be able to detect that anymore :D
Post Reply