Welcome, Guest. Please login or register.

Author Topic: Interested in this hand-held device?  (Read 8489 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline saimoTopic starter

Interested in this hand-held device?
« on: September 07, 2003, 08:12:27 PM »
Hello everybody!

It is a tough challenge, but I am trying to be concise.



PREAMBLE (just to give an idea of how concise I am going to be...)
--------------------------------------------------------------------------

It is years now that I am working on a hand-held device, whose foremost
aim has always been... pure FUN.
Now it has grown so much that I think it is about time to share this fun
with the world.

Currently, its only tangible implementation is an emulator for the classic
Amigas - I *love* the Amiga - and that is why I am posting here.

I am searching for enthusiast M68k coders who want to have some real fun
programming a really cool piece of "hardware" (obviously this is just my
humble - and biased - opinion).
Of course I would be glad of knowing of happy users, too - there is little
point in having a platform without users, right?
Lastly, I will not slam the door in the face of any company interested in
pulling out a real piece of hardware :) - but, frankly, I do not even dare
to dream of this as a real-world possibility. A more sensible one would be
the development of emulators for other platforms - welcome as well, of
course ;)

Let's have a look at what I am offering, without diving into technical
details - there are large .guides for that and I want to concentrate on
the fun part here.



WHAT IT IS ALL ABOUT
--------------------------------------------------------------------------

The device is named "MOM" and can be looked at as yet another GameBoy-like
console.
Why does it exist?
Simple: I wanted to have *fun* =)
Both developing it and developing _for_ it.
I wanted a device which was easy and funny to hardware-hit; I wanted a
device which was as much coder-oriented as possible, but still powerful
and flexible. So in 1998 (or maybe even 1 year before) I came up with some
design sketches and since then I never stopped working at this project...
... if only I could have worked on it constantly, the release date would
have come much before! - it is quite late, indeed.

I see I am getting lost, despite my initial promise.
Sorry, I just can not resist.

Among its features you can find:
 - an MC68030 CPU
 - a video architecture entirely based around the concept of extremely
   flexible and powerful sprites (scalable, flippable, etc.)

For a complete overview of the system I strongly advice to read the
"MOM - developer's manual" and watch the "deMOMstration", an application
that actually runs on the device itself and that shows some of its key
features.



RELEASE/DISTRIBUTION INFORMATION
--------------------------------------------------------------------------

I am releasing it only now because:
 - finally  both the general design and the emulator are in a very
   advanced stage
 - finally the emulator has been tested on 060 (totally developed on a
   humble - yet loyal - 030)
 - finally there is a little application (the "deMOMstration" mentioned
   above) which *visually* illustrates many features of the device - so
   you do not have to wade through large technical manuals (that do exist)
   to get the idea: all you have to do is spending 10 minutes of your life
   sitting & watching
 - finally I have some free time to dedicate to potential requests - I got
   my Computer Science degree just a few weeks ago and so I will be free
   in the near future (ooops! this is now outdated by far, as I lazily
   spent the last 2 months happily doing a lot of other unrelated
   activities :p)

The distribution packages (just ~500 kb in all) include:
 - MOM developer material: documentation, includes, tools, etc.
 - MOMiga: MOM emulator for the Amiga
 - MOS: an OS for MOM (comprehensive of development stuff)
 - deMOMstration: MOM+MOS application that shows some of the key features
   of MOM
 - MEMOU: MOM+MOS (little) game

To get everything to work, it is enough to unpack the archives, CD in
the directory chosen and launch the script "go_d" to see deMOMstration
or "go_M" to play MEMOU.
No writes to HD will occur (unless you explicitly specify to save the
memory card to HD).

The whole package is e-mailware: if you use it, you *must* send me an
e-mail.
Any _commercial_ use or product based on any or all of its parts is
strictly *prohibited* if not explicitly authorized by a written agreement
with me.



IMPORTANT NOTES ABOUT THE EMULATOR (MOMiga)
--------------------------------------------------------------------------

- it requires an Amiga with at least a 030, AGA and native graphics
  output - i.e. redirection through scandoublers or graphic-cards is
  likely to produce bad visuals (this is due to the fact that it uses
  SHRES screens)
- only rather old versions have been tested on 040 - I have no clue
  whether it still works on that CPU, but it should
- it has not been tested on NTSC machines and some parts do not take into
  account NTSC timings - yet, it should work anyway
- it is a very complex piece of code: I did my very best to make it as
  clean as possible and actually it works perfectly on my machine and on
  some 060-equipped Amigas that 2 friends (hello, Timo & Richard!) used
  for beta-testing - but beware of patches! Some (combination?) of them
  could cause problems (in which case, it should be enough to reboot
  without startup-sequence and run it after just SetPatch)!
