Welcome, Guest. Please login or register.

Author Topic: We need an iBrowse replacement for 68k!!!  (Read 76115 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline chris

Re: We need an iBrowse replacement for 68k!!!
« on: January 27, 2013, 05:16:38 PM »
Here's roughly what needs to be done to get the OS4 frontend for NetSurf working on OS3/AGA: http://wiki.netsurf-browser.org/Todo/AmigaOS_frontend#OS3_Support

Note that:
* The plotters code does not need P96 or RTG.  Although I can't test it on AGA, it works fine on an 8-bit RTG screen using graphics.library functions only. (Screenshot)
* The font code uses the bullet API, but the new-style OS4 calls for setup.  By default it uses anti-aliasing via tags that are new to OS4.  On palette-mapped screens it reverts back to old non-AA calls.
* It's Reaction-based, but the trickiest part is probably the scrollbars in the window border, which are attached using new tags and classes.  NetSurf has built-in "grab and drag" so the scrollbars could be omitted initially anyway!  The rest of the GUI is pretty basic buttons, string gadget (this is a custom job, but can be reverted back to the standard one if necessary) and a tab bar, none of which use any new features AFAIK.  The menu is attached with a new tag but that's easily changed.

I'm happy to give assistance with back-porting this.
"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: We need an iBrowse replacement for 68k!!!
« Reply #1 on: January 28, 2013, 04:02:49 PM »
Quote from: fishy_fiz;724363
A more basic browser supporting CSS and javascript (netsurf isnt bad, but lack of javascript is quite limiting) is way more realistic/reasonable in my opinion.


Agreed, however NetSurf does actually have some basic JavaScript support (it's early days, but I have a build here with working JavaScript).  Once ported, the JS stuff will improve with no additional front-end effort required.

Quote from: wawrzon;724411
netsurf and aros owb 68k prove a css browser is possible at least on 060. optimized plotter that doesnnt just render the whole content new even when just scrolling would make it even faster. trade off antialiasing on fonts might bring another speedup. one just needs to do that.


NetSurf (OS4) already has an optimised scroll, and anti-aliasing can be switched off (it makes a big difference even on PPC with 16-bit screenmodes)
"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: We need an iBrowse replacement for 68k!!!
« Reply #2 on: January 28, 2013, 10:15:49 PM »
Quote from: wawrzon;724485
@chris:
sigh, apparently yet again the most dumb ungifted and uneducated noob has to give it a try and give up just after few stabs. ive lost count how many times ive already tried.

chris, just took a look at 2.9 source for starters.


Don't bother with 2.9.  3.0-dev is pretty stable at the moment and due for release in the next 2-3 months.  The palette-mapped plotters aren't in 2.9 either.

Quote

i would have to set up a new target, borrowing what is set for os4 at the beginning. something like m68k-amigaos should do i guess. i would have to override host detection as it looks like, i guess mingw would be the right choice, likely other settings would might need to be overridden as well. ive tried to consult arturs sources (http://aminet.net/comm/www/netsurf-m68k-sources.lha) but i see nothing that would help me in the makefiles. looks like hes using amidevcpp interface to build netsurf. id like to try to stay conform with the genuine makefiles.


I use Cygwin, mingw ought to work as well.

I would advise trying to build the toolchains used by the auto-builder.  See this email: http://vlists.pepperfish.net/pipermail/netsurf-dev-netsurf-browser.org/2012-December/002983.html

There is a m68k-unknown-amigaos target set up in there already.

I've never tried building the toolchains.  I keep meaning to as my OS4 builds have a weird issue that doesn't show up on the auto-built versions.  However, these might get around the problems NovaCoder had.

You can then build the libraries (and NetSurf itself) using TARGET=amigaos3 as an argument to make.

It's worth reading this as well: http://wiki.netsurf-browser.org/Documentation/GettingCoding
"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: We need an iBrowse replacement for 68k!!!
« Reply #3 on: January 28, 2013, 10:28:52 PM »
Quote from: wawrzon;724442
this is actually even more tempting, having that scrollbars are even almost not necessary except for really huge pages. couldnt you try to build it for 68k target commenting out whatever does not compile? this way we would at least exactly know what parts need work. this is everything i could ever do, rewriting offending parts is completely out of question in my case, but you being familiar with the particular build process and likely having everything necessary at hand are better off anyway. i guess it wouldnt take longer for you than posting in this thread.


Well, my 68k cross-compilation environment is pretty broken, as it's really an OS4 cross-compilation environment which is hacked to bits to force everything to cross-compile ppc-amigaos.  So actually it'll take me a while to set one up that works properly.

Here's a build log from a while back:
http://vlists.pepperfish.net/pipermail/netsurf-dev-netsurf-browser.org/2011-January/002306.html

Some of those errors won't appear now, because there's an os3support.h file which hides a load of them.
"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: We need an iBrowse replacement for 68k!!!
« Reply #4 on: January 29, 2013, 12:21:24 AM »
There's some code that won't be touched under OS3 even though it has to be compiled.  I'll see if I can #ifdef __amigaos4__ those bits to get rid of the warnings (from memory - any section with CompositeTags() in it, and anti-aliased text printing)

Quote from: wawrzon;724506
good thing is i have 4.5.0 for m68k-amigaos and could perhaps prepare the build environment for someone who can do the actual work, perhaps but only perhaps, i could even build in the necessary casts to get rid of some warnings, but you would have to verify that, chris.


Getting a working build environment would be half the battle.
"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: We need an iBrowse replacement for 68k!!!
« Reply #5 on: January 29, 2013, 12:03:40 PM »
Quote from: wawrzon;724517
there is really a lot that lloks like such a candidate. for instance everything in theme.c, download.c, contex_menu.c to be examined. there is while lot of functions but a limited number of source files that need to be modified for starters.


I can't think of anything in download.c except the notification function.  theme.c has 32-bit mouse pointers, which you're right can be #ifdef'd and disabled.  context_menu.c uses popupmenu.class which can be disabled completely too (unless somebody fancies reworking it to use popupmenu.library on OS3).

Quote

hmm. where did john mark bell got his m68k-amigaos gcc4.5.1 for btw? i have only 4.5.0 by bernd afair. otherwise i have whole lot of ready includes and libs, also for netsurf.


It's downloaded and built from source by the toolchain.  It'll be an even newer version now!
"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: We need an iBrowse replacement for 68k!!!
« Reply #6 on: January 29, 2013, 11:28:24 PM »
Quote from: wawrzon;724604
@chris:

since i believe ill have to define new target first, im now just trying to build only netsurf without the libs. i should have the libs available for the 68k maybe not the latest version, but lets leave that for later. ive disabled all gfx formats for this now.


The correct target is "amigaos3".  This already exists, there's nothing new to define.

Don't try to build without the libs, you'll just get a load of pkg-config errors as you've just seen.  You need to build, in roughly this order:

libnsbmp
libnsgif
libwapcaplet
libparserutils
libhubbub
libcss
libdom

Until you have those building it's not worth even touching the main NetSurf source code.

The instructions for building them is on the wiki page I linked to earlier (you need to check out and install buildsystem, then make the libs, using TARGET=amigaos3)
"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: We need an iBrowse replacement for 68k!!!
« Reply #7 on: January 29, 2013, 11:34:09 PM »
Quote from: NovaCoder;724614
Hiya,

I was getting the same kinds of issues when I was trying to build it under Cygwin, it seems that it wants the .pc files (I hate makefiles BTW).


Yeah, it needs to pkg-config files.  I hate makefiles too.

Building the toolchains should deal with this, but I've never tried building them.  I just build NetSurf with TARGET=amiga HOST=amiga, which tricks it into thinking it is building natively - the native build section doesn't have any of the pkg-config crap because it results in cryptic errors that are virtually impossible to isolate, and I never seem to have the correct pkg-config files anyway.

The cross- compilation section is specifically set up for building using the toolchains.
"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: We need an iBrowse replacement for 68k!!!
« Reply #8 on: January 30, 2013, 07:44:58 PM »
Quote from: apj;724705
sorry for my different nick, i'm artur.
i think we could try chris plotters code to remove sdl.
as he said it uses graphics.library. question is how compatible it is with os3.
chris does it need many changes in the code ?

Edit:
looks like chris added some ifdefs to his code. he know best what to do.
I've also send my sources to novacoder. he works on native version too.


The plotters should "just work".  The fonts code and blits will need modifying though.
"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: We need an iBrowse replacement for 68k!!!
« Reply #9 on: January 30, 2013, 11:33:56 PM »
Quote from: wawrzon;724724
lets see how do i grant this permission:
mv: cannot move `gcc-4.5.1' to `/home/netsurf/workspace/toolchains/m68k-unknown-
amigaos/builddir/srcdir/gcc': Permission denied


It's trying to move it on top of itself by the looks of things, which is a bit weird.  Is your user account really called "netsurf"?  Cygwin calls the home directories after your Windows account name - eg. my home dir is /home/Chris

Did you create /home/netsurf to put everything in?  If so, don't do that - put it all in your home directory under a sub-dir of netsurf (/home/wawrzon/netsurf or whatever).  You should have full permissions then.
"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: We need an iBrowse replacement for 68k!!!
« Reply #10 on: February 01, 2013, 04:24:08 PM »
Quote from: NovaCoder;724880
Code: [Select]
       max_cache_size = nsoption_charp(fb_font_cachesize) * 1024;

fb_font_cachesize must be missing from options.h, or not being included, or something.  The platform's options.h is usually included by desktop/options.h (it's the only place where core headers need to be modified to add a new platform)
"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: We need an iBrowse replacement for 68k!!!
« Reply #11 on: February 02, 2013, 04:39:09 PM »
Quote from: wawrzon;725028
and it seriously creates such a dir tree. there must be something seriously wrong with path settings on both my cygwin instals. do you know where is it all set?


I think you have a dodgy version of 'make'.  Have you installed a separate version of Cygwin?  As Novacoder says, the AmiDevCPP version is not really suitable for anything other than AmiDevCPP.
"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: We need an iBrowse replacement for 68k!!!
« Reply #12 on: February 02, 2013, 07:39:29 PM »
Quote from: wawrzon;725041
no i use amidevcpp, there was always similar issues in the past, long ago i admit. but ive blamed it on me. sure i can just install pure cygwin. the question is, isnt it better/safer to switch to anything else anyway? jason (aros68k) has once proposed me ubuntu under virtual machine, but i dont want all that bloat that comes with it, only the neccessary dev stuff.


I cross-compile the OS4 version under Cygwin all the time, and it's fine.
"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: We need an iBrowse replacement for 68k!!!
« Reply #13 on: February 04, 2013, 02:57:54 PM »
Quote from: wawrzon;725285
these are actual errors, not warnings, so far i see from their content, so it will not builld anyway.


You probably need to figure out what the bfd_section structure actually has in it.  It might be a simple case of tweaking the variable names.
"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: We need an iBrowse replacement for 68k!!!
« Reply #14 on: February 04, 2013, 06:41:06 PM »
Quote from: wawrzon;725323
you want me to mess with the toolchain build?


No; it's binutils which appears to be failing to build.  It's that you need to look at.
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz