The following warnings occurred:
Warning [2] Undefined array key 21616 - 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 21616 - 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 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-42X memory requirements, demo version, etc.



#2

OK, this is the final (and last) explanation regarding memory requirements ...

First of all, I wrote emulators according to my needs and wishes. I own 3 equally equipped HP-48GXs (each with one 128K and one 2048K memory card), one HP-48G expanded to 1280K and one HP-49G. So I decided that HP-42X will have 96K of memory and it will have 96K of memory. I decided that it will have port memory and it will have port memory. I won't give up ...

Second, I must say that emulating an HP-42S on HP-48/49 isn't a trivial task. The Saturn is not a Pentium. To achieve speed and reliability some things must be sacrified. I decided to sacrify the memory - if I had to choose between speed and memory requirements, I will choose speed. I think that everyone can afford a memory card and I don't see any problem about this.

Memory requirements for HP-42X are as follows:

#00000..1FFFF: Original HP-42 ROM (64K)
#20000..3FFFF: Emulator ROM (64K)
#40000..403FF: Display and I/O (0.5K)
#40400..4FFFF: Port memory and emulator RAM (31.5K)
#50000..7FFFF: HP-42 RAM (96K)
Emulator RAM can be extended to #BFFFF (224K) on HP-48GX and #FFFFF (352K) on HP-49G, if needed (by destroying the contents of main RAM).

The problem is how to map some parts of HP-48/49 memory to match those addresses. I don't want to explain technical details here because they can be found in the literature covering Saturn assembly programming but it is important to know that 128K "devices" like RAM and 128K memory cards can be maped only on 128K boundaries. 32K cards can be mapped on 32K boundaries but they are difficult to find these days so I haven't considered using them.

So, the only way is to map Port1 to #00000..3FFFF and Port2 to #40000..#7FFFF on HP-48GX (or vice versa). On the HP-49G, Port1(Bank1) can be mapped to #00000..3FFFF and Port1(Bank2) to #40000..#7FFFF (or vice versa). In this case you will have 96K of HP-42 memory, 31K of port memory and the whole HP-48/49 RAM left for other applications.

The same case is with HP-48SX equipped with two 128K RAM cards (I have a HP-42X for HP-48SX, too).

However, I wrote a HP-48GX (or HP-48G/G+ expanded to 256K) version which will require only one (unmerged) 128K RAM card for HP-42/Emulator ROM. The main RAM is used as a HP-42/Port/Emulator memory giving a 96K HP-42 RAM and 16K of port memory. About 12K is left for other purposes. This is all I can do regarding the HP-48GX with just one cards. If you need more memory for "other applications" than you cannot use HP-42X.

The emulator is finished. Now I had to implement SAVE/LOAD commands for saving/loading HP-42 programs to/from HP-48/49 and SAVEP/LOADP/CAT/PURGE command for managing port memory. I expect this will be finished during september (I had other work to do).

The demo for HP-48/49 is finished, too, but I have to write some installation instructions. It won't be available for download from my homepage but it can be sent on request. So, if you want to have a demo send a mail to me and ask for it - I will send it as soon as I write installation instructions. Demo version requires only one 128K RAM card on HP-48GX but it destroyes some parts of main RAM so it is not suitable to run on the real calculator - running on Emu48 is recommended if you don't want to loose some data or the whole memory. You have been warned ...

Greetings.


Possibly Related Threads…
Thread Author Replies Views Last Post
  HP Prime touch periodic table : new version Mic 4 1,967 11-25-2013, 05:29 PM
Last Post: Terje Vallestad
  Where to the 32-bit version of User Code Utiltiy for HP-41 ? Olivier (Wa) 2 1,469 09-26-2013, 01:55 AM
Last Post: Olivier (Wa)
  HP-11C "horse racing" version Peter Murphy (Livermore) 2 1,694 08-12-2013, 07:34 PM
Last Post: rpn fan
  HP-35 and HP-65 Current Requirements Dan Lewis 0 917 03-05-2013, 12:11 AM
Last Post: Dan Lewis
  41 System DEMO Module - Update Ángel Martin 0 842 10-21-2012, 07:27 AM
Last Post: Ángel Martin
  Big ROM - 41 System DEMO ROM Ángel Martin 5 2,514 10-16-2012, 05:28 AM
Last Post: Ángel Martin
  HP-41 System DEMO Ángel Martin 4 1,662 10-08-2012, 05:38 PM
Last Post: Ángel Martin
  OT--AOS vs RPN Quad Requirements Matt Agajanian 0 866 08-14-2012, 12:40 AM
Last Post: Matt Agajanian
  41 User Memory vs System Memory Gerry Schultz 6 2,378 07-01-2012, 12:02 AM
Last Post: Monte Dalrymple
  HP-41CV "tall keys" version Ignacio Sánchez 16 4,320 06-11-2012, 04:59 AM
Last Post: Diego Díaz

Forum Jump: