English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Language > Coders. C/C++

 
 
Thread Tools
Old 02 December 2017, 01:48   #61
grelbfarlk
Registered User

 
Join Date: Dec 2015
Location: USA
Posts: 1,468
Thanks for that the SDL folder build just fine, but MorphOS and my A4000 lock up when trying to compile the Musashi core. Pretty strange it's on both. Haven't tried GCC 4.4.5 yet.
grelbfarlk is offline  
Old 02 December 2017, 15:28   #62
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,546
hmm, not sure , but here again a support tool does generate different files.
Code:
cc  -o m68kmake ../musa/m68kmake.c
...
./m68kmake . ../musa/m68k_in.c
...
change to musa folder and check if the 'm68kmake' tool is build properly.
emufan is offline  
Old 10 December 2017, 14:37   #63
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,546
zoned: dgen-68k-WIP.lha

sound is now working, using libSDL 1.2.15
just have to fix the default config path. default false colors too.

use this command line to start dgen:
dgen -r dgen.cfg rom.rom

- if you get false colors use F5 until colors are correct.

- F6 will do some scale effect

(included readme says F4 and F5, is a mistake)

#1) just report back, what FPS you get.
in winuae with JIT i get 30-45 FPS, depends on the game. but very playable

#2) i could fix the default config path - not yet released.
in system.h
Code:
#ifndef __MINGW32__
//#define DGEN_BASEDIR ".dgen"
#define DGEN_BASEDIR "PROGDIR:"
this does work, and dgen will read dgenrc (configfile) in current directory

#3) default false colors "fixed" using dgenrc setting:
Code:
#  swab      - Swap video output endianness.
ctv_craptv_startup = swab
uploaded to aminet

Last edited by emufan; 10 December 2017 at 15:55.
emufan is offline  
Old 11 December 2017, 20:45   #64
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,546
I was able to build BlueMSXlite. it does show a black screen only.
when loading a config / system roms, it does crash with a system alert #80000004.
build again with gcc 3.4.0. had to add strcasestr and strncasecmp from old glibc.
additionally I had to disable a soundchip, some weird gcc error.

maybe I can make it work.


#1) did anyone test dgen on a real machine, maybe vampire or 68050?

Last edited by emufan; 11 December 2017 at 21:28.
emufan is offline  
Old 12 December 2017, 02:04   #65
xboxown
Registered User
 
Join Date: Dec 2012
Location: Vancouver/Canada
Posts: 345
BWAHAHAHAH dgen!! DGEN!! BWAHAHAH

Are you really working on blueMSX??!! Please if you can port that..it would be superb! Meaning my Amiga will have the latest up to date MSX...KICKS AMIMSX on the butt and truly not needing AGA is superb! Not switching channels and working directly from RTG mode...woohoo!!
xboxown is offline  
Old 12 December 2017, 02:29   #66
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,546
Quote:
Originally Posted by xboxown View Post
BWAHAHAHAH dgen!! DGEN!! BWAHAHAH
yep. it does work very well. if you have time, just report what FPS you get, with what game
Quote:
Are you really working on blueMSX??!!
yes. but it's blueMSXlite - without gui, has some command line options.
it build without much trouble, but still refuses to work, if I try to load a config/rom.
maybe I can fix it.
emufan is offline  
Old 12 December 2017, 03:04   #67
xboxown
Registered User
 
Join Date: Dec 2012
Location: Vancouver/Canada
Posts: 345
Can a person write a GUI in their favorite programming language??! Yes! YES! We can! YES! It is not a movie player..all it needs is a little window that with GUI a person clicks the game ROM, location of the bios ROM for MSX and click play button where it puts the parameter such as this:

BlueMSXLite #stringName where #stringName = DH1:ROMS\kingsvalley.ROM and inside the code it will be like this:

BlueMSXLite DH1:ROMS\Kingsvalley.ROM

and it runs the game with press ESC key it quits the emulator and returns back to GUI!

