This is how OricExos looks like:
... and it
WORKS!
Master's Tape-Out is connected to Slaves's Tape-In and with this simple 'master' program:
Code: Select all
10 HIMEM#3FFF:CLS
20 CLOAD"":ST=DEEK(#2A9):EN=DEEK(#2AB)
30 CSAVE"SLAVE",A ST,E EN,AUTO
40 CALL ST
I was able to "CSAVE" to slaves sample code and execute it thanks to the ",AUTO" param!
Which means - we have working Tape-Slow Oric Network!
Attached are sources and the TAP file which contains concatenated master and slave code.
Here HIMEM#3FFF is because the slave's code starts at #4000.
You can try it in Oricutron - as result you should get "ORIC #0 READY", where '#0' is the master Oric.
In the assembler code you can see how every Oric gets its number - the byte at #EDB0...
I found the limitation that I can "upload" to slaves only machine code programs (i.e. Basic programs are not accepted). And this is because the used patch - jump to CLOAD ROM routine at #E874 - may be some BASIC variables are not initialized... This is not big problem, but if someone has a solution how to use CLOAD in more proper way - it would be very helpful!
Additionally I connected the Master's STROBE to Slaves's ACKNOWLEDGE (printer port) and the idea is to use this as "kick" to start synchronized code in slaves... so, stay tuned for upcoming video feeds
.
Please, don't hesitate to share ideas for possible usages - let's test its abilities.