Date   

Re: 98228A bank register

Paul Berger
 

Yes it latches on the falling edge of ALE which means it is actually latching the lower 3 bits of the address, but what I observed on the logic analyzer was address and data where the same.

Paul.

On 2017-02-12 10:54 AM, Craig Ruff wrote:
Just to make sure I don’t go off on a tangent, the bank register is latching the low order 3 bits of the address used to address the register at the falling edge of ALE, and not the data value written later on in the data transfer phase of the write cycle?


98228A bank register

 

Just to make sure I don’t go off on a tangent, the bank register is latching the low order 3 bits of the address used to address the register at the falling edge of ALE, and not the data value written later on in the data transfer phase of the write cycle?


Re: 9825 disassembly status

 


On Feb 11, 2017, at 8:28 PM, Paul Berger <phb.hfx@...> wrote:

I can send it to you if you are interested  , it is about 35MB in size.

Sure, that would be great.  The 16 bit image and the 8 bit images are consistent for address 030313, I expect the other “invalid” instruction location is too.  The value being placed into A at 030270 looks odd too.  Is it possible some other page of the ROM gets mapped to 054000 (0x5800)?  It may be the instruction trace can shed some light on the issue.


Re: 9825 disassembly status

Paul Berger
 

Craig,

I can assure you that those instructions get executed and the 9825 does not blow up, I just cranked up my 16700B to check if I had saved any execution traces and there is one, it contains a little over 685,000 state captures, I do not know what commend it is a trace of any more, but it is not one of the data file functions as it does not touch the address where I found the defective bit.  I can send it to you if you are interested  , it is about 35MB in size.

Paul.



On 2017-02-11 7:18 PM, Craig Ruff wrote:

On Feb 11, 2017, at 4:00 PM, Paul Berger <phb.hfx@...> wrote:

You understand that there are two 1K word windows into the  ROM and the bank selection is done by write to the area occupied by the base page ROM, I think my writeup included with the package gives a good description of how it works.

Yes.  At the moment, I’m looking at the code in bank 0 that appears to be associated with bank selection of the other banks.  There are two instructions that my disassembler flagged as invalid bit patterns.  They are at (octal) word addresses 30272 (pattern 070113) and 30313 (pattern 070117).  These do not match any instructions described in the 9825A patent, nor in the 9835 Assembly Language manual (the 9835 CPU is a superset of the 9825 CPU).  The instruction at 30272 happens immediately after a dir (disable interrupts) instruction, and the one at 30313 immediately before an eir (enable interrupts) instruction.  The rest of the code in this sequence copies blocks of 16 words from one location to another, I have not yet determined what this data is.

These apparently invalid instruction bit patterns do not occur as instructions in the entire contents of the other 9825T ROMs.  I have not yet looked at the contents of banks 2-7, nor do I have tentative labels or definitions for base page temporary locations being used.

Notes about the disassembler output.  

The second column are word attribute tags derived from the disassembly process.  The ‘r’ indicates ROM, ‘i’ the word is considered to be an instruction, ‘c’ means a conditional jump, ‘u’ means unconditional jump.

Symbols in the operand column surrounded by braces on a line following an instruction are alternative names known for the operand location.  They may or not apply semantically to that specific instruction.  For example, at 30273, the operand address is the decimal 152 constant in the base page rom.  It is also known, via an equate as b230 (octal 0230).

30256 ri   004177  selbank?  ldb  p0          ; perform pre bank select stuff?
                                  {kpa,dpa,ppa,zero} 
30257 ri   035742            stb  op1       
                                  {tvar3,op1e} 
30260 ri   004177            ldb  p0        
                                  {kpa,dpa,ppa,zero} 
30261 ri   035767            stb  77767     
30262 ri   004077            ldb  p58       
                                  {b72,colln} 
30263 ri   025044            adb  stolendsk 
30264 ri   035763            stb  77763       ; save address stolen+58
30265 ric  011335            cpa  77335     
30266 riu  067315            jmp  selbnkjmp   ; bank already selected?
30267 ri   031335            sta  77335     
30270 ri   022676            ada  31676       ; «(31676) = 055750»
30271 ri   070430            dir            
30272 ri   070113            INVALID              ; «Unknown instruction, load something into A?, something else entirely?»
30273 ri   030047            sta  p152        ; «write to 0230, select bank 0? Is this an argument word?»
                                  {b230} 
30274 ri   104000            ldb  a,i       
30275 ri   174510            sbr  9         
30276 ri   035762            stb  77762     
30277 ri   104000            ldb  a,i       
30300 ri   174606            sbl  7         
30301 ri   174506            sbr  7         
30302 ric  044000            isz  a         
30303 ri   100000            lda  a,i       
30304 ri   134001            stb  b,i       
30305 ri   005763            ldb  77763     
30306 ri   071417            xfr  16        
30307 ri   020127            ada  p16       
                                  {adr2,b20,ar2a,d16} 
30310 ri   024127            adb  p16       
                                  {adr2,b20,ar2a,d16} 
30311 ric  055762            dsz  77762     
30312 riu  067306            jmp  *-4       
30313 ri   070117            INVALID              ; «Unknown instruction, store A into something?»
30314 ri   070420            eir
30315 ri   030041  selbnkjmp  sta  00041       ; select bank (1)? and jump to code at 077763?
30316 riu  165763            jmp  77763,i



Re: 9825 disassembly status

 


On Feb 11, 2017, at 4:00 PM, Paul Berger <phb.hfx@...> wrote:

You understand that there are two 1K word windows into the  ROM and the bank selection is done by write to the area occupied by the base page ROM, I think my writeup included with the package gives a good description of how it works.

Yes.  At the moment, I’m looking at the code in bank 0 that appears to be associated with bank selection of the other banks.  There are two instructions that my disassembler flagged as invalid bit patterns.  They are at (octal) word addresses 30272 (pattern 070113) and 30313 (pattern 070117).  These do not match any instructions described in the 9825A patent, nor in the 9835 Assembly Language manual (the 9835 CPU is a superset of the 9825 CPU).  The instruction at 30272 happens immediately after a dir (disable interrupts) instruction, and the one at 30313 immediately before an eir (enable interrupts) instruction.  The rest of the code in this sequence copies blocks of 16 words from one location to another, I have not yet determined what this data is.

These apparently invalid instruction bit patterns do not occur as instructions in the entire contents of the other 9825T ROMs.  I have not yet looked at the contents of banks 2-7, nor do I have tentative labels or definitions for base page temporary locations being used.

Notes about the disassembler output.  

The second column are word attribute tags derived from the disassembly process.  The ‘r’ indicates ROM, ‘i’ the word is considered to be an instruction, ‘c’ means a conditional jump, ‘u’ means unconditional jump.

Symbols in the operand column surrounded by braces on a line following an instruction are alternative names known for the operand location.  They may or not apply semantically to that specific instruction.  For example, at 30273, the operand address is the decimal 152 constant in the base page rom.  It is also known, via an equate as b230 (octal 0230).

30256 ri   004177  selbank?  ldb  p0          ; perform pre bank select stuff?
                                  {kpa,dpa,ppa,zero} 
30257 ri   035742            stb  op1       
                                  {tvar3,op1e} 
30260 ri   004177            ldb  p0        
                                  {kpa,dpa,ppa,zero} 
30261 ri   035767            stb  77767     
30262 ri   004077            ldb  p58       
                                  {b72,colln} 
30263 ri   025044            adb  stolendsk 
30264 ri   035763            stb  77763       ; save address stolen+58
30265 ric  011335            cpa  77335     
30266 riu  067315            jmp  selbnkjmp   ; bank already selected?
30267 ri   031335            sta  77335     
30270 ri   022676            ada  31676       ; «(31676) = 055750»
30271 ri   070430            dir            
30272 ri   070113            INVALID              ; «Unknown instruction, load something into A?, something else entirely?»
30273 ri   030047            sta  p152        ; «write to 0230, select bank 0? Is this an argument word?»
                                  {b230} 
30274 ri   104000            ldb  a,i       
30275 ri   174510            sbr  9         
30276 ri   035762            stb  77762     
30277 ri   104000            ldb  a,i       
30300 ri   174606            sbl  7         
30301 ri   174506            sbr  7         
30302 ric  044000            isz  a         
30303 ri   100000            lda  a,i       
30304 ri   134001            stb  b,i       
30305 ri   005763            ldb  77763     
30306 ri   071417            xfr  16        
30307 ri   020127            ada  p16       
                                  {adr2,b20,ar2a,d16} 
30310 ri   024127            adb  p16       
                                  {adr2,b20,ar2a,d16} 
30311 ric  055762            dsz  77762     
30312 riu  067306            jmp  *-4       
30313 ri   070117            INVALID              ; «Unknown instruction, store A into something?»
30314 ri   070420            eir
30315 ri   030041  selbnkjmp  sta  00041       ; select bank (1)? and jump to code at 077763?
30316 riu  165763            jmp  77763,i


Re: 9825 disassembly status

Paul Berger
 

Craig:

You understand that there are two 1K word windows into the ROM and the bank selection is done by write to the area occupied by the base page ROM, I think my writeup included with the package gives a good description of how it works.

Paul.

On 2017-02-11 4:46 PM, Craig Ruff wrote:
I’ve been working on preliminary disassembly of the 9825T ROMs this week, and have some initial symbol information and comments generated for the built in extension ROMs. Nothing to the detail of those from the patent listing, but enough to start deciphering what is going on in each ROM.

I started looking at the banked 98228A disk ROM today. My disassembler currently does not understand banking, so I just have to dump the base page and each of the other banks separately. I did have to byte swap the 16-bit ROM image that Paul provided so that the byte order conformed to those of the mainframe ROMs. I expect that this is done by the ROM pin connections in his clone module. My ROM header decoder script was then happy with the 98228A base page, so I will proceed with some investigation of this ROM’s contents.


9825 disassembly status

 

I’ve been working on preliminary disassembly of the 9825T ROMs this week, and have some initial symbol information and comments generated for the built in extension ROMs. Nothing to the detail of those from the patent listing, but enough to start deciphering what is going on in each ROM.

I started looking at the banked 98228A disk ROM today. My disassembler currently does not understand banking, so I just have to dump the base page and each of the other banks separately. I did have to byte swap the 16-bit ROM image that Paul provided so that the byte order conformed to those of the mainframe ROMs. I expect that this is done by the ROM pin connections in his clone module. My ROM header decoder script was then happy with the 98228A base page, so I will proceed with some investigation of this ROM’s contents.


Re: Unobtanium obtained!

 

On Wed, Feb 8, 2017 at 08:01 am, Jack Rubin wrote:
 I live near Chicago and got a brief chance to say hello to you at VCF-Midwest last year though you were probably too deep in Jay West's system to remember! 

 Yes, this was my first VCF and I was a bit overwhelmed, not knowing anyone really. I came primarily to meet Jay and learn more about his experience with restoring HP 1000's. I learned more than I hoped for as we (that is, mostly Jay) powered up and succesfully debugged a 1000-E right at the show! When is the show this year?


Re: Unobtanium obtained!

 

Actually, I just stuck a DC2000 in an unmodified 9825 tape drive , and to my surprise it worked a little bit. The tape fit nicely, transport seemed to work fine, it rewound on the correct reel. I tried to initialize a few files, sometimes I could read the entire "catalog" back, sometimes I had errors. I don't know if it's my drive or if I need to make a write current modification for the new tape like I did on the HP 85. I suspect it's the latter, so that would next step. Anyhow I thought it was encouraging.

Marc 


Re: Unobtanium obtained!

Jack Rubin
 

Marc (and everyone else),

Yes, we live in exciting times! :>)

I'm about to rebuild my HP85 tape drive capstans for DC100 tapes; I don't have the resources for the full DC2000 conversion. Hopefully, DC100 cassettes with new belts will be a little more robust but I just got my plastibands yesterday and I have the same concerns that you do though I've yet to actually crack a cassette and try one. If nothing else, at least the cassettes will be more colorful with bright pink and green drive belts. I'll be looking forward to hearing about your results.

From Rik's early results, it seems that rebuilding the drives for the 9825 drives will be a bit more challenging to retrofit for DC2000 tapes so hopefully the DC100 fix will provide at least an interim solution.

Unfortunately, I'm not in the Bay area though I used to visit Larry on business trips to the coast. I live near Chicago and got a brief chance to say hello to you at VCF-Midwest last year though you were probably too deep in Jay West's system to remember! I'm planning a return to VCF-West later this year so we should be able to meet then.

Jack



Re: Unobtanium obtained!

 

Rik, thanks so much for the detailed instructions. I am just at the step where I need to do just that, try to read old DC100 tapes.


Re: Unobtanium obtained!

 

Awesome discovery. This group is making great progress. With Paul's Flex Disc ROM reverse engineering, you could just copy it to a 9895 8" disk, and with Ansgar Kueckes HPDIR transfer the image back to my (not so) modern PC dedicated to do just that. Actually scratch that, since you can emulate a 9895 with Ansgar HPDRIVE, I could just hook that up to the 9825 and dump it straight to the PC! That should be very straightforward. I'd have to build the ROM first (I intend to make a PCB when I get a chance). And get a lot of practice to get really good at reading DC 100's in my restored tape drive following Rik's advice. So this would take a while.

I have ton's of rather new DC2000 that I can steal the bands from, and quite a few old DC100 to practice read (maybe 15 or so). I also just received my plastibands, but was disappointed at how stretchy and sticky they felt, I am not holding my breath for these. I'll try them out just for kicks. Lots of practice coming up.

I am also going to splurge on some Kathana's for good measure, so I have a set of known good tapes. 

Jack, you mention Larry Lehman, who was based in San Jose, CA, close to where I live. I have quite a few parts from him - like most of the local HP collectors. Are you local to me in the San Francisco Bay area by any chance?


Re: Using VGA TFT monitors on HP 9000/300 series

Ansgar
 

I'm not an expert on this, but I guess the dark green effect depends on the nature of the sync signals. The sync signal is added to the green video signal, but the sync can be either a high pulse or a low pulse (depending on the video board). If you have a high pulse on sync, you probably will not notice any effect on the black level (the high pulse is restricted to retrace), whereas if you have a low pulse, the sync signal is high during a normal scanline run and low during retrace. Take it as a weak trial for explanation. In fact the LM1881 does not remove the sync from the video signal (it actually has no video output), but replicates the sync info to its sync outputs. But it should be possible to subtract the composite sync (coming from the LM1881) from the original green video signal by another circuit (e.g. opamp) and so achieve a "clean" green signal.

-Ansgar


New file uploaded to VintHPcom@groups.io

VintHPcom@groups.io Notification <VintHPcom+notification@...>
 

Hello,

This email message is a notification to let you know that a file has been uploaded to the Files area of the VintHPcom@groups.io group.

File: Pascal.rar

Uploaded By: Rik Bos

Description:
HP Pascal 3.25 hpi image tailored for the HP 9000/380 /382 /345 /375 Supports fast HP-IB and HFS partions. HP-IB address for the image is 0 and drive emulation is set to HP 7958B.

You can access this file at the URL:
https://groups.io/g/VintHPcom/files/HP9000%20S200300/Pascal.rar

Cheers,
The Groups.io Team


Re: Using VGA TFT monitors on HP 9000/300 series

 

I’m using a Belinea 10 17 05 and Samsung SyncMaster 720N with both medium (1024 x 768) and high (1280 x 1024) resolution cards. I haven’t noticed any problem with the green color. I know the 1881N is susceptible for parasitic capacities on the input but that shouldn’t influence the green color levels.

 

-Rik

 

Van: VintHPcom@groups.io [mailto:VintHPcom@groups.io] Namens Ansgar
Verzonden: maandag 6 februari 2017 21:33
Aan: VintHPcom@groups.io
Onderwerp: Re: [VintHPcom] Using VGA TFT monitors on HP 9000/300 series

 

I currently use a NEC 1770NX (the "NX" is important!) and am quite satisfied. Not every monitor with sync-on-green works well, this one does (and looks damn good). I guess for proper operation the horizontal sync capabilities are essential. Jon from hpmuseum once said (and it is still on his web site) that the  NEC LCD1800, LCD1810, LCD2010 and LCD1830 are good replacements for the higher resolution HP monitors, but I personally like the more compact 17" and especially the more decent 1770NX. The NEC starts hsync at ~30 kHz (original VGA timing). The low res monochrome video boards, however, provide a 15 kHz hsync, which is supported only by some LCDs with composite video input. My DELL for example has that kind of input, but still does not detect the output from the low res HP 300 monochrome boards, So I am glad I still have my 82913A at hand.

I also tried with an LM1881 sync splitter, but it cannot replace a true sync-on-green input circuit (the LM1881 does not correct the wrong black level, or shall I say dark-green-level...).


Re: Using VGA TFT monitors on HP 9000/300 series

Ansgar
 

I currently use a NEC 1770NX (the "NX" is important!) and am quite satisfied. Not every monitor with sync-on-green works well, this one does (and looks damn good). I guess for proper operation the horizontal sync capabilities are essential. Jon from hpmuseum once said (and it is still on his web site) that the  NEC LCD1800, LCD1810, LCD2010 and LCD1830 are good replacements for the higher resolution HP monitors, but I personally like the more compact 17" and especially the more decent 1770NX. The NEC starts hsync at ~30 kHz (original VGA timing). The low res monochrome video boards, however, provide a 15 kHz hsync, which is supported only by some LCDs with composite video input. My DELL for example has that kind of input, but still does not detect the output from the low res HP 300 monochrome boards, So I am glad I still have my 82913A at hand.

I also tried with an LM1881 sync splitter, but it cannot replace a true sync-on-green input circuit (the LM1881 does not correct the wrong black level, or shall I say dark-green-level...).


Re: Unobtanium obtained!

 

Ok, some remarks about restoring tapes and something about the tapes I have.

After a private mail from Jack, I checked my tape inventory.

The tapes I have are :

09915-10014 Tape duplication and eprom programming

09877-10002 9825 B/T tape binary

09825-90036 9825A System test Rev. A, E & F

09885-90035 9885 System Tape Cartridge Rev. F and D

09815-10004 9815 General Utility and Test routines

09831-10004 9831A General Utility Routines

09825-10004 9825A General Utility Routines (Available on the Museum site I believe)

03042-90211 3042A Verification Application

03045-10001/10002 3045A (9825) System Program and Compiler tapes

09835-90041 9835 A/B System Test

09825-12524 9825 Waveform Analysis

And probably some other tapes which I overlooked in the hurry…

 

All those tapes are on my backlog for archiving, but..

Most of the times I only get one chance to read a HP 98200 type of tape.

To understand why I’ll explain the way I read 98200 tapes, the procedure is the following:

 

First I have to open the case and warm the tape to about 50-60C(degrees) so I can remove the drive belt without ripping the magnetic layer of.

The next thing is backing the tape at 60C for 2 or 3 hours, this dehydrates the tape and prevents the magnetic layer coming loose.

Next step is cleaning the tape guiding posts and placing a ‘new’ belt and getting the tape tension right.

After closing the tape I have about 3 or 4 runs to read the tape and copy it to a disc.

It’s mandatory to clean the heads after every run, sometimes I also have to clean the guiding posts in the tape cassette because there is too much tape friction to read the tape.

Friction between the tape and guidance posts can ruin the tape by stretching it too much!

I’ve used this procedure to recover information from about  10 tapes, 80% of the time it worked..

I used the same procedure for DC600 (9144/45 tapes) to recover HP-UX files.

One last remark after the tapes have cooled down from the oven you will have about one or two days before the tapes will degrade and become sticky and flaky again.

A second run in the oven doesn’t work in most cases, so it’s a one-time right case.

 

-Rik

 

 

 

 

 

 

 

 

 

 

 

Van: VintHPcom@groups.io [mailto:VintHPcom@groups.io] Namens Craig Ruff
Verzonden: zaterdag 4 februari 2017 14:40
Aan: Vin
tHPcom@groups.io
Onderwerp: Re: [VintHPcom] Unobtanium obtained!

 

 

On Feb 3, 2017, at 9:22 PM, Jack Rubin <j@...> wrote:

 

Who is best qualified to attempt to read these tapes and hopefully image the data on them?

 

I believe a 9875 should be useable to read the data off these tapes, and I think, also to create new tapes.  There are commands RF (read file), RR (read record), WF (write file), and WR (write record) that allows the transfer of arbitrary data words.  Sounds like incentive for me to get to figuring out the issue with my 9875 next so I can test it.

 

With a suitable binary program, it may be possible for a 85 A/B to also image these tapes if the tape controller uses the same low level encoding format, but I don’t know the answer to this.


Re: Unobtanium obtained!

 


On Feb 3, 2017, at 9:22 PM, Jack Rubin <j@...> wrote:

Who is best qualified to attempt to read these tapes and hopefully image the data on them?

I believe a 9875 should be useable to read the data off these tapes, and I think, also to create new tapes.  There are commands RF (read file), RR (read record), WF (write file), and WR (write record) that allows the transfer of arbitrary data words.  Sounds like incentive for me to get to figuring out the issue with my 9875 next so I can test it.

With a suitable binary program, it may be possible for a 85 A/B to also image these tapes if the tape controller uses the same low level encoding format, but I don’t know the answer to this.


Re: Unobtanium obtained!

Paul Berger
 

Wow nice find those tapes are indeed rare there is no complete copies known to exist.

Paul.


On 2017-02-04 12:22 AM, Jack Rubin wrote:

 I figure this is worth a new message topic. Today, I finally relocated 3 boxes of HP 80 series and 9825 items that got lost in storage during a move nearly 10 years ago. I haven't even gotten to the 85/87 stuff yet, but the 9825 box included a few data cartridges - three with user data and then:

** 09825-90035 - 9825A System Test Cartridge **

** 09885-90035 - 9825A/B 9885 System Tape Cartridge **

Also included was a 98015-66501 disk alignment fixture for the 9885 drives and a couple of 98032-085 disk interface cables.

I'm pretty sure I got all this stuff from Larry Lehman when he was shutting down Crisis Computers but at the time I was much more interested in the 2100 boxes and just sort of scooped these things up without paying much attention. Until I found them this afternoon, I didn't even remember getting them.

The tapes have been in cool, dry storage since I got them - I've never tried to use them and I certainly won't now!

Who is best qualified to attempt to read these tapes and hopefully image the data on them? I'll pose the same question directly to Al Kossow and Chuck Guzis but if the expertise is here, please let me know.


Jack




Unobtanium obtained!

Jack Rubin
 

 I figure this is worth a new message topic. Today, I finally relocated 3 boxes of HP 80 series and 9825 items that got lost in storage during a move nearly 10 years ago. I haven't even gotten to the 85/87 stuff yet, but the 9825 box included a few data cartridges - three with user data and then:

** 09825-90035 - 9825A System Test Cartridge **

** 09885-90035 - 9825A/B 9885 System Tape Cartridge **

Also included was a 98015-66501 disk alignment fixture for the 9885 drives and a couple of 98032-085 disk interface cables.

I'm pretty sure I got all this stuff from Larry Lehman when he was shutting down Crisis Computers but at the time I was much more interested in the 2100 boxes and just sort of scooped these things up without paying much attention. Until I found them this afternoon, I didn't even remember getting them.

The tapes have been in cool, dry storage since I got them - I've never tried to use them and I certainly won't now!

Who is best qualified to attempt to read these tapes and hopefully image the data on them? I'll pose the same question directly to Al Kossow and Chuck Guzis but if the expertise is here, please let me know.


Jack


6761 - 6780 of 6855