targets - earok/scorpion-editor-demos GitHub Wiki

Amiga

The Commodore Amiga 500 (released in 1987), a low-end version of the Amiga personal computer. Shown in the image is a RGB monitor, a keyboard, a mouse, and a floppy disk drive. © Bill Bertram 2006, CC-BY-2.5 — Attribution.

The Commodore Amiga is a cult home computer that was one of the first attempts to bring a truly high quality, multimedia experience to the consumer market.

The Original Chip Set (OCS) Amiga was later supplanted by the Enhanced Chip Set (ECS) and finally the Advanced Graphics Architecture (AGA). All three of those chipset types are supported, and targeting AGA games specifically unlocks a host of new features.

Compared to other Scorpion Engine platforms, Amiga developers enjoy vast amounts of memory (1MiB on a typical A500 setup, and 2MiB on a typical A1200 setup, with even more memory available on expanded systems) and the flexibility to craft scenes out of bitmaps rather than a typical mix of sprites and tiles.

Also unique among Scorpion platforms is that the processor is not restricted to the 68000, it’s common for Amiga gamers to have upgrades to 68020, 68030, 68040 or 68060 processors.

In addition, it offers impressive color fidelity, with 32 colors and 4 bits per channel on the base OCS models, and up to 256 colors and 8 bits per color on the later AGA models.

One of the two major drawbacks with the Amiga platform as a gaming machine is the relative lack of sprite power. With only 8 sprites of 16 pixels wide, most Amiga titles typically rely on “blitter objects” (bobs), which are drawn onto a bitmap layer. Bobs are much more flexible than sprites, but also considerably slower.

The other major drawback is the need to load files from floppy, hard disk or CD. While the latter two are relatively fast (the CD32 notably features a 2X CD drive, unlike its counterparts the Neo Geo CD and Mega CD), floppy disks are very slow, and all options are considerably slower than streaming data from cartridges.

Supported Hardware

  • Any 68000 Amiga with at least 512kb of Chipram and 512kb of any other type of RAM
  • CDTV and CD32 consoles
  • CD audio (CD32 only currently)
  • 1 button joysticks, 2 button pads, CD32 pads
  • Keyboard and Mouse
  • Load from Floppy, Hard drive and CD media
  • Save to floppy, Hard drive or NVRAM
  • WHDLoad based systems such as the A500 mini

Supported Emulators

FS-UAE is a gaming focused, streamlined and cross platform Amiga emulator. FS-UAE is used as a wrapper when exporting Scorpion games for play on Windows or Mac.

WinUAE is the most powerful and flexible Amiga emulator on the planet. As such, it’s the recommended emulator for developing and testing Scorpion Engine games on Amiga.

Custom WinUAE configurations can be used to save your preferred setup of joysticks, resolution and so on. I recommend following these steps:

  • Run the game in WinUAE without a custom configuration set. This will configure WinUAE with all of the hard drive mappings you’ll need.
  • Make all of the configuration settings you need.
  • Save the configuration back into the project folder.
  • Done!

Supported Audio Drivers

PTPlayer is unique amongst Amiga sound drivers in that it can dynamically play sound effects on any of the four channels, even if the channel is currently reserved for Music - the driver will intelligently slot any triggered sound effects into a gap in the music.

The expected format is the venerable .MOD (ProTracker) format supported by many games and Amiga music players. ProTracker on Amiga itself is the traditional way to compose MOD files, but you can also use OpenMPT - https://openmpt.org/ - if you wish to use a windows environment.

Mega Drive / Genesis

The original Japanese Mega Drive console

The Mega Drive (also known in the United States as the Genesis) is Sega’s most successful console ever. The console features powerful sprite performance, allowing for 80 sprites (up to 32 pixels wide) to be displayed on screen at once. It also features two full and independently scrollable planes, with the ability to display a static “window” panel on one of them.

While the amount of memory is substantially reduced compared to the Amiga (64KiB of RAM and 64KiB of Video Memory), the console compensates for this with fast Dynamic Memory Access, allowing sprites and tiles to be rapidly streamed from the cartridge itself into video memory.

While up to 64 colors can be displayed (compared to the base Amiga’s 32), all sprites and tiles are restricted to a single 16 color section of that palette. It also has relatively low color depth at 3 bits per channel.

Supported Hardware

  • Any Mega Drive or Genesis
  • 32X (limited, experimental)
  • Pico (limited, experimental)
  • 3 and 6 button pads
  • Sega and EA Multitaps (automatically detected and used in four player mode)

The Mega/Sega CD is not supported currently.

Supported Emulators

Blast Em! Is a streamlined emulator that focuses on extreme accuracy above everything else. As such, it is the recommended Mega Drive emulator for Scorpion Engine development, as bugs that appear on real hardware but not on Blast Em! are exceedingly rare.

Blast Em! does not support 32X projects.

GENS is an older but highly popular Mega Drive emulator that is also supported by the Scorpion Engine. We recommend the KMod version in particular, which offers excellent debugging tools.

GENS KMod does support 32X projects.

KEGA fusion is another highly popular Mega Drive emulator that provides an easier interface than Blast Em! and with a higher focus on accuracy than GENS.

KEGA Fusion does support 32X projects.

PicoDrive is only used by Scorpion for Sega Pico projects.

Supported Audio Drivers

Both music and sound effects on MDSDRV are in MML format, which is a music format that can be programmed in a simple text file. In addition, a single button press in the editor can generate MML “wrappers” for all sound effects.

One particular advantage of this driver is that it runs very well on DMA heavy games - sound effect quality will usually stay constant even if the framerate is being overwhelmed by massive sprites.

The XGM driver offers support for the widely used VGM format, which allows for chip music to be played back in the exact way it was recorded. As such, there’s a massive amount of VGM music out there, including music ripped from existing titles.

NeoGeo

The original Japanese Mega Drive console

The Neo Geo AVS is a home console that features an almost identical set of hardware and features as the Neo Geo MVS arcade machine. Similar in many respects to the Mega Drive, but vastly outperforming it in others.

The Neo Geo remarkably features no tilemap support (other than for a static display similar to the Mega Drive’s window layer), instead relying on nearly 400 available sprites to allow the developer to create a number of parallax layers.

And while it has similar restrictions to the Mega Drive in that each sprite can only use one 16 color section of the palette, it can support up to 256 such sections for a total of 4096 colors. In addition, color depth is 5 bits per channel, with an extra “dark bit” shared between all three channels.

Supported Hardware

  • NeoGeo AES
  • NeoGeo CD
  • NeoGeo MVS (limited, no support for coin collection yet)
  • Standard controllers with four buttons, start and select buttons

Supported Emulators

The Multi-Arcade-Machine-Emulator supports a massive number of arcade machines.

Scorpion only uses it for NeoGeo AES and MVS.

Raine is a powerful, capable and reliable NeoGeo CD emulator.

Supported Audio Drivers

Mezz Estate is a powerful audio driver for all NeoGeo systems.

Note that the custom MML format used by the engine is not currently supported, but Scorpion Engine does provide ADPCM-B support.

On NeoGeo CD, CD Audio is used in place of ADPCM-B.

Platform Comparison

Audio

Platform PCM Channels FM Channels PSG Channels Noise Channels
Amiga 4 0 0 0
Mega Drive 1 6* 3 1
Neo Geo 6+1** 4 3 1

*5 if one channel is instead used for PCM.

**ADPCM rather than just PCM. 6 are ADPCM-A, 1 is ADPCM-B.

CPU

Platform CPU Speed
Amiga 500 (OCS)* Motorola 68000 7.1mhz (approx)
Amiga 1200 / CD32 (AGA)* Motorola 68020 14mhz
Mega Drive** Motorola 68000 7.6mhz
Neo Geo** Motorola 68000 12mhz

*The Amiga also features a graphics coprocessor - “the copper” - for advanced graphical effects.

**The Mega Drive and the Neo Geo each also contain a Z80 processor for communicating with the audio hardware.

Layers

Platform Tile Size Scrolling Layers Fixed Layers
Amiga N/A (Bitmap) 2 (Dual Playfield mode) 0
Mega Drive 8x8 2 1*
Mega Drive 32X** N/A (Bitmap) 0 1
Neo Geo*** 8x8 0 1

*The window layer on Mega Drive is shared with one of the scrolling layers - they cannot overlap.

**In addition to the regular Mega Drive VDP graphics.

***Having no scrolling layers, backgrounds including parallax are typically crafted out of sprites.

Memory

Platform General memory Video memory Palette memory
Amiga 500 (OCS)* 512KiB 512KiB** NA
Amiga 1200 / CD32 (AGA)* 2048KiB (Shared)** NA
Mega Drive 64KiB 64KiB 128 bytes
NeoGeo 64KiB*** 68KiB 2 banks of 8KiB = 16KiB total

*Amiga users have often upgraded their computers to have more memory. The stock A500 typically only has 512KiB, but the majority have been upgraded to 512KiB/512KiB = 1MiB total.

**Amiga memory is often split between chip ram, which can be accessed by the sound and graphics hardware, and fast/slow ram which can only be used by the CPU.

***Unlike the Mega Drive, part of the Neo Geo’s RAM is consumed by the BIOS.

Resolution

Platform X Resolution Y Resolution (NTSC) Y Resolution (PAL)
Amiga 320* 200 256
Mega Drive 320** 224 240
Neo Geo 320*** 224 224

*Amiga games typically have lower than 320 pixels wide in order to support smooth scrolling without sacrificing sprite channels.

**256 pixels wide is also supported

***Commercial games typically use 306 pixels wide

Palette

Platform Color depth / channel Color depth total Palettes Colors / Palette Colors total Colors possible
Amiga 500 (OCS) 4 bit 12 bit 1 32* 32 4096
Amiga 1200 (AGA) 8 bit 24 bit 1 256 256 ~16 million
Mega Drive 3 bit 9 bit 4 16** 64 512
Mega Drive 32X 5 bit 15 bit 1 32767 32767 32767
Neo Geo 5 bit 16 bit*** 256 16 4096 65535

*OCS Palette size is doubled in Extra Half Brite / EHB mode, where there's a half brightness copy of every color. Sprites on Amiga are from sub palettes of either 4 or 16 colors. This section also excludes HAM mode which allows for thousands of simultaneous colors even on OCS Amiga.

**Mega Drive features a highlight and shadow mode that offers additional bright or dark colors.

***Neo Geo features an extra “dark bit” in the palette which acts as a common least-significant-bit for all three color channels.

Sprites

Platform Width Height Channels Colors
Amiga 500 (OCS) 16 1-Infinite 8 3+transparent*
Amiga 1200 (AGA) 16,32,64 1-Infinite 8 3+transparent*
Mega Drive 8,16,24,32 8,16,24,32 80 15+transparent
NeoGeo 16 16-512 448 (381 per frame) 15+transparent

Amiga also features a 15+transparent color “attached” mode which doubles the sprite channel usage, hence only four such sprites can be rendered on any Amiga.

Sprite Special Features

Platform Can be flipped Can wrap around screen Can be stretched
Amiga 500 (OCS) No No No
Amiga 1200 (AGA) No Horizontal only (sscan2) No
Mega Drive Yes No No
Neo Geo Yes Vertical only Yes
⚠️ **GitHub.com Fallback** ⚠️