VOGONS


Compaq SLT 286

Topic actions

First post, by babtras

User metadata
Rank Newbie
Rank
Newbie

I have not done the Dallas RTC battery modification yet as I have been able to work around the dead battery. The CMOS configuration is only 64 bytes. It turned out to be quite simple to make a Turbo C++ program to download those 64 bytes to a file after using the Compaq tool to update the configuration. Then another tool to write those 64 bytes back to the CMOS, placed on a boot disk and set up in AUTOEXEC.BAT to update the CMOS on boot. This means I only have to boot from floppy, eject the floppy and reboot, and it will then boot fine from hard drive until next time I shut down the power and it gets amnesia again.

Then I don't have to do any risky dremel work on the RTC.

9RBzYhl.jpg

I also replaced the hard drive as the original Conner CP-3044 was clearly beginning to fail.
Unfortunately, the machine would not POST if a CF/IDE adapter or any more modern IDE HDD were connected. I scoured my inventory and found a 200MB IDE 2.5" hard drive that the machine was ok with. I had to do questionable things to make a power adapter since this machine used a non-standard power connector for the hard drive. The BIOS won't accept any hard drive setting other than the 20MB and 40MB types so 4/5ths of the space is wasted, but better than if I used the 20GB drive.

stTN8p7.jpg

I also popped a math coprocessor in it that came out of another 286 laptop that I haven't got working yet. Just because. I don't think any software I have will actually utilize it.

Reply 1 of 21, by Jo22

User metadata
Rank l33t++
Rank
l33t++

As a former SLT 286 owner, I think that's really cool! 😎
Maybe in the future you'll find a way to pack XTIDE Universal BIOS into the BIOS chip, too.

You can upgrade the RAM to 4 MiB no problem, by the way. 😀
Provided that you have access to more of these Compaq SIMMs.

Windows 3.10 will run fine on that machine in VGA resolution, too.
The FPU *may* help here even, but it's not guaranteed (see this thread).

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 2 of 21, by Zack_H

User metadata
Rank Newbie
Rank
Newbie

When it comes to early laptops, the Compaq SLT is my absolute favorite. Awesome-looking and rock-solid reliability. No cheap, aluminum SMD caps to speak of anywhere.

I’ve got 5 of these things (3 SLT 286s and 2 SLT 386s/20s).

Also, a pro-tip for disassembly: you don’t have to remove the plastic back plate; the service manual never says to do so, and the insides slide-out just fine with it in-place. In fact, you can actually damage traces on the motherboard when reinstalling the back cover (the long tabs on the bottom of the back plate will scrape the underside of the motherboard), as that is supposed to be installed before the motherboard is even in-place. I had to fix a trace on one of mine from the previous owner forcing the back plate back on with the motherboard installed.

Starting Windows 95. . .

Reply 3 of 21, by peido

User metadata
Rank Member
Rank
Member

Great to see one of these computers working 😀

I also have a SLT 286, but I don't have a PSU, so I don't know if it works or not. I'm thinking of building a custom PSU to connect to the battery connectors, it seems to be much simpler than to build a custom PSU to connect to the power connector.

Is the SLT plagued by bad capacitors like the LTE? Should I remove the old capacitors immediately and clean the board to prevent any kind of leakage disaster?
Thanks for your help.

Reply 4 of 21, by Zack_H

User metadata
Rank Newbie
Rank
Newbie
peido wrote on 2020-02-03, 12:59:

Is the SLT plagued by bad capacitors like the LTE? Should I remove the old capacitors immediately and clean the board to prevent any kind of leakage disaster?
Thanks for your help.

No, it is not! Compaq was very generous, and used all tantalum capacitors on the motherboard. And the axial caps in the internal power supply are of very high quality, and I have yet to have any issues with them. I’ve got 5 SLTs, and they all work fine.

Starting Windows 95. . .

Reply 5 of 21, by pentiumspeed

User metadata
Rank l33t
Rank
l33t

Good mods. While ago when I had SLT 386s/20 I tried a WD caviar hard drive, the black one around 270mb 3.5". Turning off that computer and that violent action of self parking of this hard drive sends electrical surges back through the motherboard corrupting the cmos settings in the RTC dallas IC. Every time. Changing to anything different hard drive that parks very quietly fixes this.

Cheers,

Great Northern aka Canada.

Reply 6 of 21, by peido

User metadata
Rank Member
Rank
Member
Zack_H wrote on 2020-02-03, 16:15:

No, it is not! Compaq was very generous, and used all tantalum capacitors on the motherboard. And the axial caps in the internal power supply are of very high quality, and I have yet to have any issues with them. I’ve got 5 SLTs, and they all work fine.

