Hacker News new | past | comments | ask | show | jobs | submit login
MicroWeb DOS web browser – for 8088 systems (github.com/jhhoward)
102 points by bane on Dec 31, 2021 | hide | past | favorite | 16 comments

640KB who has such a fancy machine? Now I need to load the mouse driver in upper memory again. If anyone needs some help, i've got my config.sys on a floppy disk.

I had a custom 4Mb memory extender board someone's dad made in a garage. The only thing that still managed to eat all the memory was WordStar.

> Unfortunately older machines just don't have the processing power to handle HTTPS

Is anyone aware of the nature and extent of the limitation here? Are we talking minutes or years? Would more RAM help?

No, it's largely CPU bound. I had a 68040 that would take around 45 seconds to generate ssh keys, and my little NetBSD Macintosh IIci with a 25MHz 68030 and no L2 card took 22 seconds for a single short TLS 1.2 transaction to a local test server. This wouldn't be a big problem if it weren't for the fact many servers just don't wait.

Shameless plug: a crypto client library oriented to old things. https://github.com/classilla/cryanc

Also, you want a fast FPU to do openssl work [0]. A standard 8088/8086 without an FPU is going to need an FPU emulator which is a slow process. You essentially have to throw an illegal instruction exception each time you want to execute FPU code. Then catch the exception and then emulate the 8087 in software. All this takes dozen to thousands of clock cycles on a 4.77MHz CPU depending on the FP instruction. Spending thousands of cycles per FP instruction while interrupts were disabled was costly on machines before 486s. They simply didn’t have the speed to make FPU emulation standard. Many commercial compilers for C/C++, Pascal, Fortran, and BASIC had FPU emulators as does MicroWeb’s choice of OpenWatcom.

According to this benchmark, a low end 486/25MHz was over 1000x faster than a 286/6MHz with software FPU. The Pentium 10x faster still. [1]

[0] https://www.linksysinfo.org/index.php?threads/using-fpu-emul...

[1] https://www.fourmilab.ch/fbench/fbench.html

Thanks for that clarification. So... NOT CPU bound, but by server configuration! ;)

I asked about RAM as I'm aware some maths functions can be sped up considerably using pre-rendered lookup tables.

(And great library, lol'd a few times reading your humorous description.)

CPU as mentioned. Years ago at a startup, we had a mobile app running on Windows Mobile. Tracking down an SSL library was difficult. The one we found was slow. We ended up working with a well known cryptographer to come up with (he had) a paired down key exchange to set up symmetric session keys.

I have a lot of nostalgia for old systems and fondly remember my 10 MHz 8088 that I bought from JDR Microdevices and built myself as a teenager.

But I would not want to be back in the bad old days of changing hardware jumpers for IRQ, DMA, base address, etc. And finagling config.sys and autoexec.bat. I worked at a computer consulting company and had to learn to be very creative at solutions with this but seems so pointless now.

This reminds me of those browsers that dumb phones came with in the 00s.

WAP. I made a couple of commerical WAP services way back when. News and weather stuff.

I don't remember too much about it, other than phones were very expensive then, so in a mid-sized company, you couldn't just have 10 or 12 models to test with. I had the company's test phone, and my personal phone and that was it.


Yes, WAP and WML, but most (all?) of them also supported HTML and some subset of CSS. No JS, obviously.[1]

[1] https://friends.grishka.me/posts/49380

It would be quite the news story if a carrier announced a WAP browser today.

Oh that's cool, gotta load that up on the 5155, need to put some NIC in it first though

Nice, there's an experimental release compatible with the HP 200LX. I miss that machine, so I should carve out some time to test it.

But what version of HTML is supported? HTML 2.0, 3.0, or even 3.2 (up to support of IMG anyway which has existed since at least 2.0)? /s

Supported HTML tags are listed in Tags.cpp: https://github.com/jhhoward/MicroWeb/blob/984f19915ecf92bc0c...

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact