[Rpcemu] Risc OS 4.39 hangs on networking
mrseed at gmail.com
Thu Mar 26 17:53:11 EDT 2009
Good news everybody.
I updated my logging code to display more register values when SWI's
are called. Because I saw a OS_Service call just before the OS_Heap
error I wondered which call it was. It was &9F (DCIProtocolStatus) So
my new code outputs now the contents of register 2 to 4 of the call it
Executing swi OS_ServiceCall, reason 0: 220e07c, reason 1: 9f
R2=0, R3=403 R4=AppleTalk
Executing swi OS_CallASWIR12, reason 0: 222710c, reason 1: 220e074
Executing swi OS_Heap, reason 0: 2, reason 1: 1c08000
Executing swi OS_ValidateAddress, reason 0: 1c08000, reason 1: 1c08018
Executing swi OS_ValidateAddress, reason 0: 1c08000, reason 1: 1c29000
Executing swi OS_Heap, reason 0: 3806a08, reason 1: 1c08000
Executing swi MessageTrans_ErrorLookup, reason 0: 3801a8c, reason 1: f70
MS_ErrorLookup Token: HeapBadReason:Bad reason code
Executing swi MessageTrans_Lookup, reason 0: f70, reason 1: 3801a90
MS_Lookup Token: HeapBadReason:Bad reason code
What? AppleTalk! Yes off course RISC OS 4.39 has AppleTalk in ROM and
4.02 hasn't. So I unplugged the damn thing and EtherRPCEm works fine!
I successfully connected to internet with it without any problems.
So just do a *unplug AppleTalk at the CLI and ensure that your !System
doesn't contain any other version of AppleTalk (otherwise it will be
automatically loaded by !Internet) and shutdown the emulator properly
so the cmos will be saved correctly.
It looks like that AppleTalk doesn't behave itself or that EtherRPCEm
isn't robust enough.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1321 bytes
Desc: not available
More information about the Rpcemu