Post Reply 
HP41C with Rp Pico attached
09-06-2023, 02:51 PM
Post: #37
RE: HP41C with Rp Pico attached
Hello all,

Just published a first working base version of my HP41 RP2040 interface. Purpose is to use this as an example for others to build further code (like display mirroring, detailed bus analyzer, full bankswitching MLDL, HEPAX). This version only acts as a simple HP41 Bus Tracer, that dumps all HP41 cycles to the console. Code at https://github.com/mjakuipers/RP2040-projects

Main features:
- offloads the ARM processors by using the pio for HP41 interfacing
- one ROM page (ML ROM) fixed in Page A
- one (empty) QRAM page fixed in page B with basic MLDL functionality
- decodes and executes the WROM (0x040) instruction in page B
- 3 pio state machines running (sync/isa input, data input and isa output)
- core1 executes the time critical bus interfacing, but very relaxed as the real work is done by the pio
- core0 executes the display (to the USB console)
- there is no user interface
- my hardware setup is the standard PICO board with the PicoProbe
- I use my MLDL2000 interface hardware (I had a spare) for the levelshifters
- my development setup is VS Code under Windows

Further implementation is not for the faint of heart, Please understand:
- only (commented) sources are provided. Please verify the pinout of your setup
- if you change pins, some signals MUST be adjacent (ISA+SYNC, D0_TIME+SYNC_TIME)
- get some basic understanding of the RP2040 pio, interrupts and the development tools for the RP2040
- Hardware connections are identical to Andrews setup, with 3 additional signals used for state machine sync and debug (with a logic analyzer)
- you MUST use the proper level shifters when connection the RP2040 to the HP41 to prevent frying the RP2040 with the HP41 6V signals
- the sources can be used to further develop your application
- in some cases, especially the very first launch, the program may be out of sync with the HP41
- HP41 cycle numbering in the sources start at the end of SYNC, and not at data bit D0
- I am not really a C programmer, some code will look clumsy
- tested with HP41CX and HP41CL
- the trace buffer may overflow, this can be detected by looking at the cycle counter. This will not impact the functionality. The buffer size can be adjusted if you have enough memory

Obviously, there is no warranty as this is still very much a project in progress.

Things to do for the pio implementation:
- testing of the ISA carry output (it is implemented)
- implementation of data output pio state machine
- implementation of FI output pio state machine
- improve the pio coding, I already know some improvements but my first focus is functionality
With the above I think that any existing HP41 peripheral can be emulated. My ultimate goal is to create full emulation of the HP-IL module.

All feedback is welcome of course.

This project is heavily inspired by the work of blackjetrock (Andrew, who started this thread), thanks Andrew!

Regards, Meindert
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
HP41C with Rp Pico attached - blackjetrock - 05-31-2023, 06:27 AM
RE: HP41C with Rp Pico attached - ThomasF - 05-31-2023, 08:01 AM
RE: HP41C with Rp Pico attached - ThomasF - 06-01-2023, 05:53 AM
RE: HP41C with Rp Pico attached - ThomasF - 06-01-2023, 02:22 PM
RE: HP41C with Rp Pico attached - ThomasF - 06-22-2023, 11:31 AM
RE: HP41C with Rp Pico attached - ThomasF - 06-22-2023, 01:10 PM
RE: HP41C with Rp Pico attached - ThomasF - 06-22-2023, 08:13 PM
RE: HP41C with Rp Pico attached - ThomasF - 07-06-2023, 05:00 PM
RE: HP41C with Rp Pico attached - ThomasF - 07-06-2023, 06:41 PM
RE: HP41C with Rp Pico attached - LEDfan - 07-08-2023, 07:57 PM
RE: HP41C with Rp Pico attached - ThomasF - 07-13-2023, 07:16 AM
RE: HP41C with Rp Pico attached - ThomasF - 07-13-2023, 11:19 AM
RE: HP41C with Rp Pico attached - ThomasF - 07-25-2023, 03:07 PM
RE: HP41C with Rp Pico attached - ThomasF - 07-25-2023, 03:18 PM
RE: HP41C with Rp Pico attached - ThomasF - 07-26-2023, 11:45 AM
RE: HP41C with Rp Pico attached - MeindertKuipers - 09-06-2023 02:51 PM
RE: HP41C with Rp Pico attached - ThomasF - 09-07-2023, 06:20 AM
RE: HP41C with Rp Pico attached - ThomasF - 09-07-2023, 01:48 PM
RE: HP41C with Rp Pico attached - ThomasF - 09-08-2023, 06:27 AM
RE: HP41C with Rp Pico attached - Tinue - 12-02-2023, 10:25 AM
RE: HP41C with Rp Pico attached - Tinue - 12-02-2023, 11:26 AM
RE: HP41C with Rp Pico attached - Tinue - 12-02-2023, 01:15 PM
RE: HP41C with Rp Pico attached - brouhaha - 12-02-2023, 05:25 PM
RE: HP41C with Rp Pico attached - ThomasF - 12-05-2023, 03:05 PM
RE: HP41C with Rp Pico attached - PeterP - 02-22-2024, 09:23 PM
RE: HP41C with Rp Pico attached - floppy - 03-15-2024, 11:16 AM



User(s) browsing this thread: 1 Guest(s)