| retrohackers.org https://www.retrohackers.org/ |
|
| Register Confusion https://www.retrohackers.org/viewtopic.php?f=6&t=73 |
Page 1 of 1 |
| Author: | RaveGuru [ Fri Mar 10, 2006 2:51 pm ] |
| Post subject: | Register Confusion |
I was checking the MMC64 documentation for clock port enabling and clock port location. Apparently bit 3 of $df11 tells me on what address the clock port registers are located, but does it also control the location (i.e. bit 3 is writeable) ? Not owning a MMC64 myself I can not verify this but I recall reading somewhere that the clockport location is controlled by a jumper? Also, AAY64 mentions a Shadow on bit 3 of $df11 that's not mentioned in Schoenfeldts documentation. What is this? |
|
| Author: | tnt/beyond force [ Sat Mar 11, 2006 6:05 pm ] |
| Post subject: | |
Bit 3 is writeable, and according to docs and my own code disable bit is #7, not #3. (About disable bit: I guess that Ninja got confused by the BIOS code changing clockport location when there is cartridge attached to MMC64.) |
|
| Author: | RaveGuru [ Sun Mar 12, 2006 4:43 pm ] |
| Post subject: | |
Ok, thanks for clearing this out. On to my next question then: How do I prorepy detect if there's a MMC64 plugged in? From the sparse manual I'd draw the conclusion that reading $df13 to see if it's a positive value (1,2 or 64) then there's probably a MMC64 hooked up? Would it be safe to assume that the address will read 0 otherwise? |
|
| Author: | tnt/beyond force [ Sun Mar 12, 2006 5:20 pm ] |
| Post subject: | |
Quite safe way: enable MMC64 (poke $df13,$0a;poke $df13,$1c) and clear bit 1 of $df11, then $df13 should read $64. Next set bit 1 of $df11 and check that $df13 reads 1 or 2. Just reading I/O area isn't safe, as it is open address space with unpredictable contents if there is no cartridge, and whatever cartridge might put there if there is one. |
|
| Author: | RaveGuru [ Sun Mar 12, 2006 6:07 pm ] |
| Post subject: | |
Ah! excellent! Thanks a lot |
|
| Author: | NinjaDRM [ Tue May 09, 2006 9:09 am ] |
| Post subject: | |
So, the AAY-docs are wrong? Hmm, I added them at BP2005 from Docs which Oliver Achten gave me. And he proofread the MMC-pages before I added them. /me is confused... |
|
| Author: | tnt/beyond force [ Tue May 09, 2006 10:38 am ] |
| Post subject: | |
In the MMC64 register map bit #3 is shown as clock port location selector and bit #7 as disable bit. They also work like that (on my MMC64 at least). |
|
| Author: | NinjaDRM [ Thu May 11, 2006 10:37 am ] |
| Post subject: | |
Hmm, it's long ago, but I remember that Oliver explained to me that the spec-file is not correct there and the AAY-version is correct and he wanted to update the specs. Well, if you say that the spec-behaviour works for you, it might be time to contact Oliver again :) |
|
| Author: | tnt/beyond force [ Thu May 11, 2006 11:31 am ] |
| Post subject: | |
Here is exit code from BIOS V1.01: Code: 82dc AD 01 DC LDA $DC01 ; check for left shift
82df 29 80 AND #$80 82e1 D0 0A BNE $82ED ; not pressed, skip 82e3 A9 55 LDA #$55 ; unlock disable bit 82e5 8D 13 DF STA $DF13 82e8 A9 AA LDA #$AA 82ea 8D 13 DF STA $DF13 82ed B9 37 9C LDA $9C37,Y ; copy rest of reset code to $0200 82f0 99 FF 01 STA $01FF,Y 82f3 88 DEY 82f4 D0 F7 BNE $82ED 82f6 20 22 9C JSR $9C22 ; wait for bottom border 82f9 AD 01 DC LDA $DC01 ; wait until keys released 82fc C9 FF CMP #$FF 82fe D0 F6 BNE $82F6 8300 20 22 9C JSR $9C22 ; wait for lower border 8303 A2 81 LDX #$81 ; external ROM active, disable MMC64 8305 AD 12 DF LDA $DF12 ; check for cartridge in pass-thru connector 8308 29 06 AND #$06 830a C9 06 CMP #$06 830c F0 02 BEQ $8310 830e A2 89 LDX #$89 ; if found, move clockport 8310 4C 00 02 JMP $0200 ; "stx $df11; jmp ($fffc)" My MMC64 doesn't automatically disable itself when there is another cartridge attached, but it moves its clockport. That behaviour is exactly what you would expect from the docs and the code above. Although disable bit (#7) is always 1, it only affects MMC64 if it has been unlocked. |
|
| Page 1 of 1 | All times are UTC [ DST ] |
| Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |
|