retrohackers.com
http://retrohackers.com/

ShowMAC
http://retrohackers.com/viewtopic.php?f=10&t=194
Page 1 of 1

Author:  Devia [ Sat Nov 11, 2006 1:26 am ]
Post subject:  ShowMAC

This is a small program for displaying the MAC address of an RR-Net. That's all really ;-)
It has support for RR-Net on MMC64 or Retro Replay. If you have RR-Net on both it will detect the one on the MMC64.. I think ;-)

It can be launched from MMC64 BIOS. If launced from TNT's Browser it cannot detect RR-Net on Retro Replay through the Pass Through connector. I don't know why, but maybe TNT has an idea? ;-)

Why this rather useless PRG? See this thread: http://rrforum.ath.cx/viewtopic.php?t=181

Attachments:
File comment: Show the MAC address currently assigned to your RR-Net.
showmac.zip [714 Bytes]
Downloaded 720 times

Author:  tnt/beyond force [ Sat Nov 11, 2006 1:22 pm ]
Post subject:  Re: ShowMAC

Devia wrote:
It can be launched from MMC64 BIOS. If launced from TNT's Browser it cannot detect RR-Net on Retro Replay through the Pass Through connector. I don't know why, but maybe TNT has an idea? ;-)


Try this before detection:
Code:
; enable MMC64 if disabled

    lda #$0a
    sta $df13
    lda #$1c
    sta $df13

; disable BIOS, enable passthrough

    lda #$0f
    sta $df11

Author:  Devia [ Thu Dec 07, 2006 12:06 pm ]
Post subject: 

Nope, still doesn't work.

I do something like the following:
1. Enable MMC64
2. Map MMC64 I/O to $df20 (so it can be written to without disturbing any Retro Replay present)
3. Enable MMC64 Clock Port
4. Map MMC64 I/O to $de00 (because the rest of my RRNet code is using this I/O space)
5. Test if NIC is present
6. If NIC found, go about my RRNet business, else:
7. Map MMC64 I/O to $df20 (to get the MMC64 clock port out of the way and make room for Retro Replay clock port)
8. Enable Clock Port on Retro Replay
9. Test if NIC is present
10. If NIC found, go about my RRNet business

The relevant code snippets:
Code:
NICDetect
   lda   #$0a
   sta   $df13
   lda   #$1c
   sta   $df13
   lda   #%00001001   ;Ext ROM + Map I/O to $df20
   sta   $df11
   lda   #$01      ;Enable Clock Port on MMC64
   sta   $df21
   lda   #%00000001   ;Ext ROM + Map I/O to $de00
   sta   $df11

   <Read ProductIDCode from NIC>
   <if read ok GOTO CSDetected>
   <else:>

NoMMC64Nic
   lda   #%00001001   ;Ext ROM + Map I/O to $df20
   sta   $df11

   ;Enable Clock Port on RR
   lda   $de00
   and   #%11111010
   ora   #%00000001
   sta   $de01
   and   #%10011000
   sta   $de00

   <Read ProductIDCode from NIC>
   <if NOT read ok GOTO NoCS>
   <else:>

CSDetected
   <Do actual NIC detection stuff...>
   jmp   Exit
NoCS
   <Print error message>
Exit
   rts

And like you suggested I have also tried setting bits 1 and 2 in the $df11 writes, but without any effect.
I have been looking at the Browser code, but cannot seem to figure out why this doesn't work. You must be doing something wicked ;-)

Author:  tnt/beyond force [ Thu Dec 07, 2006 4:04 pm ]
Post subject: 

Devia wrote:
Nope, still doesn't work.
...
You must be doing something wicked ;-)

See $0100 for post-load sequence (after loading something, of course).

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/