From: Felipe Sanches <juca@members.fsf.org>
To: Workgroup for fully free GNU/Linux distributions
<gnu-linux-libre@nongnu.org>
Cc: guix-devel@gnu.org
Subject: Re: [GNU-linux-libre] MAME emulator is giving incentive to use non-free software
Date: Mon, 4 Apr 2016 19:47:35 -0300 [thread overview]
Message-ID: <CAK6XL6DVgomM8E+L+54uBvRTQRi4hdCE8sAYu4nNdQiOScgghA@mail.gmail.com> (raw)
In-Reply-To: <CALkz57GbgZupdQvaMt3ze+M1vfUwzgZU7APEZ1QK8=zF4rBZoQ@mail.gmail.com>
On Mon, Apr 4, 2016 at 7:23 PM, alírio eyng <alirioeyng@gmail.com> 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.
https://github.com/garoa/GunSmoke/tree/master/
> 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:
https://archive.org/details/Montador_do_Patinho_Feio__Julho1977) 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
structured.
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:
felipe@guarana:~/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
v60
arcompact cubeqcpu drccache.cpp dsp56k hcd62121 i86
m6502 mcs48 pdp1 saturn sm510 tms1000 tms9900
v810
next prev parent reply other threads:[~2016-04-04 22:47 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-29 16:31 MAME emulator is giving incentive to use non-free software alírio eyng
2016-03-30 22:30 ` Isaac David
2016-04-02 3:17 ` Denis 'GNUtoo' Carikli
2016-03-31 22:50 ` alírio eyng
2016-04-01 6:23 ` Ricardo Wurmus
2016-04-01 12:15 ` alírio eyng
2016-04-01 20:03 ` alírio eyng
2016-04-02 2:19 ` Denis 'GNUtoo' Carikli
2016-04-02 8:48 ` [GNU-linux-libre] " alírio eyng
2016-04-03 14:20 ` alírio eyng
2016-04-03 18:36 ` alírio eyng
2016-04-03 19:39 ` Felipe Sanches
2016-04-03 21:02 ` alírio eyng
2016-04-03 21:22 ` Felipe Sanches
2016-04-04 3:26 ` alírio eyng
2016-04-04 11:19 ` Felipe Sanches
2016-04-04 22:23 ` alírio eyng
2016-04-04 22:47 ` Felipe Sanches [this message]
2016-04-04 22:58 ` Felipe Sanches
2016-04-04 22:59 ` Felipe Sanches
2016-04-05 2:29 ` alírio eyng
2016-04-09 9:00 ` Denis 'GNUtoo' Carikli
2016-04-09 19:43 ` alírio eyng
2016-04-27 0:31 ` [GNU-linux-libre] " alírio eyng
2016-04-05 15:59 ` Denis 'GNUtoo' Carikli
2016-04-06 11:02 ` alírio eyng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAK6XL6DVgomM8E+L+54uBvRTQRi4hdCE8sAYu4nNdQiOScgghA@mail.gmail.com \
--to=juca@members.fsf.org \
--cc=gnu-linux-libre@nongnu.org \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).