This loads the necessary code into ram and patches the LOAD and SAVE vectors. This has a few drawbacks: if you reset the machine you'll have to reactivate Serial Slave with a SYS command. If you try to load a program that's larger than 199 blocks (202 blocks is the largest you can normally load) it'll crash. If you start an application that uses the $CE00-$CFFF area while it's running (many do) you'll have to reload the driver.
By removing the kernal RS-232 routines you free up enough space to fit the Serial Slave driver in ROM. This way the driver will always be available and won't risk being overwritten. All software that uses the kernal routines for loading and saving should work. The obvious drawback is that you need an EPROM burner and possibly an EPROM -> ROM adapter.
With a SuperCPU you can actually load new code into the kernal ROM. The old ROMs in the C64 or C128 are too slow for the SuperCPU so it mirrors them in bank 01. As this is writeable RAM it's possible to patch them while the computer's running and without having to use an EPROM burner. It'll even survive a soft (normal) reset, but a hard reset (with the rocket animation) or a power cycle will erase it. The only drawback is that it requires a SuperCPU.
The PC server runs on any computer with Perl 5.x and a serial port module:
0.1 LOAD patch 0.2 Bug fixes, partial rewrite 0.3 SAVE patch 0.4 handle '.' result 0.5 support for 16550, and prepared code for multiple targets renamed source file 0.6 makes sure it's not already installed before hijacking vectors
0.1 working but limited to < 120 blocks or so 0.2 major bugfixes 0.3 fixed short dir listing copied file-1 bytes, fixed prints file size when copying 0.4 support for 16550, and prepared code for multiple targets copy from SS to IEC 0.5 better filename and type recognition directory scrolling sped up added select all, none, inverse added reread function 0.6 ported to the C128 fixed copying past end of list fixed a, n, i not updating nsel swapped out basic roms on C64 and C128 maxentries changed to 144 added status line
0.1 loading, directory listing, cd 0.2 wildcard support, minor code cleanup 0.3 code restructured, rudimentary d64 support 0.4 URL loading 0.5 saving, URL d64 mounting 0.6 . status code for positive result but no data d64 file loading code now uses strict parsing and is split into modules 0.7 fixed file corruption due to cr/lf conversion under win32 fixed broken d64 loading added block mode reading
Serial Slave is Copyright © 2002 firstname.lastname@example.org