Repository navigation
Replies: 20 comments 31 replies
|
A quick look at this Micro Web Browser shows definite potential for ELKS, as it's built for 16-bit real mode and already uses the OpenWatcom C compiler. So getting it running isn't necessarily a huge amount of work, except for the TCP portion. Getting the project compiled will still need conversion from mTCP, a DOS TCP/IP implementation (different from Watcom's TCP/IP), and that could be a lot of work, but not sure, I have never looked into that. The other major issue is the browser only supports HTTP connections, not HTTPS. These days, I believe there are very very few non-secure websites out there, so the entire project might have very limited usefulness from what any user might naturally expect. Another severe limitation is support for GIF images only, neither PNG nor JPG will display. |
|
The problem with HTTPS is well known indeed. So people do a special proxy for example between a retro browser and the real website. The proxy does the job of providing each website as http instead of https. The are other hacks where the browser actually presents screenshots and calculates where you click with the mouse, then this click on the image is send as a real click to a real browser and the result is sent back again to the retro bowser. So you have some kind of (slow) refresh rate, but ... you get HTML5 (slow one)! Actually I am sure there are more hacks on the internet, I just do not remember all of them. https://computernewb.com/wiki/How_to_browse_the_web_on_very_old_computers |
|
Considering Arachne is also a possibility, here is the link of a discussion about its port to ELKS: |
|
If we port MicroWeb, may be we use Nano-X instead of directly accessing graphics adapter, keyboard and mouse? ps: I'm not working on it, it is just a 2025 project TODO. I'd prolly need lots of help with the networking part. |
|
I think a good starting point is https://github.com/ghaerr/elks/blob/master/elkscmd/inet/httpd/httpd.c The idea is to check how the |
|
Thanks @toncho11. As expected, the code seems very familiar, it is as in Linux as far as I could read. Unless mTCP does crazy stuff, the network port would be smooth I think. I wonder if there was any recent change in ELKS network code, or all that SO_LINGERing option is still something needed. |
|
You can use QEMU with network enabled.
This is the network documentation: https://github.com/ghaerr/elks/wiki#Networking Supported cards are: ne1k, ne2k [ne0], wd8003, wd8013 [wd0] and 3c509 [3c0], so your ne2000 should work. |
|
I started a discussion about the MicroWeb ELKS port here: jhhoward/MicroWeb#40 |
|
While not a graphical browser, bobcat could, with some effort (it is Turbo C, uses PDCurses, etc) be ported to ELKS: ps: Interesting discussion from 1997 mentioning ELKS: https://lists.nongnu.org/archive/html/lynx-dev/1997-03/msg00426.html |
|
Interesting discussion about adding support for 4-bit and 8-bit colors to arachne SVGALib port: This would be useful in an eventual future ELKS port. |
|
I think if we could have directly a graphical browser like Arachne, which does support in its architecture the use of extended memory, it would be wonderful. |
|
This issue inspired me to start looking into a web browser for ELKS and, with the help of some coding apps, I came up with this beta: ELKSWeb 0.1. It takes inspiration from MicroWeb, but is written in C using the native ELKS toolchain, with 8088-compatible machines in mind. For networking, it uses ELKS's own I have been trying it out on my HP 200LX systems as well as in emulators, and it has been fun seeing pages like 68k.news running on them. It is still an early beta, with plenty of limitations, but basic HTTP browsing and GIF images are working. Here is 68k.news in ELKSWeb 0.1, captured in QEMU: Here is my FrogFind mirror in ELKSWeb 0.1, showing the homepage with its frog GIF. This was captured in QEMU. The downloads, installation instructions, known limitations and more technical details are on GitHub: ELKSWeb. I would really welcome testers and feedback, along with any feature requests. I will not promise every idea will be feasible given the memory, hardware and other limitations we are working with, but I would love to hear what people would find useful. |
|
ai did all that? that is so cool! |
|
Hello @l00nix, I have played around a bit with your cool ELKSWeb browser, contributed as an external repo build in #2837. I must say, very cool, and it actually works! :) I have a couple thoughts on how the ELKS user experience might be improved. Feel free to use or ignore these ideas, I'm available to help explain more if you'd like. I was testing using QEMU under both VGA and EGA display modes.
By default, the Nano-X mouse is /dev/ttyS0 on real hardware, but /dev/ttyS1 on QEMU. Either is overwritten by MOUSE_PORT= env var. The The C library dprintf code is here. The The Nano-X mouse driver is here. Look at the The non-Nano-X mouse driver for ELKS GUI programs is here. The relevant function is Using some of the above would help compatibility with other ELKS graphics programs without the user requiring any reconfiguration.
Overall first impression is this is quite an accomplishment! I look forward to playing with this further as I learn how to get the mouse to work in QEMU. Thank you! |
|
I haven't had as much success as @ghaerr. When I type an address into the address bar (e.g frogfind.de) the intro page just blinks and redisplays. It doesn't look like it's trying to connect to the site. If I select the frogFind tab and press enter the lower left hand corner shows host name not found. I am running qemu on m1 MacBook Air |
|
That's great!
Thanks for the update
Alex
…On Tue, Oct 20, 2026, 10:33 p.m. djohanse ***@***.***> wrote:
I'm an idiot. Forgot net start. Both your link and the tab work for me now.
—
Reply to this email directly, view it on GitHub
<#2185?email_source=notifications&email_token=ABBP33EYTALWVMSSCJBFHAL5VAOBDA5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCOJQHA3DSMZUUZZGKYLTN5XKO3LFNZ2GS33OUVSXMZLOOSWGM33PORSXEX3DNRUWG2Y#discussioncomment-19086934>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABBP33CUVPY57SEMFAVWWQ35VAOBDAVCNFSNUABGKJSXA33TNF2G64TZHMYTINBRGE3TGMJ3IRUXGY3VONZWS33OHM3TQMRVGM2TFILWAI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
@l00nix, this is really impressive. Other than the issues mentioned above, ELKSWeb running on my Compaq Portable Plus (8088, 4.77 MHz) loads HTTPedia (an HTTP Wikipedia proxy) homepage in a blazing 11 seconds, and takes an additional 30 seconds to receive and draw the logo. Compared to MicroWeb which loads in 8.5 seconds and images in an additional 10 seconds, I think you're on the right track. An optimization I noticed that MicroWeb does is by not redrawing the entire site when images load, but only rewriting image placeholders with the image itself. Also CGA mode functions fantastic on the Compaq which is known for having quirks with its dual-mode MDA+CGA video card, other than the font legibility which was also mentioned above I believe. The only other issue I didn't see mentioned was that it redraws the site when moving the selection via Keep up the work! I'd be happy to help test and/or contribute. |
|
I have released ELKSWeb 0.2 — experimental beta. Thank you to @ghaerr, @sammothxc and @djohanse for the testing and feedback. This release includes:
I have also been testing on an Amstrad PPC 512 with PicoMEM 2, using its original LCD and serial mice. Here is FrogFind during that testing: The release provides the standalone This is still an early beta. Large-page loading needs more work, the earlier 86Box cold-boot exit issue remains unresolved, and broader hardware feedback is welcome. The newly versioned release passed automated and QEMU checks; the PPC observations above came from development candidates. Full changelog and feedback credits Stay tuned! Thanks, |
|
I have released ELKSWeb 0.3 beta. This update includes changes addressing @ghaerr’s URL-display, display-selector and console feedback: the requested URL stays visible while loading, Backspace works in the display selector, and a guarded console fallback has been added. The intermittent console issue remains under investigation. I tested the 0.3-dev1 candidate on the PPC 512 and HP 200LX DS, including browsing, GIF rendering and serial-mouse input. The release includes the updated welcome page and separate executable, runtime and source downloads. Thank you for the suggestions and testing. I am waiting for further feedback and @ghaerr’s testing to guide future updates. Thanks, |







Uh oh!
There was an error while loading. Please reload this page.
I found this project on github, any use to elks?
https://github.com/jhhoward/MicroWeb
All reactions