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