Seems my VirtualT socket interface issue was mostly just \r\n line ending issues (though "telnet mode" still not working for some reason).  But there also seems to be some tread dealock issues lurking somewhere because sometimes the LCD gets some junk on it and X prints errors like below, and then VirtualT hangs (most likely on a semaphore wait that's in a deadlock)

X_ChangeGC: BadPixmap (invalid Pixmap parameter) 0x0
X_GetWindowAttributes: BadLength (poly request too large or internal Xlib length error) 0x0 X_GetInputFocus: BadLength (poly request too large or internal Xlib length error) 0x0 X_GetWindowAttributes: BadLength (poly request too large or internal Xlib length error) 0x0


==================================
Example run (this could be turned into an agentic workflow once deadlock is resolved)
==================================

(Launch VirtualT in another Linux terminal)...

ken@andromeda# telnet localhost 2023
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
help
Help
====
  bye
  clear_break(cb) address
  cold_boot
  debug_isr(isr) [on off]
  dis address [lines]
  exit
  flags [all S Z ac P=1 s=0 ...]
  halt
  in port
  key(k) [enter cr f1 esc ctrl+c shift+code+a "Text" ...]
  kill filename
  lcd_ignore(li) [none (row,col)-(row,col)]
  lcd_mon(lm) [on off]
  list_break(lb)
  load filename
  model [m10 m102 t200 pc8201 m10 kc85]
  optrom [unload, filename]
  out port, value
  radix [10 or 16]
  read_mem(rm) address [count]
  read_reg(rr) [all A B h m DE ...]
  read_rex
  reset
  run
  screen_dump(sd)
  set_break(sb) address [main opt mplan ram ram2 ram3 read write]
  speed [2.4 friendly max]
  status
  step(s) [count]
  step_over(so) [count]
  string address
  terminate
  write_mem(wm) address [data data data ...]
  write_reg(wr) [A=xx B=xx hl=xx ...]
  x [lines] (short for "dis pc")
Ok> speed
2.4
Ok> speed max
Ok> speed
max (484.971 Mhz)
Ok> screen_dump
Dec 22,2025 Mon 19:02:21   VirtualT 1.8
 BASIC     TEXT      TELCOM    ADDRSS
 SCHEDL    TRIANG.DO TRIANG.BA MIAM.BA
 ASCPIX.CO -.-       -.-       -.-
 -.-       -.-       -.-       -.-
 -.-       -.-       -.-       -.-
 -.-       -.-       -.-       -.-
Select: _              10670 Bytes free
Ok> key enter
Ok> screen_dump
TRS-80 Model 100 Software
Copr. 1983 Microsoft
10414 Bytes free
Ok




Ok> lcd_mon on
Ok> key "list" enter
event, lcdwrite, (8,1),list
event, lcdwrite, (8,1),10 FOR X=1TO5:PRINTX:NEXT
event, lcdwrite, (8,1),Ok
key "run" enter
event, lcdwrite, (8,1),run
event, lcdwrite, (8,1), 1
event, lcdwrite, (8,1), 2
event, lcdwrite, (8,1), 3
event, lcdwrite, (8,1), 4
Ok> event, lcdwrite, (8,1), 5
event, lcdwrite, (8,1),Ok
Ok> read_reg all
A=1 F=68 B=0 C=0 D=1 E=6 H=117 L=81 M=1 PC=30014 SP=57418
Ok> radix 16
Ok> read_mem 0 32
C3 33 7D 4D 45 4E 55 00 7E E3 BE C2 46 04 23 E3 C3 58 08 EB 2A EB F6 EB 7C 92 C0 7D 93 C9 3E 20
Ok>

Reply via email to