This is not a bulletproof solution, but it can give some guidance and help for those who want to experiment with the internal modem in the C64U. There is no error checking, connections can be unstable, etc. Please check the original project's readme for details!
This is based on Bo Zimmerman's sample code from: https://www.zimmers.net/anonftp/pub/cbm/c64/comm/Swiftdriver.zip
Download this repo, and check the included D64 file. You can find the needed files separately also here. If you need .asm or LADS file, you can find them in the original zip.
You'll need only 2 files:
-
SWIFTTEST.PRGis a very simple BASIC "terminal" program. It can send/receive bytes to/from the C64U's internal SwiftLink modem. -
It loads
SWIFTDRVR49152.PRGto address $C000 (49152). This small program makes it possible to communicate with the modem trough standard KERNAL calls and the BASIC PRINT# and GET# commands.
After loading, you must initialize it with SYS 49152 before first use.
The sample BASIC program:
10 IF A=0 THEN A=1:LOAD "SWIFTDRVR49152",8,1
20 SYS 49152 : REM Turn On The SwiftDriver
25 PRINT "LOAD DONE."
30 OPEN 5,2,0,CHR$(7) : REM Open RS232 at 600 BAUD
40 GET#5,A$:IF A$ <> "" THEN PRINT A$;
50 GET A$:IF A$ <> "" THEN PRINT#5,A$;
60 GOTO 40
To be on the safe side we use baud rate 600. For more info check the issues section below.
Baud rates you can use:
Baud Rate CHR$() CODE
50 1
75 2
110 3
135 4
150 5
300 6
600 7
1200 8
1800 9
2400 10
3600 11
4800 12
7200 13
9600 14
19200 15
You can use standard Hayes modem commands, you can find a list of the most common ones here. Don't know which one is implemented in C64U. Experiment with them freely :D
Some useful examples:
AT - Checks modem. If the response is OK then the modem is working correctly.
ATI - Request modem information text
ATDT - Connect to remote host. Format: ATDT hostname:port
After running, type in your command, and press enter. That's all. Something will happen. (Or not ;) )
Trying out the ATI and ATDT commands:

Connected to bbs.retrocampus.com:6510 - from BASIC!!

Please note, baud rates higher than 600 can cause unreliable connections using BASIC. To use higher baud rates, you will need to use assembly. Those speeds are not tested (by me). Maybe 1200 should work. Or not ;)
As stated in the original readme, the included SwiftLink driver doesn't have any error checking, and after errors or with an unstable connection, the modem can completely freeze. Only after a full power cycle could be used again. (Menu/F1/Power&Reset/Power cycle)
A simple reboot didn't helped for me.
With an attached AR cart, you get "type mismatch error in 40" and the computer freezes. Detach the cart and run again.
It works with the default factory settings:

