VOGONS


Reply 60 of 100, by sander

User metadata
Rank Newbie
Rank
Newbie
rasz_pl wrote on 2024-10-07, 09:07:
So L2 is running at 3-2-2-2? - have you tried lower fsb when playing with L2 timings? Makes me wonder what will happen in PROLIN […]
Show full quote

So L2 is running at 3-2-2-2?
- have you tried lower fsb when playing with L2 timings? Makes me wonder what will happen in PROLINEA MT in 50MHz mode.
- is that with those bodge wires on the back or without? they are bad for signal integrity, ideally should be grounded micro coax 😁
- do you have access to a scope to look at eye diagrams? 😀 maybe those series resistors were doing heavy lifting cleaning signals in original module IF original module can run with 0 waitstates in the first place.
- also scope supply right on each chip, you could try experimenting with bodging more decoupling caps

In theory 2-1-1-1 should be in reach with brand new legit 12ns chips, but even as is its a 2x memory BW bump.

I can only quote the vL82C425 datasheet: "On a read-hit, the VL82C425 performs a 2-1-1-1 (zero wait state) burst read if two banks of SRAM are used. It performs a 2-2-2-2 (three wait states) burst read if one bank of SRAM is used. On a write-hit, the VL82C425 performs a one wait state (three clock cycle) write."
In our case we are talking about writes which are configurable for the VL82C481/3 (and not for the VL82C425) and currently not working when set to 0. I did test it with 256KB, but I didn't test this with the bodge (A18/A19) wires removed, I'll do that too. My oscilloscope supports eye diagrams, but I would appreciate some pointers for reading the measurement, I really have no idea.

>- have you tried lower fsb when playing with L2 timings? Makes me wonder what will happen in PROLINEA MT in 50MHz mode.
No I should and will do that too! Is there a 50MHZ FSB mode? [edit]I checked the MT bios, cache code is shared with the Prolinea 4/xx. By default it also has 1WS for writes.[/edit]

>- also scope supply right on each chip, you could try experimenting with bodging more decoupling caps
I'll do that too!

baronvonkaiser wrote on 2024-10-07, 15:43:

I'm just working on excitment... 🤣

Cheers!, and thank you and everybody for the enthusiasm.

Reply 61 of 100, by sander

User metadata
Rank Newbie
Rank
Newbie

Another update, although I still need to look into the 0WS write issue and analyze the power rails using my oscilloscope, I finally managed to enable the 1MB of cache. Windows NT 4.0/95 are both stable. My modified bios is now able to switch between 128/256 or 1MB, the only problem I'm having is validating if 512KB is inserted or not. As I'm missing the datasheet I can only compare to the HP Vectra VL2 Bios (GA.04.06) image (the only image that supports 512KB/1MB). So it's 256KB or 1MB for now, which seems fine to me, so I'm parking this issue.

As I'm getting to know the Compaq BIOS there is an added bonus. I've made use of the 16KB unused bios space at CC00:0 and added the XTIDE (386 version). My Prolinea is now able to support large drives without any additional ISA cards inserted.

Next I will write a small Compaq VLSI BIOS dump tool, so we can share our BIOS images here.

Here is the biggest part of the patches:

; nasm patch.asm -fbin -o patch.bin

cpu 486

section .text

org 4438h

; test the cache size and put the cachesize / 4 into ebx
get_cache_size:

mov ebx, 100000h
mov es:[ebx], word 0
mov dx, 0A5A5h
mov ebx, 140000h
mov es:[ebx], dx
mov ebx, 65536
cmp [dword es:100000h], dx
jz short loc_FAC29
mov ebx, 131072 ; 512KB or the first 512KB from the lower 1MB region
mov al, 0EFh
out 84h, al

loc_FAC29:

mov edx, ebx
jmp 1391h

align 2

; test the upper 1MB range
test_upper_1MB:

mov al, 0E6h
out 84h, al

mov ebx, 100000h
mov es:[ebx], word 0

mov dx, 0A5A5h

mov ebx, 140000h
mov es:[ebx], dx
mov cl, 100b
mov ebx, 65536
cmp [dword es:100000h], dx
jz validated_cache

mov ebx, 180000h
mov es:[ebx], dx
mov ebx, 131072
mov cl, 101b
cmp [dword es:100000h], dx
jz validated_cache

mov ebx, 180000h
mov edx, 131072
mov ecx, edx
xor eax, eax

Show last 280 lines
clear_loc_1MB:
mov es:[ebx], eax
add ebx, 4
loop clear_loc_1MB, ecx
mov al, 0ABh
out 84h, al
mov ebx, 180000h
mov ecx, edx
shl ecx, 2
mov al, 0FFh

validate_cache_ffh:
mov es:[ebx], al
cmp es:[ebx], al
jnz no_cache_detected
inc ebx
loop validate_cache_ffh, ecx
mov al, 0A1h
out 84h, al
mov ebx, 180000h
mov eax, ebx
mov ecx, edx

fill_range_180000h:
mov es:[ebx], eax
add ebx, 4
mov eax, ebx
loop fill_range_180000h, ecx
mov al, 0A2h
out 84h, al
mov ebx, 180000h
mov ecx, edx
mov edi, ebx

validate_cache_180000h:
mov eax, es:[ebx]
cmp eax, edi
jnz no_cache_detected
add ebx, 4
add edi, 4
loop validate_cache_180000h, ecx
mov al, 0A3h
out 84h, al
mov ebx, 180000h
mov ecx, edx
shl ecx, 2
mov al, 55h

fill_range_55h:
mov es:[ebx], al
inc ebx
loop fill_range_55h, ecx
mov al, 0A4h
out 84h, al
mov ebx, 180000h
mov ecx, edx
shl ecx, 2

validate_cache_55h:
mov al, es:[ebx]
cmp al, 55h
jnz short no_cache_detected
inc ebx
loop validate_cache_55h, ecx
mov al, 0A5h
out 84h, al
mov ebx, 180000h
mov ecx, edx
shl ecx, 2
mov al, 0AAh

fill_range_AAh:
mov es:[ebx], al
inc ebx
loop fill_range_AAh, ecx
mov al, 0A6h
out 84h, al
mov ebx, 180000h
mov ecx, edx
shl ecx, 2

validate_cache_AAh:
mov al, es:[ebx]
cmp al, 0AAh
jnz short no_cache_detected
inc ebx
loop validate_cache_AAh, ecx

mov ebx, 262144
mov cl, 110b

validated_cache:

jmp 0x14AE

no_cache_detected:
jmp 0x148D

align 2

write_cfg_by_idx:
xchg ah, al
out 0ECh, al
xchg ah, al
out 0EDh, al
retn

read_config_by_idx:
out 0ECh, al
in al, 0EDh
retn

unprotect_config_registers:
out 0FBh, al
retn

protect_config_registers:
out 0F9h, al
retn

xtide_rom_read_slot_write_system:
push dx
push ax
mov al, 01000000b
mov ah, 0Fh
call write_cfg_by_idx
wbinvd
pop ax
pop dx
retn

xtide_rom_ro:
mov al, 10110000b
mov ah, 0Fh
call write_cfg_by_idx
wbinvd
retn

xtide_rom_rw:
mov al, 11000000b
mov ah, 0Fh
call write_cfg_by_idx
mov ax, 0CC00h
mov es, ax
xor di, di
xor ax, ax
mov cx, 8192
rep stosw ; clear video ram
in al, 61h ; PC/XT PPI port B bits:
; 0: Tmr 2 gate ---? OR 03H=spkr ON
; 1: Tmr 2 data -+ AND 0fcH=spkr OFF
; 3: 1=read high switches
; 4: 0=enable RAM parity checking
; 5: 0=enable I/O channel check
; 6: 0=hold keyboard clock low
; 7: 0=enable kbrd
or al, 1100b
out 61h, al ; PC/XT PPI port B bits:
; 0: Tmr 2 gate ---? OR 03H=spkr ON
; 1: Tmr 2 data -+ AND 0fcH=spkr OFF
; 3: 1=read high switches
; 4: 0=enable RAM parity checking
; 5: 0=enable I/O channel check
; 6: 0=hold keyboard clock low
; 7: 0=enable kbrd
and al, 11110011b
out 61h, al ; PC/XT PPI port B bits:
; 0: Tmr 2 gate ---? OR 03H=spkr ON
; 1: Tmr 2 data -+ AND 0fcH=spkr OFF
; 3: 1=read high switches
; 4: 0=enable RAM parity checking
; 5: 0=enable I/O channel check
; 6: 0=hold keyboard clock low
; 7: 0=enable kbrd
retn

has_cpuid:
pushfd
pop eax
mov ecx, eax
xor eax, 200000h
push eax
popfd
pushfd
pop eax
and eax, 200000h
and ecx, 200000h
cmp eax, ecx
jz loc_F2CC9
xor al, al
jmp short locret_F2CCB

loc_F2CC9:
or al, 0FFh

locret_F2CCB:
retn

xtide_copy_rom_enable_shadow:
call unprotect_config_registers
call xtide_rom_rw

; unknown VL82C483 index register (this seems to enable slot read/system writes)
mov al, 53h
out 0ECh, al
in al, 0EDh
and al, 7Fh
xchg ah, al
mov al, 53h
out 0ECh, al
xchg ah, al
out 0EDh, al

call xtide_rom_read_slot_write_system
mov ax, 0CC00h
mov ds, ax
xor si, si
mov ax, 0CC00h
mov es, ax
xor di, di
mov cx, 2000h
rep movsw

call has_cpuid
jnz short loc_F10B8

; unknown VL82C483 index register (this seems to disable slot read/system writes)
mov al, 53h
out 0ECh, al
in al, 0EDh
or al, 80h
xchg ah, al
mov al, 53h
out 0ECh, al
xchg ah, al
out 0EDh, al

loc_F10B8:
call xtide_rom_ro

call protect_config_registers
retn

xtide_copy_rom:
push bp
push ds
push es
push ax
push bx
push cx
push dx
push si
push di
mov al, 0E0h
out 84h, al
cld
mov ax, 0CC00h
mov ds, ax
mov ax, 0AA55h
cmp ax, ds:0
jnz short loc_F807B
call xtide_copy_rom_enable_shadow

loc_F807B:
pop di
pop si
pop dx
pop cx
pop bx
pop ax
pop es
pop ds
pop bp
retn

section .data
; program data

section .bss
; uninitialized data

Reply 62 of 100, by bitslasher

User metadata
Rank Newbie
Rank
Newbie

Not to be a broken record, but this is amazing. This hobby is so much more interesting and fun because of gifted people like you sander!

I just got a Presario CDS 860. I saw the empty cache slot, found the part number, and Googled it. It was a happy surprise to find this active thread! When this kind of thing happened to me in the past the thread was always like 10+ years old.

Like someone else said, I'm shaking my wallet at the screen! I'd love to buy one of these from you with 1MB, if that's possible?

Reply 63 of 100, by baronvonkaiser

User metadata
Rank Newbie
Rank
Newbie
bitslasher wrote on 2024-11-03, 21:41:

Not to be a broken record, but this is amazing. This hobby is so much more interesting and fun because of gifted people like you sander!

I just got a Presario CDS 860. I saw the empty cache slot, found the part number, and Googled it. It was a happy surprise to find this active thread! When this kind of thing happened to me in the past the thread was always like 10+ years old.

Like someone else said, I'm shaking my wallet at the screen! I'd love to buy one of these from you with 1MB, if that's possible?

So your one of my two forever enemies now! Got one of the only 2(aside from my cds 860) that I've ever seen off eBay in August or last week! 2 more days and I would have bought the one last week... Please take care of it.. they seem so rare. And I would gladly purchase it if you ever got tired of it.
And yea we are waiting with diamond forming tension to get one of the 256 or whatever size is available... It still all seems like a miracle after so many decades(1997)..

Compaq Presario CDS 833(486dx 33) and 860(486sx2 66), and Presario 866(486dx2 66).
486dx4 100, Kingston evergreen 486 upgrade.

Reply 64 of 100, by bitslasher

User metadata
Rank Newbie
Rank
Newbie
baronvonkaiser wrote on 2024-11-06, 21:42:

So your one of my two forever enemies now! Got one of the only 2(aside from my cds 860) that I've ever seen off eBay in August or last week! 2 more days and I would have bought the one last week... Please take care of it.. they seem so rare. And I would gladly purchase it if you ever got tired of it.
And yea we are waiting with diamond forming tension to get one of the 256 or whatever size is available... It still all seems like a miracle after so many decades(1997)..

Ha! Hey there. You have one of these systems already? Are you needing any parts? I have a lot of Compaq stuff that I think is interchangeable. Let me know if you need anything! I'll try to be the worst enemy you've ever known 🤣

Reply 65 of 100, by baronvonkaiser

User metadata
Rank Newbie
Rank
Newbie
bitslasher wrote on 2024-11-09, 19:03:
baronvonkaiser wrote on 2024-11-06, 21:42:

So your one of my two forever enemies now! Got one of the only 2(aside from my cds 860) that I've ever seen off eBay in August or last week! 2 more days and I would have bought the one last week... Please take care of it.. they seem so rare. And I would gladly purchase it if you ever got tired of it.
And yea we are waiting with diamond forming tension to get one of the 256 or whatever size is available... It still all seems like a miracle after so many decades(1997)..

Ha! Hey there. You have one of these systems already? Are you needing any parts? I have a lot of Compaq stuff that I think is interchangeable. Let me know if you need anything! I'll try to be the worst enemy you've ever known 🤣

Hello enemy! How are you over in enemy land? Lol
In 97 I got a complete presario cds 860, first real pc(I had an old ibm could only get the basic gorilla throwing a banana in a city game). I still have it, tho it spent 15 years in a Florida garage, and rats decided to make a bed on the sound blaster 16 ct1770... I've cleaned the parts as best I can. But it's just carrion at this point. I was lucky and found a presario 833, 5 or so years ago. And a prolina mt motherboard(same motherboard, BIOS just says prolina instead of presario). But it had the memory left in 3 slots during shipping. And between the summer Florida heat and harsh handling it ripped the retention clips apart. I've glued them and so far they are still holding and registering.
The end of August and 2 weeks ago someone put the only 2 presario cds 860s I've ever seen for sale on eBay. If I had gotten paid 2 days sooner I would have bought the last one for the 150 it sold for. So I'm always on the lookout for one, especially complete. Something about the presario 833\850\860\866 are just magical to me ... Especially with the performance I wrung out of it.. 48mb, a 486 odpr100 and any drive it would recognize. It would chug along with games that called for a Pentium 75 or 90.. it wasn't happy, but my poverty ridden self was happy to play any of those old games.
That's why I say take care of it. I never see them around. I've never seen a presario 866, but my best friend had the 850. And we were always battling for who had the most power. Lol.

I still can't wait for the cache chips... It's the last thing I need. I have scavenged everything to make the 833 run at its best. Just need that magic cache.
Enjoy your Klingon computers!
The mighty Com-PaQ!

Compaq Presario CDS 833(486dx 33) and 860(486sx2 66), and Presario 866(486dx2 66).
486dx4 100, Kingston evergreen 486 upgrade.

Reply 66 of 100, by baronvonkaiser

User metadata
Rank Newbie
Rank
Newbie

Hello and merry Christmas or as the case may be to all here.
Due to impatients and wondering. Mainly to sander, I am sure you are busy like everyone towards the end of the year. But just wondering if any of the test modules are or will be available soonish? Or would trying to navigate pcbway(or some service) be the way to go?
You owe us nothing, especially after all the work you have done and published plans for..
But I had to ask.
Thank you again and have a great new year!

Compaq Presario CDS 833(486dx 33) and 860(486sx2 66), and Presario 866(486dx2 66).
486dx4 100, Kingston evergreen 486 upgrade.

Reply 67 of 100, by sander

User metadata
Rank Newbie
Rank
Newbie
baronvonkaiser wrote on 2024-12-18, 18:08:

But just wondering if any of the test modules are or will be available soonish?

I'm sorry to keep you guys waiting, I've been rebuilding parts of my house. In the meantime I've actually ordered parts for 10 pieces, and added jumpers to the design. So no soldering is required to switch between 1MB/256kb.

Unfortunately it won't be a Christmas present but a 2025 present. I'll keep you posted..

Reply 68 of 100, by lordofdaping

User metadata
Rank Newbie
Rank
Newbie

Just an update from me and a thank you to Sander and the community for the work and refinement.
A friend and I built 2 of these over the holiday break and good news, the current design works well. Tested ok on 2 Prolinea 4/50s (upgraded to 100 overdrive).

We found the simplest way to construct these was with solder paste and an controlled PCB oven. My friend is a sound engineer so has access to some cool lab equipment.
In the end we used PCB way for the boards and Mouser Electronics for the parts (as I'm in Australia).
In my use case I left them in the 256kb configuration and it makes a great holiday project.

We are looking to build 2 more (we duplicated the build order in case of any failures) so we will have some spares in the new year.
Otherwise happy new year to all and I look forward to any future refinements.

Reply 69 of 100, by nizmow

User metadata
Rank Newbie
Rank
Newbie
lordofdaping wrote on 2024-12-31, 02:53:
Just an update from me and a thank you to Sander and the community for the work and refinement. A friend and I built 2 of these […]
Show full quote

Just an update from me and a thank you to Sander and the community for the work and refinement.
A friend and I built 2 of these over the holiday break and good news, the current design works well. Tested ok on 2 Prolinea 4/50s (upgraded to 100 overdrive).

We found the simplest way to construct these was with solder paste and an controlled PCB oven. My friend is a sound engineer so has access to some cool lab equipment.
In the end we used PCB way for the boards and Mouser Electronics for the parts (as I'm in Australia).
In my use case I left them in the 256kb configuration and it makes a great holiday project.

We are looking to build 2 more (we duplicated the build order in case of any failures) so we will have some spares in the new year.
Otherwise happy new year to all and I look forward to any future refinements.

Nice! I’m in Sydney, with two Prolineas (4/66 desktop and 4/50 tower) so I’d buy two off you if you make more! Don’t really have the gear to solder this.

Reply 70 of 100, by sander

User metadata
Rank Newbie
Rank
Newbie

Attached is a utility I wrote to dump the ROM for VLSI (VL82C481, VL82C482, VL82C483 and VL82C486) machines. This tool has the advantage of not requiring you to physically remove the BIOS chip. To use it, run the included utility (source code is also provided in the ZIP file) within a DOS environment on your machine. After extracting the BIOS data, please share the extracted file along with the BIOS version number and the specific machine type here.

To fully utilize the 1MB cache, the BIOS requires specific modifications. However, I can only make these necessary changes to the BIOS if I have access to the original BIOS image.

Reply 71 of 100, by Geoman

User metadata
Rank Newbie
Rank
Newbie
lordofdaping wrote on 2024-12-31, 02:53:
Just an update from me and a thank you to Sander and the community for the work and refinement. A friend and I built 2 of these […]
Show full quote

Just an update from me and a thank you to Sander and the community for the work and refinement.
A friend and I built 2 of these over the holiday break and good news, the current design works well. Tested ok on 2 Prolinea 4/50s (upgraded to 100 overdrive).

We found the simplest way to construct these was with solder paste and an controlled PCB oven. My friend is a sound engineer so has access to some cool lab equipment.
In the end we used PCB way for the boards and Mouser Electronics for the parts (as I'm in Australia).
In my use case I left them in the 256kb configuration and it makes a great holiday project.

We are looking to build 2 more (we duplicated the build order in case of any failures) so we will have some spares in the new year.
Otherwise happy new year to all and I look forward to any future refinements.

If you go into production, please count me in as a customer.

IBM Aptiva 2168-931

Reply 72 of 100, by sander

User metadata
Rank Newbie
Rank
Newbie

I've been working on resolving that pesky 0WS write issue, but haven't found a solution. Signal integrity appears fine, and there's no difference with or without the bodge wires. I've also tried using 74F244 series instead of 74AHCT244, but this didn't help. The strange thing is that all cache checks pass (cache is tested with 0WS and works fine!), but the machine hangs after setting the final configuration in the cache register. Access to some extended VL82C483 documentation would be very helpful at this point, but I've decided to leave it for what it is.

I've also ordered the final PCBs (with stencil) today. They will be manufactured with ENIG 2U (gold) and 30-degree edge chamfers. Delivery is expected in approximately 8 days.

The end of last year I already ordered parts for 11 PCBs (including spares) and solder paste. The total cost was +-270 euros for parts (Mouser) and 95 euros for PCBs and stencil (JLCPCB, including shipping and tax), which comes to 36.5 euros per board. As this is a community project, I will not be charging any extra (and you pay for your own shipping) but this will be a onetime production run only as 10 PCBs is already way more than I bargained for 😉

I haven't received any response regarding dumping our BIOS'es. If there is interest in running in 1MB configuration, please respond as I will need to modify the BIOS and order some chips to write the new BIOS content to./i]

The attachment jlcpcb.png is no longer available

Reply 73 of 100, by sander

User metadata
Rank Newbie
Rank
Newbie

here is a prioritized list of previous interest (please let me know it you're no longer interested):

@pentiumspeed 1 2024-10-02, 17:28
@nizmow 1 2024-10-02, 22:37 (buying from @lordofdaping?)
@baronvonkaiser 1 2024-10-03, 17:54
@CharlieFoxtrot 1 2024-10-03, 19:37
@bitslasher 1 2024-11-03, 22:41
@Geoman 1 2025-01-11, 12:16 (buying from @lordofdaping?)

Reply 74 of 100, by lordofdaping

User metadata
Rank Newbie
Rank
Newbie

Thanks for the interest Nizmow and Geoman,

Boards are not yet ready though next month in February that should change.
I'm happy to supply once the boards are tested, just 2 at the moment but based on demand I'll see what I can do.
These are the version 1 boards, but I've been using them, and I can't see any issues at all with them so far in circuitry, except sweet, sweet cache.

Sander I'm back from my break now so I'll look to supply you an image of mine to compare, likely next week.
I have a few Prolinea machines so I'm happy to test any bios mods, because, as much as I don't want to tinker and keep it close to Compaq spec, it's going to happen.
I would appreciate your modding of the BIOS when posted because I'm not a hex expert, but I can manufacture cards.
Should hear back more from me next month. Thanks.

Reply 75 of 100, by baronvonkaiser

User metadata
Rank Newbie
Rank
Newbie
sander wrote on 2025-01-22, 20:01:
here is a prioritized list of previous interest (please let me know it you're no longer interested): […]
Show full quote

here is a prioritized list of previous interest (please let me know it you're no longer interested):

@pentiumspeed 1 2024-10-02, 17:28
@nizmow 1 2024-10-02, 22:37 (buying from @lordofdaping?)
@baronvonkaiser 1 2024-10-03, 17:54
@CharlieFoxtrot 1 2024-10-03, 19:37
@bitslasher 1 2024-11-03, 22:41
@Geoman 1 2025-01-11, 12:16 (buying from @lordofdaping?)

I am definitely still interested and waiting.. so awesome to be on the list. Thank you and I will keep checking back for when action is needed on my part.
Thank you for making all this happen, and thank you to everyone else who is interested and making this not just a rarely found dream or prize.
(Watch a horde of 50 oem's be found and thrown on ebay a month after we all get ours, 🤣.)
Still awesome to see something like this so long after the era of the machines.

Compaq Presario CDS 833(486dx 33) and 860(486sx2 66), and Presario 866(486dx2 66).
486dx4 100, Kingston evergreen 486 upgrade.

Reply 76 of 100, by sander

User metadata
Rank Newbie
Rank
Newbie

The PCBs and stencil arrived, and everything looks promising. I'll begin production shortly.

Reply 77 of 100, by amadeus777999

User metadata
Rank Oldbie
Rank
Oldbie

Awesome work - Props!

Reply 78 of 100, by sander

User metadata
Rank Newbie
Rank
Newbie

I spent some time today populating one side of the PCB with components and reflowed them in the oven. It was my first time using lead-free RoHS solder paste, and I'm pleased with how it turned out. I did discover a couple of issues, though: I'm short on capacitors (I ordered too few) and the dip switches I ordered are incorrect. I've placed orders for replacements and additions.

More to come...

The attachment IMG_20250210_140038.jpg is no longer available
The attachment IMG_20250210_141303.jpg is no longer available
The attachment IMG_20250210_145035.jpg is no longer available

Reply 79 of 100, by lordofdaping

User metadata
Rank Newbie
Rank
Newbie

Excellent update Sander,

Sorry, I'll look to upload the bios dump of my main system soon.

However, exciting for others (@nizmow and @Geoman). Good news, the boards are now for sale in Australia via Ebay: https://www.ebay.com.au/itm/276870686351

Price reflects parts and labor and I've tested each and worked with another and I'm still amazed at these cards (load tested very well). This is my full inventory at the moment, so if all sold another batch will need to be done. 4 available for purchase today.