- it can *not* work on UAE because it requires an MMU, which AFAIK is not
  emulated yet



HOW CAN YOU PUT YOUR HANDS ON IT?
--------------------------------------------------------------------------

Simply surf to http://saimobvq.interfree.it/MOM/index.html and download
all the archives.
There you will find also a lot of other interesting information.

For comments, requests of clarification, flames and anything else, write
to saimobvq@interfree.it .



SUMMARY OF AREAS OF INTEREST
--------------------------------------------------------------------------

- development of applications (which I use to call "cartridges")
- development of emulators for other platforms
- development of some specific parts of MOS (for now just data packing
  and .mod replay routines (and maybe IEEE math routines))
- adaptation of include files for more programming languages
- porting of support tools to other platforms
- betatesting
- development of the real device ;)

If you are a developer and want to start a MOM project, choose the 4-byte
ID that will mark all of your productions: this way I can make an official
and public list of developers.

Despite the focus of this section is on development, the most important
role is played by... users! The more, the happier I am.
Of course, I do not expect many users to be attracted right now that there
is only a simple game and a technical presentation.
Anybody willing to help me create a user base? ;)



WANT TO KNOW MORE?
--------------------------------------------------------------------------

Well, then why don't you have a look at the deMOMstration? ;)
Seriously, believe me: it is worth a thousand words.

Thanks for reading this far.

Best regards,
saimo



P.S. I am searching for a job...
     As you may imagine, I would love to develop for a hand-held device...
     not to mention that working with a good team on a GameBoy or GP32
     title would make me sooo happy...
     ... any offers?
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #1 on: September 07, 2003, 09:28:23 PM »
Ciao!

Thanks for taking the time :-)

Glad to know that it works under that configuration: only old versions of the emulator have been tested on an A4000/040, so I could not grant it would work.

Yet, I'm a bit concerned about speed: unluckily the A4k bus speed is rather low, so it turns out that my A1200+Bz1230 is much faster  :-o

Anyway, I'm happy you had fun, that's the main point of the whole project  ;-)

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #2 on: September 07, 2003, 11:54:27 PM »
Quote

Karlos wrote:
Quote

saimo wrote:
Yet, I'm a bit concerned about speed: unluckily the A4k bus speed is rather low, so it turns out that my A1200+Bz1230 is much faster  :-o


Are you referring to the memory bandwidth?

Is the fast ram memory on the motherboard? 4000 desktop systems have a real bottleneck there, memory access takes ages.


Yes, I meant exactly that.
I'm well aware of that problem, because when I had an A4000/040@25 temporarily under my hands (to write the MMU handling code), emulation always resulted slower by 5-10 FPS compared to the A1200/030@50, and most of that difference was made just by the slow FAST RAM access/bandwidth.
Now I can work on an A4000/060@50 and the speed gain is very noticeable; though, there the real beast is the bottleneck of CHIP RAM.

Quote

If you can get any kind of second hand accelerator to replace the 3640 card (and take the memory directly) you will see a big improvement, even for those that simply transplant the existing CPU.


Yes, sure... only that it's not me the guy with the A4000  ;-)

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #3 on: September 08, 2003, 12:00:52 AM »
Quote

Framiga wrote:
@saimo

Yes effectively, is a bit slow here also (with memory on mobo)


Yep, unluckily that's due to the A4k bus :-( (see the other posts in this thread)

Quote

PS- . . .siamo italiani e ci scriviamo in inglese :-)

Lo so, e' una specie di gioco da scemi, ma questo e' un sito internazionale!
-
I know, it's a kind of fools' game, but this is an international site!

Ciao,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #4 on: September 08, 2003, 12:35:00 AM »
Quote

Bobsonsirjonny wrote:
This HandHeld sounds a lot like the GP32 in spirit.


Really?
I've read the news about the GP32 some months ago, but could not bother to learn about its architecture.
But yes, your point is right, in fact I really got excited about that device... if I only had the money... :-(

Quote

Hardware is different - the GP32 being more powerful..


Oh, sure.
The "power" of my system is not in high specs, but rather in flexibility, freedom and ease of programming (I can't really find the right words).
Brutal power is only contempled in DAD ;-)

Quote

You want this thing as a portable games hardware.. how about writing an EMU of it for the GP32?

www.gp32x.com

www.gp32zine.com

These places have info on it. Its a very capable handheld - and can run almost anything!!!!

Seriously - your idea would work excellently on this handheld :-)


