From 9c3d683569ae1d39f603c868ffb11fdc0c9a52ba Mon Sep 17 00:00:00 2001 From: Gwenhael Le Moine Date: Tue, 19 Mar 2024 23:35:30 +0100 Subject: [PATCH] 2017-08-15: Updated to version 1.59 Signed-off-by: Gwenhael Le Moine --- EMU48.TXT | 482 --------------------------- Emu48.exe | Bin 290816 -> 294912 bytes Emu48.htm | 608 +++++++++++++++++++++++++++++++++++ KML_20.DOC | 107 +++--- PROBLEMS.TXT | 4 +- Sources/Emu48/CHANGES.TXT | 75 +++++ Sources/Emu48/DISPLAY.C | 62 +++- Sources/Emu48/EMU48.C | 15 +- Sources/Emu48/EMU48.H | 64 ++-- Sources/Emu48/EMU48.RC | 38 ++- Sources/Emu48/FILES.C | 49 ++- Sources/Emu48/KML.C | 171 +++++++++- Sources/Emu48/KML.H | 63 ++-- Sources/Emu48/MOPS.C | 10 +- Sources/Emu48/RESOURCE.H | 1 + Sources/GCCPatch/EMU48GCC.RC | 39 ++- Sources/GCCPatch/README.TXT | 41 ++- uninst.exe | Bin 67024 -> 68117 bytes 18 files changed, 1171 insertions(+), 658 deletions(-) delete mode 100644 EMU48.TXT create mode 100644 Emu48.htm diff --git a/EMU48.TXT b/EMU48.TXT deleted file mode 100644 index ea9ed1f..0000000 --- a/EMU48.TXT +++ /dev/null @@ -1,482 +0,0 @@ - - - - Emu48 - A freeware HP38/39/40/48/49 Emulator - for Windows 9x, ME, NT, 2000, XP, Vista and 7 - - - - ******************** - * OPERATING SYSTEM * - ******************** - -This version of Emu48 should work with all Intel x86 and x64 platforms. - - - **************** - * INSTALLATION * - **************** - -Emu48 is distributed in 1 archive: -- Emu48v15xSetup.zip All files and sources - -To install Emu48, just start the executable file inside the Emu48v15xSetup.zip -archive. The installer will guide you through the installation. When you first -run Emu48, it will detect the directory in which you installed it, and will -write its configuration to the registry HKCU\Software\Emu48. If you move the -Emu48 directory to another place you have to change the directory path inside -the "Choose Your KML Script" dialog. - -You can also update your current version with the Service Packs: -- E48BP5x.ZIP New EXE-File -- E48SP5x.ZIP Sources of the Service Pack - -Replace the original EXE file please. - - - ************************ - * YOU NEED A ROM IMAGE * - ************************ - -Emu48 needs an image of a calculator ROM to be able to run. Since fall 2000 the -emulator ROM's for the HP38, 39, 40, 48 and 49 are freely available on different -internet sites. Because there's no license for the distribution of the ROM -images, they aren't included in the Emu48 package. You can still use the classic -way extracting them from your own calculator. But in mostly all cases you have -to convert the ROM files into the Emu48 ROM format. - -- HP38: -To upload the ROM of your HP38G, you will need a special aplet called "ROM -UPLOAD", available at http://www.hpcalc.org/details.php?id=633. Once you've -uploaded the ROM, you have to convert it using the Convert utility. - -To do that, start a Command Prompt while running Windows, and type: - Convert ROM.38G - -Where is the path to your ROM image. This will create a file named -ROM.38G. This tool will also check its validity. - -- HP39/40: -To upload the ROM of your HP39G/HP40G, you will need a special aplet called "ROM -UPLOAD", available at http://hp.giesselink.com/emu48.htm. Once you've uploaded -the ROM, you have to convert it using the Rom2emu utility. - -To do that, start a Command Prompt while running Windows, and type: - Rom2emu ROM.39G - -There's also a HP39G/HP40G beta ROM for emulators inside an old Emu48 package -available at http://www.hpcalc.org/details.php?id=4272. - -- HP48: -If you have already used another HP48 emulator, you can convert the ROM using -the Convert utility. - -To do that, start a Command Prompt while running Windows, and type: - Convert ROM.48G -or Convert ROM.48S - -Where is the path to your old ROM image. This will create a file -named ROM.48G or ROM.48S, depending on the version you own. This tool should be -able to read any style of ROM image, and will also check its validity. Note that -if you run it with only one parameter, no file will be written, but it will -still check the validity of the ROM. - -If you have never used an HP48 emulator, and don't have a ROM dump, you can -either use Jean-Yves Avenard's ROMUPL.BIN or the ROMDump Wizard V1.x, which will -almost automatically get the ROM from your HP48. After the download you may have -to convert your dump with the CONVERT utility into the Emu48 format. - -You can find the latest version of the ROM dump programs on: -ROMUPL.BIN http://www.hpcalc.org/details.php?id=3686 -ROMDump Wizard http://hp.giesselink.com/emu48.htm - -- HP49G: -There's no ROM download program available so far. But you can create a ROM image -with the UPD49ROM tool available at http://hp.giesselink.com/emu48.htm and a ROM -update file for the HP49G calculator available at -http://www.hpcalc.org/hp49/pc/rom/. I suggested to use version 1.19-6 -(http://www.hpcalc.org/details.php?id=3240). - -To create a HP49G ROM image file, start a Command Prompt while running Windows, -and type: - UPD49ROM -f hp49119-6.flash ROM.49G - -This will create a HP49G ROM image file with an empty User Port 2. - - - **************** - * HOW TO START * - **************** - -When Emu48 is installed and you have put the ROM image(s), which must be in the -Emu48 ROM format, into the Emu48 directory, you can start Emu48. You'll see a -"Choose Your KML Script" box. - -KML Scripts in fact define the visual aspect of Emu48, the behavior of the -buttons, of the keyboard, ... It's a GREAT way to customize your copy of Emu48. - -Check that the path in the "Emu48 Directory" text area is correct. Modify it if -the directory in which you installed Emu48 is not the directory displayed. Click -the refresh button ("V") after modifying it to update the list box or use the -("...") button to start the directory browser. - -Choose a KML script in the list box for your calculator ROM you put into Emu48's -directory. - -Several HP48 scripts are included in the Emu48 archive: - * Emu48's Default Faceplate for HP48G/GX - * Emu48's Default Faceplate for HP48S/SX - These two are simple scripts, good for 800x600 display resolution. - * Casey's Gx with Toolbar and Touch Screen - * Casey's Sx with Toolbar and Touch Screen - These script uses many advanced features, and is a good demonstration of - the power of Emu48's scripting language KML. Try it, it is really great! - * Floating buttons - This one looks really great. - * Small but realistic HP48 Gx - This one has been designed for small resolutions such as 640x480. - Note: some things in this script have to be fixed. - -If you want other great scripts, visit Rechlin's great HP archive - http://www.hpcalc.org/ - -And if you are interested in writing new scripts, get the KML 2.0 documentation -from Christoph's page at http://hp.giesselink.com/emu48.htm - -Once you have selected a script, press OK to start the emulator. In most cases, -when Emu48 crash after pressing the OK button, you forgot to convert the ROM -image into the emulator format. While it's running, you can use the View/Change -KML Script... command to change the visual aspect of Emu48. - - - *************** - * KML SCRIPTS * - *************** - -Don't use TRUELCD.KMI for emulating display contrast in your scripts. It's not -fully correct. The hardware contrast values are in the area from 0 to 31. But -the ROMs bounds them to useful values. The HP48 S(X) ROM use only display -contrast values between 3 and 19 and the HP48 G(X) ROM values between 9 and 24. - -Maybe you have to adjust the "Rom" filename in the "Global" section. This mostly -happen with the HP49G ROM name. Some KML files use the name ROM.E49, that's the -name of the emulator ROM file published by HP. But Emu48 state files for the -HP49G have the same file extension, so the use of ROM.49G is preferred now. - - - **************** - * COMMAND LINE * - **************** - -The command line syntax is "Emu48 [E48file [Port2file]]". The first parameter -sets the filename for the emulation data, the second parameter the Port2 file. -You're not able to set a Port 2 file without setting the emulation data file. -The arguments are optional. - - - ******************* - * LOAD/SAVE FILES * - ******************* - -There are two ways to transfer files from or to the emulator. The one way is to -use the serial port to transfer the data directly from your HP to the emulator. -The second way is to load data, saved on your PC, into the stack of the -emulator. You can do this by using the Edit/Load Object... command or with the -file Drag and Drop feature. But there's one important restriction, the data must -a HP binary file (begin with HPHP48- or HPHP49-, this depends on your emulated -calculator)! If not, the data is load as string. The Edit/Save Object... command -will save the data in stack level 1 on the PC (always binary mode). Be sure, -when you use the second way for data transfer, that no program is running on the -emulator. The second way doesn't work on a HP38, because he has no stack. So you -can load aplets only from the serial port. - - - ***************** - * DRAG AND DROP * - ***************** - -Dropping HP objects over the emulator window will load program files (like the -command "Load object...") on the stack. Be sure that the emulator isn't busy -before doing this. - - - ******************* - * SHARED RAM CARD * - ******************* - -You can add a SHARED (explained below) RAM card of up to 4MB to a HP48. By -default, no such card will be created when you start Emu48. The MkShared.exe -utility will allow you to create it. - -To create a Port 2 RAM Card, call the program, select the RAM Card size, enter -the card file name and press the 'Create' button. That's it. Please remember, -this program replace the destination file without any request! - -If you use RAM cards greater than 128 KB in a HP48SX, you can only see the first -128 KB of the card. Please remember, the firmware of all HP48GX versions has a -bug when using a 4MB RAM card. You always get the message "Warning: Invalid Card -Data" at startup and Port 33 is unaccessible. This is not a bug of the emulator! - -When you have created this file, run Emu48, and call File/Settings. In the "Port -2" text area, type the name of the file you created (if you don't include a -path, it will be searched for in Emu48's directory) or press the "..." button -for the file browser. If this field is disabled you have chosen the Port 2 file -over the 2nd command line argument, so change the name there please. - -The "Port 2 is Writeable" check box represents the actual read/write state of -the Port 2 file. Changing the state will also change the state for the -calculator by modifying the Read-Only attribute of the file. - -You can also tick the check box "Port 2 Is Shared". When the box is cleared, -only the first instance of Emu48 will allow you to use the RAM card in Port 2. -When this box is checked, the first instance of Emu48 will give you both read -and write access to this RAM card. If you start Emu48 in another instance, the -RAM card in Port 2 will be write-protected. Thus you can transfer files very -easily between two calculators. This RAM card is used by both S/SX and G/GX -types. - -Please remember, all port configuration changes mostly behave like on the -original calculator. This means when you do this changes with the emulated -calculator on, it's the same like when you do this with a real calculator on. In -many times, this depends on the current state of the calculator, this will work -without any problems by doing an automatically calculator warmstart. But for the -most secure way, switch off the emulated calculator first, please! - - - *********************** - * FLASH ROM EMULATION * - *********************** - -The HP49G save the operation system in a reprogramable memory, a so called flash -memory. The flash memory is divided into two parts, into the Operating System -and into a User Data area. The User Data area is viewed as Port 2 in the HP49G. -Emu48 saves the Port 2 data in the ROM file (normally ROM.49G). As default -setting the ROM file is writeable in the first instance of Emu48. When you open -another instance of a HP49G emulation the Port 2 area is READ ONLY, that mean -all changes in Port 2 are lost when you exit this instance. If you don't want to -save data in Port 2 and want to protect the operating systems from overwriting, -you're able protect the ROM file. To do this, close all Emu48 instances and set -the variable 'Writeable' defined in the Emu48.ini file, section [ROM] to zero. - - - *********************** - * COPY / PASTE STRING * - *********************** - -With the menu items "Copy Stack" and "Paste Stack" in the "Edit" menu you're -able to copy real and complex numbers and string objects from the stack to the -PC clipboard and vice versa. - - - ********** - * BACKUP * - ********** - -Emu48 includes a backup feature (in the Edit menu). It save the complete state -of the calculator (excepting the ROM and Port 2 content) in the computer's -memory. You might want to use it before doing something risky, and if you don't -want to save to the disk. It provides some kind of Undo feature. It is also used -by Emu48 when you want to save or load a new document, to restore its old state -if you cancel the operation or of something goes wrong. - - - ************ - * KEYBOARD * - ************ - -To enter a character to the emulator use the PC keyboard (key translation -depends on the used KML script) or the mouse. If you press the left mouse -button, the emulator key is pressed as long as you press the mouse button or -leaving the area of the emulator button. Sometimes you need to press more then -one key (contrast setting, warmstart, ...). To do this, press the right mouse -button. All "locked" buttons are released after enter a key with the left mouse -button. - - - ********* - * CLOCK * - ********* - -The emulator time is synchronized with the PC time at startup of the emulator. -This may cause problems with other non original operating systems running on the -HP. On HP48 S(X) calculators the address area #00052-#00070, on all other -emulated calculators the address area #00058-#00076 in System RAM are rewritten -with the actual time information. - - - ******************************** - * Registry HKCU\Software\Emu48 * - ******************************** - -The section [Timers] in the Emu48.ini file isn't used any more. The variable -values are replaced by useful constants. You may delete this section if you -want. Starting an old version of Emu48 (V1.07 and earlier) will add this section -again. If you move the Emu48 directory to another place, you have to adjust the -variable 'Emu48Directory' in the [Files] section. - - - ************************ - * REAL SPEED EMULATION * - ************************ - -As you recognized the speed of the emulated HP is much faster than an original -one. The reason is, the assembler commands are emulated faster than the original -CPU can execute them. On one side this is a big advantage (faster execution of -programs) on the other side this cause many trouble. In Emu48 only the timers -work with the original speed. In result all commands like User-RPL WAIT wait -more or less the correct time. But many programs like shells or editors use an -own key handler to realize an autorepeat implementation. Normally these programs -use the execution time of each assembler command for waiting. On Emu48 this time -is much shorter, so the time between each key read is shorter as well and you -get a very fast key repetition. The editor ED from the JAZZ package hasn't this -problem, because the key input is synchronized with one of the timers. To solve -this problem Emu48 generally slow down emulation if a key is pressed. To solve -some other speed depending problems you are able to slow down the whole -emulation speed. There are two variables 'SXCycles=82' and 'GXCycles=123' -defined in the Emu48.ini file, section [Emulator] which control the "real" speed -and key repetition slow down for each calculator type. Each numeric value is -representing the allowed CPU cycles in a 16384Hz time frame. Because the used -cycle statements (from SASM.DOC) in Emu48 doesn't correspond to the real values -of the CPU, the saved values are estimated by comparing the execution time of a -program to the real calculator. Increasing the value fitting to your ROM will -make the "real speed" HP faster and vice versa. No warranty to the functionality -of Emu48 when you go below the default values. - - - ************************* - * SERIAL PORT EMULATION * - ************************* - -The serial ports are emulated as well now. You may choose the same serial port -for wire and IR. Remember that the IR port only work with 2400 Baud. If you want -to change the serial port settings, but they are disabled, close the serial port -with the command CLOSEIO or power cycle the HP first. - -Now it's possible to make transfers between the real calculator and Emu48. If -you have problems with the connection please try the following. There's a simple -way to check if your serial port is used by another program. First disable the -serial settings in both combo boxes and very important close the settings -dialog. Reopen the settings dialog and choose the COM port in the wire combo box -to the port the HP is connected with. When you open this combo box you only see -valid (unused) serial ports. Don't use the IR combo box, it only works with 2400 -Baud. The next important thing are the serial settings of the real calculator -and Emu48, they must be equal. If this doesn't work then mostly there's a -hardware or a resource problem of the serial port. Check this with connecting -the HP with a transfer program you like on the same serial port. - - - ******************************* - * INFRARED PRINTER SIMULATION * - ******************************* - -The emulator has the ability to print decoded data to a HP82240A/B printer -simulation. The data transfer to the printer simulator is done over UDP. You can -the define the IPv4 address and the port the printer simulator is listening. - - - **************** - * DISASSEMBLER * - **************** - -With the internal disassembler you're able to disassemble the Saturn chip -address area. With the default Map setting the disassembler always see the -mapped memory address. If for example you configured the RAM at #00000 you will -see the RAM and not the ROM at this address. With the other module settings you -specify a special module for disassembly. Each module use a linear address mode, -beginning at address #00000 and will not overlapped by other modules. So, for -example, you can access the second port of a HP48 RAM card greater than 128KB at -address #40000 (128 * 1024 * 2). The "Copy Data" button copies the selected -disassembler lines to the PC clipboard. - - - ************ - * DEBUGGER * - ************ - -Emu48 has an integrated Saturn assembler debugger inside. For further -information read the separated "Debugger.txt" documentation please. - - - ************** - * DDE SERVER * - ************** - -I implemented a DDE server in Emu48 to transmit data from and to the HP stack -with DDE. You have the same restrictions like with the commands "Load object..." -and "Save Object...", that a running program may corrupt memory. In difference -you can choose the stack level for the transfer in the DDE item field. Take care -to transmit data only after the acknowledge of the last DDE transaction. - -Technical data: - -Servername: Emu48 -Topicname: Stack -Item: 1 (stack level) -Clipboardformat: "CF_HPOBJ" (user defined) - -The DDE commands CONNECT, POKE and REQUEST are supported. - -The structure of the clipboard format "CF_HPOBJ": - -+--------+------------------------------------+ -| 4 Byte | HP object | -+--------+------------------------------------+ - \ \ - \ +--- normal HP object - +----------- length of object (LSB first) - - - ******************** - * TROUBLE SHOOTING * - ******************** - -Visit the Emu48 FAQ site at http://hp.giesselink.com/index.htm to get more -information please. - - - *********** - * SUPPORT * - *********** - -We cannot provide any individual support for Emu48. Information about Emu48 will -be on the Emu48 Homepage or on the Emu48 FAQ at - - http://hp.giesselink.com/index.htm - -It's also a good idea to look at the Usenet forum comp.sys.hp48. Emu48 topics -have discussed there in different threads for years now. - - - *************** - * LEGAL STUFF * - *************** - -Emu48 - An HP38/39/40/48/49 Emulator -Copyright (C) 2013 Sebastien Carlier & Christoph Gießelink - -This program is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free Software -Foundation; either version 2 of the License, or (at your option) any later -version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA - - - *************** - * The Authors * - *************** - - Sebastien Carlier - Christoph Giesselink - -E-Mail: - c dot giesselink at gmx dot de - -Homepage: - http://hp.giesselink.com/ diff --git a/Emu48.exe b/Emu48.exe index ae817d3aa44c27220cf610aa457cfcd3f83c1000..5fcb7c592692f1efcd4e3734d4dfdf0f37d2b44a 100755 GIT binary patch literal 294912 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%0DpCpMrA*P7kzFrY_ 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 diff --git a/Emu48.htm b/Emu48.htm new file mode 100644 index 0000000..29281b3 --- /dev/null +++ b/Emu48.htm @@ -0,0 +1,608 @@ + + + + +Emu48 Manual + + + + + + + +
+

Emu48 - A freeware HP38G/39G/40G/48SX/48GX/49G Emulator
+ for Windows 9x, ME, NT, 2000, XP, Vista, 7, 8 and 10

+
+
+
+

1. General

+

Emu48 is an emulator for the Hewlett Packard HP38G, HP39G, + HP40G, HP48SX, HP48GX and HP49G calculator hardware. These calculators + are based on the 1LT8 Clarke (HP48SX) and on the Yorke chip.

+

2. Acknowledgements

+

First of all a big thank to Sébastien Carlier for publishing + Emu48 v1.0 under the GPL. Without this decision newer versions of the + emulator wouldn't have been possible or ports to other similar + calculators wouldn't have been made. Also a big thank to Jean-Yves + Avenard for his technical assistance in the beginning. And finally I + want to thank all the unnamed authors for publishing material about + these calculators.

+

3. ROM Images

+

Emu48 needs an image of a calculator ROM to be able to run. ROM + images are valid in a packed (even address lower nibble, odd address + higher nibble) or unpacked (one nibble per byte with even address first) + form.

+

Since fall 2000 the emulator ROM's for the HP38, 39, 40, 48 and 49 + are freely available on different Internet sites. Because there's no + license for the distribution of the ROM images, they aren't included + in the Emu48 package. You can still use the classic way extracting + them from your own calculator. But in mostly all cases you have to + convert the ROM files into the Emu48 ROM format.

+
    +
  • HP38 +

    To upload the ROM of your HP38G, you will need a special aplet + called "ROM UPLOAD". + Once you've uploaded the ROM, you have to convert it using the + Convert utility.

    +

    To do that, start a Command Prompt while running Windows, and + type:

    +
    Convert <rom-file> ROM.38G
    +

    Where <rom-file> is the path to your ROM image. This will + create a file named ROM.38G. This tool will also check its validity. +

  • +
  • HP39/40 +

    To upload the ROM of your HP39G/HP40G, you will need a special aplet + called "ROM UPLOAD". + Once you've uploaded the ROM, you have to convert it using the Rom2emu utility. +

    +

    To do that, start a Command Prompt while running Windows, and + type:

    +
    Rom2emu <rom-file> ROM.39G
    +

    There's also a HP39G/HP40G beta ROM for emulators inside an old + Emu48 package. +

  • +
  • HP48 +

    If you have already used another HP48 emulator, you can convert + the ROM using the Convert utility. +

    +

    To do that, start a Command Prompt while running Windows, and + type:

    +
    Convert <rom-file> ROM.48G
    +

    or

    +
    Convert <rom-file> ROM.48S
    +

    Where <rom-file> is the path to your old ROM image. This + will create a file named ROM.48G or ROM.48S, depending on the version + you own. This tool should be able to read any style of ROM image, and + will also check its validity. Note that if you run it with only one + parameter, no file will be written, but it will still check the + validity of the ROM.

    +

    If you have never used an HP48 emulator, and don't have a ROM + dump, you can either use Jean-Yves Avenard's ROMUPL.BIN or the + ROMDump Wizard V1.x, which will almost automatically get the ROM from + your HP48. After the download you may have to convert your dump with + the CONVERT utility into the Emu48 format.

    +

    You can find the latest version of the ROM dump programs on:

    +
    + ROMUPL.BIN + http://www.hpcalc.org/details.php?id=3686
    + ROMDump Wizard + + http://hp.giesselink.com/emu48.htm +
  • +
  • HP49G +

    There's no ROM download program available so far. But you can + create a ROM image with the + UPD49ROM tool + and a + ROM update file for the HP49G calculator. I suggested to use + version 1.19-6 +

    +

    To create a HP49G ROM image file, start a Command Prompt while + running Windows, and type:

    +
    UPD49ROM -f hp49119-6.flash ROM.49G
    +

    This will create a HP49G ROM image file with an empty User + Port 2.

  • +
+

4. Installation

+

To install Emu48 you may use the installer package which contain, + among the binaries, some HP48 KML scripts or just unzip the emulator + and the required emulator skins from archives into an empty directory. + Finally you have to copy your ROM images into this directory and + adjust the ROM image name to the name used in the corresponding KML + script. When you first run Emu48, it will detect the directory in + which you installed it, and will write the configuration to the + registry at HKCU\Software\Emu48.

+

5. How to Start

+

When Emu48 is installed and you have put valid KML scripts and the + corresponding ROM image(s) into your Emu48 installation directory, you + can start Emu48. You'll see a "Choose Your KML Script" + box.

+

KML scripts in fact define the visual aspect of Emu48, the behavior of + the buttons, of the keyboard, ... It's a GREAT way to customize your copy + of Emu48.

+

Check that the path in the "Emu48 Directory" text area is + correct. Modify it if the directory in which you installed Emu48 is not + the directory displayed. Click the refresh button ("V") after + modifying it to update the list box or use the ("...") button to + start the directory browser.

+

Choose a KML script in the list box for your calculator ROM you put + into Emu48's directory.

+

Several HP48 scripts are included in the Emu48 archive:

+
    +
  • Emu48's Default Faceplate for HP48G/GX
  • +
  • Emu48's Default Faceplate for HP48S/SX +

    These two are simple scripts, good for 800x600 display + resolution.

  • +
  • Casey's Gx with Toolbar and Touch Screen
  • +
  • Casey's Sx with Toolbar and Touch Screen +

    These script uses many advanced features, and is a good + demonstration of the power of Emu48's scripting language KML. + Try it, it is really great!

  • +
  • Floating buttons +

    This one looks really great.

  • +
  • Small but realistic HP48 Gx +

    This one has been designed for small resolutions such as + 640x480. +

  • +
+

If you want other great scripts, visit Rechlin's great HP archive +

+

And if you are interested in writing new scripts, get the KML 2.0 + documentation from the + authors Emu48 page.

+

Once you have selected a script, press OK to start the emulator. In + most cases, when Emu48 crash after pressing the OK button, you are using + an invalid ROM image. While it's running, you can use the View/Change KML + Script... command to change the visual aspect of Emu48.

+

6. Command Line

+

The command line syntax is "Emu48 [E48file [Port2file]]". + The first parameter sets the filename for the emulation data + independent from the "LastDocument" setting, the second + parameter the Port2 file. You're not able to set a Port 2 file without + setting the emulation data file. The arguments are optional.

+

7. Virtual Keyboard

+

There are two ways to use the virtual keyboard on the emulated + calculator:

+
    +
  1. by Mouse
  2. +
  3. by PC keyboard
  4. +
+

+ The easiest way to use the emulated calculator is using the mouse. The KML + script define buttons with an area where mouse input is active. The mouse + cursor change from an arrow to a hand cursor in these areas. The state of + the virtual key follow the state of your left mouse button. When the mouse + cursor leaves the virtual key area the virtual button automatically + release. In some cases you need to press more than one key on the + emulator. For these cases press the virtual key with the right mouse + button. When you release the mouse button or leave the area of the virtual + key, the key is still hold. To release all hold virtual buttons, just use + the left mouse button again. A single release of a hold virtual key isn't + possible.

+

+ Another convenient way is using the PC keyboard. The KML script language + support a large variety of commands to implement this feature. So keyboard + usage depends on your used KML script and not on the emulator. Because of + this it's impossible to say what's happen when you press a key on the PC + keyboard. For further details read the KML 2.0 documentation mentioned + before please.

+

8. File Menu

+

8.1 New...

+

Creates a new emulation session. You're asked for a new KML script + where you can select the calculator type and skin to emulate.

+

8.2 Open...

+

Opens an existing emulation session. The emulation continues at the + same position where the loaded session was aborted. Loading emulation + sessions made with a different ROM revision may destroy the memory + content or may cause other unpredictable results.

+

8.3 Save

+

Saves the current running session with the actual name.

+

8.4 Save As...

+

Saves the current running session with a new name. You're also get in + this dialog when you Exit a new session without a state file name.

+

8.5 Close

+

Closes the current session without closing the emulator.

+

8.6 Settings

+

This calls the Settings dialog. This dialog has three tabs: + General, Memory and Peripheral.

+

8.6.1 Settings General

+

8.6.1.1 Section General

+
    +
  • Authentic Calculator Speed +

    When this option is checked, the emulation speed will be similar + to the real calculator depending on the RATE control register + content.

  • +
  • Enable Virtual LCD Delay +

    Try this option for a better 4 color gray scale display simulation + output.

  • +
  • Always On Top +

    When this option is checked, the emulator window will always be the + topmost one.

  • +
  • Activation Follows Mouse +

    This option enables a X-Mouse style windows activation. When the + mouse is moved over the emulator window, the emulator is getting the + focus and popping up into foreground.

  • +
  • Single Instance +

    When this option is checked, the program is only allowed to run in + a single instance. If another running instance is detected, the detected + instance is set into foreground as active window and get a request to + change his state file to the given one by the current instance. Finally + the current instance is terminated.

  • +
  • Automatically Save Files +

    When this option is checked, the current state file will automatically + saved when you change to another state file, but not when you close the + emulator program.

  • +
  • Automatically Save Files On Exit +

    When this option is checked, the current state file will be saved + automatically at the end when the emulator program is closed.

  • +
  • Show Load Object Warning +

    When this option is checked, you'll get a warning message box when you + try to load an object with the Load Object... menu command. If + this option is unchecked, the warning will be skipped.

  • +
  • Always Show KML Compilation Result +

    When this option is checked, you see the results of the KML + (Keyboard Macro Language) interpreter at every KML script load.

  • +
+

8.6.1.2 Section Style

+
    +
  • Show Title +

    When this option is checked, the window title bar is visible.

  • +
  • Show Menu +

    When this option is checked, the menu bar is enabled. If unchecked, + the menu is accessible as context menu in the client area outside the + calculator button definitions.

  • +
+

8.6.1.3 Section Disassembler

+

Choosing the assembler syntax:

+
    +
  • HP Mnemonics +

    This is the standard syntax used by HP.

  • +
  • Class Mnemonics +

    Class (Clarke assembler) was written by Lutz Vieweg in 1991, at a time + when HP had not published their own development tools. The syntax is very + similar to the AG and STAR mnemonics used at this time. Especially + published assembler programs written for the HP28S use the similar AG + syntax.

  • +
+

8.6.2 Settings Memory

+

8.6.2.1 Section Memory Cards

+
    +
  • Port 1 is Plugged +

    When this option is checked, a 128 KB RAM card is emulated in card + Port 1. The RAM card content is saved in the current emulator state + file.

  • +
  • Port 1 is Writeable +

    When this option is checked, the RAM card in card Port 1 is + writable else the card is Read-Only by simulating the card write + protect switch.

  • +
  • Port 2 is Shared +

    When this option is unchecked, only the first instance of Emu48 + will allow you to use the RAM card in Port 2. When this option is + checked, the first instance of Emu48 will give you both read and + write access to this RAM card. If you start Emu48 in another + instance, the RAM card in Port 2 will be write-protected. Thus you + can transfer files very easily between two calculators. This RAM card + is used by both S/SX and G/GX types.

  • +
  • Port 2 is Writeable +

    This option represents the actual read/write state of the Port 2 + file. Changing the option will also change the state for the + calculator by modifying the Read-Only attribute of the file.

  • +
  • Port 2 File +

    You can add a RAM card of up to 4MB to a HP48. By default, no such + card will be created when you start Emu48. The MkShared.exe utility + will allow you to create one. To create a Port 2 RAM Card, call the + program, select the RAM Card size, enter the card file name and press + the 'Create' button. That's it. Please remember, this program replace + the destination file without any request!

    +

    If you already have a Port 2 card file in unpacked format, you + have to copy the file into the emulator directory. If you choose a + different directory you have to use a full path file name.

    +

    If you use RAM cards greater than 128 KB in a HP48SX, you can only + see the first 128 KB of the card. Please remember, the firmware of + all HP48GX versions has a bug when using a 4 MB RAM card. You always + get the message "Warning: Invalid Card Data" at startup + and Port 33 is inaccessible. This is not a bug of the emulator!

    +

    When you have created or copied the file, enter the card file + name into the Port 2 File edit box.

    +

    Please remember, all port configuration changes mostly behave + like on the original calculator. This means when you do this changes + with the emulated calculator on, it's the same like when you do this + with a real calculator on. In many times, this depends on the current + state of the calculator, this will work without any problems by doing + an automatically calculator warmstart. But for the most secure way, + switch off the emulated calculator first, please!

  • +
+

8.6.3 Settings Peripheral

+

8.6.3.1 Section Sound

+

A new implementation of the sound engine made ROM patches for sound + output obsolete. The new sound engine emulates the behavior of the beeper + output ports and only work in connection with a sound card. Using the + internal PC speaker isn't possible any more. The old beeper method with a + ROM patch is still working but deprecated, it's strongly recommended to + remove all beep patches from your current KML scripts to enable the new + sound engine. The support of the old sound implementation by a ROM patch + maybe removed in later versions of the emulator and remaining beep + patches will corrupt the ROM with an illegal opcode then. +

+

+ For the sound generation the calculator must know his own CPU strobe + frequency. On the real calculator the speed depends on various settings + like component tolerances, actual temperature, humidity and other + variables. The resulting speed is measured by the calculator firmware + at a cold- or at a warmstart and stored in the =CSPEED variable. The + content of this calculator variable has direct influence on the + resulting frequency and duration. On the emulator the HP48SX CPU + strobe frequency is set by the registry key + HKCU\Software\Emu48\Emulator\SXCycles, for all other + calculators at HKCU\Software\Emu48\Emulator\GXCycles. + For some reasons the CPU cycles are only estimated and so the + strobe frequency value in the registry is not the exact CPU strobe + frequency of the calculator in Hz divided by 16384 like in the + other emulators. Because older versions of the emulator were not + able to measure the CPU strobe frequency properly or the strobe + frequency registry content has been changed since the last + measurement, the =CSPEED variable of this session file may contain + a wrong frequency value. You easily may discover this by measuring + the real duration of a 10s beep. Is the difference to 10s less + than 1s everything is ok, if not, you should perform a + warmstart of the calculator in this + session file. Alternatively you may execute a + Reset Calculator. This recalls the measuring + routine and save the result in the speed variable. Both restart + variants purge the stack content! +

+
    +
  • Volume +

    The output volume can be selected with the Volume slider relative to + the Master Volume control. +

  • +
  • Device +

    By default the sound device is set to "Standard Audio", but + you can also manually choose the output device. The device name is + somehow cut since Window Vista, but the method of reading the device + name is used for backwards compatibility to older versions of the + Operating System. When you change the Standard Audio device in the + Operating System settings dialog, the internal device numbering may + change, and so the manually selected audio device.

  • +
+

8.6.3.2 Section Infrared Printer

+

The emulator has the ability to print data to a HP82240A/B printer + simulation. The data transfer to the printer simulator is done over UDP. + In this section you can the define the IPv4 address and the port the + printer simulator is listening. A suitable HP82240B printer simulation can + be found here.

+

8.6.3.3 Section Serial Ports

+
    +
  • Wire +

    In the Wire combo box you can select the COM port device connected + to the wire port of the calculator.

  • +
  • Ir +

    In the Ir combo box you can select the COM port device connected + to the IR port of the calculator. Please remember that the IR port + only work with 2400 baud.

  • +
+

8.7 Exit

+

Quit emulation. The default actions at finishing are defined in the + Settings dialog. If the current session is + "Untitled" you are asked for a session file name using the + Save As... dialog. If you quit the emulator + without a given filename, you're asked for choosing a KML script at + next startup.

+

9. Edit Menu

+

9.1 Load Object...

+

This is only valid for the HP48SX, HP48GX and the HP49G emulation. + You can load HP48 and HP49G binary objects to stack level 1. Therefore + the object must begin with "HPHP48-x" for a HP48 or with + "HPHP49-x" for a HP49G binary object where x can be any + alphanumeric character. If the binary header isn't present, the object + is loaded as string. Dropping HP objects over the emulator window will + also load objects. Be sure that the emulator isn't busy before doing + this.

+

9.2 Save Object...

+

This is only valid for the HP48SX, HP48GX and the HP49G emulation. + Save the current object in stack level 1 as binary object to disk.

+

9.3 Copy Screen

+

Copy the screen content as bitmap to the clipboard.

+

9.4 Copy Stack

+

This is only valid for the HP48SX, HP48GX and the HP49G emulation.

+

Copy a "Real Number", "Complex Number" or + "String" object in stack level 1 to the clipboard. On all + other objects, the command will be ignored. This prevents sending + binary objects to the clipboard.

+

The decimal point (radix mark) of "Real Numbers" in the + clipboard is equal to the calculator setting. This point maybe + important when you try to paste the numbers into a program using the + locale settings of the host operating system.

+

9.5 Paste Stack

+

This is only valid for the HP48SX, HP48GX and the HP49G emulation.

+

Paste the text field content of the clipboard to stack level 1 of + the emulated calculator. If the clipboard content is representing a + real number, the number will be saved as "Real Number" + object. Is the content a complex number object, the number will be + saved as "Complex Number" object, in all other cases as + "String" object.

+

To import "Real or Complex Numbers" from the clipboard, + the decimal point (radix mark) of the clipboard and calculator + must be equal. A real or complex number is only detected in the + case of valid real number characters in the clipboard. Especially + heading and tailing white spaces aren't valid number characters + also.

+

Complex numbers must be in the form (a,b) when using the + point radix mark or in the form (a;b) when using the comma + radix mark. The Cartesian or algebraic form a+bi is not + supported.

+

9.6 Reset Calculator

+

This emulates the Reset pin of the internal CPU.

+

9.7 Backup

+

9.7.1 Backup Save

+

This saves the current emulator status into a backup slot. If the + backup slot already contain data, it will be overwritten.

+

9.7.2 Backup Restore

+

This restores a previous saved emulator status without request. If you + changed the calculator model meanwhile, the emulator will switch back to + the old model.

+

9.7.3 Backup Delete

+

This deletes the data in the backup slot.

+

10. View Menu

+

10.1 Change KML Script...

+

This allows you to change the skin of the current emulated calculator. + In opposite to the New... command you see only scripts emulating the same + calculator model.

+

11. Tools Menu

+

11.1 Disassembler...

+

This is a simple disassembler.

+

Enter the address to disassemble in hexadecimal into the "Address + (HEX)" field and press <Return>. With the "Next Address" + button the next opcode is disassembled. With the "Copy Data" button + you can copy all selected lines inside the list box to the clipboard.

+

11.2 Debugger...

+

The assembler code debugger of the emulator. For more details refer to the + extra documentation of the debugger please.

+

11.3 Macro

+

The keyboard macro recorder unit.

+

11.3.1 Macro Record...

+

Prompts a dialog to enter the macro file for the data to record. After + accepting the confirm message, every key event is recorded into the macro + file with it's time information.

+

11.3.2 Macro Play...

+

Prompts a dialog box to ask for the keyboard macro file to play. The + replay starts immediately after selecting the file.

+

11.3.3 Macro Stop

+

Stops recording or replaying a keyboard macro file.

+

11.3.4 Macro Settings...

+

Settings for the Macro Replay mode

+
    +
  • Real +

    Replay macro with the original recording speed.

  • +
  • Manual +

    Replay macro with the speed set by the speed slider.

  • +
+

12. Help Menu

+

12.1 Help Topics

+

Call this document.

+

12.2 About Emu48...

+

The version, copyright and license message...

+

13. DDE Server

+

Emu48 has an integrated DDE server to transmit data from and to the HP + stack. Because only the HP48 and HP49 have a stack, all DDE transfers + are ignored on the other calculators. You have the same restrictions like + with the commands "Load object..." and "Save + Object...", that a running program may corrupt memory. In difference + you can choose the stack level for the transfer in the DDE item field. + Take care to transmit data only after the acknowledge of the last DDE + transaction.

+

Technical data:

+ + + + + + + + + + + + + + + + + +
Servicename:Emu48
Topicname:Stack
Item:1 (stack level)
Clipboardformat:"CF_HPOBJ" (user defined)
+

The DDE commands CONNECT, POKE and REQUEST are supported.

+

The structure of the clipboard format "CF_HPOBJ":

+ + + + + +
4 Byte (length of object, LSB first)HP object (normal HP object)
+

14. License

+

Emu48 - A HP38G/39G/40G/48SX/48GX/49G Emulator
+ Copyright (C) 2017 Christoph Gießelink

+

This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version.

+

This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details.

+

You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

+
+ + diff --git a/KML_20.DOC b/KML_20.DOC index 09732ec..7bdea49 100644 --- a/KML_20.DOC +++ b/KML_20.DOC @@ -1,6 +1,6 @@ {\rtf1\ansi\ansicpg1252\deff0\deflang1031\deflangfe1031{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\fmodern\fprq1\fcharset0 Courier New;}{\f2\froman\fprq2\fcharset161{\*\fname Times New Roman;}Times New Roman Greek;}{\f3\fswiss\fprq2\fcharset0 Arial;}{\f4\froman\fprq2\fcharset2 Symbol;}} {\colortbl ;\red0\green0\blue0;\red0\green0\blue255;} -{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\nowidctlpar\qc\lang1033\f0\fs56 EmuXY and KML 2.0\par +{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\nowidctlpar\qc\lang1033\f0\fs56 EmuXY and KML 2.0\par \pard\nowidctlpar\fs24\par \b\fs28 Introduction\b0\par \fs24\par @@ -40,8 +40,10 @@ Basics\b0\par \tab Rom STRING\par \tab Patch STRING\par \tab Bitmap STRING\par +\tab\lang1031 Icon STRING\par \tab Color INTEGER INTEGER INTEGER INTEGER\par -\tab Print STRING\par +\tab Scale INTEGER INTEGER\par +\tab\lang1033 Print STRING\par \tab Debug INTEGER\par End\par \fs20\par @@ -56,9 +58,9 @@ End\par \f0\fs24\par \pard\nowidctlpar\qj Hardware is the emulated calculator hardware. This definition is optional on Emu48. The parameter is necessary to separate the KML scripts from each emulator. Valid entries are\par \pard\nowidctlpar Emu10:\par -\f1\fs16\tab Hardware \ldblquote Bert\rdblquote\par +\f1\fs16\tab\lang1031 Hardware \ldblquote Bert\rdblquote\par \f0\fs24 Emu28:\par -\f1\fs16\tab Hardware \ldblquote Centipede\rdblquote\par +\f1\fs16\tab\lang1033 Hardware \ldblquote Centipede\rdblquote\par \f0\fs24 Emu42:\par \f1\fs16\tab Hardware \ldblquote Lewis\rdblquote\par \f0\fs24 Emu48:\par @@ -88,7 +90,7 @@ Emu10:\par \ldblquote E\rdblquote = HP39G or HP40G\par \ldblquote G\rdblquote = HP48G, HP48G+ or HP48GX\par \ldblquote S\rdblquote = HP48S or HP48SX\par -\ldblquote X\rdblquote = HP49G\cf1\par +\lang1031\ldblquote X\rdblquote = HP49G\cf1\par \pard\nowidctlpar\qj Emu71:\par \pard\nowidctlpar\fi720\qj\cf0\lang1036\ldblquote T\rdblquote = HP71B\par \pard\nowidctlpar\qj Example:\par @@ -115,14 +117,22 @@ Bitmap is the bitmap file that will be the \ldblquote faceplate\rdblquote . All \pard\nowidctlpar Example:\par \f1\fs16\tab Bitmap \ldblquote mygx.bmp\rdblquote\par \pard\nowidctlpar\qj\f0\fs24\par +Icon is an optional icon file in the icon file format that will be showed instead the emulator icon at top left of the emulator title bar and at the dialog box.\par +\pard\nowidctlpar Example:\par +\f1\fs16\tab Icon \ldblquote mygx.ico\rdblquote\par +\pard\nowidctlpar\qj\f0\fs24\par Color is an optional setting to define the transparency color of the background bitmap. It takes effect only when both, title bar and menu bar are not shown. The first integer specifies the maximum tolerance between bitmap pixel and reference for color matching followed by three integers defining the RGB numbers (Red, Green and Blue) of the transparency reference color. Each RGB number range from 0 to 255. The difference between the actual pixel and the transparency color is calculated by the formula:\par -\f2 Difference = |\'c4R| + |\'c4G| + |\'c4B| where the \'c4 are the count differences between the color parts of the pixel and \f0 the transparency reference color. The given tolerance value must be greater or equal to the calculated difference to handle this background bitmap \ul position\ulnone as transparent. Because of setting the bitmap position to transparent it\rquote s quite important that the display area in the background bitmap is not set to transparent, else the complete display area will be transparent even if the colors of the display pixel don\rquote t match with the transparency reference color.\par +\f2 Difference = |\'c4R| + |\'c4G| + |\'c4B| where the \'c4 are the count differences between the color parts of the pixel and the transparency\f0 reference color. The given tolerance value must be greater or equal to the calculated difference to handle this background bitmap \ul position\ulnone as transparent. Because of setting the bitmap position to transparent it\rquote s quite important that the display area in the background bitmap is not set to transparent, else the complete display area will be transparent even if the colors of the display pixel don\rquote t match with the transparency reference color.\par \pard\nowidctlpar Example:\par \f1\fs16\tab Color 0 255 0 0\par \pard\nowidctlpar\qj\f0\fs24\par +Scale allows to resize the background bitmap with a factor. Background bitmap dependent positions like the button definitions, the display origin and the display Zoom factor are translated to the new size. Only for the case of an external annunciator bitmap definition, the source annunciator coordinates and size information aren\rquote t translated. The first argument is the \ldblquote multiplier\rdblquote , the second the \ldblquote dividend\rdblquote of the factor.\par +\pard\nowidctlpar Example:\par +\f1\fs16\tab Scale 2 3\par +\pard\nowidctlpar\qj\f0\fs24\par Print will display a string when the KML file is loaded. You can have as many of these as necessary. They are more effective if you put them before the other settings.\par \pard\nowidctlpar Example:\par -\f1\fs16\tab Print \ldblquote My homepage is at {\field{\*\fldinst{HYPERLINK "http://hp.giesselink.com/"}}{\fldrslt{\ul\cf2 http://hp.giesselink.com/}}}\f1\fs16\rdblquote\par +\f1\fs16\tab Print \ldblquote My homepage is at http://hp.giesselink.com/\rdblquote\par \pard\nowidctlpar\qj\f0\fs24\par Debug sets the emulator to return an information message box telling the scancode number of the keyboard key pressed when the scancode number isn\rquote t defined. Valid entries are 0 or 1. One is on and Zero is off.\par \pard\nowidctlpar Example:\par @@ -133,13 +143,13 @@ Debug sets the emulator to return an information message box telling the scancod \tab This section sets where the background bitmap will be placed and the size of the emulator window.\par \par \par -\f1\fs16 Background\par +\lang1031\f1\fs16 Background\par \tab Vga INTEGER\par \tab Topbar INTEGER\par \tab Menubar INTEGER\par \tab Offset INTEGER INTEGER\par \tab Size INTEGER INTEGER\par -End\par +\lang1033 End\par \f0\fs24\par \par \pard\nowidctlpar\qj Offset is how far the top left corner of the bitmap will be offset in the window. Most of the time you should set this to 0 0. The first integer is the amount of pixels to the right and the second is that amount of pixels down.\par @@ -172,31 +182,41 @@ End\par \tab Zoomxy INTEGER INTEGER\par \tab\lang1033 Vertical INTEGER\par \tab Offset INTEGER INTEGER\par +\tab Bitmap STRING\par \tab Color INTEGER INTEGER INTEGER INTEGER\par End\par \f0\fs24\par \par -\pard\nowidctlpar\qj Zoom is the size of the pixels in the LCD screen. This command is only valid for Emu28, Emu42 (Lewis) Emu48 and Emu71 and will be ignored on Emu10 and Emu42 (Sacajawea). Valid entries are 1, 2, 3 or 4. Zoom factor two is usually used by the dot matrix LCD types emulated by Emu28, Emu42 (Lewis), Emu48 and Emu71.\par +\pard\nowidctlpar\qj Zoom is the size of the pixels in the LCD screen. This command is only valid for Emu28, Emu42 (Lewis), Emu48 and Emu71 and will be ignored on Emu10 and Emu42 (Sacajawea). Zoom factor two is usually used by the dot matrix LCD types emulated by Emu28, Emu42 (Lewis), Emu48 and Emu71.\par \pard\nowidctlpar Example:\par \f1\fs16\tab Zoom 2\par \f0\fs24\par -Zoomxy is a variant of the Zoom command only valid for Emu42 (Lewis). On Emu42 (Lewis) the High-End-Pioneer calculator series has originally a non quadratic rectangle as display pixel. The height of the pixel is normally bound to the zoom factor. But in some circumstances it\rquote s useful to adjust the height of the pixel separately from the width. The first integer is the width and the second integer is the height of the dot matrix pixel. The width integer is still limited to 1, 2, 3 or 4, but the height integer can be any positive integer number.\par +Zoomxy is a variant of the Zoom command only valid for Emu42 (Lewis) and Emu48. On Emu42 (Lewis) the High-End-Pioneer calculator series has originally a non quadratic rectangle as display pixel. The height of the pixel is normally bound to the zoom factor. But in some circumstances it\rquote s useful to adjust the height of the pixel separately from the width. The first integer is the width and the second integer is the height of the dot matrix pixel.\par Example:\par \f1\fs16\tab Zoomxy 2 3\par +\pard\nowidctlpar\qj\f0\fs24\par +Vertical is a special command only for the Pocket PC versions of Emu42 and Emu48 to rotate the display drawing by 90\'b0 anti-clockwise.\par +\pard\nowidctlpar Example:\par +\f1\fs16\tab Vertical 1\par \f0\fs24\par \pard\nowidctlpar\qj Offset sets the position of the LCD screen. The first integer is the amount of pixels right and the second is the amount of pixels down.\par \pard\nowidctlpar Example:\par \f1\fs16\tab Offset 20 20\par \f0\fs24\par -\pard\nowidctlpar\qj Color sets the color of the LCD display for different contrast settings. The first Integer is the contrast setting value. The number of setting values depends on the hardware type.\par +\pard\nowidctlpar\qj Bitmap \super (*1) \nosupersub is an optional command for including an external annunciator bitmap instead of using the annunciators in the background bitmap.\par +\pard\nowidctlpar Example:\par +\f1\fs16\tab Bitmap \ldblquote mylcd.bmp\rdblquote\par +\pard\nowidctlpar\qj\f0\fs24\par +Color sets the color of the LCD display for different contrast settings. The first Integer is the contrast setting value. The number of setting values depends on the hardware type.\par \par Emu10:\par \pard\nowidctlpar\fi720\qj 0-7 = 0 is lightest, 7 is darkest\par -\pard\nowidctlpar\qj Emu42 (Sacajawea), Emu71:\par +\pard\nowidctlpar\qj\par +Emu42 (Sacajawea), Emu71:\par \pard\nowidctlpar\fi720\qj 0-15 = foreground colors (Pixel on), 0 is lightest, 15 is darkest\par 16-31 = background colors (Pixel off), 16 corresponds to 0, 17 to 1, \'85\par -\pard\nowidctlpar\qj Emu28, Emu42 (Lewis):\par -\pard\nowidctlpar\fi720\qj 0-31 = foreground colors (Pixel on), 0 is lightest, 15 is darkest\par +\pard\nowidctlpar\qj\lang1031 Emu28, Emu42 (Lewis):\par +\pard\nowidctlpar\fi720\qj\lang1033 0-31 = foreground colors (Pixel on), 0 is lightest, 15 is darkest\par 32-63 = background colors (Pixel off), 32 corresponds to 0, 33 to 1, \'85\par \pard\nowidctlpar\qj Emu48:\par \pard\nowidctlpar\fi720\qj 0-31 = foreground colors (Pixel on), 0 is lightest, 15 is darkest\par @@ -256,8 +276,8 @@ Max\tab : max. adjustable contrast value by keyboard\par \pard\nowidctlpar\b0\par \lang1031\f1\fs16 Digit\par \tab Offset INTEGER INTEGER\par -\tab Size INTEGER INTEGER\par -\tab\lang1033 Distance INTEGER\par +\tab\lang1033 Size INTEGER INTEGER\par +\tab Distance INTEGER\par \tab Bitmap STRING\par End\par \f0\fs24\par @@ -298,10 +318,11 @@ Example:\par \pard\nowidctlpar\qj\tab Annunciators are the 23 (Emu10), 60 (Emu42 (Sacajawea)), six (Emu48), seven (Emu28, Emu42 (Lewis)) and 32 (Emu71) status icons on the screen. You must specify one of these blocks for each annunciator.\par \pard\nowidctlpar\par \par -\f1\fs16 Annunciator INTEGER\par +\lang1031\f1\fs16 Annunciator INTEGER\par \tab Size INTEGER INTEGER\par \tab Offset INTEGER INTEGER\par -\tab Down INTEGER INTEGER\par +\tab\lang1033 Down INTEGER INTEGER\par +\tab Opaque INTEGER\par End\par \f0\fs24\par \par @@ -321,15 +342,18 @@ Example:\par \pard\nowidctlpar Example:\par \f1\fs16\tab Down 16 485\par \f0\fs24\par -\b\fs28\page Button\par -\b0\fs24\par +\pard\nowidctlpar\qj Opaque, available on Emu28, Emu42 (Lewis) and Emu71, controls the visual style of an annunciator. The annunciator symbol is normally drawn with the actual pixel color on a transparent background. This default behavior was chosen to draw the annunciators inside a display area with realistic background colors. The other way is using an opaque annunciator with the advantage of using a full colored annunciator without transparency.\par +\pard\nowidctlpar Example:\par +\f1\fs16\tab Opaque 1\par +\pard\nowidctlpar\qj\b\f0\fs28\page Button\par +\pard\nowidctlpar\b0\fs24\par \tab Button sets the position of the button and what the button does.\par \par -\f1\fs16 Button INTEGER\par +\lang1031\f1\fs16 Button INTEGER\par \tab Type INTEGER\par \tab Size INTEGER INTEGER\par \tab Offset INTEGER INTEGER\par -\tab Down INTEGER INTEGER\par +\tab\lang1033 Down INTEGER INTEGER\par \tab OutIn INTEGER INTEGER\par \tab Virtual\par \tab NoHold\par @@ -456,24 +480,24 @@ Example:\par \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 v\cell\cell 4\cell 5\cell 6\cell *\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 5 4\cell\cell 3 4\cell 2 4\cell 1 4\cell 0 4\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 SHIFT\cell\cell 1\cell 2\cell 3\cell -\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 -\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 5 2\cell\cell 3 2\cell 2 2\cell 1 2\cell 0 2\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 +\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\lang1036\b0\fs20 5 2\cell\cell 3 2\cell 2 2\cell 1 2\cell 0 2\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 C\cell\cell 0\cell .\cell =\cell +\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 0 32768\cell\cell 3 1\cell 2 1\cell 1 1\cell 0 1\cell\row\pard\nowidctlpar\cf0\f0\fs24\par \pard\nowidctlpar\qj\b\fs28\page OutIn Codes HP19BII\par \pard\nowidctlpar\par \trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 -\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\cellx1986\cellx2994\cellx4002\cellx5010\cellx6018\pard\intbl\nowidctlpar\cf2\f3\fs24 Key\cell\b0\cell\cell\cell\cell\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 +\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\cellx1986\cellx2994\cellx4002\cellx5010\cellx6018\pard\intbl\nowidctlpar\cf2\lang1033\f3\fs24 Key\cell\b0\cell\cell\cell\cell\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\cellx1986\cellx2994\cellx4002\cellx5010\cellx6018\pard\intbl\nowidctlpar\cf1\b\fs20 OutIn\cell\b0\cell\cell\cell\cell\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \cellx978\cellx1986\cellx2994\cellx4002\cellx5010\cellx6018\pard\intbl\nowidctlpar\b\fs16\cell\b0\cell\cell\cell\cell\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 -\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 A\cell B\cell C\cell D\cell E\cell F\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 +\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 A\cell\lang1040 B\cell C\cell D\cell E\cell\lang1033 F\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 6 256\cell 6 2048\cell 6 64\cell 6 32\cell 6 1\cell 6 1024\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 -\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 G\cell\lang1040 H\cell I\cell J\cell K\cell L\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 +\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 G\cell H\cell\lang1040 I\cell J\cell K\cell\lang1031 L\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 5 256\cell 5 2048\cell 5 64\cell 5 32\cell 5 1\cell 5 1024\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 -\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 M\cell N\cell O\cell\lang1036 P\cell Q\cell R\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 +\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 M\cell N\cell\lang1040 O\cell P\cell Q\cell\lang1033 R\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 4 256\cell 4 2048\cell 4 64\cell 4 32\cell 4 1\cell 4 1024\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 -\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 S\cell T\cell U\cell V\cell W\cell X\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 -\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 3 256\cell 3 2048\cell 3 64\cell 4 32\cell 4 1\cell 4 1024\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 -\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 Y\cell\lang1040 Z\cell ?\cell $\cell #\cell :\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 +\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 S\cell T\cell\lang1031 U\cell V\cell W\cell\lang1036 X\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 +\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 3 256\cell 3 2048\cell 3 64\cell 3 32\cell 3 1\cell 3 1024\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 +\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 Y\cell Z\cell\lang1040 ?\cell $\cell #\cell :\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 2 256\cell 2 2048\cell 2 64\cell 2 32\cell 2 1\cell 2 1024\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 SPACE\cell INS\cell DEL\cell\lang1033 <-\cell ->\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 1 2048\cell 1 64\cell 1 32\cell 1 1\cell 1 1024\cell\row\pard\nowidctlpar\cf0\f0\fs24\par @@ -492,7 +516,7 @@ Example:\par \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 v\cell\cell 4\cell 5\cell 6\cell *\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 3 2\cell\cell 3 128\cell 3 512\cell 3 4\cell 3 8\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 %\cell\cell 1\cell 2\cell 3\cell -\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 -\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 5 2\cell\cell 3 2\cell 2 2\cell 1 2\cell 0 2\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 +\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 2 2\cell\cell 2 128\cell 2 512\cell 2 4\cell 2 8\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 ON\cell O\cell .\cell =\cell +\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 0 32768\cell 1 128\cell 1 512\cell 1 4\cell 1 8\cell\row\pard\nowidctlpar\cf0\f0\fs24\par \pard\nowidctlpar\qj\b\fs28\page OutIn Codes HP20S / HP21S\par @@ -584,7 +608,7 @@ Example:\par \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 M\cell N\cell O\cell\lang1036 P\cell Q\cell R\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 4 256\cell 4 2048\cell 4 64\cell 4 32\cell 4 1\cell 4 1024\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 S\cell T\cell U\cell V\cell W\cell X\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 -\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 3 256\cell 3 2048\cell 3 64\cell 4 32\cell 4 1\cell 4 1024\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 +\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 3 256\cell 3 2048\cell 3 64\cell 3 32\cell 3 1\cell 3 1024\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 Y\cell\lang1033 Z\cell #\cell\{\cell [\cell (\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 2 256\cell 2 2048\cell 2 64\cell 2 32\cell 2 1\cell 2 1024\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 SPACE\cell <<\cell =\cell LC\cell ALPHA\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 @@ -598,7 +622,7 @@ Example:\par \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 SHIFT\cell <^v>\cell TRIG\cell SOLV\cell USER\cell NEXT\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\lang1031\b0\fs20 6 2\cell 6 128\cell 6 512\cell 6 4\cell 6 8\cell 6 16\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 ENTER\cell CHS\cell EEX\cell\lang1040 DROP\cell <-\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 -\clbrdrl\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 6 128\cell 5 512\cell 5 4\cell 5 8\cell 5 16\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 +\clbrdrl\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 5 128\cell 5 512\cell 5 4\cell 5 8\cell 5 16\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 '\cell\cell 7\cell 8\cell 9\cell /\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrr\brdrw30\brdrs\clbrdrb\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf1\b0\fs20 4 2\cell\cell 4 128\cell 4 512\cell 4 4\cell 4 8\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 \clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx978\cellx1986\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx2994\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx4002\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx5010\clbrdrl\brdrw30\brdrs\clbrdrt\brdrw30\brdrs\clbrdrr\brdrw30\brdrs \cellx6018\pard\intbl\nowidctlpar\cf2\b\fs24 STO\cell\cell\lang1036 4\cell 5\cell 6\cell *\cell\row\trowd\trgaph30\trleft-30\trpaddl30\trpaddr30\trpaddfl3\trpaddfr3 @@ -793,16 +817,16 @@ or\par \tab\tab \par \tab End\par Or\par -\tab IfMem INTEGER INTEGER INTEGER\par -\tab\tab \par +\tab\lang1031 IfMem INTEGER INTEGER INTEGER\par +\tab\tab\lang1033 \par \tab Else\par \tab\tab \par \tab End\par or\par -\tab SetFlag INTEGER\par +\tab\lang1031 SetFlag INTEGER\par or\par \tab ResetFlag INTEGER\par -or\par +\lang1033 or\par \tab NotFlag INTEGER\par or\par \tab IfFlag INTEGER\par @@ -904,7 +928,7 @@ Example:\par \b0\fs24\par \pard\nowidctlpar\qj This document was originally written by Casey Patterson for the Keyboard Macro Language made by S\'e9bastien Carlier and is now maintained by Christoph Gie\'dfelink.\par \pard\nowidctlpar\par -I\rquote m sorry, the authors can\rquote t give any individual support, try the forum at {\field{\*\fldinst{HYPERLINK "http://www.hpmuseum.org/"}}{\fldrslt{\ul\cf2 http://www.hpmuseum.org/}}}\f0\fs24 please.\par +I\rquote m sorry, the authors can\rquote t give any individual support, try the forum at http://www.hpmuseum.org/ please.\par \par \par The latest updates are available at:\par @@ -913,9 +937,10 @@ The latest updates are available at:\par \pard\nowidctlpar\fi720\b0 c.giesselink@gmx.de\par \pard\nowidctlpar\par \pard\nowidctlpar\fi720 Christoph Giesselink Main Page\par -\pard\fi720{\field{\*\fldinst{HYPERLINK "http://hp.giesselink.com/"}}{\fldrslt{\ul\cf2 http://hp.giesselink.com/}}}\f0\fs24\par +http://hp.giesselink.com/\par \pard\nowidctlpar\par \par -Release 18: May 18th, 2015\par +Release 19: August 15th, 2017\par +\par } \ No newline at end of file diff --git a/PROBLEMS.TXT b/PROBLEMS.TXT index edfff3e..727e589 100644 --- a/PROBLEMS.TXT +++ b/PROBLEMS.TXT @@ -1,4 +1,4 @@ -Known bugs and restrictions of Emu48 V1.58 +Known bugs and restrictions of Emu48 V1.59 ------------------------------------------ - the following I/O bits aren't emulated (incomplete) @@ -47,4 +47,4 @@ Known bugs and restrictions of Emu48 V1.58 - quitting the emulator while programming the flash isn't allowed, because the content of flash state machine isn't saved so far -08/16/16 (c) by Christoph Gießelink, c dot giesselink at gmx dot de +08/15/17 (c) by Christoph Gießelink, c dot giesselink at gmx dot de diff --git a/Sources/Emu48/CHANGES.TXT b/Sources/Emu48/CHANGES.TXT index 0b0948e..ad5c41a 100644 --- a/Sources/Emu48/CHANGES.TXT +++ b/Sources/Emu48/CHANGES.TXT @@ -1,3 +1,78 @@ +Service Pack 59 for Emu48 Version 1.0 + +DISPLAY.C +- splitted nGdiZoom in nGdiXZoom and nGdiYZoom to get the ability + for different zoom factors in x and y direction +- added function CreateAnnunBitmap() and DestroyAnnunBitmap(), + handle a separate annunciator bitmap +- changed function UpdateMainDisplay(), UpdateMenuDisplay(), + WriteToMainDisplay() and WriteToMenuDisplay(), modified to the + separated nGdiXZoom and nGdiYZoom zoom factors +- bugfix in function ResizeWindow(), added Critical Section for GDI + access + +EMU48.C +- changed function OnPaint(), modified to the separated nGdiXZoom + and nGdiYZoom zoom factors +- added function OnTopics() to call help file +- changed function MainWndProc(), added ID_HELP_TOPICS message + handler + +EMU48.H +- changed window style for disabled title bar, added system menu + with minimize in task bar +- extern declaration of global variables and functions + +EMU48.RC +- changed IDD_CHOOSEKML, enlarged width of dialog to get an enlarged + "Current KML Script" combo box +- changed IDD_KMLLOG, enlarged width of "Title of the Script", "by" + and "The Author" text boxes +- added Menuitem Help "Help Topics" in main menu +- changed version and copyright + +FILES.C +- changed function NewDocument(), removed SetWindowLocation() call + in restore case because on a valid document the window position + was already restored in function RestoreBackup() +- changed function GetSaveObjectFilename(), changed function + behavior with file extensions; the old implementation added the + default extension always when the file had no extension or the + given extension wasn't in the file filter list, the actual + implementation adds the default extension for the case of no + extension only +- added function LoadIconFromFile(), load icon file and activate the + icons +- added function LoadIconDefault(), activate the window class + default icons + +KML.C +- added keyword "Zoomxy", "Scale" and "Icon" to pLexToken[] table +- changed function InitGlobal(), added implementation of keyword + "Scale" and "Icon" +- changed function InitLcd(), adjusted keyword "Zoom" to the + separated nGdiXZoom and nGdiYZoom zoom factors, added + implementation of keyword "Zoomxy" and "Bitmap" +- changed function KillKML(), added LoadIconDefault() to disable + custom icons, added DestroyAnnunBitmap() and preset of some global + variables +- changed function DrawAnnunciator(), added alternative annunciator + bitmap +- added function ResizeMainBitmap(), resize main bitmap and main + bitmap dependend variables like size, offset, ... +- changed function InitKML(), added scaling main bitmap + +KML.H +- added TOK_ZOOMXY, TOK_SCALE and TOK_ICON definition + +MOPS.C +- changed function Npeek() and Nread(), removed conditional jump for + speed optimization + +RESOURCE.H +- added ID_HELP_TOPICS definition + + Service Pack 58 for Emu48 Version 1.0 DDESERV.C diff --git a/Sources/Emu48/DISPLAY.C b/Sources/Emu48/DISPLAY.C index 764d8f0..a90ef1d 100644 --- a/Sources/Emu48/DISPLAY.C +++ b/Sources/Emu48/DISPLAY.C @@ -49,9 +49,11 @@ UINT nBackgroundH = 0; UINT nLcdX = 0; UINT nLcdY = 0; UINT nLcdZoom = 1; // memory DC zoom -UINT nGdiZoom = 1; // GDI zoom +UINT nGdiXZoom = 1; // GDI x zoom +UINT nGdiYZoom = 1; // GDI y zoom HDC hLcdDC = NULL; HDC hMainDC = NULL; +HDC hAnnunDC = NULL; // annunciator DC BYTE (*GetLineCounter)(VOID) = NULL; VOID (*StartDisplay)(BYTE byInitial) = NULL; @@ -68,6 +70,7 @@ static LPBYTE pbyLcd; static HBITMAP hLcdBitmap; static HBITMAP hMainBitmap; +static HBITMAP hAnnunBitmap; static DWORD Pattern[16]; static BYTE Buf[36]; @@ -265,6 +268,40 @@ VOID DestroyMainBitmap(VOID) return; } +// +// load annunciator bitmap +// +BOOL CreateAnnunBitmap(LPCTSTR szFilename) +{ + _ASSERT(hWindowDC != NULL); + VERIFY(hAnnunDC = CreateCompatibleDC(hWindowDC)); + if (hAnnunDC == NULL) return FALSE; // quit if failed + hAnnunBitmap = LoadBitmapFile(szFilename); + if (hAnnunBitmap == NULL) + { + DeleteDC(hAnnunDC); + hAnnunDC = NULL; + return FALSE; + } + hAnnunBitmap = (HBITMAP) SelectObject(hAnnunDC,hAnnunBitmap); + return TRUE; +} + +// +// destroy annunciator bitmap +// +VOID DestroyAnnunBitmap(VOID) +{ + if (hAnnunDC != NULL) + { + VERIFY(DeleteObject(SelectObject(hAnnunDC,hAnnunBitmap))); + DeleteDC(hAnnunDC); + hAnnunDC = NULL; + hAnnunBitmap = NULL; + } + return; +} + //**************** //* //* LCD functions @@ -402,7 +439,7 @@ VOID UpdateMainDisplay(VOID) } EnterCriticalSection(&csGDILock); // solving NT GDI problems { - StretchBlt(hWindowDC, nLcdX, nLcdY, 131*nLcdZoom*nGdiZoom, nLines*nLcdZoom*nGdiZoom, + StretchBlt(hWindowDC, nLcdX, nLcdY, 131*nLcdZoom*nGdiXZoom, nLines*nLcdZoom*nGdiYZoom, hLcdDC, Chipset.boffset*nLcdZoom, 0, 131*nLcdZoom, nLines*nLcdZoom,SRCCOPY); GdiFlush(); } @@ -508,8 +545,8 @@ VOID UpdateMenuDisplay(VOID) } EnterCriticalSection(&csGDILock); // solving NT GDI problems { - StretchBlt(hWindowDC, nLcdX, nLcdY+nLines*nLcdZoom*nGdiZoom, - 131*nLcdZoom*nGdiZoom, (64-nLines)*nLcdZoom*nGdiZoom, + StretchBlt(hWindowDC, nLcdX, nLcdY+nLines*nLcdZoom*nGdiYZoom, + 131*nLcdZoom*nGdiXZoom, (64-nLines)*nLcdZoom*nGdiYZoom, hLcdDC, 0, nLines*nLcdZoom, 131*nLcdZoom, (64-nLines)*nLcdZoom, SRCCOPY); GdiFlush(); } @@ -640,8 +677,8 @@ VOID WriteToMainDisplay(LPBYTE a, DWORD d, UINT s) EnterCriticalSection(&csGDILock); { - StretchBlt(hWindowDC, nLcdX+x0*nGdiZoom, nLcdY+y0*nGdiZoom, - x*nGdiZoom, (y-y0)*nGdiZoom, + StretchBlt(hWindowDC, nLcdX+x0*nGdiXZoom, nLcdY+y0*nGdiYZoom, + x*nGdiXZoom, (y-y0)*nGdiYZoom, hLcdDC, x0+Chipset.boffset*nLcdZoom, y0, x, y-y0, SRCCOPY); GdiFlush(); } @@ -804,8 +841,8 @@ VOID WriteToMenuDisplay(LPBYTE a, DWORD d, UINT s) EnterCriticalSection(&csGDILock); // solving NT GDI problems { - StretchBlt(hWindowDC, nLcdX+x0*nGdiZoom, nLcdY+y0*nGdiZoom, - (x-x0)*nGdiZoom, (y-y0+nLcdZoom)*nGdiZoom, + StretchBlt(hWindowDC, nLcdX+x0*nGdiXZoom, nLcdY+y0*nGdiYZoom, + (x-x0)*nGdiXZoom, (y-y0+nLcdZoom)*nGdiYZoom, hLcdDC, x0, y0, x-x0, y-y0+nLcdZoom, SRCCOPY); GdiFlush(); } @@ -862,8 +899,13 @@ VOID ResizeWindow(VOID) SWP_NOMOVE | SWP_NOZORDER); } - _ASSERT(hWindowDC); // move destination window - SetWindowOrgEx(hWindowDC, nBackgroundX, nBackgroundY, NULL); + EnterCriticalSection(&csGDILock); // solving NT GDI problems + { + _ASSERT(hWindowDC); // move origin of destination window + VERIFY(SetWindowOrgEx(hWindowDC, nBackgroundX, nBackgroundY, NULL)); + GdiFlush(); + } + LeaveCriticalSection(&csGDILock); InvalidateRect(hWnd,NULL,TRUE); } return; diff --git a/Sources/Emu48/EMU48.C b/Sources/Emu48/EMU48.C index 0fe546f..cb43967 100644 --- a/Sources/Emu48/EMU48.C +++ b/Sources/Emu48/EMU48.C @@ -13,7 +13,7 @@ #include "kml.h" #include "debugger.h" -#define VERSION "1.58" +#define VERSION "1.59" #ifdef _DEBUG LPCTSTR szNoTitle = _T("Emu48 ")_T(VERSION)_T(" Debug"); @@ -886,12 +886,12 @@ static LRESULT OnPaint(HWND hWindow) // redraw main display area StretchBlt(hPaintDC, nLcdX, nLcdY, - 131*nLcdZoom*nGdiZoom, nLines*nLcdZoom*nGdiZoom, + 131*nLcdZoom*nGdiXZoom, nLines*nLcdZoom*nGdiYZoom, hLcdDC, Chipset.boffset*nLcdZoom, 0, 131*nLcdZoom, nLines*nLcdZoom, SRCCOPY); // redraw menu display area - StretchBlt(hPaintDC, nLcdX, nLcdY+nLines*nLcdZoom*nGdiZoom, - 131*nLcdZoom*nGdiZoom, (64-nLines)*nLcdZoom*nGdiZoom, + StretchBlt(hPaintDC, nLcdX, nLcdY+nLines*nLcdZoom*nGdiYZoom, + 131*nLcdZoom*nGdiXZoom, (64-nLines)*nLcdZoom*nGdiYZoom, hLcdDC, 0, nLines*nLcdZoom, 131*nLcdZoom, (64-nLines)*nLcdZoom, SRCCOPY); GdiFlush(); @@ -1710,6 +1710,12 @@ static LRESULT OnToolDisasm(VOID) // disasm dialogbox call return 0; } +static LRESULT OnTopics(VOID) +{ + ShellExecute(hWnd,_T("open"),_T("Emu48.htm"),NULL,szEmuDirectory,SW_SHOWNORMAL); + return 0; +} + static LRESULT OnAbout(VOID) { if (DialogBox(hApp, MAKEINTRESOURCE(IDD_ABOUT), hWnd, (DLGPROC)About) == -1) @@ -1947,6 +1953,7 @@ LRESULT CALLBACK MainWndProc(HWND hWindow, UINT uMsg, WPARAM wParam, LPARAM lPar case ID_TOOL_MACRO_PLAY: return OnToolMacroPlay(); case ID_TOOL_MACRO_STOP: return OnToolMacroStop(); case ID_TOOL_MACRO_SETTINGS: return OnToolMacroSettings(); + case ID_HELP_TOPICS: return OnTopics(); case ID_ABOUT: return OnAbout(); } // check if command ID belongs to MRU file area diff --git a/Sources/Emu48/EMU48.H b/Sources/Emu48/EMU48.H index 4a270a7..a9336b5 100644 --- a/Sources/Emu48/EMU48.H +++ b/Sources/Emu48/EMU48.H @@ -60,7 +60,7 @@ // window styles #define STYLE_TITLE (WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_OVERLAPPED) -#define STYLE_NOTITLE (WS_POPUP|WS_CLIPSIBLINGS) +#define STYLE_NOTITLE (WS_POPUP|WS_SYSMENU|WS_MINIMIZEBOX|WS_CLIPSIBLINGS) // WM_COPYDATA identifier #define CDID_FILENAME 1 // send file name @@ -152,34 +152,38 @@ extern VOID WriteSettingsInt(LPCTSTR lpszSection, LPCTSTR lpszEntry, INT nValue) extern VOID DelSettingsKey(LPCTSTR lpszSection, LPCTSTR lpszEntry); // Display.c -extern BOOL bGrayscale; -extern UINT nBackgroundX; -extern UINT nBackgroundY; -extern UINT nBackgroundW; -extern UINT nBackgroundH; -extern UINT nLcdX; -extern UINT nLcdY; -extern UINT nLcdZoom; -extern UINT nGdiZoom; -extern HDC hLcdDC; -extern HDC hMainDC; -extern BYTE (*GetLineCounter)(VOID); -extern VOID (*StartDisplay)(BYTE byInitial); -extern VOID (*StopDisplay)(VOID); -extern VOID UpdateContrast(BYTE byContrast); -extern VOID SetLcdColor(UINT nId, UINT nRed, UINT nGreen, UINT nBlue); -extern VOID SetLcdMode(BOOL bMode); -extern VOID CreateLcdBitmap(VOID); -extern VOID DestroyLcdBitmap(VOID); -extern BOOL CreateMainBitmap(LPCTSTR szFilename); -extern VOID DestroyMainBitmap(VOID); -extern VOID UpdateDisplayPointers(VOID); -extern VOID UpdateMainDisplay(VOID); -extern VOID UpdateMenuDisplay(VOID); -extern VOID WriteToMainDisplay(LPBYTE a, DWORD d, UINT s); -extern VOID WriteToMenuDisplay(LPBYTE a, DWORD d, UINT s); -extern VOID UpdateAnnunciators(VOID); -extern VOID ResizeWindow(VOID); +extern BOOL bGrayscale; +extern UINT nBackgroundX; +extern UINT nBackgroundY; +extern UINT nBackgroundW; +extern UINT nBackgroundH; +extern UINT nLcdX; +extern UINT nLcdY; +extern UINT nLcdZoom; +extern UINT nGdiXZoom; +extern UINT nGdiYZoom; +extern HDC hLcdDC; +extern HDC hMainDC; +extern HDC hAnnunDC; +extern BYTE (*GetLineCounter)(VOID); +extern VOID (*StartDisplay)(BYTE byInitial); +extern VOID (*StopDisplay)(VOID); +extern VOID UpdateContrast(BYTE byContrast); +extern VOID SetLcdColor(UINT nId, UINT nRed, UINT nGreen, UINT nBlue); +extern VOID SetLcdMode(BOOL bMode); +extern VOID CreateLcdBitmap(VOID); +extern VOID DestroyLcdBitmap(VOID); +extern BOOL CreateMainBitmap(LPCTSTR szFilename); +extern VOID DestroyMainBitmap(VOID); +extern BOOL CreateAnnunBitmap(LPCTSTR szFilename); +extern VOID DestroyAnnunBitmap(VOID); +extern VOID UpdateDisplayPointers(VOID); +extern VOID UpdateMainDisplay(VOID); +extern VOID UpdateMenuDisplay(VOID); +extern VOID WriteToMainDisplay(LPBYTE a, DWORD d, UINT s); +extern VOID WriteToMenuDisplay(LPBYTE a, DWORD d, UINT s); +extern VOID UpdateAnnunciators(VOID); +extern VOID ResizeWindow(VOID); // Engine.c extern BOOL bInterrupt; @@ -279,6 +283,8 @@ extern BOOL GetSaveObjectFilename(LPCTSTR lpstrFilter,LPCTSTR lpstrDefExt); extern WORD WriteStack(UINT nStkLevel,LPBYTE lpBuf,DWORD dwSize); extern BOOL LoadObject(LPCTSTR szFilename); extern BOOL SaveObject(LPCTSTR szFilename); +extern BOOL LoadIconFromFile(LPCTSTR szFilename); +extern VOID LoadIconDefault(VOID); extern HBITMAP LoadBitmapFile(LPCTSTR szFilename); extern HRGN CreateRgnFromBitmap(HBITMAP hBmp,COLORREF color,DWORD dwTol); diff --git a/Sources/Emu48/EMU48.RC b/Sources/Emu48/EMU48.RC index 54eaf48..6fd24b0 100644 --- a/Sources/Emu48/EMU48.RC +++ b/Sources/Emu48/EMU48.RC @@ -114,7 +114,7 @@ BEGIN IDD_CHOOSEKML, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 188 + RIGHTMARGIN, 208 TOPMARGIN, 7 BOTTOMMARGIN, 59 END @@ -295,7 +295,7 @@ FONT 8, "MS Sans Serif" BEGIN ICON IDI_EMU48,IDC_STATIC,7,6,20,20,SS_REALSIZEIMAGE LTEXT "",IDC_VERSION,29,6,151,8,NOT WS_GROUP - LTEXT "Copyright © 2016 Christoph Gießelink && Sébastien Carlier", + LTEXT "Copyright © 2017 Christoph Gießelink && Sébastien Carlier", IDC_STATIC,29,18,181,8 DEFPUSHBUTTON "OK",IDOK,215,12,39,14 EDITTEXT IDC_LICENSE,7,33,247,112,ES_MULTILINE | ES_AUTOHSCROLL | @@ -383,18 +383,18 @@ BEGIN GROUPBOX "Serial Ports",IDC_STATIC,161,64,83,50 END -IDD_CHOOSEKML DIALOG DISCARDABLE 0, 0, 195, 66 +IDD_CHOOSEKML DIALOG DISCARDABLE 0, 0, 215, 66 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Choose Your KML Script" FONT 8, "MS Sans Serif" BEGIN - DEFPUSHBUTTON "OK",IDOK,138,7,50,14 - PUSHBUTTON "Cancel",IDCANCEL,138,27,50,14 - COMBOBOX IDC_KMLSCRIPT,7,47,181,120,CBS_DROPDOWNLIST | + DEFPUSHBUTTON "OK",IDOK,158,7,50,14 + PUSHBUTTON "Cancel",IDCANCEL,158,27,50,14 + COMBOBOX IDC_KMLSCRIPT,7,47,201,120,CBS_DROPDOWNLIST | CBS_OEMCONVERT | CBS_SORT | WS_VSCROLL | WS_TABSTOP - EDITTEXT IDC_EMUDIR,7,17,106,14,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_EMUDIRSEL,113,17,10,14 - PUSHBUTTON "V",IDC_UPDATE,123,17,10,14 + EDITTEXT IDC_EMUDIR,7,17,126,14,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_EMUDIRSEL,133,17,10,14 + PUSHBUTTON "V",IDC_UPDATE,143,17,10,14 LTEXT "Emu48 Directory :",IDC_STATIC,7,7,115,8 LTEXT "Current KML Script :",IDC_STATIC,7,37,115,8 END @@ -410,9 +410,9 @@ BEGIN IDC_ALWAYSDISPLOG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP, 7,146,139,14 GROUPBOX "",IDC_STATIC,7,7,287,36 - CTEXT "Title of the Script",IDC_TITLE,71,14,158,8 - CTEXT "by",IDC_STATIC,71,22,158,8 - CTEXT "The Author",IDC_AUTHOR,71,30,158,8,NOT WS_GROUP + CTEXT "Title of the Script",IDC_TITLE,7,14,287,8 + CTEXT "by",IDC_STATIC,7,22,287,8 + CTEXT "The Author",IDC_AUTHOR,7,30,287,8,NOT WS_GROUP EDITTEXT IDC_KMLLOG,7,48,287,92,ES_MULTILINE | ES_AUTOHSCROLL | ES_OEMCONVERT | ES_READONLY | WS_VSCROLL | NOT WS_TABSTOP @@ -691,8 +691,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,5,8,0 - PRODUCTVERSION 1,5,8,0 + FILEVERSION 1,5,9,0 + PRODUCTVERSION 1,5,9,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -709,12 +709,12 @@ BEGIN BEGIN VALUE "CompanyName", "Christoph Gießelink & Sebastien Carlier\0" VALUE "FileDescription", "HP38/39/40/48/49 Emulator\0" - VALUE "FileVersion", "1, 5, 8, 0\0" + VALUE "FileVersion", "1, 5, 9, 0\0" VALUE "InternalName", "Emu48\0" - VALUE "LegalCopyright", "Copyright © 2016\0" + VALUE "LegalCopyright", "Copyright © 2017\0" VALUE "OriginalFilename", "Emu48.exe\0" VALUE "ProductName", "Emu48\0" - VALUE "ProductVersion", "1, 5, 8, 0\0" + VALUE "ProductVersion", "1, 5, 9, 0\0" END END BLOCK "VarFileInfo" @@ -796,6 +796,8 @@ BEGIN END POPUP "&Help" BEGIN + MENUITEM "&Help Topics", ID_HELP_TOPICS + MENUITEM SEPARATOR MENUITEM "&About Emu48...", ID_ABOUT END END @@ -861,6 +863,8 @@ BEGIN END POPUP "&Help" BEGIN + MENUITEM "&Help Topics", ID_HELP_TOPICS + MENUITEM SEPARATOR MENUITEM "&About Emu48...", ID_ABOUT END END diff --git a/Sources/Emu48/FILES.C b/Sources/Emu48/FILES.C index d80709c..abc2ed5 100644 --- a/Sources/Emu48/FILES.C +++ b/Sources/Emu48/FILES.C @@ -874,7 +874,6 @@ restore: } if (pbyRom) { - SetWindowLocation(hWnd,Chipset.nPosX,Chipset.nPosY); Map(0x00,0xFF); } return FALSE; @@ -1440,7 +1439,7 @@ BOOL GetSaveObjectFilename(LPCTSTR lpstrFilter,LPCTSTR lpstrDefExt) InitializeOFN(&ofn); ofn.lpstrFilter = lpstrFilter; - ofn.lpstrDefExt = lpstrDefExt; + ofn.lpstrDefExt = NULL; ofn.nFilterIndex = 1; ofn.lpstrFile = szBuffer; ofn.lpstrFile[0] = 0; @@ -1449,6 +1448,19 @@ BOOL GetSaveObjectFilename(LPCTSTR lpstrFilter,LPCTSTR lpstrDefExt) if (GetSaveFileName(&ofn) == FALSE) return FALSE; _ASSERT(ARRAYSIZEOF(szBufferFilename) == ofn.nMaxFile); lstrcpy(szBufferFilename, ofn.lpstrFile); + if (ofn.nFileExtension == 0) // given filename has no extension + { + // actual name length + UINT nLength = lstrlen(szBufferFilename); + + // destination buffer has room for the default extension + if (nLength + 1 + lstrlen(lpstrDefExt) < ARRAYSIZEOF(szBufferFilename)) + { + // add default extension + szBufferFilename[nLength++] = _T('.'); + lstrcpy(&szBufferFilename[nLength], lpstrDefExt); + } + } return TRUE; } @@ -1586,6 +1598,39 @@ BOOL SaveObject(LPCTSTR szFilename) // separated stack reading part +//################ +//# +//# Load Icon +//# +//################ + +BOOL LoadIconFromFile(LPCTSTR szFilename) +{ + HANDLE hIcon; + + SetCurrentDirectory(szEmuDirectory); + // not necessary to destroy because icon is shared + hIcon = LoadImage(NULL, szFilename, IMAGE_ICON, 0, 0, LR_DEFAULTSIZE|LR_LOADFROMFILE|LR_SHARED); + SetCurrentDirectory(szCurrentDirectory); + + if (hIcon) + { + SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM) hIcon); + SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM) hIcon); + } + return hIcon != NULL; +} + +VOID LoadIconDefault(VOID) +{ + // use window class icon + SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM) NULL); + SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM) NULL); + return; +} + + + //################ //# //# Load Bitmap diff --git a/Sources/Emu48/KML.C b/Sources/Emu48/KML.C index e05d10a..bebd4cf 100644 --- a/Sources/Emu48/KML.C +++ b/Sources/Emu48/KML.C @@ -81,6 +81,7 @@ static CONST KmlToken pLexToken[] = {TOK_AUTHOR, 000002, 6,_T("Author")}, {TOK_BITMAP, 000002, 6,_T("Bitmap")}, {TOK_OFFSET, 000011, 6,_T("Offset")}, + {TOK_ZOOMXY, 000011, 6,_T("Zoomxy")}, {TOK_BUTTON, 000001, 6,_T("Button")}, {TOK_IFFLAG, 000001, 6,_T("IfFlag")}, {TOK_ONDOWN, 000000, 6,_T("OnDown")}, @@ -97,12 +98,14 @@ static CONST KmlToken pLexToken[] = {TOK_CLASS, 000001, 5,_T("Class")}, {TOK_PRESS, 000001, 5,_T("Press")}, {TOK_IFMEM, 000111, 5,_T("IfMem")}, + {TOK_SCALE, 000011, 5,_T("Scale")}, {TOK_TYPE, 000001, 4,_T("Type")}, {TOK_SIZE, 000011, 4,_T("Size")}, {TOK_ZOOM, 000001, 4,_T("Zoom")}, {TOK_DOWN, 000011, 4,_T("Down")}, {TOK_ELSE, 000000, 4,_T("Else")}, {TOK_ONUP, 000000, 4,_T("OnUp")}, + {TOK_ICON, 000002, 4,_T("Icon")}, {TOK_MAP, 000011, 3,_T("Map")}, {TOK_ROM, 000002, 3,_T("Rom")}, {TOK_VGA, 000001, 3,_T("Vga")}, // for PPC compatibility reasons @@ -137,6 +140,9 @@ static UINT uButtonClicked = 0; static BOOL bKeyPressed = FALSE; // no key pressed static UINT uLastKeyPressed = 0; // var for last pressed key +static INT nScaleMul = 0; // no scaling +static INT nScaleDiv = 0; + //################ //# //# Compilation Result @@ -1242,6 +1248,14 @@ static VOID InitGlobal(KmlBlock* pBlock) nCurrentClass = (UINT) pLine->nParam[0]; PrintfToLog(_T("Calculator Class : %u"), nCurrentClass); break; + case TOK_ICON: + if (!LoadIconFromFile((LPTSTR) pLine->nParam[0])) + { + PrintfToLog(_T("Cannot load Icon %s."), (LPTSTR)pLine->nParam[0]); + break; + } + PrintfToLog(_T("Icon %s loaded."), (LPTSTR)pLine->nParam[0]); + break; case TOK_DEBUG: bDebug = (BOOL) pLine->nParam[0]&1; PrintfToLog(_T("Debug %s"), bDebug?_T("On"):_T("Off")); @@ -1290,6 +1304,10 @@ static VOID InitGlobal(KmlBlock* pBlock) dwTColorTol = (DWORD) pLine->nParam[0]; dwTColor = RGB((BYTE) pLine->nParam[1],(BYTE) pLine->nParam[2],(BYTE) pLine->nParam[3]); break; + case TOK_SCALE: + nScaleMul = (INT) pLine->nParam[0]; + nScaleDiv = (INT) pLine->nParam[1]; + break; default: PrintfToLog(_T("Command %s Ignored in Block %s"), GetStringOf(pLine->eCommand), GetStringOf(pBlock->eType)); } @@ -1335,20 +1353,45 @@ static KmlLine* InitLcd(KmlBlock* pBlock) nLcdY = (UINT) pLine->nParam[1]; break; case TOK_ZOOM: - if ((nGdiZoom = (UINT) pLine->nParam[0]) == 0) - { - nGdiZoom = 1; // default zoom - } + if ((nGdiXZoom = (UINT) pLine->nParam[0]) == 0) + nGdiXZoom = 1; // default zoom // search for memory DC zoom (1-4) - for (nLcdZoom = 4; (nGdiZoom % nLcdZoom) != 0; --nLcdZoom) { }; - _ASSERT(nLcdZoom > 0); // because (nGdiZoom % 1) == 0 - nGdiZoom /= nLcdZoom; // remainder is GDI zoom + for (nLcdZoom = 4; (nGdiXZoom % nLcdZoom) != 0; --nLcdZoom) { }; + _ASSERT(nLcdZoom > 0); // because (nGdiXZoom % 1) == 0 + nGdiXZoom /= nLcdZoom; // remainder is GDI zoom + nGdiYZoom = nGdiXZoom; + break; + case TOK_ZOOMXY: + if ((nGdiXZoom = (UINT) pLine->nParam[0]) == 0) + nGdiXZoom = 1; // default zoom + if ((nGdiYZoom = (UINT) pLine->nParam[1]) == 0) + nGdiYZoom = 1; // default zoom + + // search for memory DC zoom (1-4) + for (nLcdZoom = 4; ((nGdiXZoom % nLcdZoom) | (nGdiYZoom % nLcdZoom)) != 0 ; --nLcdZoom) { }; + _ASSERT(nLcdZoom > 0); // because (nGdiYZoom % 1) == 0 && (nGdiYZoom % 1) == 0 + nGdiXZoom /= nLcdZoom; // remainder is GDI zoom + nGdiYZoom /= nLcdZoom; break; case TOK_COLOR: SetLcdColor((UINT) pLine->nParam[0],(UINT) pLine->nParam[1], (UINT) pLine->nParam[2],(UINT) pLine->nParam[3]); break; + case TOK_BITMAP: + if (hAnnunDC != NULL) + { + PrintfToLog(_T("Bitmap %s ignored."), (LPCTSTR)pLine->nParam[0]); + AddToLog(_T("Please put only one Bitmap command in the Lcd block.")); + break; + } + if (!CreateAnnunBitmap((LPCTSTR)pLine->nParam[0])) + { + PrintfToLog(_T("Cannot load Annunciator Bitmap %s."), (LPCTSTR)pLine->nParam[0]); + break; + } + PrintfToLog(_T("Annunciator Bitmap %s loaded."), (LPCTSTR)pLine->nParam[0]); + break; case TOK_END: return pLine; default: @@ -1638,6 +1681,7 @@ VOID KillKML(VOID) } UnmapRom(); DestroyLcdBitmap(); + DestroyAnnunBitmap(); DestroyMainBitmap(); if (hPalette) { @@ -1659,6 +1703,7 @@ VOID KillKML(VOID) } hRgn = NULL; } + LoadIconDefault(); bClicking = FALSE; uButtonClicked = 0; FreeBlocks(pKml); @@ -1680,9 +1725,12 @@ VOID KillKML(VOID) nBackgroundW = 256; nBackgroundH = 0; nLcdZoom = 1; - nGdiZoom = 1; + nGdiXZoom = 1; + nGdiYZoom = 1; dwTColor = (DWORD) -1; dwTColorTol = 0; + nScaleMul = 0; + nScaleDiv = 0; cCurrentRomType = 0; nCurrentClass = 0; ResizeWindow(); @@ -2076,17 +2124,22 @@ VOID RefreshButtons(RECT *rc) VOID DrawAnnunciator(UINT nId, BOOL bOn) { + HDC hDC; UINT nSx,nSy; --nId; // zero based ID if (nId >= ARRAYSIZEOF(pAnnunciator)) return; if (bOn) { + hDC = hAnnunDC != NULL ? hAnnunDC : hMainDC; + nSx = pAnnunciator[nId].nDx; // position of annunciator nSy = pAnnunciator[nId].nDy; } else { + hDC = hMainDC; + nSx = pAnnunciator[nId].nOx; // position of background nSy = pAnnunciator[nId].nOy; } @@ -2095,7 +2148,7 @@ VOID DrawAnnunciator(UINT nId, BOOL bOn) BitBlt(hWindowDC, pAnnunciator[nId].nOx, pAnnunciator[nId].nOy, pAnnunciator[nId].nCx, pAnnunciator[nId].nCy, - hMainDC, + hDC, nSx, nSy, SRCCOPY); GdiFlush(); @@ -2291,6 +2344,105 @@ VOID PlayKey(UINT nOut, UINT nIn, BOOL bPressed) //# //################ +static VOID ResizeMainBitmap(INT nMul, INT nDiv) +{ + if (nMul * nDiv > 0) // resize main picture + { + BITMAP Bitmap; + int nMode; + INT nWidth,nHeight; + UINT i; + + // update graphic + nBackgroundX = MulDiv(nBackgroundX,nMul,nDiv); + nBackgroundY = MulDiv(nBackgroundY,nMul,nDiv); + nBackgroundW = MulDiv(nBackgroundW,nMul,nDiv); + nBackgroundH = MulDiv(nBackgroundH,nMul,nDiv); + nLcdX = MulDiv(nLcdX,nMul,nDiv); + nLcdY = MulDiv(nLcdY,nMul,nDiv); + nGdiXZoom = MulDiv(nGdiXZoom * nLcdZoom,nMul,nDiv); + nGdiYZoom = MulDiv(nGdiYZoom * nLcdZoom,nMul,nDiv); + + // search for memory DC zoom (1-4) + for (nLcdZoom = 4; ((nGdiXZoom % nLcdZoom) | (nGdiYZoom % nLcdZoom)) != 0 ; --nLcdZoom) { }; + _ASSERT(nLcdZoom > 0); // because (nGdiYZoom % 1) == 0 && (nGdiYZoom % 1) == 0 + nGdiXZoom /= nLcdZoom; // remainder is GDI zoom + nGdiYZoom /= nLcdZoom; + + // update script coordinates (buttons) + for (i = 0; i < nButtons; ++i) + { + pButton[i].nOx = (UINT) (pButton[i].nOx * nMul / nDiv); + pButton[i].nOy = (UINT) (pButton[i].nOy * nMul / nDiv); + pButton[i].nDx = (UINT) (pButton[i].nDx * nMul / nDiv); + pButton[i].nDy = (UINT) (pButton[i].nDy * nMul / nDiv); + pButton[i].nCx = (UINT) (pButton[i].nCx * nMul / nDiv); + pButton[i].nCy = (UINT) (pButton[i].nCy * nMul / nDiv); + } + + // update script coordinates (annunciators) + for (i = 0; i < ARRAYSIZEOF(pAnnunciator); ++i) + { + // translate offset + pAnnunciator[i].nOx = (UINT) (pAnnunciator[i].nOx * nMul / nDiv); + pAnnunciator[i].nOy = (UINT) (pAnnunciator[i].nOy * nMul / nDiv); + + if (hAnnunDC == NULL) // no external annunciator bitmap + { + // translate down (with rounding) + pAnnunciator[i].nDx = (UINT) MulDiv(pAnnunciator[i].nDx,nMul,nDiv); + pAnnunciator[i].nDy = (UINT) MulDiv(pAnnunciator[i].nDy,nMul,nDiv); + // translate size (with rounding) + pAnnunciator[i].nCx = (UINT) MulDiv(pAnnunciator[i].nCx,nMul,nDiv); + pAnnunciator[i].nCy = (UINT) MulDiv(pAnnunciator[i].nCy,nMul,nDiv); + } + } + + EnterCriticalSection(&csGDILock); // solving NT GDI problems + { + // get bitmap size + GetObject(GetCurrentObject(hMainDC,OBJ_BITMAP),sizeof(Bitmap),&Bitmap); + + // resulting bitmap size + nWidth = MulDiv(Bitmap.bmWidth,nMul,nDiv); + nHeight = MulDiv(Bitmap.bmHeight,nMul,nDiv); + + VERIFY(nMode = SetStretchBltMode(hMainDC,HALFTONE)); + + if (nMul <= nDiv) // shrinking bitmap + { + VERIFY(StretchBlt( + hMainDC,0,0,nWidth,nHeight, + hMainDC,0,0,Bitmap.bmWidth,Bitmap.bmHeight, + SRCCOPY)); + } + else // expanding bitmap + { + // bitmap with new size + HDC hMemDC = CreateCompatibleDC(hMainDC); + HBITMAP hMainBitMap = CreateCompatibleBitmap(hMainDC,nWidth,nHeight); + HBITMAP hMemBitMap = (HBITMAP) SelectObject(hMemDC,SelectObject(hMainDC,hMainBitMap)); + + VERIFY(StretchBlt( + hMainDC,0,0,nWidth,nHeight, + hMemDC,0,0,Bitmap.bmWidth,Bitmap.bmHeight, + SRCCOPY)); + + // delete original bitmap + VERIFY(DeleteObject(SelectObject(hMemDC,hMemBitMap))); + DeleteDC(hMemDC); + } + + VERIFY(SetStretchBltMode(hMainDC,nMode)); + + GdiFlush(); + } + LeaveCriticalSection(&csGDILock); + ResizeWindow(); + } + return; +} + static KmlBlock* LoadKMLGlobal(LPCTSTR szFilename) { HANDLE hFile; @@ -2429,6 +2581,7 @@ BOOL InitKML(LPCTSTR szFilename, BOOL bNoLog) goto quit; } + ResizeMainBitmap(nScaleMul,nScaleDiv); // resize main picture CreateLcdBitmap(); PrintfToLog(_T("%i Buttons Defined"), nButtons); diff --git a/Sources/Emu48/KML.H b/Sources/Emu48/KML.H index f2d0346..ced8be5 100644 --- a/Sources/Emu48/KML.H +++ b/Sources/Emu48/KML.H @@ -32,36 +32,39 @@ typedef enum eTokenId TOK_GLOBAL, //16 TOK_AUTHOR, //17 TOK_BITMAP, //18 - TOK_OFFSET, //19 - TOK_BUTTON, //20 - TOK_IFFLAG, //21 - TOK_ONDOWN, //22 - TOK_NOHOLD, //23 - TOK_LOCALE, //24 - TOK_TOPBAR, //25 - TOK_MENUBAR, //26 - TOK_TITLE, //27 - TOK_OUTIN, //28 - TOK_PATCH, //29 - TOK_PRINT, //30 - TOK_DEBUG, //31 - TOK_COLOR, //32 - TOK_MODEL, //33 - TOK_CLASS, //34 - TOK_PRESS, //35 - TOK_IFMEM, //36 - TOK_TYPE, //37 - TOK_SIZE, //38 - TOK_DOWN, //39 - TOK_ZOOM, //40 - TOK_ELSE, //41 - TOK_ONUP, //42 - TOK_EOL, //43 - TOK_MAP, //44 - TOK_ROM, //45 - TOK_VGA, //46 - TOK_LCD, //47 - TOK_END //48 + TOK_ZOOMXY, //19 + TOK_OFFSET, //20 + TOK_BUTTON, //21 + TOK_IFFLAG, //22 + TOK_ONDOWN, //23 + TOK_NOHOLD, //24 + TOK_LOCALE, //25 + TOK_TOPBAR, //26 + TOK_MENUBAR, //27 + TOK_TITLE, //28 + TOK_OUTIN, //29 + TOK_PATCH, //30 + TOK_PRINT, //31 + TOK_DEBUG, //32 + TOK_COLOR, //33 + TOK_MODEL, //34 + TOK_CLASS, //35 + TOK_PRESS, //36 + TOK_IFMEM, //37 + TOK_SCALE, //38 + TOK_TYPE, //39 + TOK_SIZE, //40 + TOK_DOWN, //41 + TOK_ZOOM, //42 + TOK_ELSE, //43 + TOK_ONUP, //44 + TOK_ICON, //45 + TOK_EOL, //46 + TOK_MAP, //47 + TOK_ROM, //48 + TOK_VGA, //49 + TOK_LCD, //50 + TOK_END //51 } TokenId; #define TYPE_NONE 00 diff --git a/Sources/Emu48/MOPS.C b/Sources/Emu48/MOPS.C index 7c3dabe..cd1dbca 100644 --- a/Sources/Emu48/MOPS.C +++ b/Sources/Emu48/MOPS.C @@ -753,8 +753,9 @@ VOID Npeek(BYTE *a, DWORD d, UINT s) } } } - if (s-=c) {a+=c; d=(d+c)&0xFFFFF;} - } while (s); + a+=c; + d=(d+c)&0xFFFFF; + } while (s-=c); return; } @@ -843,8 +844,9 @@ VOID Nread(BYTE *a, DWORD d, UINT s) for (u=0; ux;BKAX#U{apCyrx^sHkrcqQ5il}N6 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 A(EtDd delta 33820 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