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 magervalp@fastmail.fm