I'm sure you'll have a hard time in believing me - and maybe you'll even laugh in my face - but I really doubt that the GP32 is capable of running the emulation of MOM at full speed.
As I said, I don't know any detail about the architecture - and so the specs - of that machine, but what I know is that the MOM architecture is extremely demanding (and that's why it is just an "ideal" device), especially as for the video part: that a hand-held device is capable of emulating another hand-held device that could well be unfeasible as a real piece of hardware... well, seems pretty incredible ;-)

OK, you know what?
I'm having a tour at the links you provided, hoping to find some precise architectural info so that I can answer better.

Ah, another thing... it seems a bit pointless to me emulating a non-existing hand-held device on another hand-held (which, instead, does exist), unless the emulated one turns out to be better that the emulating one... which I also strongly doubt: sure that GP32 must be a nice machine and surely it has many (if not all) better aspects... I don't really know... well, really time to surf to those pages ;-)

[EDIT]
I've just been at www.GP32x.com and I could find the link to the developer's manual, which I don't have the time to read now (gotta sleep!), so no info gathered.
Can anybody tell me in two words - oh, well, numbers ;-) - the memory<->CPU bandwidth and the CPU clock speed?

BTW: at first glance, it really seems an excellent platform!
[/EDIT]

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #5 on: September 08, 2003, 12:51:55 AM »
@Dr_Righteous

Just been there.
That's actually another admirable effort by a smart guy who has passion pumping thru his veins.

Unluckily, twisting MOM into an Amigo or viceversa in not trivial at all, because Amigo seems to be made of standard components whereas MOM requires some custom chips (ouch! :-P) that, I suppose, are quite a challenge to design and build for anybody, even big companies like Nintendo and Sony.

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #6 on: September 08, 2003, 10:39:48 AM »
@Bobsonsirjonny

First of all, thank you very much for all the detailed info you retrieved for me!

Second... WOW! That GP32 really rocks!

Third, about the capability of running the emulation of MOM on the GP32: surely that beast can run the emulation much faster than any MC68k+AGA Amiga can do, but still I don't think it can do it at full speed.

The main reason is that MOM has 32 masked Graphic Objects (GOs), which can be moved, scaled and flipped freely at each rasterline.
This means that:
 - at every rasterline, the machine has to retrieve all the 32 descriptors of the GOs and calculate the starting addresses of graphic data and mask and the fetch "step" for each of them;
 - at every pixel, the machine needs to read up to 32 bytes of mask data, to decide which is the GO that the frontmost pixel belongs to and to perform collision detection (this holds assuming that no transparency feature exists, in which case the data fetch rises to 64 bytes/pixel - I'm saying this because the current emulator (MOMiga) does have a particular transparency feature, although, for now, I've decided not to put it in MOM's feature list); finally, it has also to read the value of the chosen pixel and write it in the video buffer.
All this, of course, should happen in sync with the raster drawing on screen in order to achieve a full-speed emulation.

Another crucial point is CPU emulation: that's something that does take a lot of processing power.
Other non-trivial points are the emulation of the rest of the chipset (audio, at least, should not be a big issue).

Apart from all these technical considerations (which could also be (partially) wrong, as I'm not an electronic engineer and I don't know where today's state-of-the-art technology has arrived), I'm still wondering... would it be worthwhile? :-? You see, that GP32 must be really cool, so what's the point? I (as everbody else, I'd bet) would prefer producing native applications for that machine!

Uhm... your point is still quite interesting indeed, so I guess I'm gonna put this in the FAQ ;-)

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #7 on: September 08, 2003, 10:49:26 AM »
@downix

If that was possible, that would really be a dream, actually ;-)

Seriously speaking, I don't know that chip and, as I said in my previous post, I'm not an electronic engineer, so I may well be wrong.
Assuming that you are implicitly referring to the video part of MOM (which is the most demanding one), the more I think of it, the more I wonder... is it really possible that such a cheap and standard, non-specialized chip can handle such a large, non-burstable, memory data transfer, with all the calculations associated to it?
Are you really sure?
You seem to have experience in the field, so can I ask you to evaluate deeply this possibility? - in practice, I'm asking you to read the full info on the site, watching the deMOMstration and reading the MOM developer's manual (what? No, thanks... as for the coffee, I can help myself ;-) ) to get a precise idea: I know this is quite an effort, so feel free to ignore my request.

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #8 on: September 08, 2003, 03:01:17 PM »
@Bobsonsirjonny

Quote
@ Saimo,

Actually its quite the contrary - whilst native stuff does get written for the GP32, many people prefer to code for an emulator for it - to bring back old memories.


Yea, I know this, and it does make sense!
But, instead, nobody ever has heard of MOM before, so it's not the same thing: why undergoing the hassle of writing a virtual machine for a real one which is already extremely nice? I would be the only one to care!

Quote
There are commercial outfits developng games and apps for it - but most of the stuff is open source, and home brew.


I must say that the GP32 has a strong appeal... but I don't have the time nor the money now.

Quote
The best way of thinking about is is a hardware version of Amiga Anywear. They are designing the GP64 as we speak - maybe you should have a word with them.


I guess it's going to be backward compatible, that is, my ideas would not fit into their schemes. :-/

Quote
The GP32 already has an Atari ST emulator which is so much faster than the origional machine...


I don't argue that it's impossible emulating machines at full speed and more... that depends on the emulated machine!

Quote
Best thing for you to do would be to head over GP32x.com and post in the dev section. Its a great community - like what we used to be like in the good old days. Many people are still learning, and its free from the company fighting.


It sounds like a very nice place... but... what would I have to say, there? Try figuring the scene... at a certain point, an unknown dude pops in and says: "Hey, I've got a totally different machine..." - nobody would care, and I'd surely be suggested that I leave for a more suitable place.

Quote
BTW another good thing about the GP32 is you can rip the lid off and get under the hood - many people are building custom expansions etc... maybe your custom chips could be added?


Oh well, how could I tell that? - but, yes, I doubt this, too.

Let me add just one thing: of course any MOM emulator on any platform is more than welcome... I surely don't intend to stop anybody who is willing to take the job! This of course includes the GP32, too, so I strongly want this to be clear!
The opinions I expressed here are just to say that, curiously, I find that a GP32 emulator is the most pointless - so it's not something I'm doing in first person (as explained, at that point I'd prefer writing native apps).

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #9 on: September 08, 2003, 03:11:03 PM »
@downix

Well, if it's no effort to you, why not?
But, let me ask again, have you considered all the aspects of my architecture? (please don't take this as a hint at incompetence)

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #10 on: September 08, 2003, 03:56:02 PM »
@downix

OK, take your time.

Thanks,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #11 on: September 08, 2003, 07:55:55 PM »
@Bobsonsirjonny

OK, let's try!
And, since you seem to know the GP32's scene quite well, do you think that posting a similar manifesto would be good enough?

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #12 on: September 08, 2003, 08:12:49 PM »
@Dr_Righteous

Uhm... I must say that I have many doubts: you see, we're not talking about a scandoubler... handling those Graphic Objects is quite complex and I don't think it's just a matter of programming a general-purpose chip... in MOM it's like having 32 framebuffers (or rasters or pixmaps or whatever you want to call them) which require masking, flipping, resizing and collision detection!
Anyway, if it's actually possible, I'm glad of it :-)

@all

The ideas that you are throwing at me here are very much appreciated, but all of them need careful evaluation: since I don't have the complete knowledge to do it, I have to request that you understand fully the MOM architecture, which can only be done after watching the deMOMstration and reading the manuals... but, of course, it's just for those who actually want to spend (or waste ;-)) their energies on my project.

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #13 on: September 08, 2003, 10:47:39 PM »
@downix

Quote
@saimo

an FPGA or PLD is not a general-purpose chip.  They're programmable chips.


Oh, right. I guess I heard of those gates arrays 3 or 4 years ago, when some company was designing/building a kick-ass, ultra-flexible computer entirely based on FPGAs (no CPU as generally intended!).
I said general-purpose to indicate general use, I did not know it actually refers to a precise category of chip (as I gather from your answer).

Quote
Want 32 framebuffers, program one to do it.  Want an MPEG decoder, you got it.  How about a 3D texture mapping routine, bingo.


Really?
Wow, now this is interesting!

Quote
I'll look into how much work it would be,


Great!
And... in case it turns out to be not that hard, could you also evaluate the feasibility of DAD, please? :-P

Quote
but I'd note, I've designed sprite engines for FPGA's before (one with 256 sprites, mind you)


This is only good news to me! :-)

Quote
and usually the key issue is not the FPGA but the memory bandwidth.


Yeah, of course.
The clock figure I gave for the Video RAM (133 MHz) was calculated considering 64 bytes/pixel data fetch, but, as discussed in a previous post, this could be lowered to 33, thus almost halving the memory frequency.
Though, here I must also stress that my design, being somewhat "ideal", contemplates a zero-waitstate interface to the CPU for the Video RAM, which is achieved by a custom double port RAM (the port for the CPU is read-write, while the one to the Video Unit - the circuitry responsible for video data handling - is read-only, in order to avoid mutual exclusion problems): this, obviously, makes everything more difficult...

Anyway, do your evaluation and let me know...

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline saimoTopic starter

Re: Interested in this hand-held device?
« Reply #14 on: September 08, 2003, 11:07:03 PM »
@ Bobsonsirjonny

Uhm, it will require some rework (y' know, too much emphasis on the Amiga - different audience), but... OK.

Thanks for the suggestions!

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC