To: mdj
I've started hacking on it as well....
There is one problem I came about: you entered lowercase symbol
names - My merlin Pro assembler converts everything to upper case?
How did you enter these lowercase names?
There is good news:
My //c doesn't disable the state machine when no disk is selected
- it is possible to read the WPROT line even then. With the Disk ][
controller card this is impossible.
For all those various versions: I thought about sort of self-modifying code:
A (Applesoft?) program that pokes the correct softswitch locations into the
code when initializing, depending on the current machine.
And: is it really so bad to just enable/disable the interface/zip chip/etc
before/after each packet to be sent/received?
I think we would need
LDA $C0E3 ;3
LDA $C0E7 ;6
LDA $C0ED ;9
* Send/receive routine
LDA $C0E2 ;12
LDA $C0E6 ;15
* The "Zipslow" access can be omitted, so we have 12 extra cycles per
packet.
If we need about 100 cycles per byte then the shortest possible packet will
at least take 800 cycles. Is twelve more cycles really that bad?
And I expect it to be shorter than common entry/exit routines and so on.
Another idea:
Doesn't make network activity while using any program that cares about the
solid-apple behave strangely? I'm also thinking about games that might use
both paddle buttons...
I modified by NadaNet adapters to receive only when AN2 is high, so that PB1
is free at least as long as the net is not used. Pressing Solid-Apple or
PB1 will lock up network activity, though.
Regards
Ferdinand