2.4.13

p-uae v0.1

I decided to do a quick alpha release of my p-uae port, grab it from the aros-archives / aminet, as soon as is accepted there.

This alpha release of P-UAE for AROS is based on the sources at http://github.com/GnoStiC/PUAE from the 31st January 2013.

This is a *real* alpha version, don't expect anything: It *will* crash, it *will* miss features and so on.

As PUAE is based on the merged WinUAE version, it means, that P-UAE v0.1 is based on WinUAE 2.6.0.

I introduced a new version naming system for P-UAE for AROS, as I will improve this release and there is no other way to distinguish two releases of P-UAE 2.6.0 otherwise.

You can get the sources to this build from the p-uae branch of the janus-uae repository, online browse-able
here:

http://janus-uae.svn.sourceforge.net/viewvc/janus-uae/branches/p-uae/PUAE/

P-UAE reads the config from a .uaerc file, so if you have a j-uae configuration, copy/rename it.

What does *not* work, is the GUI. It will show up, but will be useless. So better keep the use_gui=no setting.

What seems to work:
- OCS/ECS
- keyboard, mouse
- harddisk emulation with filesystem
- floppy emulation
- 68020/68881 CPU emulation

Everything else, I have not yet tested ;).

I just wanted to give you something to play with. This is for the brave ones, there is no default .uaerc supplied.

Bug reports are maybe not yet useful. Let me know, if the above does not work for you at all. But I always like to hear, if something *does* work, of course ;).

28.3.13

.. and in 24 Bit

SDL can force a 32bit mode, so on a 24bit screen we do a:

SDL_SetVideoMode (current_width, current_height, 32, uiSDLVidModFlags);

And with this magic, PUAE also works in my 24-bit AROS/linux hosted environment :)!


And as you can see in the above picture, harddrive support is now also enabled, the above os3.1 was booted from a emulated harddrive.

There seems to be at least one strange bug still hidden somewhere, as the version command fails for no obvious reason. Seems to be a problem with loading files from the harddrives, but I am not sure.. Directory listings seem to work quite fine, though.

27.3.13

PUAE .. in 16bit only ..

Debugging PUAE really sucked, as everything seemed to be working perfect, just the window stayed black..


But one simple trick made it working: switching my windows resolution to 16 bit, which forced my x11 server on windows to 16bit, which then caused AROS/hosted to 16 bit .. which made PUAE/AROS display the above window!

Why?

The showstopper seems to be gfxvidinfo.pixbytes, which is 2 for 16 bit and 4 for 32 bit..
but for AROS hosted on X11 I get 24 bit, which results in gfxvidinfo.pixbytes of 3(!).

Have a look at the UAE code (all UAEs!):

static void pfield_do_fill_line2 (int start, int stop, bool blank)
{
  switch (gfxvidinfo.pixbytes) {
  case 2: fill_line_16 (xlinebuffer, start, stop, blank); break;
  case 4: fill_line_32 (xlinebuffer, start, stop, blank); break;
  }
}


So you notice, what happens? 

If pixbytes is 3, *nothing* happens. No error, no warning, nada. 

And this is, why debugging sucked.

So at least now I know, what causes the problem .. the solution is still a bit away.

6.3.13

PUAE GUI

Even the GUI opens up:


It is not really working either, but it at least sometimes is a real advantage, that gtk-mui exists :).

PUAE ..

I have had no motivation to debug the j-uae bsdsocket.library code any further, so I decided to do something else:


I compiled P-UAE 2.6.0 for AROS and after some minor changes to the code (and some bigger problems with configure), I reached the point, where it opens a window :).

It was compiled with the SDL backend and a gtk-mui GUI, so not much actual porting work.

Now comes the boring part again.. debugging.. let's see, if I find some motivation this time.

14.11.12

Ancient Browser Experience

While trying to match 68k bsdsocket calls to x86 bsdsocket calls, I realized, how "old" our bsdsocket.library seems to be. Nearly every bsdsocket.library function is marked with texts like "THIS IS A DEPRECATED METHOD OF GETTING HOST NAMES" in modern man pages..
Nevertheless, there is progress :).


Aweb can be started in AmigaOS 3.1 running in j-uae v1.3 and load at least parts of a webpage. The real challenging parts of m68k <-> x86 communications seems to be fixed. 

Every call from an m68k application has to take the following route (aweb example):


aweb -> 
m68k/bsdsocket.library ->
j-uae TRAP handler -> 
x86/j-uae-bsdsocket-task -> 
x86/bsdsocket.library
 

For every open of a 68k bsdsocket.library (every open creates a new SocketBase), I start a new x86 process, which then himself opens a x86 bsdsocket.library. Every 68k bsdsocket.library function call needs to be serialized through the j-uae trap handler and then routed to the according x86 process. 

The communication between the x86 native trap handler and the x86/j-uae-bsdsocket-tasks is done with simple Put/GetMsg calls, just to get an individual task context for each library base.

9.11.12

Maybe Santa prepares a gift for you

I can't promise, if this feature will make it into v1.3, as it won't be stable so soon (and I won't release anything known to be broken), but have a look yourself:


Seems as if the 68k AROS side got a bsdsocket.library :). And it can at least send data to a webserver and get something back. And it can resolve IP addresses to host names.

But this is all quite an ugly hack. Only one process can access bsdsocket.library at the same time, the AROS sibling bsdsocket.library is never closed etc. etc.

Yeah, I know, I should first fix Paolo's bug list, but from time to time something new is nice, too ;).

19.10.12

v1.3 coming closer..

Sorry for not blogging so much anymore, but time is a limited value these days ;).

Paolo keeps me pushing for a new version, so you have to thank him. Otherwise I would be too lazy most likely.

So far quite a few bugs have been fixed for the next version:

  • sprite collision settings in gui now work
  • Starting j-uae with a -f option should not slow it down anymore 
  • -f parameter is now evaluated before anything else is initialized with the possible wrong default values
  • coherency: fixed AROS screen titles of windows, which don't have one
  • mouse bugs with AROS/68k (unable to select menus etc.) fixed for no-coherency mode
New features:
  • backups of config files are now stored to .backup files, not ~ anymore
  • default config file is now fetched from PROGDIR:uaerc.config no just from uaerc.config
  • default config file is not loaded anymore, if -f is specified
  • "Really Quit" requester, when uae main window is closed.


There is still stuff to do (for Paolo..), but I am working on it. If you have (smaller!) issues, which you always wanted to have fixed, now is a good time to tell me. But no promises as ever ;).