The following warnings occurred:
Warning [2] Undefined array key 11372 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11373 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11374 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11376 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11377 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11379 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11382 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11384 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11385 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11386 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11390 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11391 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11392 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11397 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11398 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11406 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11407 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11409 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11410 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11414 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11425 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11444 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $thread - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $fid - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11444 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11386 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11414 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11425 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 11406 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $lang - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Attempt to read property "messages_in_thread" on null - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks





HP-41 machine code description ?



#23

Hello,

I would like to ask a question. Where is it posible to find some decent description of HP-41 machine code instructions ?
I downloaded various materials regarding the machine code, but there is no clear description what each instruction exactly mean and how can (or should) be used.
Is there some in-depth documentation about MC programming of HP-41 ?

Thx for any informations.


#24

I am also looking for something like this. I believe the ones who wrote some 41's Emulators would have some docs about it.

I think the starting point must be the internals of the ILB7, main 41's processor. There should be some MC description so an emulator would act as a virtual machine and be able to execute the 41's ROM.

Would anyone share these information?


#25

Various documents got out ot the user clubs, including the HP41's machine code instruction set, hardware details, and even the complete ROM source listings (I think). However none of those are particulaly good at explaining what is going on.
There is a book 'HP41 M-code for Beginners' by Ken Emery. The title is slightly misleading -- yes it starts from the basics, but it goes up to a reasoably high level of complexity. I have no idea where you'd find a copy of it now, but it sounds to be just what you are looking for.
You do realise that to use HP41 machine code (also called M-code and incorrectly called microcode) you need a sepcial RAM box (containing 10-bit wide RAM and the circuitry to load it). Again, I have no idea where to find one of those now (although they could, and still can, be home-built)


#26

Hello,
I'm just new on this forum, but may be I can help you a little bit. The book 'HP 41 M-Code for beginners is part of CD No. 3 of the collection you can buy here at the hpmuseum. I received it just a few days ago. The quality is verx good (for me). But to get the hardware for m-coding is still my problem too. So, if anyone has schematics, I'd be glad to get a copy.


#27

I already downloaded everything what I found and I already ordered the HPMuseum CD set (I did not received it yet).

I have various descriptions of M-CODE, but there is serious lack of details when it comes to the hardware level. I will try to give a small example. Let's say that the processor generate the address and ROM answers with instruction 0x270 (C register to data register address). After that, the CPU should send the register address on the DATA wire. At this point, everything is crystal clear. But when exactly start the CPU to shift out the register address ? In the next instruction cycle ( two PHI1 clock pulses later ?) or there is one instruction cycle (56 PHI1 clock pulses) delay ?

Etc. Etc.


#28

Discalimer : I've never tried to interface anything directly to the HP41 bus. So the below is based on my understanding of various documents. It may be totally wrong.
Anyway... An HP41 bus cycle consists of 56 clock pulses (on each of the 2 clock lines Phi_1 and Phi_2). The first clock pulse of a cycle is numbered 0, then 1, then up to 55.
During clock pulses 14-29, the CPU outputs the 16 bit address of the instruction (in ROM) that it wants to fetch, LSB first
And during clock pulses 44-53 it reads in that 10 bit instruction, also LSB first.
In most cycles the CPU asserts the SYNC signal during clocks 44-53 (when it is reading in the instruction). Sync is, however not asserted
during the fetch of the second word of a 2 word instruction. This is because devices other than the CPU also decode the instruction word, and by only asserting sync when an opcode is being read in (the second word of 2 word instructions is always part of a jump address) the logic in these other devices can be simplified (they only have to consider words that are send when SYNC is asserted)
Now for the Data line, which is what you are really asking about.
During most cycles, the C register is output over the Data line, LSB first (the C register is 56 bits long, one bit is output per clock pulse). When an instruction like
C->Data Register Address is executed, the CPU essentially treats it as an NOP, but the RAM chip reads the Data line in the next bus cycle (that is to the say the one that starts after 2 more clocks from the end of the instruction on the ISA line) and transfers the bits on the data line into its address register.
When an instruction to read from RAM is executed, the CPU tri-states the data line during the next bus cycle. The RAM chip also recognises the instruction, and outputs the 56 bits from the addressed register onto the data line during the next bus cycle, from where the CPU reads them into the C register.


#29

Thx a lot. Now, I am starting to understand it.
And what is going on the bus when the ROM contains the instruction to put some value into the C register ? How is the 56 bit value transferred from ROM to CPU ? Over a DATA line ?


#30

The value in the C Register could get there as the result of a calculation (tranfered from other CPU registers), it could be
read in from RAM (as I've just described), or from a peripheral (which are much the same as RAM as fare as the bus is concerned), or from the keyboard scanner (part of the CPU chip).
You can't transfer data directly from the ROM to the C register as a 56 bit number. For one thing the ROM is organised as 10 bit words, and for another, the ROM has no connection to the Data line (only to
the 2 clock lines, sync, ISA, and PWO (Power On, basically an initialisation line). There is an instruction to read data from the ROM into the C register (I think), I can't remember if it goes by nybbles, bytes, or even 10 bit words, but I can check. That's how the HP41 reads constants from
the ROM for things like PI and the arctan table for the cordic algorithm.

#31

I am affraid that the informations which are enough for emulation of HP-41 on PC will not help too much when it comes to the real hardware.

It seems that the only possibility how to be sure is to write some test ROM and monitor the DATA, ISA etc. lines with logic analyzer. Or maybe I should implement the "HP-41 bus analyzer module" first :-(((


#32

Yes. I am aware of these (at least as far as I could understand).

I just thought that the virtual machine -the emulator - created to run the 41's ROM would have to read the binary code that is executed by the 41's processor and do the same as the actual processor would do. Is it correct?

If so, the one who created the emulator should know what each code does, so the virtual machine would do. I thought that the explanation for these binary codes is already known for people who wrote the emulators. Thought they would be of help understanding 41's machine code, and that's what you (and me and many others) would like to know.

If my thoughts are wrong, where did I get wrong? Really, I would like understanding these facts better, as I believe this is possible and, maybe, it's not.


#33

Problem is, that in the case of emulator, both the CPU and ROM images are interpreted by PC (or other hardware).
So, you do not need to be affraid about timing, signals, power-down etc.

When you are trying to develop the real hardware (ROMs, RAMs etc.) which must be able to work in real historical machines, the situation is a bit different.

And I am not talking about the another can of worms - the possibility to include into those hardware pieces the functions which was not implemented in original HP modules.
For example - the ATMega chip which I am using for the ROM emulation has plenty of other integrated functions (A-D converter, RS-232, SPI, Timers/Couters etc.).
Let's say that this one chip can communicate directly with PC (via serial port), can work like CX time chip, emulate 64KB of various ROM modules and have 512 registers of HP-41 memory. Everything in one module which will fit into the standard slot of HP-41C....

Nice idea, isn't it ? Let's hope that soon it will be a reality :-)
We can call this beast hp-41MX (Millenium eXtended)...


#34

Great!

Having as many possibilities means just which ones to pick, right? So, it's just a matter of finding the best way to do what is known to be done. The matter is What to be done, right?

You have mentioned the timing problem. The ATMega (I do not know it) may have enough resources so it can handle this easily, at least by looking from here and as far as I know you have gone. It may allow reading an input (outher system clock) as a sync signal, so it would work faster than the 41 itself. You'll need an extra clock circuitry (a single xtal?), I know, but it still can be faster. (Can it be?)

Would you share the e-address where we can find the ATMega specs? I would like knowing some more of it.


#35

You can find the ATMega datasheet at the www.atmel.com

This microcontroller is a standard one, nothing special. It is cheap, it is available everywhere. The development environment is free of charge (download from www.atmel.com).
The main reason why I choose this microcontroller (beside the fact that I have plenty of them for testing) is the power consumption.
Currently, the prototype is running on ATMega103 and the final design will use the ATMega103L (3.3V power supply and much lower power consumption).

On the other side, the speed of this chip is nothing fancy. I am using 4MHz xtal (the compromise between speed and power consumption), so I have approx. 8 - 10 ATMega instructions in one HP-41 clock (PHI1,PHI2) cycle. Plenty of time for ROM emulation, but pretty tight when it comes to other functions...

#36

The ZEN-ROM User Manual is a good source for description of MCode too. And of cause the HP internal paper with DWG No. A-1LF5-9002-1 dated 7/14/81 from Tom Revere. Timing of signals (for those who try to build a RAM-Box) is described in A-1LF6-9005-1 (Hank Koerner's excelent Detailed Description of "Phineas", 2/9/82). Both papers had been available from PPC as NoMaS = Not Manufacturer supported.

I am still looking for the paper "PIL Chip ERS" by Dave Sweetser, June 1978. With it I hope to finish my Emulator including HP-IL and several devices on the loop. See http://ourworld.compuserve.com/homepages/nutem/

Ciao.....Mike

Une message pérso à Emmanuel: Salut! Ca va? Stp, utilise seulement mon adresse chez web.de, parce que je fais mes messages privée uniquement avec le HP200LX. Amitiés. M.


#37

Thx for the information.
Do you have any idea where I can find the papers you mentioned ?

Thx PavelK


#38

Sorry, I have no idea if those papers are on the net somewhere. Isn't there a set of CD-ROMs sold with PPC journals? Wasn't his name Jake Schwarz who sold them? I'm not shure, but such NoMaS could be on those CDs.

Ciao.....Mike


#39

Yes, I know about the PPC CD set which I want to buy from Jake.
I just hoped that the pages can be somewhere in the Net, so I do not need to wait month or so, until I will receive the CDs. :-)


#40

Can you tell me about the PPC CD-ROM set? I think I heard about this several years ago when they were trying to find a way to encode the "Swap Discs" to put them online or on a CD but I never followed up on it. Also, I followed a link in this forum recently which was to an FTP site (in the Museum?) which had directory names that looked like some of the Swap Discs and some other series of discs. Instead of diskette images, the directories contained the individual files. Can someone tell me how to use these files i.e. how to put them back on a 9114 disc? Are the instructions in the Museum somewhere?

#41

I found a link to the Jake Schwartz website and I see that the Swap Discs aren't on the CDs. I'm still curious about the FTP site that seems to be part of the Museum.

#42

Hello, Mike;

I tried openning

http://ourworld.compuserve.com/homepages/nutem/

and a 404 Error occurred. Is there anywhere else we should try? You know, these informations are a MUST for many of us who want, al least, knowing some more about the HP41. If, by any reasons unknown, there is no way to download, what´s the possibility to send whatever you have to my e-mail (maybe an e-mail list...)?

Thanks.


#43

Just try again. CSI is a bit too AOLish those days, you know.

But do not expect too much. I'm still working on it. If you need a working emulator *NOW* use Warren Furlows for Windows or JF Garniers for DOS.

Ciao.....Mike


#44

Thanks, again.

In fact I do not need an emulator. I just want to study 41´s guts. I really love technology.

Truly, falks; people in here make anybody feel home. Thank you all.


Possibly Related Threads…
Thread Author Replies Views Last Post
  HP-41(CL): The easiest way to transfer FOCAL programs from a Linux PC to the HP-41 Geir Isene 13 5,572 12-05-2013, 02:40 AM
Last Post: Hans Brueggemann
  HP PRIME: APP program code DISAPPEARS !! Joseph Ec 0 1,172 11-25-2013, 11:35 AM
Last Post: Joseph Ec
  HP Prime : Galton's machine Mic 0 1,070 11-15-2013, 04:23 AM
Last Post: Mic
  Where to the 32-bit version of User Code Utiltiy for HP-41 ? Olivier (Wa) 2 1,471 09-26-2013, 01:55 AM
Last Post: Olivier (Wa)
  A HP42S Code Editor Andreas 9 2,740 09-22-2013, 03:17 AM
Last Post: Andreas
  Dynamic Gaussian Quadrature code in Excel VBA Namir 4 1,699 07-30-2013, 07:37 PM
Last Post: Namir
  Convergence Dream Machine anetzer 11 3,112 04-12-2013, 07:16 AM
Last Post: David Hayden
  HP-65 Morse Code Dan Lewis 7 2,299 01-29-2013, 05:22 PM
Last Post: Mike T.
  O.T. - A pristine machine Palmer O. Hanson, Jr. 4 1,601 08-08-2012, 12:16 AM
Last Post: Dave Shaffer (Arizona)
  The Turing Machine Comes True Gilles Carpentier 1 1,206 06-26-2012, 09:26 AM
Last Post: Rory Molinari (USA)

Forum Jump: