Welcome, Guest. Please login or register.

Author Topic: Amiga emulator development  (Read 4906 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Samuar

  • Full Member
  • ***
  • Join Date: Jun 2003
  • Posts: 158
    • Show only replies by Samuar
Re: Amiga emulator development
« Reply #14 on: July 08, 2003, 02:55:17 PM »
Can I suggest, as others may have already, look at integrating an existing open source emulator, say UAE, into say, a Linux distribution - so that old programs could be run easily, with all the emulation 'hidden' - making it easier, and giving the feel that the system simply has support for older files natively. such a linux distribution, wud be ideal for the new PPC hardware (a1/pegasos).

It just seems wasteful to put your time and effort into as someone has already said, "reinventing the wheel".
Dell Dimension 5000; Dell Inspiron 1300.
 

Offline GaidhealTopic starter

  • Full Member
  • ***
  • Join Date: Jul 2003
  • Posts: 192
    • Show only replies by Gaidheal
Re: Amiga emulator development
« Reply #15 on: July 08, 2003, 04:47:15 PM »
Heh!  I go to bed and suddenly everyone comes out of the woodwork... ok so I probably just stay up far too late....

Alright, read through the comments and was interested by a few..  as regards reinventing the wheel.. not really.  I intend to do a few things that UAE (for all that it is good, and remember *I* use it myself!)  does not do.  At the very "beginner" end, for example I am going to have single button configuration for every Amiga machine as released in the UK.  I.e. Click "A500" and you get OCS, 2Mb, etc.  You get the idea, I am sure.  I am also going to allow people to tweak behind the scenes with things which may well break the emulation actually... but it is up to them, for example, swapping out an "Alice" for an earlier custom chip.  Why?  Because this is an interest of mine (emulation) rather than because I think it is NEEDED.  However, it MIGHT be useful to some, hence my even mentioning doing it.

If you want to roll (pun intended) with the wheel analogy.. HGVs and Minis use somewhat different wheels, even though both rely on wheels.

PPC - OK, point taken... giving it serious thought as getting hold of PPC hardware is easy for me, as well as old Mac 68k hardware and my friend (and co-developer on another project - one that will actually pay) is a Mac user with OS9 and OS X as well as a couple of Macs.  As for target environment..... no, sorry I won't be targetting Linux, I don't actually think it is worth the effort.  Linux, exciting as it is for what it is, is not a serious platform, imo.  FreeBSD is better from where I am standing, but both are serious niche markets.  Also distribution, kernel build, etc play far too large a role in whether something works as expected on Linux.  On the other hand... if I talk to Matt.. AROS may well be viable.  Allowing you the kind of "If it ever was supposed to run for an Amiga, it will run on this" kind of functionality I think was being requested.

Finally, wasteful?  Well so is playing football.  You want to play football, be my guest (I prefer rugby, TKD and Kung Fu) I shall stick to programming as my waste of time :¬)

John

P.S.  UAE will not feature in it at all, for a whole host of reasons it is not suitable as a codebase, in general.  But it has of course given a clear picture of things that are already present and would need to be replicated in some fashion.
[color=3300FF]Gaidheal[/color][/b][color=0066CC] - \\"The Emulator Guy\\"[/color][/i]
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Amiga emulator development
« Reply #16 on: July 08, 2003, 05:07:36 PM »
Quote
On the other hand... if I talk to Matt.. AROS may well be viable


Talk away :-)

Offline bhoggett

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1431
    • Show only replies by bhoggett
    • http://www.midnightmu.com
Re: Amiga emulator development
« Reply #17 on: July 08, 2003, 06:08:58 PM »
@Gaidheal

Well, if you're doing it purely for fun and your own education, I wish you all the best.

From an end user's point of view, I don't see what your emulator would offer that others do not, not to mention the question of whether you will be able to actually deliver the panacea of Amiga emulation that you are planning. After all, far more people with far more resources having worked for many years seem not to have delivered the standard you require, and it's unclear what you are planning to do that cannot be achieved quicker and easier with existing solutions.

P.S. The A500 with OCS was never sold with 2 MB of memory (1C+1F) as default. That much memory wasn't introduced until the A500+ with ECS.
Bill Hoggett
 

Offline GaidhealTopic starter

  • Full Member
  • ***
  • Join Date: Jul 2003
  • Posts: 192
    • Show only replies by Gaidheal
Re: Amiga emulator development
« Reply #18 on: July 08, 2003, 06:21:12 PM »
Well, for a start the one click setup is not offered anywhere else I have seen :¬)  Nor, as I recall, is UAE fully cycle-exact.

As for the A500, I know.. it was not meant to be accurate, simply to make the point :¬)