Thank you very much.

I've never opened it, so I'll probably just disassembly it during this week to see if it has an hard drive and to give a clean.
I've found a great guide for the 286 and the 386: https://www.classic-computers.org.nz/blog/200 … q%20slt-286.htm

Zack_H wrote on 2019-09-01, 07:59:

Also, a pro-tip for disassembly: you don’t have to remove the plastic back plate; the service manual never says to do so, and the insides slide-out just fine with it in-place. In fact, you can actually damage traces on the motherboard when reinstalling the back cover (the long tabs on the bottom of the back plate will scrape the underside of the motherboard), as that is supposed to be installed before the motherboard is even in-place. I had to fix a trace on one of mine from the previous owner forcing the back plate back on with the motherboard installed.

I'll keep this in mind during disassembly.

And in a distant future, when I have more time, I'll try to make a custom PSU.

babtras wrote on 2019-08-30, 18:42:

Unfortunately, the machine would not POST if a CF/IDE adapter or any more modern IDE HDD were connected.

According to the thread in the following link, it seems possible to use a flash to IDE adapter or newer HDD:
SSD on Compaq SLT/286

Reply 8 of 21, by pentiumspeed

User metadata
Rank l33t
Rank
l33t

I had to repair the DC DC internal power supply on SLT 386s/20. One long capacitor had one lead break internally and is free to rotate around after desoldered that capacitor. Replaced the capacitor fixed it up.

Cheers,

Great Northern aka Canada.

Reply 9 of 21, by Jo22

User metadata
Rank l33t++
Rank
l33t++
d3jsp wrote on 2020-09-28, 03:45:

Hey babtras! I just got myself an 286 slt, would you happen to know how to use the compaq tool to update configurations and would really appreciate it if you could share your program.

"If you need the BIOS/Boot-disc for this Computer, search Google for sp0308.zip (includes sp0308.exe, 3,5" 720k disc image) or sp0316.zip (includes sp0316.exe, 5,25" 360k disc image).

Works for:
COMPAQ Portable, COMPAQ DESKPRO, COMPAQ DESKPRO 286,
COMPAQ PORTABLE 286, COMPAQ PORTABLE II, COMPAQ PORTABLE III, COMPAQ PORTABLE 386, COMPAQ DESKPRO 386, COMPAQ DESKPRO 386/20, COMPAQ DESKPRO 386/25, COMPAQ SLT/286, COMPAQ LTE, COMPAQ LTE/286,
COMPAQ DESKPRO 286e, COMPAQ DESKPRO 286n
"

Source: https://www.old-computers.com/museum/forum.asp?c=1065

Edit: Zip attached. Not tested. Good luck! 😀

Edit: Note that the CMOS battery may be low and needs replacement.
You'll notice when the Compaq doesn't keep new CMOS settings.

Attachments

  • Filename
    sp0308.zip
    File size
    442.57 KiB
    Downloads
    126 downloads
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 10 of 21, by DrAlis

User metadata
Rank Newbie
Rank
Newbie

Hi Babtras, I have a SLT 286 and would like to avoid Dremel work as well. Can you share the CMOS writing tool please to make it boot? That would be great! Thank you!

babtras wrote on 2019-08-30, 18:42:
I have not done the Dallas RTC battery modification yet as I have been able to work around the dead battery. The CMOS configurat […]
Show full quote

I have not done the Dallas RTC battery modification yet as I have been able to work around the dead battery. The CMOS configuration is only 64 bytes. It turned out to be quite simple to make a Turbo C++ program to download those 64 bytes to a file after using the Compaq tool to update the configuration. Then another tool to write those 64 bytes back to the CMOS, placed on a boot disk and set up in AUTOEXEC.BAT to update the CMOS on boot. This means I only have to boot from floppy, eject the floppy and reboot, and it will then boot fine from hard drive until next time I shut down the power and it gets amnesia again.

Then I don't have to do any risky dremel work on the RTC.

9RBzYhl.jpg

I also replaced the hard drive as the original Conner CP-3044 was clearly beginning to fail.
Unfortunately, the machine would not POST if a CF/IDE adapter or any more modern IDE HDD were connected. I scoured my inventory and found a 200MB IDE 2.5" hard drive that the machine was ok with. I had to do questionable things to make a power adapter since this machine used a non-standard power connector for the hard drive. The BIOS won't accept any hard drive setting other than the 20MB and 40MB types so 4/5ths of the space is wasted, but better than if I used the 20GB drive.

stTN8p7.jpg

I also popped a math coprocessor in it that came out of another 286 laptop that I haven't got working yet. Just because. I don't think any software I have will actually utilize it.

Reply 11 of 21, by babtras

User metadata
Rank Newbie
Rank
Newbie
DrAlis wrote on 2021-03-07, 22:28:

Hi Babtras, I have a SLT 286 and would like to avoid Dremel work as well. Can you share the CMOS writing tool please to make it boot? That would be great! Thank you!

Hello, apologies for taking 4 months to realize someone commented here.

I'll provide the code below. This code compiles with Turbo C++ 3. If you like I can zip up binaries instead.
First one, GETCMOS, will fetch the contents of the CMOS config (only 64 bytes on the Compaq SLT 286, so that's what I used as a default).
The second one, WRCMOS, will write the contents of a file generated by GETCMOS, back to the CMOS.
So you configure the machine using the setup disks. Boot DOS. Run "GETCMOS c286cmos.bin"
Set up a DOS boot disk, and in the AUTOEXEC.BAT, include the line "WRCMOS c286cmos.bin"
Then when done, you can power off the machine, and next time you use it, boot the boot disk first, then eject the disk and ctrl-alt-del to reboot, and it should boot from HDD.
Don't worry about the extra options of the WRCMOS tool, I made it so I could modify certain values before writing to CMOS but it isn't necessary.

/* GETCMOS.CPP - Get the contents of CMOS and write it to file */

#include <stdio.h>
#include <stdlib.h>

#define DEFAULT_SIZE 64

int main(int argc, char *argv[])
{
FILE *f;
int size;
unsigned char tvalue,index;

tvalue=0;

if (argc<2)
{
printf("\nGETCMOS.EXE filename [size]\n\nfilename = Where to write the file\nsize = the number of bytes to read\n");
return 1;
}

size=DEFAULT_SIZE;

if (argc>=2)
{
size=atoi(argv[2]);
if (size<=0) size=DEFAULT_SIZE;
}

f=fopen(argv[1],"wb");
if (f==NULL) {
printf("Unable to write file \"%s\"\n",argv[1]);
return 2;
}

for(index = 0; index < size; index++)
{
asm
{
cli /* Disable interrupts*/
mov al, index /* Move index address*/
/* since the 0x80 bit of al is not set, NMI is active */
out 0x70,al /* Copy address to CMOS register*/
/* some kind of real delay here is probably best */
in al,0x71 /* Fetch 1 byte to al*/
sti /* Enable interrupts*/
mov tvalue,al
}

fwrite(&tvalue,1,1,f);
}

fclose(f);
printf("\nDone!\n");
}
/* WRCMOS.CPP - re-write CMOS configuration parameters */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

unsigned char HexCharToInt(char c)
{
if (c>='A'&&c<='F') return 10+c-'A';
else if (c>='a'&&c<='f') return 10+c-'a';
else if (c>='0'&&c<='9') return c-'0';
else return 0;
}

unsigned char HexToInt(char *h)
{
unsigned char c=0;
if (h[0]==0) return 0;
c=HexCharToInt(h[0]);
if (h[1]!=0) c=c*16+HexCharToInt(h[1]);
return c;
}

int ReadStringToDelimiter(char *string, char *substring, char delim)
{
int i,l,p;

p=0;
l=strlen(string);

for (p = 0; p < l; p++)
if (string[p]==delim)
break;

if (p==l)
{
strcpy(substring,string);
string[0]=0;
return l;
}

strncpy(substring,string,p);
substring[p]=0;
p++;
for (i = 0; i < l-p; i++)
string[i]=string[i+p];
string[l-p]=0;
return p-1;
}

int main(int argc,char *argv[])
{
FILE *f;
int fl;
char val[6];
char loc[6];
int l,v,i;

unsigned char *bin;

Show last 82 lines
	if (argc<2)
{
printf("\nWrite CMOS from file\nWRCMOS.EXE filename [location,value [...]]\n\nfilename Name of file to write to CMOS, usually the output file from \"GETCMOS.EXE\"" \
"\nlocation,value Address / value pairs in hexidecimal. 10,11 for example will write 0x11 to the byte 0x10\n\n");
return 1;
}

f=fopen(argv[1],"rb");
if (f==NULL)
{
printf("No such file exists\n");
return 1;
}

fseek(f,0,SEEK_END);
fl=ftell(f);
fseek(f,0,SEEK_SET);

bin=(unsigned char *)malloc(fl);

if (bin==NULL)
{
fclose(f);
printf("Unable to allocate necessary buffer space\n");
return 2;
}

fread(bin,1,fl,f);
fclose(f);

if (argc>2)
{
for (i = 2; i < argc; i++)
{
strncpy(val,argv[i],5);
val[5]=0;
if (ReadStringToDelimiter(val,loc,',')>0)
{
l=HexToInt(loc);
v=HexToInt(val);
if (l<0||l>=fl)
{
printf("Location out of bounds\n");
free(bin);
return 3;
}
if (v<0||v>=255)
{
printf("Value out of bounds\n");
free(bin);
return 3;
}
bin[l]=(unsigned char)v;
}
else
{
printf("Invalid parameter\n");
free(bin);
return 3;
}
}
}

// write
for(int index = 0; index < fl; index++)
{
unsigned char tvalue = bin[index];
asm {
cli
mov al,index
out 0x70,al
mov al,tvalue
out 0x71,al
sti
}
}

printf("\nDone!\n");
free(bin);
return 0;
}

Reply 12 of 21, by babtras

User metadata
Rank Newbie
Rank
Newbie
d3jsp wrote on 2020-09-28, 03:45:

Hey babtras! I just got myself an 286 slt, would you happen to know how to use the compaq tool to update configurations and would really appreciate it if you could share your program.

Apologies, was lost in time. Retro computing is my winter hobby when I'm trapped indoors. I just posted the code in this thread

Reply 13 of 21, by gw0udm

User metadata
Rank Newbie
Rank
Newbie
babtras wrote on 2021-07-09, 05:50:
d3jsp wrote on 2020-09-28, 03:45:

Hey babtras! I just got myself an 286 slt, would you happen to know how to use the compaq tool to update configurations and would really appreciate it if you could share your program.

Apologies, was lost in time. Retro computing is my winter hobby when I'm trapped indoors. I just posted the code in this thread

This is great - thanks. I've just got hold of the 386 version - do you think your code will work on this too? I will test it and report back. I'd never really been aware of these before but I was offered one at a good price and so couldn't really resist. It is fully loaded too, 16MB of memory and an internal modem... must have cost a fortune back in the day. My first 386 had 4MB and that seemed like a lot.

Reply 14 of 21, by marcushg85

User metadata
Rank Newbie
Rank
Newbie

Hi. I just got one 286slt with the docking base. Tried to use the code but cannot compile with turbo c++3 gives me errors when trying to compile both CPP codes. Is it possible to get the binaries? Thanks a lot for the info and the code!

Reply 15 of 21, by marcushg85

User metadata
Rank Newbie
Rank
Newbie
babtras wrote on 2021-07-09, 05:50:
d3jsp wrote on 2020-09-28, 03:45:

Hey babtras! I just got myself an 286 slt, would you happen to know how to use the compaq tool to update configurations and would really appreciate it if you could share your program.

Apologies, was lost in time. Retro computing is my winter hobby when I'm trapped indoors. I just posted the code in this thread

Sorry. Wanted to quote you for asking for the binaries. Can't compile with turbo c++ gives errors in a few lines

Reply 16 of 21, by matze79

User metadata
Rank l33t
Rank
l33t

Can you Post the Error Messages

https://www.retrokits.de - blog, retro projects, hdd clicker, diy soundcards etc
https://www.retroianer.de - german retro computer board

Reply 17 of 21, by marcushg85

User metadata
Rank Newbie
Rank
Newbie
matze79 wrote on 2021-12-24, 21:11:

Can you Post the Error Messages

gives error in few lines in getmos.cpp as 41 undefined symbol "cli" , statement missing, and line 55 compound statement missing and function should return a value.
in wrcmos.CPP gives only one error 130, invalid combination of opcode and operants (referencing mov al,index....)

Reply 18 of 21, by deimi

User metadata
Rank Newbie
Rank
Newbie

After modifying the source code provided by babtras (Re: Compaq SLT 286) slightly, I was able to compile and build the binaries.
If anyone still needs it, you find the source plus binaries attached.

Have fun with your 286er 😀

Attachments

  • Filename
    CMOS Flasher.zip
    File size
    18.51 KiB
    Downloads
    86 downloads
    File comment
    Compaq 286 SLT CMOS Flash
    File license
    Public domain

Reply 19 of 21, by peido

User metadata
Rank Member
Rank
Member
deimi wrote on 2022-09-03, 10:46:

After modifying the source code provided by babtras (Re: Compaq SLT 286) slightly, I was able to compile and build the binaries.
If anyone still needs it, you find the source plus binaries attached.

Have fun with your 286er 😀

Thanks for compiling and uploading the files 😀