User:Freem/Scratchpad: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
(that's as much as I'm going to get done for now)
m (working on a slight rewrite of the Hello world tutorial page. will add more later in the day)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
:''In order to avoid a situation like [[User:Freem/Homebrew]]; I'm going to be testing some things here. Everything is subject to change and/or deletion.''
:''In order to avoid a situation like the homebrew page formerly in my namespace, I'm going to be testing some things here. Everything is subject to change and/or deletion.''


=[[Development tools]] redesign=
=Hello World Tutorial=
==68000==
This tutorial will guide you through all the necessary steps to make a Neo-Geo binary which displays the text "Hello world!". The language we will be using is 68000 assembly, but good knowledge of it is not needed.
{|class="wikitable"
!colspan=6 style="background-color:#ccc"|Assemblers
|-
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download
|-
| [http://john.ccac.rwth-aachen.de:8000/as/ AS] || Alfred Arnold, et al || Multi-target assembler || (multiple) || Provided as source code and binaries (Windows, DOS) ||  
|-
| [http://sun.hasenbraten.de/vasm/ vasm] || Volker Barthelmann, et al || Multi-target assembler || (multiple) || Provided as source code<br/>"official" binaries are for older versions || &nbsp;
|-
| JAS || Charles Doty, Paul Lee, Michael Hope || Modified version of AS || Windows || (base AS version unknown; binary is circa 1999/12/30) || [[File:JAS.zip]]
|-
| Maccer || Michael Hope || Pre-processor for AS-series assemblers || (multiple) || Provided as source code and Windows binary || &nbsp;
|-
| [http://gendev.spritesmind.net/page-macX.html MaccerX] || Kaneda || Updated version of Maccer || (multiple) || Provided as source code and Windows binary; added support for XGCC (gcc) and comments || &nbsp;
|-
| SNASM68K || S.N. Systems || &nbsp; || Windows || &nbsp; || [http://segaretro.org/SNASM68K SNASM68K at Sega Retro]<br/><small>(Modified version by Nemesis)</small>
|-
!colspan=6 style="background-color:#ccc"|Compilers
|-
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download
|-
| NeoDev kit || Fabrice Martinez, Jeff Kurtz, et al || GCC compiler and library || &nbsp; || &nbsp; || [[File:NeoDev001.zip]]
|-
!colspan=6 style="background-color:#ccc"|Disassemblers
|-
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download
|-
| IRA || Tim Ruehsen, ported by Antirad || Intelligent ReAssembler for M680x0 || (multiple) || PC port of an Amiga app; provided as source ("PC") and binary (Windows) || [[File:Ira.zip]]
|-
| unidasm || MAMEdev || Universal Disassembler || (multiple) ||
|}


==Z80==
==Setting up the Development Environment==
{|class="wikitable"
# Download [http://mamedev.org/release.html the latest version of MAME] and extract the contents somewhere you can easily remember (e.g. a directory like <code>C:\mame\</code> or <code>~/mame/</code>).
!colspan=6 style="background-color:#ccc"|Assemblers
# In order to run Neo-Geo software on MAME, you will need to create (or find) dumps of the various ROMs on the system motherboard. Typically these ROMs are packaged in a file called <code>neogeo.zip</code>. If you manage to find this zip file, copy it into the <code>roms</code> subdirectory of where you installed MAME. Otherwise, you will need a few files in the <code>roms/neogeo/</code> subdirectory: '''000-lo.lo''' (64KiB, the [[LO ROM]]), '''sm1.sm1''' (128KiB, the [[M1 ROM]] for sound), '''sp-s2.sp1''' (128KiB, the [[System ROM]]) and '''sfix.sfix''' (128KiB, the [[SFIX]] ROM).
|-
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download
|-
| [http://john.ccac.rwth-aachen.de:8000/as/ AS] || Alfred Arnold, et al || Multi-target assembler || (multiple) || Provided as source code and binaries (Windows, DOS) || &nbsp;
|-
| [http://sun.hasenbraten.de/vasm/ vasm] || Volker Barthelmann, et al || Multi-target assembler || (multiple) || Provided as source code<br/>"official" binaries are for older versions || &nbsp;
|-
| [https://github.com/vhelin/wla-dx WLA DX] || Ville Helin, et al || Multi-target assembler || (multiple) || Provided as source code || [http://www.niksula.cs.hut.fi/~tursas/wla/wladx_binaries_20040822.zip WLA-DX 9.2 Win32 binaries]
|-
!colspan=6 style="background-color:#ccc"|Compilers
|-
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download
|-
| ZCC || Ken Yap, et al || Z80 development package with C compiler || (multiple) || Provided as source code and binaries (Windows); circa January 1996 || [[File:zcc096.zip]]
|-
| [http://sdcc.sourceforge.net/ SDCC] || Sandeep Dutta, et al || "Small Device C Compiler" || (multiple) || Provided as source code and binaries (various platforms) || [http://sdcc.sourceforge.net/snap.php Snapshot Builds]
|-
| [http://www.z88dk.org/forum/ z88dk] || (many people) || z80 C cross compiler with assembler/linker || (multiple) || Provided as source code and binaries (Windows, Mac) || [http://nightly.z88dk.org/?C=M;O=D Nightly Builds]<br/><small>(Hit escape as soon as you see the links for "latest")</small>
|-
!colspan=6 style="background-color:#ccc"|Disassemblers
|-
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download
|-
|}
 
==Source Editors==
There are a lot of source code editors out there... Use whatever you're comfortable with (hopefully with syntax highlighting).
 
==Sound and Music==
{|class="wikitable"
|-
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download
|}
 
==Graphics==
{|class="wikitable"
|-
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download
|}
 
==Other Tools==
{|class="wikitable"
|-
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download
|}

Latest revision as of 13:43, 22 January 2016

In order to avoid a situation like the homebrew page formerly in my namespace, I'm going to be testing some things here. Everything is subject to change and/or deletion.

Hello World Tutorial

This tutorial will guide you through all the necessary steps to make a Neo-Geo binary which displays the text "Hello world!". The language we will be using is 68000 assembly, but good knowledge of it is not needed.

Setting up the Development Environment

  1. Download the latest version of MAME and extract the contents somewhere you can easily remember (e.g. a directory like C:\mame\ or ~/mame/).
  2. In order to run Neo-Geo software on MAME, you will need to create (or find) dumps of the various ROMs on the system motherboard. Typically these ROMs are packaged in a file called neogeo.zip. If you manage to find this zip file, copy it into the roms subdirectory of where you installed MAME. Otherwise, you will need a few files in the roms/neogeo/ subdirectory: 000-lo.lo (64KiB, the LO ROM), sm1.sm1 (128KiB, the M1 ROM for sound), sp-s2.sp1 (128KiB, the System ROM) and sfix.sfix (128KiB, the SFIX ROM).