As an update though.. briefly exchanged thoughts with Matt (of AROS) and there is a distinct possibility of me building the type "sandbox UAE" emulation discussed at various times for AROS.  Obviously it would not in this case be UAE, but an entirely new (or at least different) emulator coded by myself and whomever else was involved.  Nothing solid at all yet, though, so keep commenting and don't start telling all your friends that AROS is going to have its own emulation mode!!

John
[color=3300FF]Gaidheal[/color][/b][color=0066CC] - \\"The Emulator Guy\\"[/color][/i]
 

Offline JoNty

  • Full Member
  • ***
  • Join Date: Mar 2002
  • Posts: 174
    • Show only replies by JoNty
Re: Amiga emulator development
« Reply #19 on: July 08, 2003, 07:18:26 PM »
Why don't you do something useful, and code a classic Amiga emulator for AmigaOS 3/4.
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Amiga emulator development
« Reply #20 on: July 08, 2003, 07:27:40 PM »
Quote

JoNty wrote:
Why don't you do something useful, and code a classic Amiga emulator for AmigaOS 3/4.


And how is an emulator for AROS less usefull than an Emulator for AmigaOS3/4?
(Or maybe you don't understand the part about how AROS is source compatible with AmigaOS and thus any AROS program can be ported to AmigaOS with little or no code changes. The only thing aROS allows that AmigaOS does not, is more powerful hardware.)


some people, eh?  :-P

Offline GaidhealTopic starter

  • Full Member
  • ***
  • Join Date: Jul 2003
  • Posts: 192
    • Show only replies by Gaidheal
Re: Amiga emulator development
« Reply #21 on: July 08, 2003, 07:29:11 PM »
The implication that my existing idea is not useful is a bit silly...  I have no interest in targetting AmigaOS (if you really want to know why:  I was not impressed with the way Commodore and then Amiga Technologies handled the market and I have never coded for the Amiga anyway.  I am also looking into targetting AROS instead, thus AmigaOS developers would be perfectly free to adapt the code for themselves).

I hope that this directly answers your question.  Incidentally, since AmigaOS4 is not out yet, short of joining their development team it would be difficult to target it anyway and I have no interest in targetting "legacy" platforms as a rule (notice that I do not target Win9x, for example).

John

edit:  due to my ISP cocking up Matt beat me to the punch, without me ever knowing LOL
[color=3300FF]Gaidheal[/color][/b][color=0066CC] - \\"The Emulator Guy\\"[/color][/i]
 

Offline mdwh2

  • Hero Member
  • *****
  • Join Date: Jun 2002
  • Posts: 565
    • Show only replies by mdwh2
Re: Amiga emulator development
« Reply #22 on: July 08, 2003, 09:46:40 PM »
Quote

Gaidheal wrote:
Well, for a start the one click setup is not offered anywhere else I have seen :¬)

This can be done in WinUAE by just loading a relevant configuration file. I don't know if there's somewhere where you can download a set of configuration files for the various Amigas - if there isn't, then it would be pretty easy to do.

In fact, you can set up config files so that they load WinUAE automatically and boot without showing the GUI, when you doubleclick on them from Windows. And if it was really considered useful, it would be fairly trivial to write a wrapper application that displayed a set of buttons for various Amiga setups, that then loaded into WinUAE with the appropriate configuration when you clicked on it.

I don't mean to dampen your enthusiasm - I hope your project goes well, but I don't think you can say that this feature is something that WinUAE doesn't offer, and writing a one-click application supplied with default configurations, if you wanted that particular behaviour, would be far far easier than writing an emulator from scratch.

On a possibly related note, I hear that the next WinUAE release will have a separate executable specifically for emulating an A500.
 

Offline DethKnight

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 509
    • Show only replies by DethKnight
Re: Amiga emulator development
« Reply #23 on: July 08, 2003, 10:01:02 PM »
An emulator for NT 5 (2000/XP)  ???
Involve AROS ??

Splendiferous !

Finally I may get to run a Truly Useable Amiga Emulator for my Win2KPro x86 box?
Thank the universe, I say.
WinUAE runs, kinda on my 2kpro, but not always, so the re-invention of the wheel on "my machine" is necessary.
wanted; NONfunctional A3K keyboard wanted
 

Offline GaidhealTopic starter

  • Full Member
  • ***
  • Join Date: Jul 2003
  • Posts: 192
    • Show only replies by Gaidheal
Re: Amiga emulator development
« Reply #24 on: July 09, 2003, 03:16:39 AM »
@mdwh2:

The fact you are describing how it could be made to do it, by definition means it does not do it.. as for how useful it is.. in the software industry most companies tend to work to the lines of "Assume the user will never read the manual and is so stupid it is a miracle they found the ON switch"  which is to say that presenting someone with a screen that has buttons marked "A1000" "A2000" "A500" "A500+" etc, actually IS useful and probably welcomed by many less technical users who just want a "once click installation" type solution for their PC that will enable them to play all their old Amiga games.  Whilst I like WinUAE noone could accuse it of being overly user friendly.  Indeed I have helped other people find the executable and make shortcuts to it, when they have approached me and claimed that "It did not install.. it did some stuff on the disk and then went back to the desktop"  User friendly?  I don't think so.  Intuitive?  Not in theleast.  My preference?  Aye, because my desktop and menus are cluttered enough and I know how to make shortcuts.. but I am not "Mr Generic User"  Point made?  Bloody hope so!

@DethKnight:

Absolutely, I use XP but also have machines running 2K Corporate (and other OSes too, of course, but they are not relevant right now).  So it will definitely get tested on your setup.  Also, if when I get some code together worth the effort, you'd like to be a guinea pig.. I mean "Professional Quality Assurance Operative" I'd be more than willing to send it to you.

Re: AROS - nothing firm yet, but by way of giving you background;  I was extremely impressed with AROS, even the really simple x86 native CD-RW build.  Given how close to actual completion the project is, I am already planning a full migration for my main development machine, since it is so well designed and very uncluttered (contrast that with Windows....) as well as a truly portable and well supported OS.  It'd be nice if it were to become THE desktop OS, but I have seen at least three different groups of 'zealots' aim for that one in the last decade or so and I am still using NT :¬)

John

P.S.  Noone is likely to dampen my entusiasm, since it is born out of a naturally overactive metabolism, confidence in my ability and sheer arrogance!

P.P.S.  "If it's no Scottish, it's crap!"

P.P.P.S  Bedtime, methinks...
[color=3300FF]Gaidheal[/color][/b][color=0066CC] - \\"The Emulator Guy\\"[/color][/i]
 

Offline mdwh2

  • Hero Member
  • *****
  • Join Date: Jun 2002
  • Posts: 565
    • Show only replies by mdwh2
Re: Amiga emulator development
« Reply #25 on: July 09, 2003, 03:42:45 AM »
Quote

Gaidheal wrote:
@mdwh2:
The fact you are describing how it could be made to do it, by definition means it does not do it..
Doubleclicking on a config that defines a particular Amiga model, and lauches into WinUAE when you doubleclick on them (ie, it has the flag to switch the GUI off) is something that is already possible - it's just that off hand I don't know if anyone has put together a collection of such configurations. I shall have a look to see if I can find such a collection, and if not, I may have a go at putting it together myself.

If such a collection doesn't exist - and in the case of the 'wrapper application' that I talked about (though I'm not sure that such an application is any better than doubleclicking on config files - I described it as a way of being 100% exact to the behaviour you suggested), then yes, it's true that these are things which don't currently exist. But, with respect, your emulator doesn't exist either. In both cases we'd be talking about what *could* be done - and I was just pointing out how the behaviour could be done trivially, as opposed to having to write an entire emulator from scratch.

Quote
as for how useful it is.. in the software industry most companies tend to work to the lines of "Assume the user will never read the manual and is so stupid it is a miracle they found the ON switch"  which is to say that presenting someone with a screen that has buttons marked "A1000" "A2000" "A500" "A500+" etc, actually IS useful and probably welcomed by many less technical users who just want a "once click installation" type solution for their PC that will enable them to play all their old Amiga games.
I agree that such things would be useful. I believe that the next version of WinUAE will feature an A500-only executable - I'm not sure exactly what this means, but it's possible this is aimed at those who just want to run A500 games easily. A specific configuration for an A1200 would also be useful - other than the A500 and A1200, I'm not aware of any games or applications that were targetted at a specific Amiga model (ie, the remaining ones either would work on any Amiga, or have a general set of requirements of CPU/RAM etc which don't necessarily match with a single Amiga model).
 

Offline Hammer

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1996
  • Country: 00
    • Show only replies by Hammer
Re: Amiga emulator development
« Reply #26 on: July 09, 2003, 06:09:44 AM »
@Gaidheal

NT5????? Would that include MS Windows Server 2003 (a.k.a NT5.2)?

Also, have you heard of WinFellow (X86 targeted platform)?  
Amiga 1200 PiStorm32-Emu68-RPI 4B 4GB.
Ryzen 9 7900X, DDR5-6000 64 GB, RTX 4080 16 GB PC.
 

Offline Hammer

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1996
  • Country: 00
    • Show only replies by Hammer
Re: Amiga emulator development
« Reply #27 on: July 09, 2003, 06:45:29 AM »
Quote
t the very "beginner" end, for example I am going to have single button configuration for every Amiga machine as released in the UK. I.e. Click "A500" and you get OCS, 2Mb, etc. You get the idea

One could create/bolt-on a Microsoft style configuration wizard for WinUAE (e.g. refer to Windows Server 2003 for near idiot proof wizards as examples).

Alternatively, one could bolt-on a hush pattern recognition feature** (i.e. hush pattern is generated from  ADF disk images) that automatically selects the right Amiga configuration for the said ADF disk images).  

For example;
1. User click on  .ADF file (e.g. Battle_Squadron.adf)  via window’s shell,
2. Launches the emulator application.
3. Emulator application compares ADF disk image’s hush pattern with it’s hush pattern database. The database is user configurable.      
4. IF hush pattern matching is successful then automatically selects the right configuration and  boots the emulator with the said ADF file.

 
Amiga 1200 PiStorm32-Emu68-RPI 4B 4GB.
Ryzen 9 7900X, DDR5-6000 64 GB, RTX 4080 16 GB PC.
 

Offline mesagl

  • Newbie
  • *
  • Join Date: Apr 2003
  • Posts: 5
    • Show only replies by mesagl
Re: Amiga emulator development
« Reply #28 on: July 09, 2003, 09:32:27 AM »
is it possible to encapsulate the emulation code into a neat SDK where others can use the SDK and write wrappers for whatever OS they want to port. Perhaps you and bloodline could port to AROS and any other volunteers could port to their targets , AmigaOs , MorphOs , FreeBSD , Solaris etc etc etc .

The only problem i see with this is that there would have to be a couple of branches of the SDK for each CPU to get the cycle exact emulation.

each SDK implements the exact same functionality so that calling the functions is identical/portable but the core code in the SDK functions is cpu/platform specific.

enough rambling  :-o
 

Offline GaidhealTopic starter

  • Full Member
  • ***
  • Join Date: Jul 2003
  • Posts: 192
    • Show only replies by Gaidheal
Re: Amiga emulator development
« Reply #29 from previous page: July 09, 2003, 05:25:46 PM »
@mdwh2

Actually, you claimed I had proposed nothing which UAE does not already do.  I pointed out a couple of things that in fact show this is not so.  One is arguablt trivial (though not to less technical users) and the other less so (truly cycle exact hardware emulation).  To point out that my emulator does not exist is rather superfluous when we are discussing features that are to be present, as well.  And your fixation on it as a rival to UAE is a bit hard for me to grasp, since they are coming from totally different angles.  Especially with what I am going to say below..

@Hammer

Yes, 2003 Server will retain all the same API calls, so MS lead me to believe.  Thus applications written for 2000 or XP should run with no modification on it.  It is also going to include (out of the box) version 1.1 at least of the infamous .Net so if I chose to write for .Net instead of the native (to previous Windows versions at least) API that would also work.  I won't be at this though.  Yes, I have heard of Winfellow but not used it.  As regards "hush pattern" support, I am taking it under advisement :¬)

@mesagl

Because it will be OO, it will almost by definition be an SDK of sorts.  This is because each of my "Virtual Custom Chip" objects is going to need to present an interface to other objects wishing to address it.  It's likely that only very specific objects will actually be allowed to do so, but the "look" from the point of view of a programmer will be of an extension to the well known API paradigm.  As for separate branches, not necessarily.. at least not that separate, but as you say, identical interface, except where a one is a superset.  Differing implementation as needed, at the core level.

Now.. the (?) exciting bit..  I have decided that a major, possibly THE major thrust of the project is going to be total integration with AROS.  That is to say I shall be joining other developers on the AROS project, specifically to implement "Seamless Legacy Amiga Emulation" in AROS.  Matt emailed me and expressed an entirely similar vision of how this ought to behave:

"OS legal" emulation will happen within windows which are treated exactly like any other in AROS, i.e. same colour borders, etc, etc.  "OS legal" means that the application only makes legitimate calls to AOS, no attempts at directly talking to the hardware (incidentally, though I am sure most are aware of this, it is that which makes most games 'broken' on simple emulators and ports of AOS).

"Hardware Emulation mode" will be fullscreen, require high thread priority and a lot more resources, but given the power of the likely platforms, the efficiency of AROS and the relatively undemanding nature (by comparison with today's software) of most programmes that will need it, performance should not be an issue at all.  It just might not "play nice" if you want to run other tasks.  In as much as, you may get the standard Windows approach of "Close all other applications, etc, etc"

I have received several requests for PPC emulation and this is also under advisement.

John
[color=3300FF]Gaidheal[/color][/b][color=0066CC] - \\"The Emulator Guy\\"[/color][/i]