Tulip4041 testing has finally started on my side ... Yeah!
Startup was a little rocky at first but now everything seems to works.
The Raspberry Pi Pico (RPP) USB virtual serial ports is seen as ttyACM instead of ttyUSB on the Raspberry PI 4B.
I am able to connect on the multiple serial terminals with minicom but pyilper only uses ttyUSB devices and ignore the ttyACM ones.
Fortunately it works if I manually change pyilper configuration file and set it to "/dev/ttyACM2".
I just posted a request to Joachim to add the ttyACM devices to his PIL-Box serial interface configuration dialog.
USB virtual serial ports roles are ...
Code:
/dev/ttyACM0 → CDC port 0: console, user interface
/dev/ttyACM1 → CDC port 1: trace listing
/dev/ttyACM2 → CDC port 2: HP-IL/ PILBox frames
/dev/ttyACM3 → CDC port 3: HP-IL scope, PILBox frame monitor
/dev/ttyACM4 → CDC port 4: printer bytes
1) with minicom, I connect to the main console (/dev/ttyACM0) and control the Tulip4041 features through its commands.
Code:
* help
Print list of commands
* system
TULIP4041 system status and control
[no argument] shows system status
status shows system status
pio shows pio status
cdc shows status of CDC interfaces
cdcident identify all CDC interfaces
REBOOT restart the TULIP4041 system
BOOTSEL restarts the TULIP4041 into BOOTSEL mode for firmware update
poweron drive ISA for 20 usecs to switch HP41 on
calcreset drive PWO to reset HP41
* clear
Clears the console
* blink
blink [b], blink the LED b times, just for testing and fun
* dir
dir [subdir], shows uSD card directory
* sdcard
SD card functions
[no argument] shows the SD card status and mounts the card
status shows the SD card status and mounts the card
mount mounts the SD card
unmount unmounts the SD card
mounted check if the drive is mounted
connect connect the SD card as USB drive to the host computer
eject disconnect the SD card as USB drive from the host computer
* plug
plug functions
[no argument] shows the current plugged ROMs
status shows the current plugged ROMs
hpil plug the HP-IL module in Page 7
ilprinter plug the HP-IL Printer in Page 6 (unplug HP82143A printer)
printer plug the HP82143A printer in Page 6 (unplug HP-IL printer)
* unplug
plug functions
[no argument] shows the current plugged ROMs
status shows the current plugged ROMs
hpil unplug the HP-IL module from Page 7, unplug the HP-IL Printer
ilprinter unplug the HP-IL Printer from Page 6
printer unplug the HP82143A printer from Page 6
* printer
printer functions for the HP82143
[no argument] shows the HP82143A status
status shows the HP82143A status
power toggle power
trace enable trace mode
norm enable norm mode
man enable man mode
paper toggle Out Of Paper status
print push PRINT button
adv push ADV button
* xmem
Extended memory functions
status shows the Extended Memory status
dump creates a dump of Extended Memory
pattern programs a pattern for FRAM test
ERASE earse all Extended Memory
[n] n= 0, 1, 2
plugs 0, 1 or 2 Extended Memory Modules
do not use in combination with physical Extended Memory modules
this software version does NOT have the Extended Function ROM built in
Extended Functions must be physically plugged or available in an HP41CX
* tracer
tracer functions
[no argument] shows the tracer status
status shows the tracer status
trace toggle tracer enable/disable
sysloop toggle tracing of system loops (RSTKB, RST05, BLINK01 and debounce)
sysrom toggle system rom tracing (Page 0, 1, 2, 3, 5)
ilrom toggle tracing of Page 6+7
hpil toggle HP-IL tracing to ILSCOPE USB port
pilbox toggle PILBox serial tracing to ILSCOPE serial port
ilregs toggle tracing of HP-IL registers
save save tracer settings
2) with minicom, I see trace listings (/dev/ttyACM1) activated by the main console
Code:
119940 E119 1 087 0.0000000DC4.0.00 ... R000 C0 FI0123456789ABCD JC 16
119941 E129 1 09C 0.0000000DC4.0.00 ... R000 C0 FI0123456789ABCD R= 5
119942 E12A 1 310 0.0000000DC4.0.00 ... R000 C0 FI0123456789ABCD LD@R C
119943 E12B 1 390 0.0000000DC4.0.00 ... R000 C0 FI0123456789ABCD LD@R E
119944 E12C 1 350 0.0000000CC4.0.00 ... R000 C0 FI0123456789ABCD LD@R D
119945 E12D 1 36E 0.0000000CE4.0.00 ... R000 C0 FI0123456789ABCD ?A#C ALL
119946 E12E 1 12F 0.0000000CED.0.00 ... R000 C0 FI0123456789ABCD JC 37
119947 E153 1 28C 0.0000000CED.0.00 ... R000 C0 FI0123456789ABCD ?FSET 7
119948 E154 1 1BF 0.0000000CED.0.00 ... R000 C0 FI0123456789ABCD JC 55
119949 E155 1 130 0.0000000CED.0.00 ... R000 C0 FI0123456789ABCD LDI
119950 E156 0 308 0.0000000CED.0.00 ... R000 C0 FI0123456789ABCD 308
119951 E157 1 236 0.0000000CED.0.00 ... R000 C0 FI0123456789ABCD C=C+1 XS
119952 E158 1 106 0.0000000CED.3.08 ... R000 C0 FI0123456789ABCD A=C S&X
119953 E159 1 3B8 0.0000000CED.4.08 ... R000 C0 FI0123456789ABCD READ 14(d)
119954 E15A 1 3B0 0.000043C048.0.01 ... R000 C0 FI0123456789ABCD C=C AND A
119955 E15B 1 366 0.000043C048.0.01 ... R000 C0 FI0123456789ABCD ?A#C S&X
119956 E15C 1 033 0.0000000000.0.00 ... R000 C0 FI0123456789ABCD JNC +6
119957 E15D 1 3B8 0.0000000000.0.00 ... R000 C0 FI0123456789ABCD READ 14(d)
119958 E15E 1 358 0.000043C048.0.01 ... R000 C0 FI0123456789ABCD ST=C
119959 E15F 1 0B0 0.000043C048.0.01 ... R000 C0 FI0123456789ABCD C=N
3) with pyilper connected to /dev/ttyACM2, I see all the HP-IL commands going in and out in the pyilper scope window.
Code:
DAB 10 (010) dab f0 (0f0) DAB F0 (0F0) eto (540) LAD 01 (421) lad 01 (421)
RFC (500) rfc (500) RFC (500) rfc (500) UNL (43F) unl (43f)
RFC (500) rfc (500) RFC (500) rfc (500)
4) with minicom, I see PILBox trace listings (/dev/ttyACM3) activated by the main console (same listing as the scope window but in different format)
Code:
PILBox > 0010 DAB hi: 20 lo: 90
PILBox < 00F0 DAB hi: 22 lo: F0
< 0F0 DAB
> 0F0 DAB
PILBox > 00F0 DAB hi: 22 lo: F0
PILBox < 0540 ETO hi: 34 lo: C0
< 540 ETO
> 421 LAD
PILBox > 0421 LAD hi: 30 lo: A1
PILBox < 0421 LAD hi: 30 lo: A1
< 421 LAD
> 500 RFC
PILBox > 0500 RFC hi: 34 lo: 80
PILBox < 0500 RFC hi: 34 lo: 80
< 500 RFC
> 43F UNL
PILBox > 043F UNL hi: 30 lo: BF
PILBox < 043F UNL hi: 30 lo: BF
< 43F UNL
> 500 RFC
PILBox > 0500 RFC hi: 34 lo: 80
PILBox < 0500 RFC hi: 34 lo: 80
< 500 RFC
5) I have not tried /dev/ttyACM4 yet.
6) CAT 2 → listing done on an HP-41, captured, transformed and sent by Tulip4041 (Raspberry Pi Pico RP2040) to pyilper 82162A printer emulator (Raspberry Pi 4B).
Code:
-TIME 2C
-CX TIME
-PRINTER 2E
-MASS ST 1H
-CTL FNS
-MYROM L1
-MYROM U1
-MYROM L2
-MYROM U2
MELBROM 1A
MEMORY LOST
UST KIDDING
-MAXX 4C
-ZENROM 3B
-PROGRAMMER
-EXT FCN 2D
-CX EXT FCN
I have reported my first small harmless bug to Meindert this morning.
So this is it for now.
Sylvain