There are now a couple of new files on github
https://github.com/BadgeOric/Oric-I2C
I2CCload.tap along with I2CCload.s (the source)
and
Socket_Client.exe
I2CCload loads high into memory ($9400) and set the "!" extension vector.
Socket_Client is a small windows app that connects to the wifi module, opens a tap file and sends it over wifi.
Usage:
Set IP address and port on Socket_Client and connect:
Select your tap file to transfer
check "send header" box
click send
On the oric
Load I2CCload.tap
type !
It should load the tap file you sent.
On the Socket_Client program there is a label that shows the start address for assembly programs. Just issue a call #xxxx to run
For basic just type run - see caveats below.
How it works and caveats.
The Socket_client application takes the original tap file and strips off the header. It uses header.exe from the OSDK to do this so you need to have OSDK installed and the path setup correctly.
It examines the file and creates a new header that the I2CCload program will use.
This new header are the values in the "poke labels" shown for info on the Socket_Client
On the oric the jump vector at $2f5 is altered so that typing ! will run the assembly routine that first gets the new header and then gets the tap data.
It only works with single part tap files at the moment and a number of basic programs fail when it comes to reading data statements.
There must be no spaces in either the file-path or tap file name.
Error trapping in the Socket_Client application is very basic so dont be too shocked if you get a few unhandled exception errors (trying to connect to an IP/Port combination that does not exist, selecting files with spaces in path or name and some others)
I used the excelent Oric_Explorer application to view the tap file information and see if a file was suitable.
I tested with 2 random commercial games (PSS Centipede and IJK PLayground 21) and both worked perfectly.
If anyone would like the vb source for the Socket_Client I'll upload that too.
Ian