targets - earok/scorpion-editor-demos GitHub Wiki
© 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.
- 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
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!
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.
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.
- 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.
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.
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.
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.
- NeoGeo AES
- NeoGeo CD
- NeoGeo MVS (limited, no support for coin collection yet)
- Standard controllers with four buttons, start and select buttons
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.
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 | 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.
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.
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.
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.
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
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.
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.
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 |