71B EPROM Programming
02-01-2018, 03:43 AM
Post: #21
 Dave Frederickson Senior Member Posts: 1,565 Joined: Dec 2013
RE: 71B EPROM Programming
(02-01-2018 02:29 AM)polbit Wrote:  Am I missing any essential software?

TEST64KE LEX

A LEX file is included on each EPROM shipped from CMT that can be loaded into your ROM image if you desire and if there is room available. TEST32KE or TEST64KE executes by typing ROMTST and pressing RETURN. ROMTST returns ROM OK if the ROM is OK or ROM BAD if the checksum does not add up to "1". If more than one ROM is inserted into the HP-71 with this file loaded, only the first ROM searched with this function will be tested.

117 bytes
02-02-2018, 02:53 AM (This post was last modified: 02-02-2018 03:00 AM by Mark Hardman.)
Post: #22
 Mark Hardman Senior Member Posts: 462 Joined: Dec 2013
RE: 71B EPROM Programming
Thank you everyone for the deluge of suggestions. I have six 71Bs--two with the 1BBBB ROM--so the SHOWPORT LEX would still be useful. I'm thinking that I cannot go wrong with Joe's LEX collection (sans JPCF01); adding in the FRAM71 Toolkit, KEYBOARD and DISLEX still leaves more than 17K free. I'm still digging through Joe's wonderfully well organized site for more ideas, but will likely not be able fill 32K completely. Adding TEST32KE LEX uses another 117 bytes (every little bit helps). Maybe there are some BAS files I could add.

On another subject. I will mainly use the JPC ROM in my 2CDCC that has the (sadly underused) FRAM71 installed. Is there anything useful that could be added to the ML for supporting that configuration?

What a wonderful time to be alive!

Ceci n'est pas une signature.
02-02-2018, 03:05 AM
Post: #23
 Dave Frederickson Senior Member Posts: 1,565 Joined: Dec 2013
RE: 71B EPROM Programming
(02-02-2018 02:53 AM)Mark Hardman Wrote:  On another subject. I will mainly use the JPC ROM in my 2CDCC that has the (sadly underused) FRAM71 installed. Is there anything useful that could be added to the ML for supporting that configuration?

Absolutely! Some cool key assignments courtesy of Bob.

DEF KEY ‘fE’,’PEEK$(“”,)’&CHR$(8)&CHR$(8)&CHR$(8)&CHR$(27)&”N”; DEF KEY ‘fO’,’POKE “”,””’&CHR$(8)&CHR$(8)&CHR$(8)&CHR$(8)&CHR$(27)&”N”;

FRAM71 users may wish to add "2C000" into the assignment.

Dave
02-02-2018, 07:27 PM (This post was last modified: 02-04-2018 03:10 AM by rprosperi.)
Post: #24
 rprosperi Senior Member Posts: 2,735 Joined: Dec 2013
RE: 71B EPROM Programming
(02-02-2018 02:53 AM)Mark Hardman Wrote:  I'm still digging through Joe's wonderfully well organized site for more ideas, but will likely not be able fill 32K completely. Adding TEST32KE LEX uses another 117 bytes (every little bit helps). Maybe there are some BAS files I could add.

Too much memory space to fill is NEVER acceptable....

Here are some suggestions:

1. CURLEX LEX file (109 bytes). Advances cursor by 1 'screen full' at a time when pressing [g] [->], rather than all the way to the end. Avail on Joe's LEX page.

2. SYSLEX LEX file (643 bytes). Lets you access a variety of system settings, such as command stack depth, DELAY settings, etc.; very useful though some of these are also accessible via JPC ROM commands. Avail on Joe's LEX page.

3. FILECOPY - Short BASIC program that lets you copy files between 71Bs connected together via HP-IL. See here.

4. MCOPY LEX file 932 bytes) - Lets you copy complete disk/tape/virtual disk to another with a single command, e.g. COPY :TAPE(1) TO :TAPE(2). Note this LEX does not add any new keywords, it extends the built-in COPY command via poll handler.

5. ULIB52 - A collection of nearly every User Community LEX files which HP issued LEX IDs for. Although somewhat large (6KB) it provides 54 useful commands for all kinds of day-to-day 71B use/programming, etc. This collection was carefully reassembled by JFG over the years, see the full description here, a bit over halfway down. Strongly recommended if you have the room.

Note that if you do include this, you can omit some of the others, e.g. ULIB52 contains all the same commands (with identical LEX IDs) as STRINGLX.

6. KEYBOARD LEX file (Rev C, 1401 bytes) - As Dave mentioned in another thread, this file fixes bugs in the version included in the FORTH/Assembler ROM, which makes a difference when using remote terminals such as pyILPer provides. But make sure the EPROM that contains this LEX is in a lower PORT than the FORTH ROM. See link 2 posts down.

7. PLEX BASIC Program - Prints out all the LEX files installed, and all the commands within each LEX file (a super HELPLX) including argument types, LEX IDs, etc. which is very helpful when writing BASIC programs and you need the exact command spelling, argument order, etc. Available in the OLDP archives.

There are many equivalent programs available as well, SYSCAT, SYSTCAT, and others. Check them out, you may prefer the output style of one over another.

And some things to NOT include in the EPROM:

A. RPN BIN file - RPN Calculator binary program (by C. Capener). Although very tempting to include this so one always has an RPN calculator handy, it uses the poor technique of writing data into itself, and therefore is not compatible with read-only storage.

Note that the RPN BIN program came with RPNLEX (172 bytes) which provided a means to access the RPN stack registers from BASIC programs.

There is also another LEX file (by John Baker, one of the real 71 LEX gurus), also called RPNLEX (much larger), which provides a different RPN Calculator, which likely could be included, but as I use the BIN program (stored in an IRAM) I'm not real familiar with this 2nd one, and am not sure what it provides. Available in the OLDP archives.

B. TAPECATB BASIC program (by Tapani Tarvainen, another of the 71 masters) - excellent program (from many perspectives - useful, coding techniques, etc.) for creating detailed CATalogs of HP-IL media, that include details such as starting/ending sectors, actual byte counts, etc. The output format for this utility is so useful, it has been copied many times by most similar programs since it appeared. Available in the OLDP archives.

Although this is a must-have program, the storage device it examines and reports on is hard-coded and you will, sooner or later, need to use another.

One option is to include it in EPROM, and if/when you need to change drives, just copy it to RAM, change the line (1250) and proceed.

Another option is to modify it to ask for the target drive. (Been on the to-do list for about 10 years...)

Hope this suggestions help, feel free to ask about them if unclear.

--Bob Prosperi
02-04-2018, 01:50 AM
Post: #25
 polbit Junior Member Posts: 46 Joined: Sep 2016
RE: 71B EPROM Programming
Bob, thank you, this is great!

I cannot seem to find the Rev C of KEYBOARD LEX file. Is it somewhere online? I finally got my Forth/Assembler ROM (and 128K RAM, Thanks Paul!) so this will definitely come in handy.
02-04-2018, 03:06 AM
Post: #26
 rprosperi Senior Member Posts: 2,735 Joined: Dec 2013
RE: 71B EPROM Programming
(02-04-2018 01:50 AM)polbit Wrote:  Bob, thank you, this is great!

I cannot seem to find the Rev C of KEYBOARD LEX file. Is it somewhere online? I finally got my Forth/Assembler ROM (and 128K RAM, Thanks Paul!) so this will definitely come in handy.

I thought I had shared this file in the past, but I can't find it, so here's a link where you can download a .LIF file with Rev C of the KEYBOARD LEX file.

--Bob Prosperi
Post: #27
 Paul Berger (Canada) Senior Member Posts: 394 Joined: Dec 2013
RE: 71B EPROM Programming
(02-02-2018 07:27 PM)rprosperi Wrote:  6. KEYBOARD LEX file (Rev C, 1401 bytes) - As Dave mentioned in another thread, this file fixes bugs in the version included in the FORTH/Assembler ROM, which makes a difference when using remote terminals such as pyILPer provides. But make sure the EPROM that contains this LEX is in a lower PORT than the FORTH ROM. See link 2 posts down.
For those of us that are running FORTH from an image stored on a FRAM has anyone thought to update the soft FORTH image with this updated LEX? If not I will do it as I am in the middle of reconfiguring the FRAM one of my 71s.
02-04-2018, 05:41 AM (This post was last modified: 02-04-2018 07:05 PM by Dave Frederickson.)
Post: #28
 Dave Frederickson Senior Member Posts: 1,565 Joined: Dec 2013
RE: 71B EPROM Programming
(02-04-2018 03:20 AM)Paul Berger (Canada) Wrote:
(02-02-2018 07:27 PM)rprosperi Wrote:  6. KEYBOARD LEX file (Rev C, 1401 bytes) - As Dave mentioned in another thread, this file fixes bugs in the version included in the FORTH/Assembler ROM, which makes a difference when using remote terminals such as pyILPer provides. But make sure the EPROM that contains this LEX is in a lower PORT than the FORTH ROM. See link 2 posts down.
For those of us that are running FORTH from an image stored on a FRAM has anyone thought to update the soft FORTH image with this updated LEX? If not I will do it as I am in the middle of reconfiguring the FRAM one of my 71s.

We've patched the hard-coded part of the ROM, why not the soft-coded part. I should update the FRAM71 Toolkit as well.
02-04-2018, 04:26 PM
Post: #29
 Dave Frederickson Senior Member Posts: 1,565 Joined: Dec 2013
RE: 71B EPROM Programming
I should have mentioned, there's some file overhead that needs to be taken into account.

Estimating EPROM Size
An approximation to the amount of memory required for an EPROM
module is done by multiplying the number of files by 25 bytes
(for the file headers), adding the data lengths (from CAT) of all