Post Reply 
HP97 The journey begins
12-07-2021, 10:14 PM
Post: #541
RE: HP97 The journey begins
The 95C microcode would be much more interesting, so we could emulate it on another Topcat.
;)

Greetings,
    Massimo

-+×÷ ↔ left is right and right is wrong
Visit this user's website Find all posts by this user
Quote this message in a reply
12-08-2021, 01:34 AM (This post was last modified: 12-08-2021 01:36 AM by teenix.)
Post: #542
RE: HP97 The journey begins
(12-07-2021 10:14 PM)Massimo Gnerucci Wrote:  The 95C microcode would be much more interesting, so we could emulate it on another Topcat.
Wink

I don't think the 95C microcode is available.

The 97 has some spare continuous memory available, so I was toying with the idea of using it to give the 97 similar programming capacity of the 95C which would give it 4 times the program and RAM memory.

I was thinking of a simple concept (yeah right - ha ha) whereby the user could switch between 4 memory banks using keys presses like I have for notes printing, ie [f][f][C] would switch program banks depending on what was in register C at the time.

Example - If reg C = 2, press [f][f][C], PGM bank 2 becomes active. From the 97's point of view, it is just normal memory and it will execute everything as normal. [f][f][C] is stored as a single program step.

You could also have [f][f][D] and C register index to select RAM storage banks.

From a coding point of view, the bank swapping is just changing a memory pointer to a base address, however swapping banks in this way means jumping to the current program counter + 1 which would be problematic, as for early Classic microcode jumps.

Things like GTO GSB can be limited to current bank, or if global becomes more complex. I think the 95C allowed access between the 4 programs.

Card storage would be up to 8 cards for program and data, but I would think to save the poor old card reader that these types of programs would be stored/recalled with internal memory and auto load the entire program or data file.

As mentioned, sounds simple but.....

Just thoughts :-)

cheers

Tony
Find all posts by this user
Quote this message in a reply
12-08-2021, 07:06 AM
Post: #543
RE: HP97 The journey begins
(12-08-2021 01:34 AM)teenix Wrote:  
(12-07-2021 10:14 PM)Massimo Gnerucci Wrote:  The 95C microcode would be much more interesting, so we could emulate it on another Topcat.
;)

I don't think the 95C microcode is available.
I know, I know, but your genius can extract it from a single picture, can't it? :)

(12-08-2021 01:34 AM)teenix Wrote:  The 97 has some spare continuous memory available, so I was toying with the idea of using it to give the 97 similar programming capacity of the 95C which would give it 4 times the program and RAM memory.
(...)
As mentioned, sounds simple but.....

Just thoughts :-)

salivating...

Greetings,
    Massimo

-+×÷ ↔ left is right and right is wrong
Visit this user's website Find all posts by this user
Quote this message in a reply
12-18-2021, 03:52 AM (This post was last modified: 12-18-2021 04:54 AM by teenix.)
Post: #544
RE: HP97 The journey begins
Hi all,

Still making some progress.

I was fiddling with extending the memory size four-fold and include it in the Continuous Memory. This seems possible although a little fiddly. While playing around, the code that prints messages ended up being too complex when coupled to the extra memory size, so I had to strip it all out of the code, pour over the operation of the 97 Microcode and then rewrite my code in a much simplified way. This part of it now appears to work on the 97 emulator and the 97 CPU board.

The hard part is keeping the microcode original, but it has the advantage of using that code to do it's normal routines for running programs, display formatting, error capture etc. That way I don't have to be concerned with it.

I have created the extra memory space which will give 4 banks of 224 step program memory, and 4 separate banks of the HP RAM.

So far I can swap RAM/PGM banks from the keyboard or from a running program.

For example, I can have a program running from Bank 0 and it executes a "GTO Bank 1" instruction. As per the 95C manual, this causes the program counter to reset and start executing the program in Bank 1.

The program in Bank 1 has a "GT0 Bank 2 LBL 0" instruction. From here the program swaps to Bank 2 and the HP Microcode starts searching for LBL 0 from the top of the program. When found, execution starts from there, else the program stops as normal with Error displayed.

At LBL 0, the RAM bank is swapped to Bank 2 and all those registers can now be accessed as normal.

As far as the 97 is concerned, nothing has changed and it is just operating as normal.

The next part to do is more complex. This is the normal "GSB LBL X" instruction. As per the 95C, this will execute a subroutine at LBL X in the same bank. Inside the subroutine, you can jump to another program bank and a "RTN" from that bank, or end of program, will cause a bank swap to the bank that had the matching GSB instruction. This can get complex due to allowing up to 2 more nested GSBs.

Storing and recalling these larger programs and the WDATA and MERGE functions without having to use up to 8 cards still requires some thought and is yet to be implemented. The programs can be stored on cards though, even with the extra program codes. If these cards are loaded into a real HP97, these program codes will be ignored.

cheers

Tony
Find all posts by this user
Quote this message in a reply
12-21-2021, 10:47 AM (This post was last modified: 12-21-2021 11:16 AM by teenix.)
Post: #545
RE: HP97 The journey begins
Hi all,

After playing around with the PGM/RAM banking it is a bit clutzy to use.

The functioning of this is quite complex as my software has to interact with the original HP code and make minor changes to the data as the HP code does its normal processing. Even though it "appears" to work, the HP code is written in a way that preserves the precious ROM space and some code parts are shared with different routines. Some code also jumps into mid points to subroutines as well. This means that tracing the code as it operates can be tricky and as my code relies on things happening in certain sequences, something may happen that only appears that the sequence was working as expected.

Anyway, the long and short of it is that this will take some time to get going properly without modifying the HP code which I don't want to do. There are lots of other modifications required for the memory storage and PC software to cater for the different program/RAM sizes as well.

This will happen eventually, but for now the HP-97 seems to be functional although I'm sure some bug will surface when someone else uses it. I get too close sometimes and can't see the weather through the weather. The boards can be re-flashed so new software shouldn't be a problem.

I have written the 97 code in such a way that re-flashing can take as little as a second depending on what the uploader has to do. This should help to minimize re-flash errors. To help protect the print heads if re-flashing fails and the software goes crazy, the chip will revert to a special boot mode in protected code space, and the only thing it can do is wait for another re-flash.

Some extras that were added are battery-less Continuous Memory, Message printing, time/date printing, battery backed clock with alarm, 97S mode, text displayed program key codes, program storage for over 800 cards, Bluetooth and USB connectivity, re-flash via USB, quick disconnect printer ribbon, original battery charger and protection circuit, and HP 82240 IR interface. Installation is direct plug in replacement, however, the two wires for the charge socket need to be unsoldered and then soldered to the new board. If external charging is preferred, then this can be omitted. You could also discard the battery and run an external 5V 3A plug pak to power the unit if required. All other wiring for the printer and paper advance switch are connected from the top of the board and are easy to plug in.

I have a few PIC chips, other parts and circuit boards available to build just a few boards.

If anyone wants one then please PM or email me. I'll leave them for a day or so, and if I there are more queries than I have parts available for, I will "spin the bottle" at the names and the first that pop out can have first go with the ones that I have.
.
cheers

Tony
Find all posts by this user
Quote this message in a reply
12-30-2021, 03:24 AM (This post was last modified: 12-30-2021 03:24 AM by teenix.)
Post: #546
RE: HP97 The journey begins
Hi all,

I just finished 4 days of 97 CPU board assembly. I could only make 4, I had hoped for 5, but one of the PICs was delivered in a sorry state with the pins bent. I carefully straightened them all awhile back but just before soldering it to the board I noticed a pin that I thought I'd missed. When I went to straighten it, it was loose and broke clean off at the plastic casing. An old Aussie saying when things go wrong - "bugger". There's no hope of fixing this, so a new unobtainium processor lives in the parts bin. Maybe one day I'll have a project for it that doesn't use that pin.

I programmed all boards and a test LED was flashing as it was supposed to do and after a couple of seconds, the buzzer sounded 3 times telling me that the printer has not homed at switch on when it was supposed to. Seeing how it isn't connected yet, that too is a good sign.

More testing and then should be off to the new owners soon.

cheers

Tony
Find all posts by this user
Quote this message in a reply
12-30-2021, 07:48 AM
Post: #547
RE: HP97 The journey begins
Thanks for the update Tony.

Waitin'... ;)

Greetings,
    Massimo

-+×÷ ↔ left is right and right is wrong
Visit this user's website Find all posts by this user
Quote this message in a reply
02-07-2022, 07:26 PM
Post: #548
RE: HP97 The journey begins
It arrived today yeah!!! Board looks and works great.

I installed it with little trouble, one thing I needed to figure out was the card reader connector since the one installed on the board has 14 contacts and the cable only has 13. I did have some trouble reading cards, but I think that is the fault of my card reader. Now if I could figure out some of these fancy new features....

Paul.
Find all posts by this user
Quote this message in a reply
02-07-2022, 09:16 PM
Post: #549
RE: HP97 The journey begins
I got my 97C board a couple weeks ago, and have been busy playing with it ever since. The manual in the CalCom folder answered many of my questions, including the one about the card reader cable. Teenix has been super helpful chasing down various issues. Be sure to get an USB/FTDI connector and reflash your board with the latest software, currently v. 9.

This board, along with my HP67C, allows me to transfer single programs, or blocks of programs, to and from the abundant memory on both boards to PC disk using the Bluetooth connection. Programs, or blocks of programs, on the PC disk can then be sent to another calculator. Simply put: 67C to computer to 97C. If we, as a community, load, save to local memory and then save to disk, all the HP original program packs, we can easily share them with each other. Programs can also be edited in Teenix's CCE33 emulator program. I'm working on a cheatsheet for using and integrating the various portions of this ecosystem.

My thanks to Teenix for all his work!
Visit this user's website Find all posts by this user
Quote this message in a reply
02-08-2022, 02:03 AM
Post: #550
RE: HP97 The journey begins
Has anyone considered having a run of card reader cables made?

I've looked into getting a run of flexible PCBs made with stiffeners at both ends, and they seem quite affordable. It looks like a run 10 would be around $11/ea. and 20 would $7/ea.

Let me know if you're interested in one (or more) and I get make up the design files and send them here for feedback. I'll also provide the gerbers and drawings if you want to make your own run (I'm not on this to make a profit, lol)...
Find all posts by this user
Quote this message in a reply
02-08-2022, 01:46 PM
Post: #551
RE: HP97 The journey begins
Hi:

Not sure if you want a PM or not, but I would be in for 2 or 3 cables. I'm in the US.
Thanks for your efforts!

TomC
Find all posts by this user
Quote this message in a reply
02-08-2022, 02:35 PM
Post: #552
RE: HP97 The journey begins
I made a patch cable a few years ago. It was a kludge, but it worked. I've also re-glued the separated conductors to the plastic on the original cable. This worked, too. Used just a micro drop of cyanoacrylate glue.


   
Visit this user's website Find all posts by this user
Quote this message in a reply
02-08-2022, 03:31 PM
Post: #553
RE: HP97 The journey begins
(02-08-2022 01:46 PM)TomC Wrote:  Hi:

Not sure if you want a PM or not, but I would be in for 2 or 3 cables. I'm in the US.
Thanks for your efforts!

TomC

Being in the open is better for now. I'll want 2, and with your 2-3, that's 4-5. If another 5-6 are wanted I can go ahead and make the order.
Find all posts by this user
Quote this message in a reply
02-08-2022, 10:21 PM
Post: #554
RE: HP97 The journey begins
(02-08-2022 02:03 AM)hpux735 Wrote:  Let me know if you're interested in one (or more) and I get make up the design files and send them here for feedback.

I'm in for two.
Find all posts by this user
Quote this message in a reply
02-15-2022, 03:06 AM
Post: #555
RE: HP97 The journey begins
Hi all,

I've managed to get the HP-97 executing the 67's -x- function when Print X is pressed, either in Run Mode or from a program step.

I haven't done Print Stack or Print Regs yet as it has been a chore just doing the -x-. The HP-97 microcode is complex and working along side it is somewhat hard.

The functions are enabled/disabled by the key code combination [f] [f] [c]
It is enabled when the C register = 1
It is disabled when the C register = 0

The new code will show up as 16 16 13 in program mode or when SST is held down, or if PGM as Text is enabled it will show as "Prin67"

This new program step will save to a card and will execute in a program. It will be ignored in an original HP-97.

I'll get to the others as time permits.

cheers

Tony
Find all posts by this user
Quote this message in a reply
02-21-2022, 05:02 PM
Post: #556
RE: HP97 The journey begins
Hello, Tony

I think I am the last one who received the first batch HP97 board.

Here is the picture in the attached picture which show the HP97S show date.

But 2022.0222 should be Tuesday not the Wednesday. I don't know whether it is a bug.








   

HP35 HP45 HP55 HP65 HP67 HP21 HP25 HP29C HP19C HP97 HP10C HP11C HP12C HP15C HP16C HP31E HP32E HP33E HP33C HP34C HP37E HP38E HP38C HP41
Find all posts by this user
Quote this message in a reply
02-21-2022, 05:59 PM
Post: #557
RE: HP97 The journey begins
(02-21-2022 05:02 PM)tangdfx Wrote:  Hello, Tony

I think I am the last one who received the first batch HP97 board.

Here is the picture in the attached picture which show the HP97S show date.

But 2022.0222 should be Tuesday not the Wednesday. I don't know whether it is a bug.

Yes, probably you are the last one who received it...
Still waiting for mine, luckily it seems that, after waiting 25 days who-knows-where once landed here, it passed customs checks last friday!

:(

Greetings,
    Massimo

-+×÷ ↔ left is right and right is wrong
Visit this user's website Find all posts by this user
Quote this message in a reply
02-21-2022, 11:10 PM
Post: #558
RE: HP97 The journey begins
Get your FTDI connector out and update the Software using the CalCom program. Tony has fixed a number of issues. Current version is 12.
Visit this user's website Find all posts by this user
Quote this message in a reply
02-21-2022, 11:39 PM (This post was last modified: 02-21-2022 11:48 PM by teenix.)
Post: #559
RE: HP97 The journey begins
1 = Sunday
2 = Monday
3 = Tuesday
etc
7 = Saturday

I noticed I had 0 = Sunday in the help file, so I can change it so that 0 = Sunday if that is what everyone expects.

cheers

Tony
Find all posts by this user
Quote this message in a reply
02-21-2022, 11:40 PM
Post: #560
RE: HP97 The journey begins
(02-21-2022 11:10 PM)Dreato Wrote:  Get your FTDI connector out and update the Software using the CalCom program. Tony has fixed a number of issues. Current version is 12.

Yes,my revision is 12.

HP35 HP45 HP55 HP65 HP67 HP21 HP25 HP29C HP19C HP97 HP10C HP11C HP12C HP15C HP16C HP31E HP32E HP33E HP33C HP34C HP37E HP38E HP38C HP41
Find all posts by this user
Quote this message in a reply
Post Reply 




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