Welcome, Guest. Please login or register.

Author Topic: Native 68k Netsurf  (Read 52222 times)

Description:

0 Members and 5 Guests are viewing this topic.

Offline utri007Topic starter

Re: Native 68k Netsurf
« Reply #14 on: March 07, 2011, 11:38:48 PM »
I would contribute also, could somebody who has a more experience to start it? It would also need lots of advertising.

Working web browser would be essential, I really don't understand why people are not more interested about this. They rather arguing and whining pointless things and spread their positive attitude all over them. <- sarcasm
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD
 

Offline NovaCoder

Re: Native 68k Netsurf
« Reply #15 on: March 08, 2011, 12:09:12 AM »
Quote from: utri007;620258
I would contribute also, could somebody who has a more experience to start it? It would also need lots of advertising.

Working web browser would be essential, I really don't understand why people are not more interested about this. They rather arguing and whining pointless things and spread their positive attitude all over them. <- sarcasm


Does the 68k port use the SDL and therefore need an RTG....is that about right?   If so it might be possible to remove the SDL requirement and code an AGA chunky mode instead.
Life begins at 100 MIPS!


Nice Ports on AmiNet!
 

Offline wawrzon

Re: Native 68k Netsurf
« Reply #16 on: March 08, 2011, 12:54:26 AM »
or you could code your c2p routines directly into bernds sdl library, in order to have a potential possibilty to run all sdl apps on planard screens. this will probably cost just too much performance for most games. is though a much desired feature ive observed. also i have suggested that before.
 

Offline NovaCoder

Re: Native 68k Netsurf
« Reply #17 on: March 08, 2011, 01:43:41 AM »
Quote from: wawrzon;620270
or you could code your c2p routines directly into bernds sdl library, in order to have a potential possibilty to run all sdl apps on planard screens. this will probably cost just too much performance for most games. is though a much desired feature ive observed. also i have suggested that before.


No sorry, I would never try and compile the SDL source code.   I'm currently using the 68k SDL library for audio and multi-threading (timer) and using native C2P AGA for graphics.   With a NetSurf port I'd probably just the SDL requirement (if possible).
Life begins at 100 MIPS!


Nice Ports on AmiNet!
 

Offline wawrzon

Re: Native 68k Netsurf
« Reply #18 on: March 08, 2011, 03:07:38 AM »
i dont understand very well, but whats more complicated in inserting c2p routines into existing sdl static library project than into a netsurf project? both sources will be most likely made available on demand if you volunteer to contribute. but improving sdl would be a more universal gain as it is used by many more applications except netsurf itself.

edit: just to be clear: sdl 68k refuses to work on planar screens for now. when such a screen was detected say by bestmodeid the gfx output could be redirected to your native c2p routine. i don think that it is complicated. bernd woulld sure help with some guidance, since he knows the source. what do you think?
« Last Edit: March 08, 2011, 03:12:03 AM by wawrzon »
 

Offline utri007Topic starter

Re: Native 68k Netsurf
« Reply #19 on: March 08, 2011, 06:27:30 AM »
Problem is that SDL is quite useless with real amigas. Even with 8bit modes availlable, it would be useless for real amiga users and pointeless because UEA users doens't need 8bit modes
« Last Edit: March 08, 2011, 08:19:02 AM by utri007 »
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD
 

Offline wawrzon

Re: Native 68k Netsurf
« Reply #20 on: March 08, 2011, 10:29:19 AM »
that depends, ive released some stuff that works acceptably on real hardware to aminet, but with c2p overhead it will sure get slower yet.
 

Offline eb15

  • Jr. Member
  • **
  • Join Date: Feb 2010
  • Posts: 61
    • Show only replies by eb15
Re: Native 68k Netsurf
« Reply #21 on: March 08, 2011, 07:47:37 PM »
Last time I looked for AWeb sources, the published server link I found was no longer available...  If there is open source to any of the old Amiga web browswers besides AMosaic, which I already have through AROS, I would be interesting in playing with it under the AROS build system to see if I can get it to build and run under AROS.  That should help prep for working on lighter NetSurf and/or OWB ports (without MUI or SDL dependencies).
 

Offline chris

Re: Native 68k Netsurf
« Reply #22 on: March 08, 2011, 07:56:20 PM »
Quote from: fishy_fiz;620172
Are any of the existing amiga based ports (mos/os4) using mui/reaction and other "native" code paths, or are they relying on SDL backend for most everything?


The OS4 one uses Reaction (things will need tweaking for OS3.9, but largely it should work unaltered)
The old MOS version uses MUI.  Note that the interface to NetSurf's frontends has changed significantly, so this frontend will not work "out of the box" with the latest core.

Quote from: NovaCoder;620264
Does the 68k port use the SDL and therefore need an RTG....is that about right?   If so it might be possible to remove the SDL requirement and code an AGA chunky mode instead.


No, don't do that.  The framebuffer frontend (which is what the existing 68k port is) is not really suitable and should not be hacked around for this purpose.  The NetSurf core devs don't like it either.  Create a proper OS3/68k frontend.

@all
The only code you need to touch to modify my OS4 frontend is in the "amiga" directory.

Anything relating to graphics output is in the file "plotters.c".  Currently it uses a mix of graphics.library, (optionally Cairo) and Picasso96 calls.  The graphics.library part sets colours using new OS4 32-bit calls - that will need modifying to use FindColor() - or ObtainBestPen() if you can figure out a way of keeping track of which pens can be unlocked.

I've recently added back in direct to screen rendering, it's buggy atm but should work better for 8-bit modes.

A lot of functions could be stubbed out with #ifdef __amigaos4__ to get it compiled, and then gradually fix functions as they are needed.  There is a heck of a lot of code which is extra UI stuff which won't really matter for an initial porting effort.

I will help!  Ask me questions and I will answer them!
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline wawrzon

Re: Native 68k Netsurf
« Reply #23 on: March 08, 2011, 08:07:56 PM »
just checking, here is a lot of stuff in amiga dir, would have to read into that again, no ifdefs anywhere else?
also i think it would be better to modify p96 to cgx calls for overall 68k compatibility, otherwise half of the systems remain unsupported.
 

Offline utri007Topic starter

Re: Native 68k Netsurf
« Reply #24 on: March 08, 2011, 08:17:40 PM »
P96 and CGX shouldn't matter, as there are cgx emu buildin in P96?
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD
 

Offline chris

Re: Native 68k Netsurf
« Reply #25 on: March 08, 2011, 10:32:45 PM »
Quote from: wawrzon;620423
just checking, here is a lot of stuff in amiga dir, would have to read into that again, no ifdefs anywhere else?


You can disable features in makefile.config.  There are a couple of "#ifdef nsamiga" elsewhere but you don't need to worry about those.

Quote

also i think it would be better to modify p96 to cgx calls for overall 68k compatibility, otherwise half of the systems remain unsupported.


Actually it would be better to ditch them entirely, I only use four functions - p96AllocBitMap, p96FreeBitMap, p96EncodeColor and p96WritePixelArray.  They can be replaced, you don't want to be using p96 or cgx calls on OS3 as there's no guarantee it's available and you need to support AGA.  I'm only using them anyway for pixel format reasons (NetSurf uses RGBA/ABGR, internal OS4 functions prefer ARGB), write a pixel format conversion function and they then aren't needed.
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline Khephren

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 606
    • Show only replies by Khephren
Re: Native 68k Netsurf
« Reply #26 on: March 08, 2011, 10:39:20 PM »
Quote from: chris;620419
The OS4 one uses Reaction (things will need tweaking for OS3.9, but largely it should work unaltered)

No, don't do that.  The framebuffer frontend (which is what the existing 68k port is) is not really suitable and should not be hacked around for this purpose.  The NetSurf core devs don't like it either.  Create a proper OS3/68k frontend.

@

If we stick with reaction, that'll make it 3.9 only won't it? Would be a start though.

If he does not hack around, will we still be able to have a chunky graphics display?  it'll probably need one on AGA.
 

Offline NovaCoder

Re: Native 68k Netsurf
« Reply #27 on: March 08, 2011, 10:50:47 PM »
Quote from: chris;620419
The OS4 one uses Reaction (things will need tweaking for OS3.9, but largely it should work unaltered)
The old MOS version uses MUI.  Note that the interface to NetSurf's frontends has changed significantly, so this frontend will not work "out of the box" with the latest core.



No, don't do that.  The framebuffer frontend (which is what the existing 68k port is) is not really suitable and should not be hacked around for this purpose.  The NetSurf core devs don't like it either.  Create a proper OS3/68k frontend.

@all
The only code you need to touch to modify my OS4 frontend is in the "amiga" directory.

Anything relating to graphics output is in the file "plotters.c".  Currently it uses a mix of graphics.library, (optionally Cairo) and Picasso96 calls.  The graphics.library part sets colours using new OS4 32-bit calls - that will need modifying to use FindColor() - or ObtainBestPen() if you can figure out a way of keeping track of which pens can be unlocked.

I've recently added back in direct to screen rendering, it's buggy atm but should work better for 8-bit modes.

A lot of functions could be stubbed out with #ifdef __amigaos4__ to get it compiled, and then gradually fix functions as they are needed.  There is a heck of a lot of code which is extra UI stuff which won't really matter for an initial porting effort.

I will help!  Ask me questions and I will answer them!


Hiya,

I assume you use GCC to compile this for OS4?

Direct screen rendering sounds interesting, not sure how that fits in though.

Ok so is it using Reaction to render the entire web-page?   I think that would be very slow under AGA, the only way to make a reasonable fast browser for AGA is to to native hardware 'direct screen rendering' and bypass the OS's API functions....that way it could be done using either C2P or even better the new chunky mode from the Indivision Mrk2. This kind of approach could only work if the underlying browser engine output the complete webpages to a chunky buffer ready for displaying to the user (including its own take on dialog boxes etc).
Life begins at 100 MIPS!


Nice Ports on AmiNet!
 

Offline chris

Re: Native 68k Netsurf
« Reply #28 on: March 08, 2011, 11:34:26 PM »
Quote from: Khephren;620453
If we stick with reaction, that'll make it 3.9 only won't it? Would be a start though.


There's not much to the GUI, a few buttons, a string gadget, a couple of scrollers and a big expanse of empty space.  You should be able to downgrade it to work on ClassAct, there's nothing complicated there.

Quote
If he does not hack around, will we still be able to have a chunky graphics display?  it'll probably need one on AGA.


All the rendering code is in the frontend, which gets commands and colours or an RGBA bitmap.  You can do whatever you like with them.

Quote from: NovaCoder;620456
Hiya,

I assume you use GCC to compile this for OS4?


Yes.

Quote
Ok so is it using Reaction to render the entire web-page?


No, just a blank area created by space.gadget, which gets filled in by the above-mentioned plotters.

Quote
the only way to make a reasonable fast browser for AGA is to to native hardware 'direct screen rendering' and bypass the OS's API functions....


Draw direct to the window via the window's RastPort (this is what my direct rendering does).  I wouldn't recommend hitting the hardware directly, you're probably not gaining much speed at the expense of extra complexity and hardware compatibility.
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline chris

Re: Native 68k Netsurf
« Reply #29 from previous page: March 08, 2011, 11:45:55 PM »
I've dug out my old "what needs doing for OS3" and posted it on the NetSurf wiki:
http://wiki.netsurf-browser.org/Todo/AmigaOS_frontend#OS3_Support
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz