English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   support.OtherUAE (https://eab.abime.net/forumdisplay.php?f=54)
-   -   Compiling P-UAE on Mac OS X (https://eab.abime.net/showthread.php?t=50826)

GnoStiC 18 February 2010 21:29

i'm glad to hear that :)

Quote:

Originally Posted by gilgamesh (Post 643806)
Yes, no-ui and key bugs were fixed. :cool

________
easy vape reviews

xaind 19 February 2010 05:39

@MagerValp: It's possible to make an sdl-config script that generates the right output. You would need to get SDLMain.h and SDLMain.m from the "devel-lite" directory on the SDL .dmg though, the version in puae has been modified.

There's no need to go to all that trouble though. Just pass the "--disable-sdltest" option to configure.

xaind 19 February 2010 06:33

The 2010_02_18-2 build works great! I tried a few things, including a game and PMC's Retroference demo and they all seemed to work well.

When I tried some of my other E-UAE config files, however, I noticed that it didn't let me change the CPU model from the config file. Am I correct that CPU models other than 68000 are not supported right now? I also noticed that it seemed to ignore any hard drives I tried to mount (I tried both the hardfile2 and the filesystem2 config-file options.)

In any case, I have uploaded a binary to the Zone for anyone who wants to give it a try. You'll need to bring your own kickstart roms and config-files. You should be able to just double-click any ".uaerc" file in the Finder and it will automatically launch PUAE with that config file. (Also, the SDL framework is included in the application bundle, so there's no need to install it separately.)

GnoStiC 19 February 2010 07:51

1) config file parsing is a mess at the moment, but i'll get there eventually :)
2) uae -C 2 = 68020 (cmdline and gui works fine, i'll fix config handling)
3) i need sample hard drive that i can try mounting. can you upload that to someplace i can download?

Quote:

Originally Posted by xaind (Post 643969)
When I tried some of my other E-UAE config files, however, I noticed that it didn't let me change the CPU model from the config file. Am I correct that CPU models other than 68000 are not supported right now? I also noticed that it seemed to ignore any hard drives I tried to mount (I tried both the hardfile2 and the filesystem2 config-file options.)

________
buy vapir vaporizer

xaind 19 February 2010 08:54

Quote:

Originally Posted by GnoStiC (Post 643973)
1) config file parsing is a mess at the moment, but i'll get there eventually :)
2) uae -C 2 = 68020 (cmdline and gui works fine, i'll fix config handling)
3) i need sample hard drive that i can try mounting. can you upload that to someplace i can download?

Ok, excellent.

The ClassicWB Packs each come with a HDF file. I'm using the LITE version, for example. Would that be a suitable sample hard drive for you to mount? If not, let me know and I'll put a HDF somewhere you can get it.

Here's the line from my E-UAE config file for mounting the ClassicWB HDF:

Code:

hardfile2=rw,DH0:/Users/myname/Amiga/Harddrives/ClassicWB_LITE.hdf,32,1,2,512,-10,

kas1e 19 February 2010 14:42

@GnoStIC
Maybe you can help me to build P-UAE for amigaos4 ? I download your puaex_2010_02_18-2 version, then:
./configure
gmake

And on some stage i have these erorrs

GnoStiC 19 February 2010 15:02

overwrite old one with this;
http://www.gamzeguckiran.com/ami-win.c

Quote:

Originally Posted by kas1e (Post 644089)
@GnoStIC
Maybe you can help me to build P-UAE for amigaos4 ? I download your puaex_2010_02_18-2 version, then:
./configure
gmake

And on some stage i have these erorrs

________
herbal vaporizers

kas1e 19 February 2010 17:55

Quote:

Originally Posted by GnoStiC (Post 644097)
overwrite old one with this;
http://www.gamzeguckiran.com/ami-win.c

thanks for help :) It works, but next, new errors was in jd-amigainput/joystick.c:
Quote:

joystick.c:334: error: conflicting types for 'input_get_default_joystick'
../../src/include/inputdevice.h:73: error: previous declaration of 'input_get_default_joystick' was here
I tyring to change void on int, but the same error. So i just comment out "inputdevice.h", and put necessary defines to joystick.c (so, it compiles fine with int and void as well).

Next error (if skip that one), happenes in the gui-muirexx/ami-rexx.c:
Quote:

ami-rexx.c: In function 'process_cmd':
ami-rexx.c:421: error: too few arguments to function 'm68k_reset'
That error i skip for now by adding --disable-ui when do ./configure, and then, next error in the od-amiga/blkdev-amiga.c:
Quote:

blkdev-amiga.c: In function 'execscsicmd_direct':
blkdev-amiga.c:287: error: too few arguments to function 'gui_cd_led'
That error i skip just by commenting gui_cd_led(1); fucntion at all.

And the next error in the cpuemu_0.c , related to flush_icache() function here is output. I think that error related to JIT which enabled in code itself all the time ? (for PPC jit need to disable), and i try to configure it like:
Quote:

./configure --disable-ui --disable-jit
But have no luck, and error still the same.

Hungry Horace 21 February 2010 16:53

i tried the build in the Zone, but i assume i cant get it to run any of my A1200 setups because they all feature HDs (either HDFs or folders)


the A500 config file i used seemed to work though. Not got around to testing the input fixes yet though

GnoStiC 22 February 2010 17:17

another nightly build, lotsa changes, may crash;
http://www.gamzeguckiran.com/puaex_2010_02_22.tar.gz
________
KR350

kas1e 22 February 2010 19:37

Quote:

Originally Posted by GnoStiC (Post 644934)
another nightly build, lotsa changes, may crash;
http://www.gamzeguckiran.com/puaex_2010_02_22.tar.gz

Tryed to build it again on aos4, and :

./configure --enable-pthreads=no --enable-pth=no --disable-ui --disable-jit
gmake
joystick.c:334: error: conflicting types for 'input_get_default_joystick'
../../src/include/inputdevice.h:73: error: previous declaration of 'input_get_default_joystick' was here

(as before).

Changed it again by my old way, and then:
Quote:

gcc -DHAVE_CONFIG_H -I. -I../../src -DCPUEMU_0 -DCPUEMU_11 -DCPUEMU_12 -DCPUEMU_20 -DCPUEMU_31 -DMMU -DFPUEMU -DAGA -DAUTOCONFIG -DFILES
R -DSAVESTATE -DENFORCER -DACTION_REPLAY -DXARCADE -DDRIVESOUND -I../../src/include -I../../src -I../../src -fomit-frame-pointer -Wal
rototypes -Wstrict-prototypes -DREGPARAM= -g -O2 -MT blkdev-amiga.o -MD -MP -MF .deps/blkdev-amiga.Tpo -c -o blkdev-amiga.o blkdev-am
In file included from blkdev-amiga.c:16:
../../src/include/blkdev.h:113: error: expected specifier-qualifier-list before 'scsiinfo_func'
I put here also uname and gcc version (maybe it will help in future):
Quote:

10/0.Work:PUAE/puaex> uname -a
AmigaOS localhost 53.2 3.5 ppc Motorola MPC 7447/7457 Apollo Pegasos II AmigaOS

10/0.Work:PUAE/puaex> gcc -v
Using built-in specs.
Target: ppc-amigaos
Configured with: ../gcc/configure --prefix=/gcc --host=ppc-amigaos --target=ppc-amigaos --build=i686-cygwin --enable-haifa --enable-sjlj-exceptions --enable-languages=c,c++
Thread model: single
gcc version 4.2.4 (adtools build 20090118)

10/0.Work:PUAE/puaex>

gilgamesh 22 February 2010 20:04

Code:

newcpu.o: In function `m68k_run_mmu':
newcpu.c:(.text+0x192a4): undefined reference to `mmu_do_hit'

In the last version MMU was probably not defined. That function is not in the sources, not even inactive. Otherwise everything seems Ok.

GnoStiC 22 February 2010 21:24

@gilgamesh:
ah, that's for debug, so just;

#ifdef MMU
#ifdef DEBUG
if (mmu_triggered)
mmu_do_hit ();
#endif
#endif

@kas1e:
ok, i'll look into that.. :)

Quote:

Originally Posted by gilgamesh (Post 644987)
Code:

newcpu.o: In function `m68k_run_mmu':
newcpu.c:(.text+0x192a4): undefined reference to `mmu_do_hit'

In the last version MMU was probably not defined. That function is not in the sources, not even inactive. Otherwise everything seems Ok.

________
vaporizer pipe

philpem 04 March 2010 22:54

I've got it building on Linux/x86_64 (Ubuntu 9.10) after some heavy patching and bugfixing. It seems to work, too.... until you hit the "Start" button. Then it tries to do a CPUID check and falls on its face:

Code:

(gdb) bt f
#0  0x0000000003fb9004 in ?? ()
No symbol table info available.
#1  0x00000000034373b4 in cpuinfo ()
No symbol table info available.
#2  0x00000000000000c3 in ?? ()
No symbol table info available.
#3  0x00007ffff4299db7 in mprotect () from /lib/libc.so.6
No symbol table info available.
#4  0x0000000003fb9000 in ?? ()
No symbol table info available.
#5  0x0000000000c3213e in cpuid (op=0, eax=0x34373ac, ebx=0x34373b0, ecx=0x34373b8, edx=0x34373b4) at compemu_raw_x86.c:2363
        CPUID_SPACE = 4096
        cpuid_space = 0x3fb9000 "PQRS\213\005\210\205\"\001\017\242\211\005\214\205\"\001\211\035\220\205\"\001\211\r\224\205\"\001\211\025\230\205\"\001[ZYX\303\027"
        s_op = 0
        s_eax = 0
        s_ebx = 0
        s_ecx = 0
        s_edx = 0
        tmp = 0x0
#6  0x0000000000c3224a in raw_init_cpu () at compemu_raw_x86.c:2387
        c = 0x34373a0
        xlvl = 32767
#7  0x0000000000c7ea7f in build_comp () at compemu_support.c:5732
        i = 18
        jumpcount = 0
        opcode = 140737488347472
        tbl = 0xe43ea0
        nftbl = 0xe4b400
        count = 9
#8  0x000000000040a642 in build_cpufunctbl () at newcpu.c:305
        i = 1555
---Type <return> to continue, or q <return> to quit---
        opcnt = 44316
        opcode = 65536
        tbl = 0xde7e00
        lvl = 0
#9  0x000000000040acfd in init_m68k () at newcpu.c:478
        i = 256
#10 0x0000000000409944 in do_init_machine () at main.c:655
No locals.
#11 0x0000000000409d14 in real_main (argc=1, argv=0x7fffffffe308) at main.c:870
        want_gui = 1
#12 0x0000000000409e8c in main (argc=1, argv=0x7fffffffe308) at main.c:964
No locals.

Line 2363 in src/compemu_raw_x86.c is:
Code:

    ((compop_func *) cpuid_space) (0);
Commenting this line out seems to make P-UAE run, but it looks like this may have some nasty side effects -- it cripples the CPUID check for a start.

Lastly, I've got X11 video working too, but it looks like the palette is woefully screwed. Yellow floppy drive on the Kickstart screen, anyone? Not to mention the fact that it's running at some insane multiple of real time...

./configure cmdline: ./configure --enable-debug CFLAGS="-g -ggdb -O0 -DDEBUG"

EDIT: Good GRIEF. Recompiled using SDL (--with-sdl --with-sdl-sound --with-sdl-gfx). No better. Palette still screwed up.

gilgamesh 04 March 2010 23:13

Yes, the x86 cpuid instruction gets treated like a jump by amd64. See the link in #6 for a similar approach. Yet I never got as far as Kickstart screen. Looks promising anyway.

philpem 05 March 2010 02:12

Quote:

Originally Posted by gilgamesh (Post 648588)
Yes, the x86 cpuid instruction gets treated like a jump by amd64. See the link in #6 for a similar approach. Yet I never got as far as Kickstart screen. Looks promising anyway.

What is interesting is that the same code is present in E-UAE and that it works fine on AMD64...

I'm tempted to try and backport some of the WinUAE changes into E-UAE to bring it up to date, but for now I've got IPF support going, and it boots Kick3.1, Workbench, and the Wolfchild IPF. I just don't want to bother doing major backport work if someone else is already working on it, and my disc analyser software/hardware (sort of a mix of Cyclone 20, Kryoflux and Catweasel) would probably benefit more from the time...

Silver 05 March 2010 03:06

Quote:

Originally Posted by philpem (Post 648647)
..
I'm tempted to try and backport some of the WinUAE changes into E-UAE to bring it up to date...

p-uae is meant to have most of the recent winuae features...?

philpem 05 March 2010 14:48

Quote:

Originally Posted by Silver (Post 648655)
p-uae is meant to have most of the recent winuae features...?

... but it doesn't work properly? :)

gilgamesh 05 March 2010 15:07

It is still beta, but in 32bit it seems stable from my point of view. 64bit is a problem anyway, since JIT is purely x86. Testing 64bit compilation can't be wrong, though.

gilgamesh 05 March 2010 21:18

Oh, I can't use a directory as harddisk. The line seems to be ignored. E-UAE mounts the drive with the same options.

Code:

filesystem2=rw,DH0:Stuff:/home/uae/harddisk,1


All times are GMT +2. The time now is 10:52.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.06918 seconds with 11 queries