History of Cross Products
Cross Products was a British developer of game programming tools, founded in 1989 by Ian Oliver and Andy Craven 1. Its SNASM range let programmers build code on a PC and debug it on the target hardware.
The company’s archived website dates its acquisition by Sega to June 1994. It describes the purchase as part of Sega’s development-tools strategy, after which Cross Products concentrated on Sega platforms 2.
Products
The range covered assemblers, debuggers and hardware for downloading and testing games.
SNASM
SNASM (Spiny Norman’s Assembler) was developed by Martin Day in collaboration with Cross Products founders Ian Oliver and Andy Craven. Cross Products licensed it for its early Atari ST and Amiga development kits 3.
Martin Day also co-founded SN Systems. The shared history can make the names confusing: Cross Products sold SNASM, while SN Systems developed the competing Psy-Q tools 3.
SN Systems (Creator of Development Tools)
The history of SN Systems and its Psy-Q development tools.
The Games Machine, issue 29 (April 1990), described a pre-release PC-based kit priced at GBP 600. Its report named Realtime Games and Vektor Grafix as collaborators and listed Atari ST, Amiga and Macintosh targets 4.
SNASM Speed
The Games Machine reported an assembly time of five seconds for 12,000 source lines 4. A more concrete production example comes from Ian Oliver’s 1989 ST NEWS interview: assembling Carrier Command took six minutes on the ST and 18 seconds with the team’s PC assembler. These are contemporary performance claims, rather than timings from a reproduced benchmark 5.
The original 68000 toolchain suited machines such as the Amiga and Atari ST, as well as the Sega Mega Drive.
Companies that used SNASM
System 3 used SNASM during development of Last Ninja 3 6.
CPUs Supported
The assembler name identifies its processor family.
The Saturn manual documents both SNASM68K and SNASMSH2 7:
- SNASM68K - Motorola 68000 family.
- SNASM658 - 65816 family, used for Super Nintendo development.
- SNASMSH2 - Hitachi SH-2.
SNASM2 Platforms supported
Cross Products’ May 1995 export price list lists complete development systems for these platforms 8:
- Amiga 600/1200 (SNASM68K)
- Sega Genesis/Mega Drive (SNASM68K)
- Sega 32X
- Mega CD (SNASM68K)
- Sega Saturn
- Super Nintendo Entertainment System (SNASM658)
- Jaguar
- Philips CDi
SNASM2 for Philips CDi
In an interview with The Black Moon Project, Ashley Hogg recalled using SNASM tools for Codemasters’ Philips CD-i port of Micro Machines. The PC communicated with the development hardware over SCSI. Hogg also kept an Amiga A4000 for custom bonus-level and graphics tools, so the PC kit was only part of the production workflow 9.
SNASM658 for Super Nintendo
The SNASM658 tools targeted the Super Nintendo. The May 1995 price list offered a SNASM2 SNES system with 16 Mbit capacity 8.
Mike Dailly photographed his SNASM development kit alongside other SNES development hardware:
Some sexy #SNES dev stuff… My old SNASM devkit, a special SNES EPROM box that let you max out the ROM space, and aSNES dev cart.
— Mike Dailly™ 🏴🇺🇦🇵🇸💙 (@mdf200) August 6, 2022
Lastly a Psygnosis PsyQ devkit. pic.twitter.com/bIeXhlx3Ok
The SNES development-hardware guide covers the kit alongside alternatives used by other studios:
SNASM for Atari ST
The SNASM interface let programmers develop software on a PC, then download and debug it on an Atari ST. The Centre for Computing History holds three interface boxes formerly owned by David Jones, creator of the Magic Knight games 10.
SNASM2.1 and archived Saturn projects
The SNASM2.1 Saturn manual explains a compatibility trap when rebuilding Saturn projects: GNU’s linker could not directly link SNASM2 objects, despite both using COFF (Common Object File Format). Cross Products supplied SN2G to convert assembler output for GNU linking. Using the SNASM2 linker with GNU objects instead lost C structure-browsing information 7.
Conversion had limits: complex relocation expressions could fail, and group information was discarded. Keep original object files when investigating a build 7.
When examining an archived project, look for these documented clues before choosing replacement tools 7:
| File or command | What to inspect |
|---|---|
snasmsh2 |
SH-2 assembly steps and their output files |
snmake |
Build rules; its default project filename is MAKEFILE |
SNBUGSAT.INI |
Debugger sessions, which can retain breakpoints, watches and object-file paths |
Try following one object file from its assembly command through conversion and linking. Record the tools and options at each step rather than assuming that the filename extension identifies a compatible format.
CodeScape
Sega’s January/February 1997 developer newsletter presented CodeScape as a replacement for the Saturn Snbugsat debugger that could load existing COFF files.
It combined editing, compilation and downloading, supported multiple CartDev units, and saved its configuration between sessions.
The advertised hosts were Windows 95, Windows NT 3.51/4.0 and SGI Indy 11.
The same announcement listed a separate 16 MB CartDev RAM buffer board for porting games before reducing their memory use. That distinction matters when studying development builds: the extra memory was an optional development aid, not the retail console’s memory budget 11.
Mirage CD-ROM emulator
Mirage stood in for the target machine’s CD-ROM drive. Sega’s September 1995 developer newsletter described a removable 1 GB SCSI hard drive, interchangeable target-specific modules and incremental disc-image builds. Its error-injection controls included adjustable error rates and a button to simulate a knock to the console 12.
These features let developers test disc-reading failures as well as ordinary loading. For the Saturn hardware connections and other parts of the setup, see the Saturn development-kit guide.
All Posts mentioning Cross Products
The SEGA Mega drive was released on October 29th 1988 in Japan following with North America almost a year later and Europe another whole year later than that!
During its lifespan it became incredibly popular especially in Brazil and European...
...
Sega Mega Drive (Genesis) SDK Unlike the original Master System or SG-1000 systems, SEGA provided third party developers with some tools to make Mega Drive development easier.
Files leaked There are still Sega Mega Drive SDK files that have never...
...
Official Nintendo Development kits Unusually there are actually multiple development kits that could be seen as “official”, one by Nintendo’s Intelligent Systems company and the other by Ricoh who was the creator of the SNES CPU.
Nintendo also seems to...
...
References
-
Cross Products company information, archived February 1997. ↩
-
Realtime Games Software interview - ST NEWS Disk Magazine, 12 August 1989. ↩
-
Cross Products SNASM2.1 Saturn Development System User’s Manual, revised 21 August 1995, sections 4.1, 8.2.2, 9.3.1 and chapter 11. ↩ ↩2 ↩3 ↩4
-
Cross Products SNASM2 export price list, May 1995, development systems page. Preserved in the Exodus technical-documentation collection. ↩ ↩2
-
Ashley Hogg interview - The Black Moon Project, archived June 2016. Original URL: http://www.blackmoonproject.co.uk/interviews/ashley_hogg.php ↩
-
SNASM Devkit Box for the Atari ST - Centre for Computing History, collection reference CH47580. ↩
-
Sega Developmental, January/February 1997, page 2, CodeScape announcement and CartDev RAM buffer board note. ↩ ↩2
-
Sega DTS Developer News, September 1995, page 3, Cross Products announcements. ↩