Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - MekaToKa early specifications

Reply to topic
Author Message
  • Joined: 24 Jun 1999
  • Posts: 1732
  • Location: Paris, France
Reply with quote
MekaToKa early specifications
Post Posted: Thu Dec 23, 1999 8:50 pm

MekaToKa Specifications - Draft
[Wednesday 22 December 1999, 20h46]
Omar Cornut / Zoop (omar@cornut.fr)

- Open source
Target systems: MS-DOS, Windows/x86, Linux/x86
Use as less as possible the different librarys needed (even LibC)

- Multi system emulation, driver oriented (even if most will share stuff)
Object oriented kind of programming (C).
Meka should be able to run two different games on the same time.
- Master System, Game Gear
- True line-per-line engine, supporting raster color effects
- Additionnal Lightguns, Sportpad and Paddle emulation (SMS)
- 3-D Glasses simulation (SMS)
- SG-1000, SC-3000
- True line-per-line engine
- SK-1000 (Keyboard), SR-1000 (Recorder), SP-400 (Printer) emulation
- SF-7000 (Super Control Station) emulation
- Colecovision
Share most from SG-1000/SC-3000 driver
- Numeric pad, driving controller (and other) emulation
Support external video filters (anti aliasing, eagle and so)

- Inputs system:
As open as possible. Should be easily extendable to new hardware.
Everything must be recordable - even lightgun move, then replayable.

- Mapping system:
As open as possible. Should be easily extendable to custom hardware.
Custom mapper detection made with checksum for the moment (unless a
better way can be found)
- Standard SMS/GG mapper emulation
- Additionnal mappers: Codemaster and unique ones (a lot of Pirates)

- Sound system:
- Software PSG emulation
- Hardware (fast) and Software (slower) YM-2413 emulation
- Logging and replaying must be possible
- Mixing in cases of different sources/machine playing on the same time

- Features:
- Multi-language:
- Latin languages (English, French, Portuguese..)
- Other languages (Japanese, Chinese..)
- ROM recognition by checksum:
- Integrated database with as much informations about games
- In game save/load :
- Format must be independant of the emulation engine
- Filters provided to import savegames from different formats
- Cheat finder:
- Action Replay (not only SMS)
- Game Genie (not only GG)
- Custom, advanced method
- Developping tools:
- Debugger
- Live patcher/recompiler
- ROM/RAM/VRAM/SRAM/PRAM viewer and editor
- Video screen analyser
- Various hardware registers (VDP, Sound) viewer and editor
- Compressed file support (in any file loading)
- Configuration file:
- Auto commented
- Update from old versions always possible

- Network:
- Synchronisable machines emulation.
- Gear-to-Gear emulation on the same running program.
- TCP/IP Network play
- Possibly Modem/Ipx for DOS build
- Related applets using GUI (Chat, File Transfer..)

- GUI (technical):
- Easily re-usable in other projects
- Object oriented kind of programming (C or C++)
- Fast
- Flexible
- Three layers:
- Low level
No single constants, strings, or external include here
- Middle level
mainly consists in applets to be used by the high level layer
like the file browser, etc.
- High level
things specifics to Meka
must use the middle level as much as possible
access to everything inside of the Meka core
- Keep memory usage as low as possible
Everything must be cleaned and GUI must be able to "restart"
- Be able to compile emulator without GUI

- GUI (user side):
- Themable (the whole look)
- Windows information saving/loading, multi desktop
- Configurable, resizable on the fly
- 8-bit or 16-bit video modes
- Virtual machine shown on desktop, relying on emulated machine
information. Drag and drop of file into cartridge slot load game, etc..

- Encyclopedia:
Access to game informations from the game. Index for all games or
automatically jump to the current game loaded. HTML kind of formatting,
with pictures, manuals and tons of informations. Informations are of
course external and user can be able to download an update for a certain
game, etc, without having to redownload a dozen of megabyte. So basically
one compiled (and compressed if it shows to be useful) file per game
would be a good idea. With of course all tools and specs available around.

  View user's profile Send private message Visit poster's website
  • Joined: 12 Jul 1999
  • Posts: 891
Reply with quote
Useless idea
Post Posted: Fri Dec 24, 1999 5:03 am
Here's a silly idea for you....
Is it at all possible for you (or another programmer) to add in a feature where you click on the picture of the SMS in the GUI and turn it on/off, reset it and even play the games if you click in the right spots?
Stupid idea, but at least it'd bear novelty feature :).
No?
OK then...

~unfnknblvbl
  View user's profile Send private message
  • Joined: 24 Jun 1999
  • Posts: 1732
  • Location: Paris, France
Reply with quote
Re: Useless idea
Post Posted: Fri Dec 24, 1999 9:15 am
Quote
> Here's a silly idea for you....
> Is it at all possible for you (or another programmer) to add in a feature where you click on the picture of the SMS in the GUI and turn it on/off, reset it and even play the games if you click in the right spots?
> Stupid idea, but at least it'd bear novelty feature :).
> No?

Yes. This kind of feature was actually planned since a long time but I never had the time to implement it into Meka GUI.
  View user's profile Send private message Visit poster's website
Jose Manuel Delgado
  • Guest
Reply with quote
Post Posted: Fri Dec 24, 1999 1:18 pm
Hello :)

What do you say when use "object oriented programming"?

In C you can´t do serious Object Oriented programming. For example, the emulation engine of Calypso is written in C. The GUI is written in C++ based on the library JAWS, with several modifications, so the new library is Called CWS (calypso Windowing System). The Z80 engine is written in ASM. So, ecah part of the emulator must be written in the most powerful language posible for it. If I want to add a new Window to the GUI I only have to make one line of code:

GWindowB newwindow;

This is true C++.

Other thing is that driver programming slow the emulation. We have to make several emulators in one, but not driver programming like mame.

Saludos,

Jose Manuel
 
Nyef
  • Guest
Reply with quote
Post Posted: Fri Dec 24, 1999 5:08 pm
Quote
> Hello :)

> What do you say when use "object oriented programming"?

He means "use object oriented programming". Next, please.

Quote
> In C you can´t do serious Object Oriented programming.

Yes you can. I've been doing it for some time. You can also do OO in ASM.

Quote
> So, ecah part of the emulator must be written in the most powerful language posible for it.

"Must" is such a strong term. And "powerful" is subjective.

Quote
> If I want to add a new Window to the GUI I only have to make one line of code:

> GWindowB newwindow;

> This is true C++.

And C++ is painfully wrong. It is Broken As Designed. There's no reason you can't do something similar in C.

Quote
> Other thing is that driver programming slow the emulation. We have to make several emulators in one, but not driver programming like mame.

Driver programming does not slow emulation in and of itself. Please point to a driver-programmed emulator that would be faster if it wasn't driver programmed.

--Nyef
 
  • Joined: 12 Jul 1999
  • Posts: 891
Reply with quote
More useless idea
Post Posted: Sun Dec 26, 1999 5:26 am
Quote
> > Here's a silly idea for you....
> > Is it at all possible for you (or another programmer) to add in a feature where you click on the picture of the SMS in the GUI and turn it on/off, reset it and even play the games if you click in the right spots?
> > Stupid idea, but at least it'd bear novelty feature :).
> > No?

> Yes. This kind of feature was actually planned since a long time but I never had the time to implement it into Meka GUI.

And how about if you change the picture so that the power light turns on with the console? :)
  View user's profile Send private message
Limbs a Flyin'
  • Guest
Reply with quote
Re: More useless idea
Post Posted: Sun Dec 26, 1999 10:58 am

Quote
> And how about if you change the picture so that the power light turns on with the console? :)

it already does that
 
  • Joined: 12 Jul 1999
  • Posts: 891
Reply with quote
Wow! I never noticed that before! When was this added? *nt*
Post Posted: Sun Dec 26, 1999 1:48 pm
Quote
>
> > And how about if you change the picture so that the power light turns on with the console? :)

> it already does that
  View user's profile Send private message
  • Joined: 24 Jun 1999
  • Posts: 1732
  • Location: Paris, France
Reply with quote
Meka 0.10 *nt*
Post Posted: Sun Dec 26, 1999 4:43 pm
Quote
> >
> > > And how about if you change the picture so that the power light turns on with the console? :)

> > it already does that
  View user's profile Send private message Visit poster's website
  • Joined: 12 Jul 1999
  • Posts: 891
Reply with quote
unfnknblvbl slaps himself in the face...
Post Posted: Mon Dec 27, 1999 2:46 pm
Quote
> > >
> > > > And how about if you change the picture so that the power light turns on with the console? :)

> > > it already does that

OK... so I never noticed that one.... will I ever be forgiven? :P

~unfnknblvbl
  View user's profile Send private message
Reply to topic



Back to the top of this page

Back to SMS Power!