Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Detecting REU + VICE
2009-01-08 00:29
AlexC

Registered: Jan 2008
Posts: 293
Detecting REU + VICE

I'm looking for reliable method of detecting REU on different machines (c64/128) and VICE. Either I'm doing something wrong or the only really stable method (without actually writing to REU banks like shown here: http://www.codebase64.org/doku.php?id=base:reu_detect) is this one:

lda #$00
sta $df00
cmp $df00
beq noreu

The following code fails on my C128D:
http://www.willcox.de/index2.htm

At this point I don't need the size of REU as I assume that every single one will provide me with 128KB at least and this is as much as I need.

Thanks in advance
 
... 34 posts hidden. Click here to view all posts....
 
2017-05-20 10:20
chatGPZ

Registered: Dec 2001
Posts: 11088
doh - that code can not work when the first thing you are doing is switching off the I/O =)
2017-05-21 18:58
Bacchus

Registered: Jan 2002
Posts: 154
Goepaz - it also doesn't work swapping in the I/O.
2017-05-21 20:23
Trash

Registered: Jan 2002
Posts: 122
I doesnt work because I am stupid and used old code that never worked. I found my detection routine that works without trashing to much stuff:

;-------------------------------------------------------
*= $0810
	sei
;-------------------------------------------------------
		ldx #0
		stx $df08
-		cpx $d012
		bne -
		dex
		stx $df07
; Exchange 255 bytes of c64 and reu memory
		ldx #%10010010
		stx $df01
; Exchange back
		stx $df01
; D012 == 0?
		lda $d012
		bne +
; Yepp, no REU
		lda #0
		sta $d020
		sta $d021
		cli
		jmp *
;-------------------------------------------------------
; No, REU
+	lda #1
	sta $d020
	sta $d021
	cli
	jmp *
;-------------------------------------------------------


The compare didnt work because it stop comparing at any difference.
2017-05-22 09:21
Bacchus

Registered: Jan 2002
Posts: 154
I ran Trash's core core in a continuous loop and then it reset the machine. Setting a source address seems to have fixed that.... Now it works for me!

sei

checkreu: ldx #$05
stx $df02 // Copy to $0500
ldx #0
stx $df03

stx $df08
vicomp: cpx $d012
bne vicomp
dex
stx $df07
// Exchange 255 bytes of c64 and reu memory
ldx #%10010010
stx $df01
// Exchange back
stx $df01

lda $d012
bne reufound
2019-09-24 21:50
ThunderBlade

Registered: Jan 2002
Posts: 74
I want to put a non-intrusive (read-only) REU detection routine in my kernal ROM, so it's executed upon reset. So I see immediately if I have my REU enabled (in 1541Ultimate) or not.

I like the idea of reading $df00, it's the REU status register and as suggested, reading it a couple of times and it never changes, I should be fine. BUT! Action Replay also has stable values at $df00. And 1541U supports tons of other freezers and CRTs that *may* have stable values at $df00.

What's your opinion... currently I think it could be safe to read the other REU registers like C64 address, Interrupt Mask register etc. If they are there with default values (after initial test of stable value at $df00) it should be safe to assume an REU. The values seem to be reset to default upon reset of the C64/1541U...
2019-09-25 15:16
Burglar

Registered: Dec 2004
Posts: 1027
so, instruct reu to copy data from reu to c64, if data was overwritten, you got a reu enabled.
2019-09-25 15:45
Count Zero

Registered: Jan 2003
Posts: 1809
Plain reading of registers without an actual transfer is likely to fail with quite a few cartridges. So, what Burglar sez.
2019-09-25 19:33
ThunderBlade

Registered: Jan 2002
Posts: 74
Ok, thanks. I was more afraid of messing around in $DFxx area could lead to unpredictable behavior/crashes with some other (not REU) cartridges.
Previous - 1 | 2 | 3 | 4 | 5 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
ϵʟʞ/ₐтₐ
Mason/Unicess
hedning/G★P
BlackJack/Civitas
JackAsser/Booze Design
Dano/Padua
Brittle/Dentifrice^(?)
kbs/Pht/Lxt
t0m3000/ibex-crew
Guests online: 330
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 No Bounds  (9.6)
6 Comaland 100%  (9.6)
7 Uncensored  (9.6)
8 The Ghost  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 Party Elk 2  (9.7)
2 Cubic Dream  (9.6)
3 Copper Booze  (9.5)
4 Rainbow Connection  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Onscreen 5k  (9.5)
7 Dawnfall V1.1  (9.5)
8 Quadrants  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Birth of a Flower  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Nostalgia  (9.3)
3 Oxyron  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Swappers
1 Derbyshire Ram  (10)
2 Jerry  (9.8)
3 Violator  (9.8)
4 Acidchild  (9.7)
5 Starlight  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.043 sec.