Browsing the web – AmiFox

Posted by ALB42 on 12. Februar 20235 Comments

Again got some ideas from Michal Bergseth (Amix , Amitopia) what to implement for Amiga. Basically it is the same idea as for AmiTube. Do something, the Amiga is too slow for, on the server and only sent the result to Amiga. This time it’s webpages… the usual webrowsers are either rather old and do not support CSS (like AWeb, Voyager), newer but still do not support CSS (iBrowse) or newer support CSS but are very slow (Netsurf).

I started with „CutyCapt“ to make a simple docker container which can load a webpage and make a screenshot. But with that you only get a screen shot nothing more. No idea how to navigate. My second try was to also load the actual HTML and parse for links. This is rather easy using the THTMLDocument class for Free Pascal but this gives you just the links and nothing more, so I put just a list under the image. This was not really a good solution.

Then I noticed when you let CutyCapt print the webpage as PDF, then the PDF contains all the links with position information. Therefore I wrote a PDF parser to get the links and position from the PDF and create a map for the image. Which worked reasonable good, but not very fast (printing is rather slow, also the transfer from PDF to PNGs is slow). But it was good enough for a first test version:

This was the first time it came a bit to public and wide audience attention. So I got some more hints that such systems already exists, some very good and some rather poor, I tried a lot of them and none really satisfied my needs. Some like wkhtml are very fast and do not need an X-Server in the docker, which is nice, but has a lot of problems with some webpages (cnn.com, image are VERY low resolution, theguardian.com all images are missing and so on).

The best I found is definitely WRP – Web Rendering Proxy which is very fast already has a lot of settings build in, it is already nicely usable in your IBrowse if you like. But there is a big BUT it is single user only, so not suitable for a public service like AmiTube is, and which is the ultimate goal.

So an other Member of the AmiTube Discord Channel (going by the name McDope) will try to create a server with this WRP which can be used by some more users. I meanwhile make a little app, which feels like a real Webbrowser but is in fact just an interface to the WRP. It solves also the problem that you cannot type in anything into any forms like search engines or so. Kinda. A little video to demonstrate.

LazSokoban, LCL improvements

Posted by ALB42 on 11. Dezember 2022No Comments

There was a miracle happened… I improved the LCL a bit after a long long time, investigated some unusual behavior at MorphOS with LazSokoban, especially because it was slower as expected. I found the culprit and recompiled the MorphOS binary, so have fun testing it.

Also, I did compile for OS4 but I did not not try it, seems I should have because the EXE does not work, at all, also no error message or so, I’m not sure what goes wrong there. It seems it happens when I try to compile a program from Lazarus for OS4 that the program does not work, but when I compile it in the command line it seems work. Interestingly the command line one is much bigger (for LazSokoban it’s double size) so that should be the reason, but I’m not sure whats the culprit. Needs investigation.

Someone asked if EdiSyn could be compiled for AmigaOS4 and yes I tried to compile it but the Executable crashes. I also tried to compile EdiSyn to compile for AmigaOS3 68k and on my new PiStorm Emu68 it works, but I would say it’s still a bit to slow to really use it.. the LCL is too thick of a layer for 68k

PiStorm Emu68

Posted by ALB42 on 11. Dezember 2022No Comments

As I wrote before the PiStorm is already very nice, stable but not that fast, I heard with the Emu68 it should be much faster (not so much features though, not network, AHI direct access and so on).

I used this manual. Also attached a cooler to the raspi to not let it overheat anymore and it works nicely barely it stays under 70° degree even on whole day use.

You can feel that it is much faster… SysInfo tells you that it is much faster, but to be honest, I never trusted SysInfo so lets get out my old test codes. Sadly the links to the benchmark game are gone, seems the page does not exist anymore, but I still have the sources so still can plan around with 🙂

Especially the tests: fannkuch 10 and BinaryTree 15. (68060/50Mhz= A1200 with Blizzard 1260, MorphOS = MacMini 1.4Ghz, UAE/AROS/Linux = Athlon FX 8120 3.16 Ghz)

machineBinaryTreefannkuch
 Time [s]Speed rel. to 060Time [s]Speed rel. to 060
68060/50Mhz42.91.059.61.0  
VampireA60023.41.828.32.1  
PiStorm A600 Emu6811.43.811.95.0
MorphOS 68k emul3.014.333.01.3  
WinUAE OS3.91.430.62.029.8  
MorphOS PPC1.3332.325.9  
AROS i3860.671.50.785.1  
Linux x86_640.31430.2298

4-5 times of a 68060/50, not bad, it also emulates a FPU (68040) so also FPU tests are possible, for example the scimark test:

Amiga1200 68060/50 FPU code
Mininum running time = 2.00 seconds
Composite Score MFlops:     2.26
FFT             Mflops:     1.18    (N=1024)
SOR             Mflops:     5.05    (100 x 100)
MonteCarlo:     Mflops:     0.86
Sparse matmult  Mflops:     1.81    (N=1000, nz=5000)
LU              Mflops:     2.41    (M=100, N=100)

now for the PiStorm A600 Emu 68 it looks like this
Mininum running time = 2.00 seconds
Composite Score MFlops:    20.35
FFT             Mflops:    13.12    (N=1024)
SOR             Mflops:    41.80    (100 x 100)
MonteCarlo:     Mflops:     6.61
Sparse matmult  Mflops:    18.16    (N=1000, nz=5000)
LU              Mflops:    22.07    (M=100, N=100)

so here we have around 10 times faster than the good old 68060/50.

Here again it feels much faster because the RTG output is so smooth and the harddisk access is so much faster feels more like UAE speed wise. MUIMapparium for example is really nicely usable scrolls very smooth.

Also the Emu68 boots much faster than the other method and shows a nice boot picture, so you do not see the raspi booting just needs a bit longer than a usual Amiga boot (like you disconnected the Floppy).

And the most important… it seems to be stable same as the other method, some hours of Delitracker playing no crash, rebooting much more reliable than the other method… works always, I think I will stay with this Emu68 for now.

LazSokoban

Posted by ALB42 on 4. Dezember 20223 Comments

A long time before when I was working on the LCL for AROS I tested out some 3rd Party LCL application code to compile for AROS with the newly created LCL. It worked quite nicely. On of them was LazSokoban a Sokoban clone written by a russian guy which worked nicely on AROS.

Some Texts in the GUI where in russian and I translated them to english for the AROS release, some I had forgotten or mistyped a bit. Now I got a request to fix that problem, first there was the big problem to find such and old source code, but luckily it’s included in the archive I published (it’s GPL2, so I had to 😉 ) but I also found in on my Harddisk in the backup.

The changes where not to difficult to make, but the curious thing was if it would still work with the latest LCL. One thing I remember that I need to add the AThreads unit (like Linux CThreads) to make any LCL application work, back in the days that was not needed. And it still works, I checked out the original source and I noticed that they added some kind of skin system (different graphics for the tiles) and also supplied some which looks much nicer than the original one. So I added that as well the the AROS system, it will be available on the next Version of AROS One or here on my page of course.

The other thing that changed since then, we can now compile for MorphOS and OS4 as well (and for Amiga68k, but it will be much to slow for that, I tried) and it also seems to work, not everything, the Buttons images are missing but as far as the game goes not too bad. So I created a Version for all 3 Platforms, AROS, MorphOS and AmigaOS4

Have Fun.

Garlic, Crosses and a Storm

Posted by ALB42 on 4. Dezember 2022No Comments

For quite a long time I have a Vampire V2 in my Amiga600, to be honest I never was really satisfied with it. The main purpose was to give RTG to a transportable Amiga and this was back in the days the only reasonable option (besides the BVision card for A1200 with PPC which is way too seldom and expensive). But sadly the Vampire V2 never worked really well, regularly it crashed even after a complete overhaul of the fitting and grounding and so on. Sometimes it wont boot sometimes it will just crash after some minutes. I often let my Amigas play mods with Delitracker, and if that specific Amiga is not able to do that for 2 hours straight (even better whole day of course) without crashing it’s just useless to me. My A1200 with Blizzard 1260/1230 and now TF1260 is perfectly able to do that all day long. My Draco is a bit difficult in that matter. Sometimes it runs a whole day without problems other times it crashes 2 times in a row in an hour. (I guess some AHI problems, because there are also other sound related issues).

But the A600 with the Vampire, that was a complete different story, it never managed to do a half hour Delitracker playing without crashing. After the card and Amiga600 was completely redone, better grounding, some stuff on the Vampire exchanged (or added?) i had the feeling it became a bit better, but just a bit. Still it never managed to make even 2 hours playtime without crashing. That was the main reason the Amiga600 with the Vampire V2 was never used and finally end up in a pile of stuff in the cellar.

Some weeks before I read some interesting articles about PiStorm and that there is a PiStorm hardware to connect a RaspberryPi to an Amiga600 (PiStorm600). I thought that would be a good chance to revive that poor Amiga600, so I took some garlic, a cross and went to the cellar to rescue the Computer.

Luckily I have a lot RasPis laying around (different Versions), bought them when they were cheap and easy to get 😉 sadly I don’t have a RasPi 3A but I have multiple RasPi 3B which should also work, just the USB port is in the way. I use a short extender cable to place the raspi a bit away from the adapter, therefore the additional USB port does not need to be removed. Until now I did not see and negative effects from the cable.

The software installation was quite easy, and after a little bit try and error I got finally the CF card to boot and to crash…. of course I need to de-vampirize the Workbench on there, which was not that difficult.

I bit difficult was the installation of RTG for some reason it did not work the first time I tried only got a nasty crash directly on bootup. Some days later I tried it again and this time it worked. I’m not sure what I did different but now it works. And this is the really good part. PiStorm shows the RTG screen on the HDMI output of the RasPi so you have a VERY clear and stable picture with for example 720p, (something I was never able to setup for the Vampire to work reliably)

It emulates a 68030 and 68881 in the RasPi. It’s not lighting fast or so, it’s around double speed of an 68030/50Mhz I would guess but the RTG is rather fast, so it feels much faster. But the usual Suspects work, so FreePascal and many of my programs, even MUIMapparium the FPU version works nicely.

Network seems to work, but it is rather slow, my PCMCIA card is much faster, but this is also described as still in development, so no surprises there.

Sound AHI via the HDMI from the Raspi, I never got to work, it seems it plays but I do not hear anything, maybe it’s still going to the headphone jack, I did not try. But this AHI is also not very important to me, for me the Amiga Chinch out is enough to play MODs.

And YES I tried it, let play Delitracker several hours random mods from the HD and it worked flawlessly not a single crash, very nice.

Of course it’s not all nice and shine, of course the Bootup needs rather long (around 30 s, it needs to Bootup the RasPi first) and for shutdown, you should shutdown the RasPi first before turning off the Amiga to prevent the sd-card in the Raspi to corrupt.

Also it seems at the moment it has some problems with the ROM mapping, if I use that Kickstart ROM and not the internal ROM, it has big problems rebooting the Amiga, usually it’s easier to shutdown everything and start fresh. Also the Bootmenu is somehow broken and mostly crash. All that do not happen if I use the internal hardware ROM.

At the moment the RasPi inside the Amiga case becomes rather hot and starts to clock down so I will need to a add a heat sink of some sort, but there should be enough space and I should think about additional power to the Raspi because it complains about undervoltage which also causes clocking down of the speed.

But overall not too bad and a good idea to emulate the 68k on the Raspi. I’m rather satisfied.

Whats going on…

Posted by ALB42 on 31. August 2022No Comments

A little bit stuff is happened in the last week, I want to report a bit about it.

The first very nice development is a bugfix in the 68k Free Pascal compiler, there was a long standing bug inside the PNG-loader. I noticed it with MUIMapparium, but it only showed on some computers, namely my Draco. Charlie tried to look into the issue long time ago, but not really found anything to fix.

But now he looked again into the issue and finally was able to track down the problem. The problem is not really fixed but there is a workaround included so now MUIMapparium works on my Draco, very nice.

MUIMapparium on Draco

MorphOS added an OpenSSL3 Amiga style library a while before, as soon that was available I started to try it to get it to work with Free Pascal on MorphOS. Sadly it did not work, always was crashing already when I tried to use even the simplest function, so I was lost. Charlie mentioned that there must be a change in our linker script of some sort to make it work and he will later care about it. But as often too much other stuff happened and this got delayed. Finally I started to implement the stuff via AmiSSL also on MorphOS. I implemented that for Amiga68k already so the switch to MorphOS is just not a big thing. But then Charlie said I should better use the openssl3.library instead and he will fix the problem with the linker script. And he did and it seemed there was even an easier solution for that and finally openssl3.library does work together with Free Pascal for MorphOS.

Get a webpage via HTTPS using the openssl3.library on MorphOS

Charlie tried MCAmiga on his „new“ build Amiga2000. It only has a 68030 with 25 MHz and he noticed that the load is rather high (around 30%) when the program is doing nothing just waiting for the key. That is the case because it is based on old DOS behavior, therefore the key events and so on must be polled and not fired via events as it is common today. But he showed me a special function in the keyboard unit called WaitForSystemEvent() which is only available for Amiga system to be able to really wait for events and not poll them. That reduces the load when the program waits for input (to under 10%) which is nice of course.

AmiTube 1.3

Posted by ALB42 on 29. Juli 20228 Comments

„Alex R“ found a AmiTube problem on Amiga OS4 and reported it to me. (some days before already) I tried to implement that AmiTube remembers the splitter position. Sadly I made a big error there resulting in a very small barely recognizable List on the left side of the window. I only tested it on m68k-Amiga where it did not happen, but after a bit of trying I found the culprit and fixed it.

Originally I planed to release that fix with the next version, but now I got some more bug reports about the exact same thing (hmm, nobody of the beta testers reported it). It seems that it is not only an OS4-problem but also happens on at least MorphOS and some 68 Amigas. Therefore I will release this new version now, with bugfixes only, no functional changes.

Sorry for the trouble, if you are affected by this bug.

Download as always on the AmiTube Page

Thanks to „Alex R“ for the report and the members of the AmiTube Discord channel and of course Amix for the constant support and feature ideas (even if I can’t implement them all)

AmiTube 1.2

Posted by ALB42 on 9. Juli 2022No Comments

New Version of AmiTube release, most important changes are a playlist feature and multiple move directories management.

Download as always on the AmiTube Page or via update function in AmiTube

Full History:

  • Bugfix for fancy list text printing
  • play list with wait screen
  • open own directories with movies in play list
  • close requester
  • restore splitter position on start
  • multiple movie directories via icon tooltypes
  • choose default directory via menu