Undocumented card reader function?
|
07-02-2024, 08:09 AM
Post: #1
|
|||
|
|||
Undocumented card reader function?
Hi all,
When examining the ROM code for the 82104 Card Ceader, I have stumbled upon an undocumented instruction (at least I have found no reference to it). The main source for the specific peripheral instructions that I have found is the Programmers Handbook (page 17). But in the Card Reader ROM, and also in the Service ROM they are also using the instruction 0x268 (WRIT 9 aka REGN=C 9). My conclusion is that this instruction checks if the motor is running, and if so sets the interrupt flag: Code: 268 WRIT 9(Q) - set CardReader interrupt flag if the motor is running But, this is only an educated guess - it might be something completely different! Maybe "set flag while hardware is busy" ... ? E.g., see the following part of the code, the comments are added by me (the definitions of the instructions are taken from the Handbook), but the interpretation of REGN=C 9 is mine. Code: EBE0 2E53B0 GSUBNC ECB9 Select CardReader Is there another source for the Card Reader instructions? The Service Manual for the card reader doesn't contain details like this, and I have not seen any documented VASM listings for the ROMs (82104 Card Reader or the Service Module). Does anyone have any more detailed information about the peripherals instructions? Cheers, Thomas [35/45/55/65/67/97/80 21/25/29C 31E/32E/33E|C/34C/38E 41C|CV|CX 71B 10C/11C/12C/15C|CE/16C 32S|SII/42S 28C|S 48GX/49G/50G 35S 41X] |
|||
07-02-2024, 11:19 AM
Post: #2
|
|||
|
|||
RE: Undocumented card reader function?
I got a hint from Mike, that the instruction is mentioned in the Zenrom Manual (p 127).
That manual indicates that the instruction checks if a card is inserted ("Fetch Card IN Flag"). Then the code would be interpreted like this: Code: EBE0 2E53B0 GSUBNC ECB9 Select CardReader That makes a little more sens ... * Wait until a card is inserted with a timeout (EBE5-EBED). * Set card trip flag. * Then wait while card is inserted. Looking at the two lists, there are some differences (e.g. instruction 328 and 368). The Zenrom list looks a little bit more likely and closer to the real thing. Code: Inst| Mnemonic from Zenrom Manual | Programmers Handbook I will try to map the flags to the actual switches and sensors in the reader, maybe it will make more sense. Anyone else who have some more info on these instructions? Cheers, Thomas [35/45/55/65/67/97/80 21/25/29C 31E/32E/33E|C/34C/38E 41C|CV|CX 71B 10C/11C/12C/15C|CE/16C 32S|SII/42S 28C|S 48GX/49G/50G 35S 41X] |
|||
07-03-2024, 03:43 AM
Post: #3
|
|||
|
|||
RE: Undocumented card reader function?
It's very sad that the Card Reader VASM listing, once available from PPC, does not seem to have survived anywhere accessible. One of the Australian clubs listed it as being in their library, but I've never managed to contact anyone associated with the club.
After I reverse-engineered the HP-67/97 CRC (Card Reader Controller), with help from the late Jacques Laporte, I intended to add 82104A support to Nonpareil, but unfortunately never got around to it (as with many of my intended projects). |
|||
07-03-2024, 03:46 AM
Post: #4
|
|||
|
|||
RE: Undocumented card reader function? | |||
07-03-2024, 06:07 AM
(This post was last modified: 07-04-2024 06:52 AM by ThomasF.)
Post: #5
|
|||
|
|||
RE: Undocumented card reader function?
Hi Eric,
Yes, that is a pity, would have been a nice document to have along with the other VASMs. (07-03-2024 03:43 AM)brouhaha Wrote: I intended to add 82104A support to Nonpareil, but unfortunately never got around to it My intention is not to emulate the card reader, it is more that I like to understand how the Card Reader ROM works - and improve my own MCode skills ... To emulate (which I think would be quite easy with the Pico41), one would need an easy way to read the cards somehow - e.g. some kind of card-reader attached to the Pico41 or a PC. When I did the Wand emulation it was much more obvious - creating a software bar code scanner was easy and made sense - i.e. I can scan any bar code from any scanned document and send it to the 41 with just the Pico41 and a piece of software. But how could that be done with magnetic cards ... ? Maybe a "magic carpet" could do the trick? I searched for "Magnetic Field Viewer" and found some "Card Magnet Detector Pattern Display" - but I guess that the resolution is not good enough to see the pattern on these cards. Update: Maybe this could be a solution? The resolution seems good enough - but still quite some work (and expensive) to be done for each card ... With the amount of cards out there it would be a great idea - but I can't visualize a simple solution ... That is to say apart from just because we can ... Cheers, Thomas [35/45/55/65/67/97/80 21/25/29C 31E/32E/33E|C/34C/38E 41C|CV|CX 71B 10C/11C/12C/15C|CE/16C 32S|SII/42S 28C|S 48GX/49G/50G 35S 41X] |
|||
07-04-2024, 03:39 PM
(This post was last modified: 07-04-2024 03:47 PM by BobVA.)
Post: #6
|
|||
|
|||
RE: Undocumented card reader function?
(07-03-2024 06:07 AM)ThomasF Wrote: Update: Maybe this could be a solution? I see what you did there :-) (Very interesting discussion! A box that could adapt an HP-41 card reader to a USB or serial interface would be extremely useful. Besides archiving cards it would be nice to write programs on the PC and export them to the 67/97.) |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)