• Please review our updated Terms and Rules here

Getting Compaq Portable 1 running

Did you see my link from earlier? From https://www.ascii-codes.com/ it looks like the character you have on the screen is an 0xa0.
BTW, those other odd characters are just the last bit getting set on each byte, just like the spaces.

Yes, I did see that link from earlier. I was trying to determine what kind of binary math was going on such that the 5 new characters were the resultants. I thought that might give more info to diagnose. My first confusion is that none of the 5 new characters appear on the 256-character ASCII table, therefore how do I find out their binary values? My second confusion is that, if none of them are in the ASCII table, then how are they characters existing in the computer and on the screen at all, especially when I've seen and used them in vintage programs like ZZT?

What I am telling you is that voltages and oscilloscopes won't show you squat. It will look like the chip is working normally.

I'm a tad worried about how it is not displaying anything when DOS boots. It could just be software poking in to memory to determine the video card type and getting confused due to the bad RAM, but it could be something more serious.

What I would do at this point is set up a boot disk with the command "CTTY COM1" in the autoexec.bat and connect another computer running a terminal program to COM port 1 using a null-modem cable. (Your machine does have a serial port, right?). That will let you remotely control DOS. Then run debug and manually poke directly to the CGA memory addresses to make sure things are really responding. I have a suspicion that the bytes that do not have the last bit set to 1 are getting it set to 0 instead. So a command like "e b800:0000 FF" followed by "d b800:0000" might return "7F"

But that is probably more than you need to worry about. Replace that RAM chip and see if that fixes both problems.

Getting into the via terminal and using DEBUG is actually a really great idea! And until now I never knew there was a direct DOS command to transfer control to a null-modem-type terminal! My Portable 1 has a 25-pin parallel port. There is no native serial port. But I do have an I/O card I added to my Apex 1 that adds a 25-pin serial port, and I could try transferring that. I'd like to try using the parallel port first, though, if I can.

Do I have to use a null modem serial cable for this, or do I use a normal serial/parallel cable?

Available MS-DOS devices for CTTY​

AUX
COM1
COM2
COM3
COM4
CON
LPT1
LPT2
LPT3
NUL

Here is a link I found that tells the ranges of memory occupied by different stuff in DOS.
After the BIOS transfers control to boot sector, the first megabyte of memory looks like this:​
AddressSizeName
0x0000:0x00001024 bytesInterrupt Vector Table
0x0040:0x0000256 bytesBIOS Data Area
0x0050:0x0000?Free memory
0x07C0:0x0000512 bytesBoot sector code
0x07E0:0x0000?Free memory
0xA000:0x000064 KbGraphics Video Memory
0xB000:0x000032 KbMonochrome Text Video Memory
0xB800:0x000032 KbColor Text Video Memory
0xC000:0x0000256 Kb1ROM Code Memory
0xFFFF:0x000016 bytesMore BIOS data

Here is a video by LateBlt ("late blight") on using DEBUG. This is on running BIOS interrupt routines, but except for the memory locations, I think this is suitable as a tutorial for me.
 
Last edited:
Had no idea (also) that CTTY could be used in this manner. Very cool. Hope it works.
 
CTTY is only in MS-DOS 5.0 or later. I had been using MS-DOS 3.20. I created an MS-DOS 6.22 boot disk on a 360 kB. floppy. Version 6.22 boots on both the Portable 1 and my Apex 1. Except for the problems we've been discussing, of course. I mean the OS will run on them.

I connected the Portable 1 and the Apex 1 via their parallel ports.
I tried CTTY LPT1 on the Portable 1. It gave "Write fault error writing device LPT1."
I tried CTTY LPT1 on the Apex 1. It gave "Write fault error writing device LPT1."
I tried CTTY COM1 on the Apex 1 (come to think of it, with mouse connected but mouse driver not loaded). It gave "Write fault error writing device COM1."

How do I use this command?
If using parallel ports, do I use an ordinary parallel cable, or a LapLink cable?
If using serial ports, do I need an ordinary serial cable, or a null modem serial cable?
Do I need to set up the client computer in some way, or just have it waiting on its own DOS prompt?
 
Yes, I did see that link from earlier. I was trying to determine what kind of binary math was going on such that the 5 new characters were the resultants. I thought that might give more info to diagnose. My first confusion is that none of the 5 new characters appear on the 256-character ASCII table, therefore how do I find out their binary values?
From the page I linked to
242F2Greater-than or equal to

Which sound like a match for your
r -- greater than or equal to
r = 0x72 + 0x80 = 0xF2.
 
How do I use this command?
If using parallel ports, do I use an ordinary parallel cable, or a LapLink cable?
If using serial ports, do I need an ordinary serial cable, or a null modem serial cable?
How many times do people have to tell you that a parallel port is not serial??? You can not use tools made for serial communication over the parallel port. CTTY is for serial, so you use COM1 and a null-modem cable on the serial ports!
 
How many times do people have to tell you that a parallel port is not serial??? You can not use tools made for serial communication over the parallel port. CTTY is for serial, so you use COM1 and a null-modem cable on the serial ports!

As I quoted earlier:
Available MS-DOS devices for CTTY
AUX
COM1
COM2
COM3
COM4
CON
LPT1
LPT2
LPT3
NUL

 
From the page I linked to
242F2Greater-than or equal to

Which sound like a match for your
r -- greater than or equal to
r = 0x72 + 0x80 = 0xF2.
Ah ha! So it was doing addition. Thanks.

However, I'm still confused. Is there more than one standard 256-character ASCII set? The tables I found at these 2 links don't match the table at the link you gave. For example, character 242 in these tables is an "o" with a grave mark, and an underscore, respectively. Greek letters are missing from both.

I'll get to work on trying CTTY some more.
 
Last edited:
I doubt CTTY will work with a parallel port. Even though it says it supports LPT1. As a printer port it would most likely be output only.
You'll have to get a real COM port configured to use this.
 
CTTY exists in DOS 2.0 and later.

Under DOS, the LPT ports are OUTPUT ONLY. In theory you could use "CTTY LPT1" in a batch file that outputs text, and it would print to your parallel port connected line printer. However, doing so is rather pointless since it can not take input, or output to anything other than a printer. The moment it waits for input, you would be stuck.

I guess by default the Compaq Portable did not come with a serial port. Which is kind of odd really. Mine has one, but only because an AST Sixpak Plus memory I/O card is installed.
 
Some of the Internet searches say it's only in DOS 5.0 and later. Others say it is in DOS 2.0 and later. Hmm.
 
I tried running CTTY in DOS 3.20 and it is present in it. All I got was "Invalid device," of course, but it is there.

I have two other computers (Swan 286/12 and KLH 195/286/12) and they are both normally connected via null modem at the same desk. I verified that I can run File Maven 3.0 as I normally do. So I can use these two computers to learn how to use CTTY properly, then move over to the Portable 1 and Apex 1 to do it "for real."

This DOS command is so obscure that it is hard to find a step-by-step guide to using it. But I found this one. This user (circa 1998 it seems) was using a desktop as a client to edit a text file on his palmtop (the host).
The first thing to do is to connect your desktop computer to your palmtop using a serial cable. (If you have trouble getting the two computers to communicate with each other, see the article, Troubleshooting Modem and Data Communications Problems, in the January/February 1998 issue of The HP Palmtop Paper.)

On the desktop you have to open a terminal emulation program (or alternatively use a real terminal). From a DOS desktop system, you can use a program like ProComm Plus (PCPLUS). On a Windows system you would use the TERMINAL program supplied with the OS (operating system). Or on a Windows 95 or NT system, you have the HyperTerm program that is supplied with the OS.

Of course, you can run a DOS terminal program in a DOS box; I regularly run PCPLUS from a DOS box on my NT 4.0 system at work.

Once you've got the two computers linked up with the serial cable, and with the terminal program running on the desktop computer, you can type in the CTTY COM1 command from the DOS prompt on the palmtop. You then should be able to talk to your palmtops command line processor, command.com.

So I do need a terminal program that will run in DOS on the host computer. I haven't really done that before. I found these two and I'll explore them.
 
The Tandem 6530 Terminal Emulator seems to be an image of an incomplete file set. Or I just don't know how to use it. There were also no instructions.

The HP Terminal Program I very highly recommend. It fits on one 360 kB. floppy and comes with its entire 1988 manual scanned to PDF.

After I found a spare I/O card for the Portable 1, and after I finally figured out how to make the terminal program work, it worked! It really, really worked! It did everything but solve the actual problem, and I learned a bunch of really neat skills today! Here is the whole log file if anyone wants to see what I tried and the result, or in the future wants to learn this process by stepping through the logic. Here are the relevant excerpts:


&v00SB800:0380 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:0390 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:03A0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:03B0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:03C0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:03D0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:03E0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:03F0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:0400 A0 07 A0 07 A0 07 A0 07-A0 07 A0 07 A0 07 A0 07 ................
&v00SB800:0410 A0 07 A0 07 A0 07 A0 07-A0 07 A0 07 A0 07 A0 07 ................
&v00SB800:0420 A0 07 A0 07 A0 07 A0 07-A0 07 A0 07 A0 07 A0 07 ................
&v00SB800:0430 A0 07 A0 07 A0 07 A0 07-A0 07 A0 07 A0 07 A0 07 ................
&v00SB800:0440 A0 07 A0 07 A0 07 A0 07-A0 07 A0 07 A0 07 A0 07 ................
&v00SB800:0450 A0 07 A0 07 A0 07 A0 07-A0 07 A0 07 A0 07 A0 07 ................
&v00SB800:0460 A0 07 A0 07 A0 07 A0 07-A0 07 A0 07 A0 07 A0 07 ................
&v00SB800:0470 A0 07 A0 07 A0 07 A0 07-A0 07 A0 07 A0 07 A0 07 ................
&v00SB800:0480 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:0490 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:04A0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:04B0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:04C0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:04D0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:04E0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
&v00SB800:04F0 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .

The Portable 1 worked perfectly fine via the terminal, except for that segment of 64 bytes above (the 64 problem locations on the screen) which have a high-significance bit stuck on high, just like someone suspected. I played with editing the bytes in DEBUG, changing the characters. The normal locations got changed to the target character. The problem locations had the two numbers added instead.

Also, I realized the Portable 1 is using ASCII encoding CP147, not UTF-8. In answer to my earlier question above of are there multiple ASCII tables, the answer is yes. I had totally forgotten that there are multiple ones.

So, time to order a new chip! Which websites are reputable? Do I need to get exactly a SN74S374N chip (I would like to), or only a 74S374 chip?

I also ordered the new keypads a couple days ago and successfully tested the B-drive.
 

Attachments

  • PORTABLE.TXT
    75.6 KB · Views: 6
  • Screenshot 2021-12-28 230811.jpg
    Screenshot 2021-12-28 230811.jpg
    66 KB · Views: 11
  • Screenshot 2021-12-28 230745.jpg
    Screenshot 2021-12-28 230745.jpg
    32.8 KB · Views: 11
  • Screenshot 2021-12-28 230724.jpg
    Screenshot 2021-12-28 230724.jpg
    262.4 KB · Views: 10
Last edited:
Do I need to get exactly a SN74S374N chip (I would like to), or only a 74S374 chip?
Why do you think that this chip is bad? Everybody has been saying its the 16kx1 SRAM chip that is bad. All the data goes through the 74S374 chip so all locations would have the high bit set if its bad. With only 64 locations bad the memory chip is the likely cause. Since the memory chips are 1 bit wide one of the 8 chips handles each data bit.

On your original question if the design is good you can use any manufacturers 74S374 chip. Its uncommon but sometimes poor designs may work with only the original chip.

My computer uses IMS1400P SRAM chips.
 
djg,

Whoops! Thanks for pointing that out. In post #9 I arbitrarily started talking about U42 as an example and my brain got stuck on that one. SomeGuy suggested in post #10 that the U29 chip was at fault. That means that the readings I took on U42 in post #16 mean nothing anyway, as well as my linking of its data sheet in post #14. It’s also a logic chip, not a memory chip. That explains why I got silently confused about why a logic chip would have an effect on memory, unless it was a very elementary flip-flop. Like I said before, I know logic from math, but I can’t remember the application to circuits to create flip-flops. Anyway, that chip U42 is totally unrelated.

So let me correct that. Chip U29 is marked “SN74LS174NDS / (Motorola logo) K8416”.

Here is a link to its data sheet written by TI. Maybe this chip is no longer current production but I’m sure is still available.

The data sheet says this chip contains six flip-flops with the outputs being 1Q to 6Q. Wouldn’t that be 6 bits? What does a chip being 1 bit "wide" mean; that it only remembers one bit (being 1 flip-flop)?

SomeGuy,
Because that tells us which RAM chip on the Compaq video card is bad. If 0010 0000 becomes 1010 0000 then it is the high bit of data bus line D07 that has the problem. So, looking at the schematic, that theoretically should be the hm6167 16k DRAM chip at U29.

However, it should still allow a DOS disk to boot, so there could be an additional problem.

Can you help me understand how you narrowed it down to chip U29? In me trying to read and follow the Sams schematic for the Portable 1, PDF page 67 shows a photograph of the VDU board, but I can’t find anything pointing out how the network of its chips work. How do we know it is U29?

Everyone,

Returning to the question of where to buy a replacement, which websites are reputable? Do I need to get exactly a Motorola/TI SN74LS174NDS chip (I would like to), or only a part of that chip number?
 
Last edited:
SomeGuy suggested in post #10 that the U29 chip was at fault.
But he was looking at the schematic that didn't match your board. U29/SN74LS174NDS is not a memory chip. As you saw its 6 D flip flops. I think your board is like mine so the memory chips are U62-U69. I don't have the schematic. With the schematic I think you said you had you probably can figure out which chip is MSB on your board even if it is for a different revision.
 
With the schematic I think you said you had you probably can figure out which chip is MSB on your board even if it is for a different revision.
The schematic (schematic pack, I guess you might say) I have for the Portable 1 is the Sams schematic. The only thing it has for the VDU board is a photograph. There are no actual schematics in it for the VDU board.

I can keep looking and asking for a schematic, but assuming I can't get a schematic for the VDU board anywhere, and assuming it is one of the chips U62-U69, how can I measure them to determine which is faulty?
 
There are no actual schematics in it for the VDU board.
Misunderstood thread.

but assuming I can't get a schematic for the VDU board anywhere, and assuming it is one of the chips U62-U69, how can I measure them to determine which is faulty?
With the equipment you have the easiest way is start at the edge connector. If you look online at the pinout data 7 is B2. Follow the trace from that pin to a chip or it may go to multiple chips. If you can't follow the trace you will need to start checking with your meter on beep to see where it goes. If you get a beep check with ohms and verify its really close to 0 ohms. Also can start from the SRAM chip data pins Check the chip datasheet and find the same bit on the "other side" of the chip. D7->Q7, A7->B7 etc. Follow that signal until you get path from SRAM to connector. The SRAM chip uses separate pins for data output and input on 8 and 12. You want to trace to one of those pins. It may be simpler to trace to the MC6845 data pins since we know which D7 (pin 26) must be for the board to function. Likely less layers of chips to trace through than to edge connector. This will be time consuming. I can look some at my board if you get stuck.

The time to trace is why people do the hacks of piggybacking chips, lifting/cutting/grounding pins to try to identify issues.

If you have more test equipment this is how I troubleshot a video issue. With you only having access to a scope it will be harder. Don't know if its analog or digital. If using it I'd try first probing SRAM pin 8 and see if one looked different. If that didn't show anything useful I'd try triggering on the output video while looking at the pin 8's to try to see the bad data from one chip. You will also trigger on the cursor so will still be somewhat confusing. Since you have the serial console working you can fill memory with a pattern to make it more obvious.
 
The schematic (schematic pack, I guess you might say) I have for the Portable 1 is the Sams schematic. The only thing it has for the VDU board is a photograph. There are no actual schematics in it for the VDU board.

I can keep looking and asking for a schematic, but assuming I can't get a schematic for the VDU board anywhere, and assuming it is one of the chips U62-U69, how can I measure them to determine which is faulty?
Although this is the 286 Technical Reference, the Video Display should be effectively the same between the Portable and Deskpros: https://onedrive.live.com/?authkey=...B7!47144&parId=7D567B5161FE0EB7!37014&o=OneUp
 
The form factor of the Deskpro VDU is different from the early Portable VDU, because the Deskpro isn't tall enough to install the Portable version. I do agree that they should be effectively the same though the layout is different, and it looks like the consolidated some logic into another chip.

portable vs deskpro resize image.jpg
 
Back
Top