HP Forums

Full Version: Zenrom or CCD rom?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

What are the differences/similarities between these two modules? Is their microcode listing available? Thanks in advance. Thib.

CCD ROM

The CCD ROM is a utilities module written by users in W. Germany. It has system enhancements similar to the Zenrom (direct entry of many synthetic functions) but not as complete. It has additional alpha keyboards (like Zenrom) and gives you 16 cats (0 to F)

CCD gives you a PEEK and POKE function to access memory anywhere on the HP41.

You gt a random number generator, boolean functions, and materix operations.

and much more...

A warning is that this module contains more bugs than the Zenrom. (and is not compatible with it).

ZENROM

The main purpose of this module is to make synthetic programming easier. This module makes it trivially simple to enter instructions like RCL Q or STO e as well as alpha strings with any character, and a range of other synthetic instructions.

There are a number of functions that function simillarly to PPC ROM functions, but are written in M Code, so are much faster.

I have a Zenrom, but not a CCD rom. I am quite fond of my Zenrom. :-)

Some information on the CCD-Rom.

It extents all models of HP41 but best is a CX or having X-Functions- and Time-Module plus printer and IL.

CAT 0 .. F CAT 0 displays ID/AID of IL-peripherals

ENTER selects C forces Device Clear CAT 1 no new function CAT 2 shows headings only, ENTER opens the functionblock

XEQ executes or programs that function

A assigns that function CAT 3 no new function CAT 4 like EMDIR, but Buffer-, Matrix- and Key-Files are

shown correctly CAT 5 no new function CAT 6 Shows any Key-Assignments but synthetic codes are

shown correctly 'TEXT7' or RCL M

C deletes an assignment CAT 7 calles DIR-function of IL-module CAT 8..F like CAT 2, but beginning with the module

on address 8..F

CAT 8 port 1 lower

CAT 9 port 1 upper

CAT A port 2 lower

CAT B port 2 upper

CAT C port 3 lower

CAT D port 3 upper

CAT E port 4 lower

CAT F port 5 upper

ASN allows decimal/hex input of any possible 2 byte

sequence (144 117 for RCL M) XEQ allows decimal input of any possible 2 byte sequence

direct input of any STACK register function

RCL.e STO.c X .a ... direct upper-/lower-case input to ALPHA includes also

decimal and hex entry!

General functions: B? exists a buffer with this identity (X) CAS clear CCD-autostartbit CLB clear buffer with this identity (X) RNDM get a random number SAS set CCD-autostartbit SEED define a startvalue for RNDM SORT sorts a range of registers (Riii, Rjjj) X=iii,jjj

up/or down includes ALPHA

38 of Array-functions like Advantage-Module

One is build from the other!

Hexfunctions: 1CMP 1's complement mode 2CMP 2's complement mode AND bC? bit clear ? bS? bit set? Cb clear bit NOT OR R rotate right, " S shift right, " Sb set bit UNS unsigned mode WSIZE presets the bitsize for all hex-fns (1..32 bits) XOR

I/O functios ABSP alphabackspace (one character) ACAXY accumulate ALPHA by X and Y ('ALPHA'-> 'ALPHA X')

ALPHA left, X right, total width in Y to printerbuf. ACLX accumulate line by X (aa,bbb) puts bbb count of char

aa into printerbuffer ARCLE ARCL's 10 E3 into ALPHA as 10K

23 E7 230M

2.2 E-9 2.2N ... ARCHLH ARCLS's X as HEX-CHARS into ALPHA depends on

mode and WSIZE ARCLI ARCL's 33.33 into ALPHA as 33 CLA- deletes ALPHA from right to left until a space is

found 'ABCD 123' --> 'ABCD ' F/E sets FIX/ENG-Mode INPT universal input routine prompts ALPHA, allows

input from Riii to Rjjj include range-checking

R000 iii,jjjcc

R001 min-value

R002 max-value PMTA same as PROMPT, AON, STOP, AOFF sequence PMTH prompts ALPHA, asks for a HEX-number, see WSIZE PMTK prompts ALPHA, get only allowed keys, returns it's

position 'Text JN' N returns 2, J returns 1

unallowed chars rejected with a tone, one or more

spaces required before valid keys! PRAXY like ACAXY, but directly printed PRL prints a line of '-' chars VIEWH shows X as HEX (see WSIZE) XTOAH like XTOA, instead of a char a Hex-string is appended

ADV-Functions: A+ increments RAM-address in X (X=RRR,B) one byte A+B address(X) +-bytes(Y) A- decrements (see A+) A-A subtracts X from Y result is bytes DCD decodes X to ALPHA (appends) 14 HEX-digits PC RTN exchanges PC with the first return-address PC>X gets the current PC into X PEEKB gets one BYTE from RAM like RCL IND X PEEKR gets one REGISTER from RAM like RCL IND X PHD Program head, returns the address of the first

instruction not programmable PLNG returns the length of a program in bytes POKEB STO IND Y see PEEKB POKER STO IND Y see PEEKR PPLNG programmable PHD X>PC sets the PC from X X>RTN sets first RTN-address from X XR>RTN sets first RTN-address to any line of a program in a

ROM X=linenumber, Y=kk,ll (XROM-number

XF-Memory-Functions: GETB GET Buffer from X-MEM-file GETK GET Keys from X-MEM-file (deletes any userkeys

before) MRGK MeRGes Keys from X-MEM-file SAVEB SAVE Buffer to X-MEM-file SAVEK SAVE Keys to X-MEM-file SORTFL sorts a file (only up)

Hints: alpha lowercase mode may not work correctly in REV. A

Hope this will help.

Reinhard

I've just tried to put a structure in this message-box with spaces and 'CR' but it's lost sorry.

Reinhard

submitted to the articles forum. Thanks!

The forum software removes single line breaks to merge lines into paragraphs. However, the articles forum has many additional formatting features like line breaks, preformatted text, bold & italic text, images etc.

Hi David,

thanks for putting it into the articles chapter!

The 38 Matrix-functions sentence should be added back, I'll send You an email on monday 24th, with´the description of the matrix functions.

Have a nice weekend.

Regards

Reinhard