AAAAH! Quick! When you are done and successful in porting this, please, please, please please tell me all the configuration parameter for blueMSX so I can make a full functioning GUI for it!!
xboxown is offline  
Old 12 December 2017, 04:09   #68
amigoun
Registered User
amigoun's Avatar
 
Join Date: May 2010
Location: Czech Rep
Posts: 509
@emufan: I would test DGEN but main binary is missing from the zoned archive.
Just curious, could you by chance compile FrodoV4.1b from the sources FrodoV4_1b.Src.tar.gz so that it does not use FPU? Just for Vamp users like me
amigoun is offline  
Old 12 December 2017, 11:55   #69
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,546
Quote:
Originally Posted by xboxown View Post
Can a person write a GUI in their favorite programming language??!
maybe not a full GUI, but we can try to insert some file requester which loads a config.ini for the many "Machines" emulated.
Quote:
Originally Posted by amigoun View Post
@emufan: I would test DGEN but main binary is missing from the zoned archive.
OMG. it was not there indeed, sorry.
now updated version in the zone: dgen-68k-WIP.lha

Quote:
Just curious, could you by chance compile FrodoV4.1b from the sources FrodoV4_1b.Src.tar.gz so that it does not use FPU? Just for Vamp users like me
I will try later
emufan is offline  
Old 12 December 2017, 12:09   #70
Marlon_
Amiga Programmer

Marlon_'s Avatar
 
Join Date: Mar 2016
Location: Sundsvall, Sweden
Age: 30
Posts: 497
emufan, do you by any chance know how to use git? I've started this Github organization called AmigaPorts (https://github.com/amigaports). And since you've been busy porting a bunch of stuff, I think it would be nice to put all the sources there, so people have an easier time finding the sources and can help contribute to making these ports even better.
Marlon_ is offline  
Old 12 December 2017, 17:16   #71
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,546
Quote:
Originally Posted by Marlon_ View Post
I've started this Github organization called AmigaPorts
this is a good project, but for now I put my stuff on aminet and include src code,
if I made some significant changes to the src code.
it's too much hassle atm, so I prefer to spend my time to build something.
but i'll keep it in mind

#1) Frodo is a pain, no clean build with either gcc 2.95, 3.0 or 6.x ....
Code:
devices/timer.h:
struct timeval {
    ULONG tv_secs;
    ULONG tv_micro;

[or]

sys/time.h
struct timeval {
	long	tv_sec;		/* seconds */
	long	tv_usec;	/* and microseconds */

both result in this:

Frodo/C64.h:
	struct timeval start_time;

error: C64.h field `start_time' has incomplete type
it does create a new struct start_time , based on timeval !?
so what is incomplete here?

#2) hmm, I can fix it, if i make a pointer from that field:
Code:
Frodo/C64.h:
	struct timeval *start_time;
dunno if something will explode, but it's taken by the compiler.
still a long way to a final build ...

Last edited by emufan; 12 December 2017 at 17:54.
emufan is offline  
Old 12 December 2017, 18:30   #72
xboxown
Registered User
 
Join Date: Dec 2012
Location: Vancouver/Canada
Posts: 345
Quote:
Originally Posted by emufan View Post
this is a good project, but for now I put my stuff on aminet and include src code,
if I made some significant changes to the src code.
it's too much hassle atm, so I prefer to spend my time to build something.
but i'll keep it in mind

#1) Frodo is a pain, no clean build with either gcc 2.95, 3.0 or 6.x ....
Code:
devices/timer.h:
struct timeval {
    ULONG tv_secs;
    ULONG tv_micro;

[or]

sys/time.h
struct timeval {
    long    tv_sec;        /* seconds */
    long    tv_usec;    /* and microseconds */

both result in this:

Frodo/C64.h:
    struct timeval start_time;

error: C64.h field `start_time' has incomplete type
it does create a new struct start_time , based on timeval !?
so what is incomplete here?

#2) hmm, I can fix it, if i make a pointer from that field:
Code:
Frodo/C64.h:
    struct timeval *start_time;
dunno if something will explode, but it's taken by the compiler.
still a long way to a final build ...
You did it again! The dgen archive still uploaded without binary!! AhAHAHAH
xboxown is offline  
Old 12 December 2017, 20:08   #73
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,546
Quote:
Originally Posted by xboxown View Post
You did it again! The dgen archive still uploaded without binary!! AhAHAHAH
nonono, this time it is there, look:
Code:
dgen-68k-WIP.lha:

2557644 Dec 10  1980 dgen  <---- the emulator
  12731 Dec 10  1980 dgen.cfg
   8392 Dec 10  1980 dgen_tobin
  12733 Dec 10  1980 dgenrc
      0 Dec 12 19:05 ram
    200 Dec 12  1980 readme-WIP.txt
      0 Dec 12 19:05 roms
  12731 Jul 26  1980 sample.dgenrc
only one generic buildd for 68020 -> 68040
emufan is offline  
Old 12 December 2017, 20:26   #74
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,546
Code:
In file included from Src/1541job.cpp:29:
Src/CPU1541.h:202: error: cannot declare member function `timeval::MOS6502_1541::TriggerJobIRQ' within `timeval'
Src/CPU1541.h:214: error: cannot declare member function `timeval::MOS6502_1541::CountVIATimers' within `timeval'
Src/CPU1541.h:252: error: cannot declare member function `timeval::MOS6502_1541::NewATNState' within `timeval'
Src/CPU1541.h:264: error: cannot declare member function `timeval::MOS6502_1541::IECInterrupt' within `timeval'
Src/CPU1541.h:277: error: cannot declare member function `timeval::MOS6502_1541::InterruptEnabled' within `timeval'
Src/1541job.cpp:38: error: cannot declare member function `timeval::Job1541::Job1541' within `timeval'
Src/1541job.cpp:463: error: expected `}' at end of input
Src/1541job.cpp:463: error: expected unqualified-id at end of input
Src/1541job.cpp:463: error: expected `,' or `;' at end of input
this must something different, missing ";" or some halve comment-out stuff, very strange
Code:
201:inline void MOS6502_1541::TriggerJobIRQ(void)
202:{
203:	interrupt.intr[INT_VIA2IRQ] = true;
204:	Idle = false;
205:}
since it's timeval, which made me mad above, it is somehow connected :/


#2) do I have to have a "};" at the end of any function or struct definition?
some have it, some not, that is confusing :/
Code:
inline void MOS6502_1541::TriggerJobIRQ(void)
{
	if (!(interrupt.intr[INT_VIA2IRQ]))
		first_irq_cycle = the_c64->CycleCounter;
	interrupt.intr[INT_VIA2IRQ] = true;
	Idle = false;
}

vs:
struct MOS6502State {
	uint8 a, x, y;
	uint8 p;			// Processor flags
	uint16 pc, sp;

	uint8 intr[4];		// Interrupt state
	bool instruction_complete;
	bool idle;

	uint8 via1_pra;		// VIA 1
...
	uint8 via2_ier;
};
does it matter?

Last edited by emufan; 12 December 2017 at 20:50.
emufan is offline  
Old 12 December 2017, 21:24   #75
amigoun
Registered User
amigoun's Avatar
 
Join Date: May 2010
Location: Czech Rep
Posts: 509
Now it looks like I have to find a recent ixemul.lib (no FPU) that works on vampire.
amigoun is offline  
Old 12 December 2017, 21:38   #76
Marlon_
Amiga Programmer

Marlon_'s Avatar
 
Join Date: Mar 2016
Location: Sundsvall, Sweden
Age: 30
Posts: 497
Quote:
Originally Posted by emufan View Post
Code:
In file included from Src/1541job.cpp:29:
Src/CPU1541.h:202: error: cannot declare member function `timeval::MOS6502_1541::TriggerJobIRQ' within `timeval'
Src/CPU1541.h:214: error: cannot declare member function `timeval::MOS6502_1541::CountVIATimers' within `timeval'
Src/CPU1541.h:252: error: cannot declare member function `timeval::MOS6502_1541::NewATNState' within `timeval'
Src/CPU1541.h:264: error: cannot declare member function `timeval::MOS6502_1541::IECInterrupt' within `timeval'
Src/CPU1541.h:277: error: cannot declare member function `timeval::MOS6502_1541::InterruptEnabled' within `timeval'
Src/1541job.cpp:38: error: cannot declare member function `timeval::Job1541::Job1541' within `timeval'
Src/1541job.cpp:463: error: expected `}' at end of input
Src/1541job.cpp:463: error: expected unqualified-id at end of input
Src/1541job.cpp:463: error: expected `,' or `;' at end of input
this must something different, missing ";" or some halve comment-out stuff, very strange
Code:
201:inline void MOS6502_1541::TriggerJobIRQ(void)
202:{
203:	interrupt.intr[INT_VIA2IRQ] = true;
204:	Idle = false;
205:}
since it's timeval, which made me mad above, it is somehow connected :/


#2) do I have to have a "};" at the end of any function or struct definition?
some have it, some not, that is confusing :/
Code:
inline void MOS6502_1541::TriggerJobIRQ(void)
{
	if (!(interrupt.intr[INT_VIA2IRQ]))
		first_irq_cycle = the_c64->CycleCounter;
	interrupt.intr[INT_VIA2IRQ] = true;
	Idle = false;
}

vs:
struct MOS6502State {
	uint8 a, x, y;
	uint8 p;			// Processor flags
	uint16 pc, sp;

	uint8 intr[4];		// Interrupt state
	bool instruction_complete;
	bool idle;

	uint8 via1_pra;		// VIA 1
...
	uint8 via2_ier;
};
does it matter?
It's all about different standards.
Marlon_ is offline  
Old 12 December 2017, 22:47   #77
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,546
Quote:
Originally Posted by amigoun View Post
Now it looks like I have to find a recent ixemul.lib (no FPU) that works on vampire.
ixemul.library 48.3 - has non-fpu version included. maybe ixemul.library 63.1 is generic, but not sure.
Quote:
Originally Posted by Marlon_ View Post
It's all about different standards.
sooo many obstacles :/

Last edited by emufan; 12 December 2017 at 22:58.
emufan is offline  
Old 12 December 2017, 23:07   #78
amigoun
Registered User
amigoun's Avatar
 
Join Date: May 2010
Location: Czech Rep
Posts: 509
ixemul 48.3 soft float version giving me EMT trap error. Fpu version on WinUAE works.
amigoun is offline  
Old 12 December 2017, 23:23   #79
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,546
Quote:
Originally Posted by amigoun View Post
ixemul 48.3 soft float version giving me EMT trap error. Fpu version on WinUAE works.
one version must work with the Vampire, since xboxown reported so.
did you test ixemul-000.library from 48.3 archive?
maybe ixemul.library 48.0
emufan is offline  
Old 13 December 2017, 01:32   #80
amigoun
Registered User
amigoun's Avatar
 
Join Date: May 2010
Location: Czech Rep
Posts: 509
All the soft-floats giving me EMT trap error.
I had no choice but to use the soft-fpu femu then I got it working. But very slow - about 1 FPS or even less , more likely half the frame.
amigoun is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
porting an app written in C powrslave Coders. C/C++ 1 13 March 2017 05:44
Porting an Amiga game to PC CYBER_SLUNK Coders. General 4 31 January 2017 20:14
Porting Photoshop to Amiga KONEY Coders. General 25 30 December 2016 00:49
porting vlc ? turrican3 request.Apps 4 25 June 2011 22:27
Help porting Mindscape's Legend Queller request.Other 6 30 October 2010 13:07

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


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


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.11264 seconds with 14 queries