[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GNU-linux-libre] MAME emulator is giving incentive to use non-free

From: Felipe Sanches
Subject: Re: [GNU-linux-libre] MAME emulator is giving incentive to use non-free software
Date: Mon, 4 Apr 2016 19:47:35 -0300

On Mon, Apr 4, 2016 at 7:23 PM, alírio eyng <address@hidden> wrote:
> Felipe Sanches:
>>MAME provides an interactive debugger
> so mame is not just an emulator.
> it is a emulator, disassembler and debugger.
> this is relevant information i can't see in official documentation, thanks.
> it seems even with a obsolete executable format, it can be a
> interesting development environment.
> a interesting development environment is useful in itself and don't
> need free games.
> is there a similar environment to a current architecture?
> can this development environment be used in freedom to develop a game
> from scratch?

Yes. I did it.

> this development environment works for all architectures mame supports?
Yes. The debugger dialog is generic and you get it automatically as a
bonus if you implement a new CPU emulation module. This happened with
me a couple times already. I got access to the technical manuals of
the first computer designed and manufactured in Brazil, which was
called "Patinho Feio" (meaning something like "Ugly Duckling
Computer"). I got the printed documentation from the hands of one of
my university professors at the engineering school. He was involved in
the team that developed the pioneer computer back in 1972.

Based on the documentation (which I published it all on the Internet
Archive with authorization form the original author: I
wrote a new CPU emulation driver in MAME to emulate the custom
instruction set of this Brazilian machine. Not only emulation works
when loading its sample software - a trivially simple hello-world
extracted from a punched data tape, trivial enough to not even be
copyrightable I guess... - It also allows me to run the code step by
step and to inspect the system memory because the whole debugging
framework was "magically" inherited by the way MAME codebase is

So this makes it sure that absolutely every CPU architecture supported
by MAME does also provide such nice interactive debugger. And the list
of supported CPUs is absurdly broad:

address@hidden:~/mame/src/devices/cpu$ ls
8x300      arm       drcbec.cpp    drccache.h  e0c6200   hd61700
i860     m6800     mcs51        pdp8       sc61860  sm8500   tms32010
ucom4    x86emit.h
adsp2100   arm7      drcbec.h      drcfe.cpp   e132xs    hmcs40
i960     m68000    mcs96        pic16c5x   scmp     spc700   tms32025
uml.cpp  x86log.cpp
alph8201   asap      drcbeut.cpp   drcfe.h     es5510    hphybrid
ie15     m6805     melps4       pic16c62x  score    ssem     tms32031
uml.h    x86log.h
alto2      avr8      drcbeut.h     drcuml.cpp  esrip     i386
jaguar   m6809     minx         powerpc    scudsp   ssp1601  tms32051
unsp     z180
am29000    ccpu      drcbex64.cpp  drcuml.h    f8        i4004
lc8670   mb86233   mips         pps4       se3208   superfx  tms32082
upd7725  z8
amis2000   cop400    drcbex64.h    drcumlsh.h  g65816    i8008
lh5801   mb86235   mn10200      psx        sh2      t11      tms34010
upd7810  z80
apexc      cosmac    drcbex86.cpp  dsp16       h6280     i8085
lr35902  mb88xx    nec          rsp        sh4      tlcs90   tms57002
v30mz    z8000
arc        cp1610    drcbex86.h    dsp32       h8        i8089
m37710   mc68hc11  patinhofeio  s2650      sharc    tlcs900  tms7000
arcompact  cubeqcpu  drccache.cpp  dsp56k      hcd62121  i86
m6502    mcs48     pdp1         saturn     sm510    tms1000  tms9900

reply via email to

[Prev in Thread] Current Thread [Next in Thread]