Menu

#2117 ACIA RS232 issue

v3.x
closed
Durandal
None
RS232
2025-11-22
2024-12-29
Rick T137
No

I run VICE, and I use the x64sc emulator to run CCGMS which is a graphics terminal program to call bulletin board systems over telnet. I run a utility called tcpser that acts as a "modem" for the C64 emulator. This was all working fine in version 3.8 of VICE, but after upgrading to version 3.9 it stopped working (no changes on my end). I am running Arch Linux (which is completely up to date) and I've tried both the Arch package of VICE 3.9 as well as building from source. So this tried both the GTK3 and SDL versions - neither work in version 3.9 but both work fine in version 3.8.

For VICE, I set the RS232 settings as follows:

ACIA RS232 interface emulation: ON
ACIA base address: $DE00
ACIA host device: 3
ACIA interrupt: NMI
ACIA emulation mode: Swiftlink
Userport RS232 emulatio: OFF
Device 3: 127.0.0.1:25233
Device 3 baud rate: 1200
Device 3 user IP232 protocol: ON

My tcpser (1.1.4_vicekludge) line is:

tcpser -v 25233 -s 1200 -l 4 -p 6510 -i "e1"

My CCGMS (Terminal 2021 Mods by Alwyz) settings are:

Baud Rate: 1200
Duplex: Full
Modem Type: Swift / Turbo DE
Firmware: Standard
Protocol: Xmodem
Theme: Classic CCGMS v5.5

Without touching any of my config files (under ~/.config/vice/) I can do a:

sudo make uninstall

on verison 3.9 and then do a

sudo make install

on version 3.8 and then everything starts working again.

When it is working with VICE 3.8, this is what I see on my tcpser output:

2024-12-29 10:24:23:124524427032384:INFO:Server socket bound to port
2024-12-29 10:24:23:124524427032384:INFO:Server socket listening for connections
2024-12-29 10:24:23:124524427032384:INFO:Creating modem #0
2024-12-29 10:24:23:124524427028160:INFO:Opening ip232 device
2024-12-29 10:24:23:124524427028160:INFO:Server socket bound to port
2024-12-29 10:24:23:124524427028160:INFO:Server socket listening for connections
2024-12-29 10:24:23:124524427028160:INFO:ip232 device configured
2024-12-29 10:24:23:124524427028160:INFO:Control Lines: DSR:1 DCD:0 CTS:1

Then, when I start x64sc and load and run CCGMS, I see:

2024-12-29 10:25:48:124524418635456:INFO:Connection accepted from 127.0.0.1
2024-12-29 10:25:48:124524410242752:INFO:Link has come up
2024-12-29 10:25:48:124524410242752:INFO:DTR has gone high

Then, when I call a BBS, I get:

2024-12-29 10:21:34:125469358339776:INFO:taking modem off hook
2024-12-29 10:21:34:125469358339776:INFO:Connecting line
2024-12-29 10:21:34:125469358339776:INFO:Connection to BBS.DEEPSKIES.COM established
2024-12-29 10:21:34:125469358339776:INFO:Control Lines: DSR:1 DCD:1 CTS:1

And when I log off the BBS, I see:

2024-12-29 10:27:12:124524401850048:INFO:No socket data read, assume closed peer
2024-12-29 10:27:12:124524427028160:INFO:Disconnecting modem
2024-12-29 10:27:12:124524427028160:INFO:Disconnecting line
2024-12-29 10:27:12:124524427028160:INFO:Control Lines: DSR:1 DCD:0 CTS:1

The x64sc output during this session is:

Initializing chip model "MOS8565" (63 cycles per line, 312 raster lines).
VSP Bug: safe channels are: 02567. Emulation of memory corruption is disabled.
Loading system file `/usr/local/share/vice/PRINTER/mps803-D7811G-111-U32053A.bin'.
Warning - Config file version mismatch (is '3.9', expected '3.8').

WARNING: Configuration file version mismatch (is '3.9', expected '3.8').

Please notice that using configuration files from a different VICE version is not supported. It should be mostly no problem in practice - however, if you experience any problems eg. after updating VICE, you might have to reset the settings to defaults.

Save the settings now to make this message go away.
Reading configuration file `/home/rick/.config/vice/sdl-vicerc'.
Initializing chip model "MOS6567R8" (65 cycles per line, 263 raster lines).

*** VICE Version 3.8 ***

Welcome to x64sc, the free portable C64 Emulator.

Current VICE team members:
Pottendo, Marco van den Heuvel, Fabrizio Gennari, Groepaz, Errol Smith,
Ingo Korb, Olaf Seibert, Marcus Sutton, Kajtar Zsolt, AreaScout, Bas Wassink,
Michael C. Martin, Christopher Phillips, David Hogan, Empathic Qubit,
Roberto Muscedere, June Tate-Gans, Pablo Roldan.

This is free software with ABSOLUTELY NO WARRANTY.
See the "About VICE" command for more info.

random seed was: 0x6771705a
command line was: x64sc -8 CMD-HD.dhd
VICE system file directory: /usr/local/share/vice.
Loading system file `/usr/local/share/vice/C64/kernal-901227-03.bin'.
C64MEM: Kernal rev #3 ($03) Sum: 50954 ($C70A) SHA1: 1d503e56df85a62fee696e7618dc5b4e781df1bb.
Loading system file `/usr/local/share/vice/C64/basic-901226-01.bin'.
Loading system file `/usr/local/share/vice/C64/chargen-901225-01.bin'.
Palette: Loading palette `/usr/local/share/vice/PRINTER/mps803.vpl'.
Loading system file `/usr/local/share/vice/PRINTER/nl10.bin'.
Palette: Loading palette `/usr/local/share/vice/PRINTER/nl10.vpl'.
NL10: Printer driver initialized.
Palette: Loading palette `/usr/local/share/vice/PRINTER/1520.vpl'.
Loading system file `/usr/local/share/vice/DRIVES/dos1540-325302+3-01.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1541-325302-01+901229-05.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1541ii-251968-03.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1570-315090-01.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1571-310654-05.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1581-318045-02.bin'.
DriveROM: Error - 2000 ROM image not found. Hardware-level 2000 emulation is not available.
DriveROM: Error - 4000 ROM image not found. Hardware-level 4000 emulation is not available.
Loading system file `/home/rick/Sync/Computers/Commodore/Roms/System/cmd_hd_bootrom_v280.bin'.
Warning - ROM `/home/rick/Sync/Computers/Commodore/Roms/System/cmd_hd_bootrom_v280.bin': long file (32768), discarding end (16384 bytes).
Loading system file `/usr/local/share/vice/DRIVES/dos2031-901484-03+05.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos2040-901468-06+07.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos3040-901468-11-13.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos4040-901468-14-16.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1001-901887+8-01.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos9000-300516+7-revC.bin'.
Drive: Finished loading ROM images.
VIC-II: Initializing chip model "MOS6567R8" (65 cycles per line, 263 raster lines).
Sound: Available sound devices: pulse alsa sdl dummy fs dump wav voc iff aiff soundmovie
SDLJoystick: No joysticks found
Hotkeys: Initializing hotkeys.
Hotkeys: parsing default file '/usr/local/share/vice/hotkeys/hotkeys.vhk' for machine C64
Hotkeys: OK.
Loading keymap `/usr/local/share/vice/C64/sdl_pos.vkm'.
SDLVideo: Available backends: opengl opengles2 software
SDLVideo: VSync is enabled.
SDLVideo: SDL2 backend driver selected: opengl
SDLVideo: VICII (active) 768x494 32bpp
Main CPU: starting at ($FFFC).
Main CPU: RESET.
Filesystem Image Probe: Error - Import GCR: Invalid number of tracks (0).
Error - no CRT header found.
Sound: Opened device `pulse', speed 48000Hz, fragment size 2.67ms, buffer size 32.00ms
reSID: MOS6581, filter on, sampling rate 48000Hz - resampling, pass to 21600Hz
Sync reset
Unit 8: RESET.
rs232_is_physical_device device:2 devfile:127.0.0.1:25233
rs232_is_physical_device: no (network)

Here is the same tcpser output when I try to do it in VICE 3.9:

2024-12-29 10:46:55:123305851627328:INFO:Server socket bound to port
2024-12-29 10:46:55:123305851627328:INFO:Server socket listening for connections
2024-12-29 10:46:55:123305851627328:INFO:Creating modem #0
2024-12-29 10:46:55:123305851623104:INFO:Opening ip232 device
2024-12-29 10:46:55:123305851623104:INFO:Server socket bound to port
2024-12-29 10:46:55:123305851623104:INFO:Server socket listening for connections
2024-12-29 10:46:55:123305851623104:INFO:ip232 device configured
2024-12-29 10:46:55:123305851623104:INFO:Control Lines: DSR:1 DCD:0 CTS:1
2024-12-29 10:49:46:123305843230400:INFO:Connection accepted from 127.0.0.1
2024-12-29 10:49:46:123305759602368:INFO:Link has come up
2024-12-29 10:49:46:123305759602368:INFO:DTR has gone high

At this point, nothing happens in CCGMS. Normally (using 3.8) I can type in AT commands and see what I'm doing, but nothing happens in 3.9 at all. It's like the ACIA RS232 isn't talking to tcpser at all.

Here is my x64sc (3.9) for the session:

Keymap: Setting up default keyboard mapping for host type 0 ()
Keymap: Default positional map is: sdl_pos.vkm
Keymap: Default symbolic map is: sdl_sym.vkm

Setting resources to default...
Main CPU: Initializing chip model "MOS8565" (63 cycles per line, 312 raster lines).
Main CPU: VSP Bug: safe channels are: 1567. Emulation of memory corruption is disabled.
Loading system file `/usr/local/share/vice/PRINTER/mps803-D7811G-111-U32053A.bin'.

Reading configuration file `/home/rick/.config/vice/sdl-vicerc'.
Main CPU: Initializing chip model "MOS6567R8" (65 cycles per line, 263 raster lines).

*** VICE Version 3.9 ***

Welcome to x64sc, the free portable C64 Emulator.

Current VICE team members:
Pottendo, Marco van den Heuvel, Fabrizio Gennari, Groepaz, Errol Smith,
Ingo Korb, Olaf Seibert, Marcus Sutton, Kajtar Zsolt, AreaScout, Bas Wassink,
Michael C. Martin, Christopher Phillips, David Hogan, Empathic Qubit,
Roberto Muscedere, June Tate-Gans, Pablo Roldan.

This is free software with ABSOLUTELY NO WARRANTY.
See the "About VICE" command for more info.

Main: random seed was: 0x67716f5a
Main: command line was: x64sc -8 CMD-HD.dhd
Main: VICE system file directory: '/usr/local/share/vice'.
Main: VICE system file search path: '/home/rick/.local/share/vice:/usr/local/bin:/usr/local/share/vice'.
Loading system file `/usr/local/share/vice/C64/kernal-901227-03.bin'.
C64MEM: Kernal rev #3 ($03) Sum: 50954 ($C70A) SHA1: 1d503e56df85a62fee696e7618dc5b4e781df1bb.
Loading system file `/usr/local/share/vice/C64/basic-901226-01.bin'.
Loading system file `/usr/local/share/vice/C64/chargen-901225-01.bin'.
Palette: Loading palette `/usr/local/share/vice/PRINTER/mps803.vpl'.
Loading system file `/usr/local/share/vice/PRINTER/nl10.bin'.
Palette: Loading palette `/usr/local/share/vice/PRINTER/nl10.vpl'.
NL10: Printer driver initialized.
Palette: Loading palette `/usr/local/share/vice/PRINTER/1520.vpl'.
Loading system file `/usr/local/share/vice/DRIVES/dos1540-325302+3-01.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1541-325302-01+901229-05.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1541ii-251968-03.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1570-315090-01.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1571-310654-05.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1581-318045-02.bin'.
DriveROM: Error - 2000 ROM image not found. Hardware-level 2000 emulation is not available.
DriveROM: Error - 4000 ROM image not found. Hardware-level 4000 emulation is not available.
Loading system file `/home/rick/Sync/Computers/Commodore/Roms/System/cmd_hd_bootrom_v280.bin'.
Warning - ROM `/home/rick/Sync/Computers/Commodore/Roms/System/cmd_hd_bootrom_v280.bin': long file (32768), discarding end (16384 bytes).
Loading system file `/usr/local/share/vice/DRIVES/dos2031-901484-03+05.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos2040-901468-06+07.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos3040-901468-11-13.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos4040-901468-14-16.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos1001-901887+8-01.bin'.
Loading system file `/usr/local/share/vice/DRIVES/dos9000-300516+7-revC.bin'.
Drive: Finished loading ROM images.
VIC-II: Initializing chip model "MOS6567R8" (65 cycles per line, 263 raster lines).
Sound: Available sound devices: pulse alsa sdl dummy fs dump wav voc iff aiff soundmovie
SDLJoystick: No joysticks found
Hotkeys: Initializing hotkeys.
Hotkeys: parsing default file '/usr/local/share/vice/hotkeys/hotkeys.vhk' for machine C64
Hotkeys: OK.
Keymap: Loading keymap `/usr/local/share/vice/C64/sdl_pos.vkm'.
SDLVideo: Available backends: opengl opengles2 software
SDLVideo: VSync is enabled.
SDLVideo: SDL2 backend driver selected: opengl
SDLVideo: VICII (active) 768x494 32bpp

Main CPU: starting at ($FFFC).
Main CPU: RESET.
VIC-II: VSP Bug: safe channels are: 014. Emulation of memory corruption is disabled.
Filesystem Image Probe: Error - Import GCR: Invalid number of tracks (0).
Error - no CRT header found.
Sound: Opened device `pulse', speed 48000Hz, fragment size 2.67ms, buffer size 32.00ms
Sound: reSID: MOS6581, filter on, sampling rate 48000Hz - resampling, pass to 21600Hz
VSync: Sync reset
Unit 8: RESET.

I'm not really sure if there's some other logging I can provide (working vs. non-working) but if so, I'd love some guidance on how to capture that.

Thank you!

Rick

Discussion

  • Al DeRosa

    Al DeRosa - 2024-12-30

    I know this is going to sound strange, but I too had an issue with ACIA on my Centipede BBS this weekend. Since you assemble from source, try assembling r45401 and if it works, try updating it to 45402 and if it doesn't work the fix that was implemented in 45402 for the user port is what is causing the issue.. I went back to 45401 and everything works again.

     
    👍
    1
  • Querino

    Querino - 2024-12-30

    i'm absolutely no expert in this field, but to me it seems to be working under windows 11.

    my batch file:

    start tcpser -v 25233 -s 1200 -l 4 -p 6510 -i "e1"
    start x64sc -default -acia1 -rsdev3 "127.0.0.1:25233" -rsdev4 "127.0.0.1:25233" -myaciadev "2" "ccgms ultimate.d64"
    

    2024-12-30 20:03:37:536969680:INFO:Server socket bound to port
    2024-12-30 20:03:37:536969680:INFO:Server socket listening for connections
    2024-12-30 20:03:37:536969680:INFO:Creating modem #0
    2024-12-30 20:03:37:537203384:INFO:Opening ip232 device
    2024-12-30 20:03:37:537203384:INFO:Server socket bound to port
    2024-12-30 20:03:37:537203384:INFO:Server socket listening for connections
    2024-12-30 20:03:37:537203384:INFO:ip232 device configured
    2024-12-30 20:03:37:537203384:INFO:Control Lines: DSR:1 DCD:0 CTS:1 RI:0
    2024-12-30 20:04:17:537269728:INFO:Connection accepted from 127.0.0.1
    2024-12-30 20:04:17:537269968:INFO:Link has come up
    2024-12-30 20:04:32:537203384:INFO:No ip232 socket data read, assume closed peer
    2024-12-30 20:04:32:537269968:INFO:Link has gone down


    the fix that was implemented in 45402 for the user port is what is causing the issue

    this fix affects only the wic64

    //edit: pic attached.

     

    Last edit: Querino 2024-12-30
  • Rick T137

    Rick T137 - 2025-01-01

    I can confirm the bug does not happen with r45401. But r45402 and onward, the ACIA RS232 connection no longer works with tcpser. I even tried the latest build that I could find (r45443) and it still did not work.

    This was in Arch Linux (latest update) using the Make instructions included in the documentation.

    I will revert to version 3.8 for now, I guess. Thanks!

     

    Last edit: Rick T137 2025-01-01
  • gpz

    gpz - 2025-01-02

    Please try resetting the settings - reusing the old config file is not supported

    Also please give a full log - ie including shutdown (that will show is the exact options/config)

     

    Last edit: gpz 2025-01-02
  • Rick T137

    Rick T137 - 2025-01-02

    Okay, I tried with a new config setup - same problem.

    Please see attached log file for full logging. Please let me know if there's anything else I can do to help. Thank you!

     
  • Durandal

    Durandal - 2025-01-04

    With r45431 is working for me, with retroterm, ccgms 2021 and Novaterm 9,6.
    Using tcpser 1.1.6beta. Under Ubuntu.
    Does this happens every time?
    Do you run tcpser before x64?

    There's a similar problem I sometimes have but with the userport RS232 emulation. It has to do with the DSR line pulsing during reset. That sets tcpser on a intermediate state, were it sees the DSR coming up, but doesnt accepts data coming from x64. The only way out of that state is closing both tcpser and x64 and start again.

     
  • Rick T137

    Rick T137 - 2025-01-05

    Yes, it happens every time. SDL2 or GTK3. And yes, I run tcpser before I run x64sc.

    What are your settings? Maybe there's something different.

    Thanks!

     
  • Durandal

    Durandal - 2025-01-06

    My tcpser options:

    -p 6502 -v 25232 -S 57600 -l 4 -i"s5=20"
    

    Vice is set to ACIA enabled - $de00 - NMI - Turbo232 - Serial 3

    Serial3: 127.0.0.1:25232 - IP232 enabled

     

    Last edit: Durandal 2025-01-07
    • Rick T137

      Rick T137 - 2025-01-13

      Okay, you're settings worked for me under Arch running build r45462 and using tcpser 1.1.4 along with your settings. So I must have something wrong with my settings. I think my issue is resolved (RTFM). Thank you!

       
  • Rick T137

    Rick T137 - 2025-01-06

    Awesome! Thanks - I'll give those settings a try and see if it makes a difference.

     
  • Rick T137

    Rick T137 - 2025-01-14

    Okay, for sure this issue was on my end. @durandal78's settings caused me to try again with a fresh copy of CCGMS 2021 and it worked fine. It turns out there was some kind of bug with my settings in CCMS 2021 on my CMD drive. All I did was cycled through the Modem Types again in CCGMS until I got back to Swiftlink/Turbo232 DE and then it worked fine. Sorry for wasting people's time, and thank you so much for all the help I did get. I am now running the production release of VICE 3.9 and it's working fine in my Arch installation. THANK YOU!

     
  • Durandal

    Durandal - 2025-01-14

    Ah, I've had that happen to me in CCGMS, but is so rare that's no something you think of checking.

     
  • gpz

    gpz - 2025-04-13

    so this can be closed?

     
  • gpz

    gpz - 2025-11-20
    • status: open --> open-need-info
    • assigned_to: Durandal
    • Port: GTK3 -->
    • Category: x64sc --> RS232
     
  • Durandal

    Durandal - 2025-11-22
    • status: open-need-info --> closed
     

Log in to post a comment.

MongoDB Logo MongoDB