Skip to content
View in the app

A better way to browse. Learn more.

MSFN

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

RetroZilla: An updated version of Mozilla for Windows 95 and NT4 [2.2 RELEASED]

Featured Replies


20 hours ago, roytam1 said:

First BIG step of porting Firefox 3.6 to old NT.

It runs but it cannot show any text.

fx36-nt4.png

 

for Firefox 3 or later not working (exit immediately) on NT4, the biggest reason is that, NT4 doesn't like "Local\" or "Global\" namespace/prefix in the Mutex.

 

Test binary: http://roy.orz.hm/gpc/files1.rt/fx36vc71-20171014.7z

Source: https://github.com/roytam1/fx36oldwin

Oh, can you explain this?

"

the biggest reason is that, NT4 doesn't like "Local\" or "Global\" namespace/prefix in the Mutex."

 

I'm working on a nt 4.0 dll wrapper and while most of the softwares runs, firefox 3.0 (and later) and opera 12  exit immediately... I have already added the missing functions (even for firefox 10.00) but still it still doesn't run. If you can give me an explanation on what to do, I think I will be able to get newer versions work on nt 4.0. Do I have to modify some existing functions?

 

9onxfom.png

Edited by junior600

10 hours ago, junior600 said:

Oh, can you explain this?

"

the biggest reason is that, NT4 doesn't like "Local\" or "Global\" namespace/prefix in the Mutex."

 

I'm working on a nt 4.0 dll wrapper and while most of the softwares runs, firefox 3.0 (and later) and opera 12  exit immediately... I have already added the missing functions (even for firefox 10.00) but still it still doesn't run. If you can give me an explanation on what to do, I think I will be able to get newer versions work on nt 4.0. Do I have to modify some existing functions?

 

9onxfom.png

I haven't disassemble NT4 or looking at nt4 source code, I just blackbox testing it.

I discover that, with "\" in CreateMutex, NT4 will just return FALSE and set LastError = 3 (ERROR_PATH_NOT_FOUND).

 

For your wrapper, you can wrap CreateMutex() and try to remove "Local\" and "Global\" from mutex name before passing it to system's CreateMutex() to see if it will work or not.

Edited by roytam1

3 minutes ago, roytam1 said:

I haven't disassemble NT4 or looking at nt4 source code, I just blackbox testing it.

I discover that, with "\" in OpenMutex, NT4 will just return FALSE and set LastError = 3 (ERROR_PATH_NOT_FOUND).

 

For your wrapper, you can wrap OpenMutex() and try to remove "Local\" and "Global\" from mutex name before passing it to system's OpenMutex() to see if it will work or not.

Thanks I will try it soon... thanks :D

1 hour ago, junior600 said:

Thanks I will try it soon... thanks :D

Update the existing function

On 10/15/2017 at 9:23 PM, junior600 said:

Thanks I will try it soon... thanks :D

I'm still looking forward for your (source/binary) release :)

On 10/15/2017 at 2:33 PM, Dibya said:

Usp10.dll can be copied from nt4 or 2k

Yeah. So use USP10.DLL for GlyphIndex retrieving.

The gfx drawing is still need more work.

fx36nt4-3.png

I will be amazed on the day when you all will have ff10 on 9x/nt4

That time you people may design a hybrid gecko 10 like palemoon use hybrid gecko 38. Fixing all rendering issues and speed improvement s.

On 10/20/2017 at 11:53 PM, Dibya said:

I will be amazed on the day when you all will have ff10 on 9x/nt4

That time you people may design a hybrid gecko 10 like palemoon use hybrid gecko 38. Fixing all rendering issues and speed improvement s.

That will be super hard as mozilla moves towards to google-ish usage of C/C++ language style, which makes compiling with old MSVC compiler hard/impossible.

 

BTW I'm debugging fx36oldwin attempt to use NULL FontMetrics and crash in NT 3.51, many nsILocalFileWin changes are ported from 2.0 branch.

fx36ow-nt351-crash.png

Edited by roytam1

Well, if the best we can do is get 3.6 running, that's really a good place to start, because it's current up to March 2012, and one can backport security and rendering fixes from newer versions to bring it into 2017. I don't know how trivial it would be, but it should be possible?

Even standard 3.6 is still relatively functional as is, so it shouldn't need much work once it's working decently on NT 3.x and 9x/ME.

Nevertheless, this is a fantastic project! Keep it up!!

c

I was able to get the original firefox 3.6 work... It works well. Unfortunately the next releases throw an error and I need to fix them soon.

BgHjiWe.png

4 hours ago, junior600 said:

I was able to get the original firefox 3.6 work... It works well. Unfortunately the next releases throw an error and I need to fix them soon.

BgHjiWe.png

Oh nice. But mine is latest 3.6 (3.6.28) which changes alot. Still waiting for your wrapper release :)

BTW I found that NTSD is better than WINDBG in NT 3.51, which produces better stack trace (although I still can't find root of NULL FontMetrics pointer issue now).

fx336ow-ntsd.png

It starts now, but no text and images (maybe cairo's problem?)

EDIT: With some testing, Text issue may because of usp10?
EDIT2: So Uniscribe doesn't work in NT 3.51 and throws 0x8007007F
EDIT3: GetCharacterPlacementW failed as well?
EDIT4: Tried GetTTUnicodeGlyphIndex() from MSDN, GetTTUnicodeGlyphIndex() itself works but I found that ExtTextOutW() does not support ETO_GLYPH_INDEX in NT 3.51. If I can't find a way to convert all related code back to non-glyph way, the project will hit dead end.

fx36ow-nt351-starts-no-text-images.png

Test binary:

http://o.rthost.cf/gpc/files1.rt/fx36vc71-20171025.7z

Edited by roytam1

  • 2 weeks later...
On 10/24/2017 at 9:44 PM, roytam1 said:

It starts now, but no text and images (maybe cairo's problem?)

EDIT: With some testing, Text issue may because of usp10?
EDIT2: So Uniscribe doesn't work in NT 3.51 and throws 0x8007007F
EDIT3: GetCharacterPlacementW failed as well?
EDIT4: Tried GetTTUnicodeGlyphIndex() from MSDN, GetTTUnicodeGlyphIndex() itself works but I found that ExtTextOutW() does not support ETO_GLYPH_INDEX in NT 3.51. If I can't find a way to convert all related code back to non-glyph way, the project will hit dead end.

Test binary:

http://o.rthost.cf/gpc/files1.rt/fx36vc71-20171025.7z

Some fonts are able to paint in NT 3.51 now!

fx36ow-nt351-textshown.thumb.png.817e104b9abe2a22bf5a9dacb81098f9.png

Test binary:
http://o.rthost.cf/gpc/files1.rt/fx36vc71-20171108.7z

THANK YOU SO MUCH FOR THIS!

It's absolutely wonderful to have a "newer" web browser I can use on Windows 98 for fun.

Sorry if I somehow missed this answer, but will this browser ever be able to view newer SSL locked websites? It would be great to have greater access to the internet on my old machine, even if the webpages don't display correctly.

Edited by AeonG

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.