Uae4all Gp2x 0.6.0 First Release With Integrated Fame/c


you'd be better speaking to the Dev's about such matters Dave! they could tell you much more than i can.... i just know Amigas. i dont code anything except AMOS basic... and even that badly! the only programming i do is music ;) my guess is that many of the optimisations taking place will benefit both systems, although where they will begin to superceed one another, will be when each takes advantage of the specific hardware the best. At the mo, all the amiga emulators on portable machines seem to be in the early stages, and i beleive the cross-over will be maximised in these stages. (educated guess that though, dont take my word on it!)


i do know that thinkp is very keen to do some MIPS ASM optimisations on the FAME/C core, since a MIPS version isnt planned by the FAME team atm. i gather this would entail re-coding some of the most commonly used parts of the core.... this i would imagine, might take some time however!


i however remain doubtful of full-speed on either system, although i see no reason why it shouldnt be perfectly playable without.... many emulators on the PSP already utilise frameskip, but do it cleverly enough that most people dont even notice. the SNES emulator imho gets a lot of undeserved praise (next to PSPUAE which takes a lot of flak tbh) given the amount of skipping that often take place on this simplier system. Still, that's just my own opinion, and now doubt many PSP users would tell me i'm full of s***. :blink:

Horace just reminded me, thinkp has indicated he is considering, making a MIPS 68K Core. That was something in general convo though, from what I remember he was waiting for the FAME C Core PSPUAE intergration, before looking at it some more.
 
Last edited by a moderator:
Well, from what I have seen, gnostic and Ric have been using each others code.
gnostic with Ric`s Profiling code, which gave a speed increase.
Ric with gnostic`s display code, which helps with size and position of screen.

So where out code might not be able to help (i really dont know) UAE4ALL, it will help with UAE2x and viseversa.

1 crucial point, is you say about the processor, the PSP aint that much faster. So theres the pros and cons, PSP can only give you 6 Megs Amiga RAM tops, where as GP2X can give more. PSP CPU is faster (but no by much). So as you can see the pros and cons. Lets just hope a FullSpeed emu comes in the near future, even on these 2 slow processors.

Is it ok to post in here, or this a release thread, if so, i will stop posting.

I thought the PSP CPU was 333 MHz where as the GP2X only 200 MHz . I know that some GP2Xs can be overclocked to close to 300 MHz but many can only get to 240 MHz max. The higher you go the worse the battery life is as well. Someone said once that both CPUs are comparable in power and neither has much of an architecture advantage.

An ASM mips core was mentioned but what about ARM? For Megadrive the ASM 68k core vs the "c" core has meant the difference between an unplayable choppy mess to full speed with full sound 0 FS in many games, Same with NeoGeo MVS That made a HUGE difference. Do any of the ARM ASM 68k cores work for Amiga emulators?

I think that Amiga (Amiga 500 anyway, which is what counts for games/demos) can achieve fullspeed on the GP2X (probably PSP as well). For that to happen on the GP2X though I think the following would have to be done. You would need an ASM 68k core. The sound would have to be handled on the second core like the Megadrive emu. Many of the custom chips would have to have ASM versions as well. That is a huge job though. So fullspeed is probably not likely but is possible. Do you think it is maybe more likely with many working on it?
 
Last edited by a moderator:
I was curious about optimisations and how they would work. Can all of these different optimisations be useful for all platforms? Wouldn't multiplatformness make the emulation slower 4all? If not how does this work?

most of our "shared uae" optimizations work on all platforms, as long as they are not platform specific and are in C.

for me, i started from scratch as i wanted to know what the code was doing..

so
first pass was to replace divisions and multiplications with shifts where ever i could..
second pass was to profile the code and see what functions were called most and which functions took more time..
third pass was removing not needed variables and functions (like scaling amiga screen to higher resolution outputs)
etc etc..
and at the end, i start again..

i dump compiled objects now and then to see what more can be done.. sometimes these optimizations does not help, sometimes it makes a huge difference like the following one..

original code:
Code:
static void update_toscr_planes (void)
{
	if (toscr_nr_planes > thisline_decision.nr_planes) {
	int j;
	for (j = thisline_decision.nr_planes; j < toscr_nr_planes; j++)
		clear_fetchbuffer ((uae_u32 *)(line_data[next_lineno] + 2 * MAX_WORDS_PER_LINE * j), out_offs);
	thisline_decision.nr_planes = toscr_nr_planes;
	}
}
static void clear_fetchbuffer (uae_u32 *ptr, int nwords)
{
	int i;
	if (! thisline_changed)
	for (i = 0; i < nwords; i++)
		if (ptr[i]) {thisline_changed = 1;break;}

	memset (ptr, 0, nwords * 4);
}

optimized:
Code:
static void update_toscr_planes (void) {
	if (toscr_nr_planes > thisline_decision.nr_planes) {
	register int j;
	register int i;
	register int max = toscr_nr_planes;
	register int to = out_offs;
	for (j = thisline_decision.nr_planes; j < max; j++) {
		if (!thisline_changed) {
			register unsigned *ptr= (unsigned *)(line_data[next_lineno] + (2 * MAX_WORDS_PER_LINE) * j);
		for(i=0; i<to; i++,ptr++)
			if (*ptr) {
				thisline_changed = 1;
				*ptr=0;
			}
		} else break;
	}
	thisline_decision.nr_planes = toscr_nr_planes;
	}
}



I think that Amiga (Amiga 500 anyway, which is what counts for games/demos) can achieve fullspeed on the GP2X (probably PSP as well). For that to happen on the GP2X though I think the following would have to be done. You would need an ASM 68k core. The sound would have to be handled on the second core like the Megadrive emu. Many of the custom chips would have to have ASM versions as well. That is a huge job though. So fullspeed is probably not likely but is possible. Do you think it is maybe more likely with many working on it?
well, i'm working on these you've mentioned like utilizing the second processor or an asm 68k core..
these really needs a lot of work and time but eventually and hopefully we'll get there :)
 
Last edited by a moderator:
i dump compiled objects now and then to see what more can be done.. sometimes these optimizations does not help, sometimes it makes a huge difference like the following one..

optimized:
Code:
static void update_toscr_planes (void) {
	if (toscr_nr_planes > thisline_decision.nr_planes) {
	register int j;
	register int i;
	register int max = toscr_nr_planes;
	register int to = out_offs;
	for (j = thisline_decision.nr_planes; j < max; j++) {
		if (!thisline_changed) {
			register unsigned *ptr= (unsigned *)(line_data[next_lineno] + (2 * MAX_WORDS_PER_LINE) * j);
		for(i=0; i<to; i++,ptr++)
			if (*ptr) {
				thisline_changed = 1;
				*ptr=0;
			}
		} else break;
	}
	thisline_decision.nr_planes = toscr_nr_planes;
	}
}
Hmm... you do know that optimized part you quote is from Chui's uae4all code, right? :)
 
Last edited by a moderator:
GnoStiC, sorry, didnt realise about that problem, with chat server and your ISP. I have emailed you

Hey Critical, did you get my PM?
 
Hmm... you do know that optimized part you quote is from Chui's uae4all code, right? :)
of course :)
(uae4all is mentioned in uae2x's "contains code from" credits..)

and this kinda optimizations are one of the reasons for my saying of uae4all having a year head start..
chui did a lot of nice work optimizing the code..

some of his optimizations does not work for me but they give an idea anyway, so thank again to chui (and you) for uae4all..
 
Last edited by a moderator:
I think that Amiga (Amiga 500 anyway, which is what counts for games/demos) can achieve fullspeed on the GP2X (probably PSP as well). For that to happen on the GP2X though I think the following would have to be done. You would need an ASM 68k core. The sound would have to be handled on the second core like the Megadrive emu. Many of the custom chips would have to have ASM versions as well. That is a huge job though. So fullspeed is probably not likely but is possible. Do you think it is maybe more likely with many working on it?
well, i'm working on these you've mentioned like utilizing the second processor or an asm 68k core..
these really needs a lot of work and time but eventually and hopefully we'll get there :)

That is great. I do think those things (ASM, second core etc.) would be needed for full speed. Without hardware specific optimizations Amiga would probably always be slow on the Gp2X. Hopefully things work out.
Thanks for everything.
 
Last edited by a moderator:
Ok, Sorry for being lame but I can't find the answer to my problem anywere... meaning it is probably there but I just can't put my hands on it.

I'd like to give a go to musicline under UAE4all. If it could run it'd be soo great. Since it doesn't come in the form of a rom so I need to get the workbench running right ?

Is there any step by step on installing the workbench and adding programs manually ?

Thanks for any help guys !
 
M-.-n said:
Ok, Sorry for being lame but I can't find the answer to my problem anywere... meaning it is probably there but I just can't put my hands on it.

I'd like to give a go to musicline under UAE4all. If it could run it'd be soo great. Since it doesn't come in the form of a rom so I need to get the workbench running right ?

Is there any step by step on installing the workbench and adding programs manually ?

Thanks for any help guys !
What form does it come in? Amiga disk images usually come in the form of adf or dms. Which version of workbench/kickstart does it require? Is it an amiga archive? LZH or LHA? if so you may need to extract the archive on a PC emulator under workbench and make a bootable floppy version of musicline or at least a version that will work with workbench. If you log into irc on efnet my name is THB and I can give you hand to get it sorted, I am usually in #gp2x and #amiga.
 
Last edited by a moderator:
Looks like it's an LHA from here:

http://www.musicline.org/

If I was doing it, I'd probably take a workbench adf and use winuae to copy the lha archive's contents into the right place on it, as per the installation instruction in the archive.

Then I'd take that adf and shove it in uae4all and see what happened ;)
 
critical said:
Looks like it's an LHA from here:

http://www.musicline.org/

If I was doing it, I'd probably take a workbench adf and use winuae to copy the lha archive's contents into the right place on it, as per the installation instruction in the archive.

Then I'd take that adf and shove it in uae4all and see what happened ;)



Thanks ... I tried to boot a workbench adf I had but it didn't work.. guess I'll go back to the digging pit. Is there any form of "permanenent" installation possible (i.e. once extracted the lha will stay on the filesystem) or will I have to redo everything everytime I boot ? (apologies if this is a ridiculous question, I'm really digging uae for the first time)

musicline rocks.
 
Last edited by a moderator:
Just to make it clearer, do you think there will be any way to work on ML, then save my work and get the files from somewhere for saving ? If the program is on the .asf, I don't see how that would be possible.

Under WinUAE, I've installed the workbench making virtual drives off the filesystem, making all changes permanent. Is there an equivalent possibility with uae4all ?
 
M-.-n said:
Just to make it clearer, do you think there will be any way to work on ML, then save my work and get the files from somewhere for saving ? If the program is on the .asf, I don't see how that would be possible.

Under WinUAE, I've installed the workbench making virtual drives off the filesystem, making all changes permanent. Is there an equivalent possibility with uae4all ?
uae4all can save to disk... give it a try. BTW, I might have a decent chunk of time to work on uae4all soon..
 
Last edited by a moderator:
NightShadow said:
critical said:
BTW, I might have a decent chunk of time to work on uae4all soon..
Now THIS is great news!!!!

Thanks Critical... looking forward to the improvements.


Indeed - long time lurker here, but just wanted to post that I love the emulator and am looking forward to further improvements (hopefully in speed as Ican't overclock as much as most people).
 
Last edited by a moderator:
Cool critical :D It would be really great if you are working on UAE4all!
 
Yeah moooore UAE for us. Thanks Critical!

@M-.-n: Enough of that piggy?!
I started a new track on it. I hope to finish it and release it on your "journal".
 
Hi just download the new UAE I never thought in 2007 I would have a portable amiga in the palm of my hand fantastic work to all involved. Pinball dreams works great on firm 2.0 at 266mhz all that is needed now is a way to speed up the loading times. And then to get Amiga OS4 ported to the gp2x sorry dreaming Amiga inc are not that smart.
 
Back
Top