INIT-Module for ERAMCO RSU-2 Rambox Message #1 Posted by PeterP on 17 Feb 2009, 3:41 p.m.
Summary
Based on Diego Diaz’s great article about the Softselect feature of the RSU-2 unit from Eramco, I set out to build a module that would greatly increase the easy of reviving a RSU-2 unit. The result is this INITRSU module. It comes with a set of functions that help the user to restore operation, clear parts or all of the RSU and load the operating system, all of this for all available banks and in a very convenient and save way. Last but not least, it also includes the original SETBANK, PORTON and PORTOFF functions from the RSU operating system. For the curious user, please also find the documented source code at the end of this document. Especially the documentation of the SETBANK instruction might be interesting to study.
Quick-Reference-Guide for functions of INITRSU
XROM 04
01 INIT-RSU no function, module header
02 PORTON( ) the original function to turn on a port (-1 = 8, +3 = F)
03 PORTOFF(1) the original function to turn off a port
04 SETBANK(1) the original function to select a bank from 1-4
05 CLPOLLA function that clears all polling points in all pages and banks
06 CLRSUA function that clears all pages in all banks. CAREFUL!
07 CLPOLLB function that clears the polling points in bank specified via X-reg
08 CLRSUB function that clears all pages in bank specified via X-reg
09 CLBL( ) clear a block specified in X, can clear across page boundaries
10 COPYP(2) copy page S to page D, SD in alpha
11 CODE(2) code a NNN into X from Alpha
12 DECODE(2) decode a NNN from X into Alpha
13 ROMSUM(2) calculates and stores the correct checksum for a page
14 HEXIN( ) direct entry of a NNN
15 BLCAT(3) Block-cat showing the content of each page
16 RAMWR(2) MCODE Hexeditor to write directly into the RSU
17 SAVEROM(2) Save a page from X to HP-IL with name from alpha
18 GETROM(2) Get a page from HP-IL with name in alpha to page in X
19 LOCA(2) Find a specific MCODE word starting at address AAAA in alpha
20 LROM(2) Find last word in MLDL starting search backwards from AAAA in alpha
21 LDRSU Load the original operating system into pages E&F from HP-IL for all banks
Original functions come from the ERAMCO MLDL OS ,the Sandbox or the original RSU OS, though I did make certain changes here and there to the original code to fit the particular needs of this module.
In theory one would only need the functions CLRSUA (which clears all pages in all banks) and LDRSU (which loads the OS from HP-IL). However I find it useful to have some other tools at my disposal when trying to resurrect a dead Rambox.
File locations
You can find the complete manual
here, and the actual files here.
Please let me know of any errors and suggestions.
Cheers
Peter
|