<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.neogeodev.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=City41</id>
	<title>NeoGeo Development Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.neogeodev.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=City41"/>
	<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php/Special:Contributions/City41"/>
	<updated>2026-05-16T09:00:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=VRAM&amp;diff=8351</id>
		<title>VRAM</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=VRAM&amp;diff=8351"/>
		<updated>2024-03-15T00:42:42Z</updated>

		<summary type="html">&lt;p&gt;City41: Fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;VRAM&#039;&#039;&#039; stands for Video RAM.&lt;br /&gt;
&lt;br /&gt;
[[File:Aes_cxk5814.jpg|thumb|One of two CXK5814 2KiB RAM chips used for the upper zone of the VRAM ($8000~$87FF) on a AES system]]&lt;br /&gt;
&lt;br /&gt;
The NeoGeo has 68KiB of VRAM split in two: a 64KiB lower zone, and 4KiB higher zone. Contrary to other systems, the VRAM &#039;&#039;&#039;does not contain actual graphics&#039;&#039;&#039;. It is used to store [[Sprites|sprite]] attributes, the [[fix layer]] tile map and sprite lists for video rendering.&lt;br /&gt;
&lt;br /&gt;
Access to VRAM is always done through 3 [[memory mapped registers]] handled by the [[LSPC]], it does not appear in the [[68k]] address space. Every VRAM address points to a 16-bit word, not a byte.&lt;br /&gt;
&lt;br /&gt;
* {{Reg|REG_VRAMADDR ($3C0000)}} sets the VRAM address for the next read/write operation.&lt;br /&gt;
* {{Reg|REG_VRAMRW ($3C0002)}} is the data read or to write.&lt;br /&gt;
* {{Reg|REG_VRAMMOD ($3C0004)}} is the signed value automatically added to the VRAM address after a write.&lt;br /&gt;
&lt;br /&gt;
Due to the different access slots used internally for each of the VRAM zones, the address register must be set directly instead of relying on {{Reg|REG_VRAMMOD}} to cross zones ($0000~$7FFF to/from $8000~$FFFF).&lt;br /&gt;
&lt;br /&gt;
==Memory map==&lt;br /&gt;
[[File:Vrammap.png|right|frame]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;regdef&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Start&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;End&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Words&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zone&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|$0000&lt;br /&gt;
|$6FFF&lt;br /&gt;
|28K&lt;br /&gt;
|rowspan=3|Lower&lt;br /&gt;
|[[Sprites#SCB1|SCB1]]&lt;br /&gt;
|-&lt;br /&gt;
|$7000&lt;br /&gt;
|$74FF&lt;br /&gt;
|rowspan=2|4K&lt;br /&gt;
|[[Fix layer|Fix map]]&lt;br /&gt;
|-&lt;br /&gt;
|$7500&lt;br /&gt;
|$7FFF&lt;br /&gt;
|[[Fix bankswitching|Extension]]&lt;br /&gt;
|-&lt;br /&gt;
|$8000&lt;br /&gt;
|$81FF&lt;br /&gt;
|512&lt;br /&gt;
|rowspan=5|Upper&lt;br /&gt;
|[[Sprites#SCB2|SCB2]]&lt;br /&gt;
|-&lt;br /&gt;
|$8200&lt;br /&gt;
|$83FF&lt;br /&gt;
|512&lt;br /&gt;
|[[Sprites#SCB3|SCB3]]&lt;br /&gt;
|-&lt;br /&gt;
|$8400&lt;br /&gt;
|$85FF&lt;br /&gt;
|512&lt;br /&gt;
|[[Sprites#SCB4|SCB4]]&lt;br /&gt;
|-&lt;br /&gt;
|$8600&lt;br /&gt;
|$867F&lt;br /&gt;
|128&lt;br /&gt;
|Sprite list for even scanlines&lt;br /&gt;
|-&lt;br /&gt;
|$8680&lt;br /&gt;
|$86FF&lt;br /&gt;
|128&lt;br /&gt;
|Sprite list for odd scanlines&lt;br /&gt;
|-&lt;br /&gt;
|$8700&lt;br /&gt;
|$87FF&lt;br /&gt;
|256&lt;br /&gt;
|Unused (free)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Access timing==&lt;br /&gt;
&lt;br /&gt;
Even if VRAM can be modified even during active display, some timing restrictions have to be met in order to avoid skipping writes or reading incorrect data. This is because the [[LSPC]] can only provide a limited number of access slots for the CPU between the video rendering steps.&lt;br /&gt;
&lt;br /&gt;
SNK imposed minimum waiting times to always be sure that no read or write operation to VRAM will fail:&lt;br /&gt;
&lt;br /&gt;
* After writing the VRAM address, a read will return valid data after 16 CPU cycles or more (&amp;gt;32mclk).&lt;br /&gt;
* After writing the VRAM data, a new address can be set after 16 CPU cycles or more (&amp;gt;32mclk).&lt;br /&gt;
* After writing the VRAM data, another write can be done after 12 CPU cycles or more (&amp;gt;24mclk).&lt;br /&gt;
&lt;br /&gt;
Note that these restrictions only concern the VRAM access, and not the other LSPC registers.&lt;br /&gt;
&lt;br /&gt;
[[Overclocking|Overclocked]] systems often produce video glitches because games are trying to access VRAM too quickly.&lt;br /&gt;
&lt;br /&gt;
==Speed==&lt;br /&gt;
&lt;br /&gt;
* Lower (slow) VRAM must be 120ns or less (3mclk).&lt;br /&gt;
* Upper (fast) VRAM must be 35ns or less (1mclk).&lt;br /&gt;
&lt;br /&gt;
[[Category:Video system]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=P_ROM&amp;diff=8350</id>
		<title>P ROM</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=P_ROM&amp;diff=8350"/>
		<updated>2024-03-11T18:27:52Z</updated>

		<summary type="html">&lt;p&gt;City41: megabyte -&amp;gt; mebibyte&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:p_rom.jpg|thumb|right|1MiB P1 ROM]]&lt;br /&gt;
16bit ROM(s) containing the byteswapped [[68k]] program in [[cartridges]].&lt;br /&gt;
&lt;br /&gt;
Sometimes, two 8 bit ROMs are used as a second P ROM (called &amp;quot;SP1/2&amp;quot; or &amp;quot;EP1/2&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
When not banked, the maximum size is [[68k memory map|1MiB]]. Some games use [[bankswitching]] for larger than 2MiB P ROMs.&lt;br /&gt;
&lt;br /&gt;
Some cartridges use an [[NGPC flash board]] soldered in place of the mask ROMs.&lt;br /&gt;
&lt;br /&gt;
==Speed==&lt;br /&gt;
&lt;br /&gt;
Minimum speed: 150ns. Can use slower ROMs by using the cartridge&#039;s [[wait cycle]] configuration.&lt;br /&gt;
&lt;br /&gt;
==2 MiB P ROMs==&lt;br /&gt;
&lt;br /&gt;
When the P ROM is 2MiB, the second MiB of the P ROM is mapped to $000000-&amp;gt;$0FFFFF in the [[68k memory map]], and the first MiB is mapped to $200000-&amp;gt;$2FFFFF. In other words, the mebibytes inside the P ROM are swapped when mapped. This is a special case between standard 1MiB P ROMs and larger ROMs that require bankswitching.&lt;br /&gt;
&lt;br /&gt;
[[Category:Chips]]&lt;br /&gt;
[[Category:Cartridge systems]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=P_ROM&amp;diff=8349</id>
		<title>P ROM</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=P_ROM&amp;diff=8349"/>
		<updated>2024-03-11T18:27:11Z</updated>

		<summary type="html">&lt;p&gt;City41: A note about 2 MiB P ROM mapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:p_rom.jpg|thumb|right|1MiB P1 ROM]]&lt;br /&gt;
16bit ROM(s) containing the byteswapped [[68k]] program in [[cartridges]].&lt;br /&gt;
&lt;br /&gt;
Sometimes, two 8 bit ROMs are used as a second P ROM (called &amp;quot;SP1/2&amp;quot; or &amp;quot;EP1/2&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
When not banked, the maximum size is [[68k memory map|1MiB]]. Some games use [[bankswitching]] for larger than 2MiB P ROMs.&lt;br /&gt;
&lt;br /&gt;
Some cartridges use an [[NGPC flash board]] soldered in place of the mask ROMs.&lt;br /&gt;
&lt;br /&gt;
==Speed==&lt;br /&gt;
&lt;br /&gt;
Minimum speed: 150ns. Can use slower ROMs by using the cartridge&#039;s [[wait cycle]] configuration.&lt;br /&gt;
&lt;br /&gt;
==2 MiB P ROMs==&lt;br /&gt;
&lt;br /&gt;
When the P ROM is 2MiB, the second MiB of the P ROM is mapped to $000000-&amp;gt;$0FFFFF in the [[68k memory map]], and the first MiB is mapped to $200000-&amp;gt;$2FFFFF. In other words, the megabytes inside the P ROM are swapped when mapped. This is a special case between standard 1MiB P ROMs and larger ROMs that require bankswitching.&lt;br /&gt;
&lt;br /&gt;
[[Category:Chips]]&lt;br /&gt;
[[Category:Cartridge systems]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Neo_Sprite_Viewer&amp;diff=8334</id>
		<title>Neo Sprite Viewer</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Neo_Sprite_Viewer&amp;diff=8334"/>
		<updated>2023-12-18T02:35:04Z</updated>

		<summary type="html">&lt;p&gt;City41: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:NeoSpriteViewer_Screenshot.png|thumb|320px]]&lt;br /&gt;
A simple website that allows viewing the tiles from C ROMs and S ROMs. Click on a tile to pull up a detailed view of it showing the index values for each pixel.&lt;br /&gt;
&lt;br /&gt;
https://neospriteviewer.mattgreer.dev/&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Graphics Tools]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=8333</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=8333"/>
		<updated>2023-11-26T20:41:06Z</updated>

		<summary type="html">&lt;p&gt;City41: /* Customization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Eyecatcher.gif|frame|Original eye-catcher animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Eyecatcher_giga.gif|frame|&amp;quot;Giga shock&amp;quot; animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Gigapowervliner.gif|frame|Imitated, wonky animation in[[V-Liner]].]]&lt;br /&gt;
&amp;quot;Eye-catcher&amp;quot; is the name officially given by SNK to the bootup animation.&lt;br /&gt;
&lt;br /&gt;
=Original animation=&lt;br /&gt;
&lt;br /&gt;
The [[system ROM]] takes care of the animation, but the graphics data for both [[sprites]] and [[fix layer]] must be provided by the game in its {{Chipname|C ROM}}s and {{Chipname|S ROM}}.&lt;br /&gt;
&lt;br /&gt;
==NEO-GEO logo==&lt;br /&gt;
The revolving NEO.GEO graphic consists of sprites (the bank of tiles is specified by the byte in the [[68k program header]] at address $115).&lt;br /&gt;
&lt;br /&gt;
58 tiles make up the main logo image. They are laid out row by row. The logo starts out mirrored horizontally, but once the animation completes the final layout is &lt;br /&gt;
&lt;br /&gt;
[[File:EyecatcherLogoTilesLayout.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
Tile 256 (the 0xff index in the CROM) is also used as a blank tile. It pads out the sides of the logo as well as files in the blank areas when the logo is scaling down and then back up. Using a CROM where each tile is a number, one can see the full layout of the main logo once it has completed animating &lt;br /&gt;
&lt;br /&gt;
[[File:DebugEyecatcherTiles.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
The palette is updated on the fly from data stored in the system ROM ($01F03E in {{Chipname|SP-S2}}) to implement the fading effect.&lt;br /&gt;
&lt;br /&gt;
==MAX 330 MEGA==&lt;br /&gt;
The &amp;quot;MAX 330 MEGA&amp;quot; &amp;amp; &amp;quot;PRO-GEAR SPEC&amp;quot; text as seen on small or early cartridges (eg. [[Puzzle De Pon!]]) is drawn on the fix layer with tiles from banks 0 and 1. The tilemap is stored in the system ROM ($01F34A in SP-S2). Each line of text is 2 fix tiles in height, and is animated using a &#039;wipe in&#039; effect from left-to-right.&lt;br /&gt;
&lt;br /&gt;
The tiles used to display each line of text are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t max_330_mega[2][15] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F, 0x5E, 0x60, 0x7D },&lt;br /&gt;
  { 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x40, 0x5F, 0x7C, 0x7E }&lt;br /&gt;
};&lt;br /&gt;
			&lt;br /&gt;
static const uint16_t pro_gear_spec[2][17] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x7F, 0x9A, 0x9C, 0x9E, 0xFF, 0xBB, 0xBD, 0xBF, 0xDA, 0xDC, 0xDE, 0xFA, 0xFC, 0x100, 0x102, 0x104, 0x106 },&lt;br /&gt;
  { 0x99, 0x9B, 0x9D, 0x9F, 0xBA, 0xBC, 0xBE, 0xD9, 0xDB, 0xDD, 0xDF, 0xFB, 0xFD, 0x101, 0x103, 0x105, 0x107 }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This can be useful to customize the text in a S ROM.&lt;br /&gt;
&lt;br /&gt;
==SNK logo==&lt;br /&gt;
The SNK logo is also drawn on the fix layer, with tiles of bank 2. It is always drawn but actually made visible at the end of the animation by switching its palette.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t SNK[3][10] = &lt;br /&gt;
{&lt;br /&gt;
  { 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209 },&lt;br /&gt;
  { 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x214, 0x215, 0x216, 0x217 },&lt;br /&gt;
  { 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x240, 0x25E }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The copyright &amp;quot;©&amp;quot; symbol is a single tile ($7B) written to [[VRAM]] adress $7469.&lt;br /&gt;
&lt;br /&gt;
The tiles are set to [[palettes|palette]] 15. The colour 5 is initially black ($0000) and then faded-in through a cycle of progressively brighter blues to a final value of $306E.&lt;br /&gt;
&lt;br /&gt;
==Palettes==&lt;br /&gt;
Both the revolving logo and the fix layer text use palette 15.&lt;br /&gt;
&lt;br /&gt;
Here is the *final* data written to palette 15:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t eye_catcher_pal[] = &lt;br /&gt;
{&lt;br /&gt;
  0x0000, 0x0fff, 0x0ddd, 0x0aaa, 0x7555, 0x306E, 0x0000, 0x0000,&lt;br /&gt;
  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
By replacing the tile data for the above tile numbers with alternate text or graphics, it is possible to somewhat customize the eye-catcher screen without requiring a custom eye-catcher routine in the game cartridge itself.&lt;br /&gt;
&lt;br /&gt;
When replacing the graphics, the tiles for the logo and wording should use colors 1-4 in the palette, the SNK logo replacement should use color 5, and like all palettes, color 0 will be treated as transparent.&lt;br /&gt;
&lt;br /&gt;
Also, the tiles at $FF in both CROM and SROM must be blank. Tile $FF in SROM is used in the &amp;quot;PRO-GEAR SPEC&amp;quot; display (see array data above) and is also used as the blank/space character for the entire screen. Thus this tile cannot be changed without replicating it over the entire fix layer.&lt;br /&gt;
&lt;br /&gt;
Tile $FF in CROM is used during the main logo animation, both when it is scaling the logo down and back up again during the animation, as well as on the left and right sides of the logo. So it too should be blank.&lt;br /&gt;
&lt;br /&gt;
[[Category:Code]]&lt;br /&gt;
[[Category:Video system]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=8332</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=8332"/>
		<updated>2023-11-26T20:40:42Z</updated>

		<summary type="html">&lt;p&gt;City41: /* Customization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Eyecatcher.gif|frame|Original eye-catcher animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Eyecatcher_giga.gif|frame|&amp;quot;Giga shock&amp;quot; animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Gigapowervliner.gif|frame|Imitated, wonky animation in[[V-Liner]].]]&lt;br /&gt;
&amp;quot;Eye-catcher&amp;quot; is the name officially given by SNK to the bootup animation.&lt;br /&gt;
&lt;br /&gt;
=Original animation=&lt;br /&gt;
&lt;br /&gt;
The [[system ROM]] takes care of the animation, but the graphics data for both [[sprites]] and [[fix layer]] must be provided by the game in its {{Chipname|C ROM}}s and {{Chipname|S ROM}}.&lt;br /&gt;
&lt;br /&gt;
==NEO-GEO logo==&lt;br /&gt;
The revolving NEO.GEO graphic consists of sprites (the bank of tiles is specified by the byte in the [[68k program header]] at address $115).&lt;br /&gt;
&lt;br /&gt;
58 tiles make up the main logo image. They are laid out row by row. The logo starts out mirrored horizontally, but once the animation completes the final layout is &lt;br /&gt;
&lt;br /&gt;
[[File:EyecatcherLogoTilesLayout.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
Tile 256 (the 0xff index in the CROM) is also used as a blank tile. It pads out the sides of the logo as well as files in the blank areas when the logo is scaling down and then back up. Using a CROM where each tile is a number, one can see the full layout of the main logo once it has completed animating &lt;br /&gt;
&lt;br /&gt;
[[File:DebugEyecatcherTiles.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
The palette is updated on the fly from data stored in the system ROM ($01F03E in {{Chipname|SP-S2}}) to implement the fading effect.&lt;br /&gt;
&lt;br /&gt;
==MAX 330 MEGA==&lt;br /&gt;
The &amp;quot;MAX 330 MEGA&amp;quot; &amp;amp; &amp;quot;PRO-GEAR SPEC&amp;quot; text as seen on small or early cartridges (eg. [[Puzzle De Pon!]]) is drawn on the fix layer with tiles from banks 0 and 1. The tilemap is stored in the system ROM ($01F34A in SP-S2). Each line of text is 2 fix tiles in height, and is animated using a &#039;wipe in&#039; effect from left-to-right.&lt;br /&gt;
&lt;br /&gt;
The tiles used to display each line of text are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t max_330_mega[2][15] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F, 0x5E, 0x60, 0x7D },&lt;br /&gt;
  { 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x40, 0x5F, 0x7C, 0x7E }&lt;br /&gt;
};&lt;br /&gt;
			&lt;br /&gt;
static const uint16_t pro_gear_spec[2][17] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x7F, 0x9A, 0x9C, 0x9E, 0xFF, 0xBB, 0xBD, 0xBF, 0xDA, 0xDC, 0xDE, 0xFA, 0xFC, 0x100, 0x102, 0x104, 0x106 },&lt;br /&gt;
  { 0x99, 0x9B, 0x9D, 0x9F, 0xBA, 0xBC, 0xBE, 0xD9, 0xDB, 0xDD, 0xDF, 0xFB, 0xFD, 0x101, 0x103, 0x105, 0x107 }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This can be useful to customize the text in a S ROM.&lt;br /&gt;
&lt;br /&gt;
==SNK logo==&lt;br /&gt;
The SNK logo is also drawn on the fix layer, with tiles of bank 2. It is always drawn but actually made visible at the end of the animation by switching its palette.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t SNK[3][10] = &lt;br /&gt;
{&lt;br /&gt;
  { 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209 },&lt;br /&gt;
  { 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x214, 0x215, 0x216, 0x217 },&lt;br /&gt;
  { 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x240, 0x25E }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The copyright &amp;quot;©&amp;quot; symbol is a single tile ($7B) written to [[VRAM]] adress $7469.&lt;br /&gt;
&lt;br /&gt;
The tiles are set to [[palettes|palette]] 15. The colour 5 is initially black ($0000) and then faded-in through a cycle of progressively brighter blues to a final value of $306E.&lt;br /&gt;
&lt;br /&gt;
==Palettes==&lt;br /&gt;
Both the revolving logo and the fix layer text use palette 15.&lt;br /&gt;
&lt;br /&gt;
Here is the *final* data written to palette 15:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t eye_catcher_pal[] = &lt;br /&gt;
{&lt;br /&gt;
  0x0000, 0x0fff, 0x0ddd, 0x0aaa, 0x7555, 0x306E, 0x0000, 0x0000,&lt;br /&gt;
  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
By replacing the tile data for the above tile numbers with alternate text or graphics, it is possible to somewhat customize the eye-catcher screen without requiring a custom eye-catcher routine in the game cartridge itself.&lt;br /&gt;
&lt;br /&gt;
When replacing the graphics, the tiles for the logo and wording should use colors 1-4 in the palette, the SNK logo replacement should use color 4, and like all palettes, color 0 will be treated as transparent.&lt;br /&gt;
&lt;br /&gt;
Also, the tiles at $FF in both CROM and SROM must be blank. Tile $FF in SROM is used in the &amp;quot;PRO-GEAR SPEC&amp;quot; display (see array data above) and is also used as the blank/space character for the entire screen. Thus this tile cannot be changed without replicating it over the entire fix layer.&lt;br /&gt;
&lt;br /&gt;
Tile $FF in CROM is used during the main logo animation, both when it is scaling the logo down and back up again during the animation, as well as on the left and right sides of the logo. So it too should be blank.&lt;br /&gt;
&lt;br /&gt;
[[Category:Code]]&lt;br /&gt;
[[Category:Video system]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=8331</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=8331"/>
		<updated>2023-11-17T23:08:57Z</updated>

		<summary type="html">&lt;p&gt;City41: /* NEO-GEO logo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Eyecatcher.gif|frame|Original eye-catcher animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Eyecatcher_giga.gif|frame|&amp;quot;Giga shock&amp;quot; animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Gigapowervliner.gif|frame|Imitated, wonky animation in[[V-Liner]].]]&lt;br /&gt;
&amp;quot;Eye-catcher&amp;quot; is the name officially given by SNK to the bootup animation.&lt;br /&gt;
&lt;br /&gt;
=Original animation=&lt;br /&gt;
&lt;br /&gt;
The [[system ROM]] takes care of the animation, but the graphics data for both [[sprites]] and [[fix layer]] must be provided by the game in its {{Chipname|C ROM}}s and {{Chipname|S ROM}}.&lt;br /&gt;
&lt;br /&gt;
==NEO-GEO logo==&lt;br /&gt;
The revolving NEO.GEO graphic consists of sprites (the bank of tiles is specified by the byte in the [[68k program header]] at address $115).&lt;br /&gt;
&lt;br /&gt;
58 tiles make up the main logo image. They are laid out row by row. The logo starts out mirrored horizontally, but once the animation completes the final layout is &lt;br /&gt;
&lt;br /&gt;
[[File:EyecatcherLogoTilesLayout.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
Tile 256 (the 0xff index in the CROM) is also used as a blank tile. It pads out the sides of the logo as well as files in the blank areas when the logo is scaling down and then back up. Using a CROM where each tile is a number, one can see the full layout of the main logo once it has completed animating &lt;br /&gt;
&lt;br /&gt;
[[File:DebugEyecatcherTiles.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
The palette is updated on the fly from data stored in the system ROM ($01F03E in {{Chipname|SP-S2}}) to implement the fading effect.&lt;br /&gt;
&lt;br /&gt;
==MAX 330 MEGA==&lt;br /&gt;
The &amp;quot;MAX 330 MEGA&amp;quot; &amp;amp; &amp;quot;PRO-GEAR SPEC&amp;quot; text as seen on small or early cartridges (eg. [[Puzzle De Pon!]]) is drawn on the fix layer with tiles from banks 0 and 1. The tilemap is stored in the system ROM ($01F34A in SP-S2). Each line of text is 2 fix tiles in height, and is animated using a &#039;wipe in&#039; effect from left-to-right.&lt;br /&gt;
&lt;br /&gt;
The tiles used to display each line of text are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t max_330_mega[2][15] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F, 0x5E, 0x60, 0x7D },&lt;br /&gt;
  { 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x40, 0x5F, 0x7C, 0x7E }&lt;br /&gt;
};&lt;br /&gt;
			&lt;br /&gt;
static const uint16_t pro_gear_spec[2][17] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x7F, 0x9A, 0x9C, 0x9E, 0xFF, 0xBB, 0xBD, 0xBF, 0xDA, 0xDC, 0xDE, 0xFA, 0xFC, 0x100, 0x102, 0x104, 0x106 },&lt;br /&gt;
  { 0x99, 0x9B, 0x9D, 0x9F, 0xBA, 0xBC, 0xBE, 0xD9, 0xDB, 0xDD, 0xDF, 0xFB, 0xFD, 0x101, 0x103, 0x105, 0x107 }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This can be useful to customize the text in a S ROM.&lt;br /&gt;
&lt;br /&gt;
==SNK logo==&lt;br /&gt;
The SNK logo is also drawn on the fix layer, with tiles of bank 2. It is always drawn but actually made visible at the end of the animation by switching its palette.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t SNK[3][10] = &lt;br /&gt;
{&lt;br /&gt;
  { 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209 },&lt;br /&gt;
  { 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x214, 0x215, 0x216, 0x217 },&lt;br /&gt;
  { 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x240, 0x25E }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The copyright &amp;quot;©&amp;quot; symbol is a single tile ($7B) written to [[VRAM]] adress $7469.&lt;br /&gt;
&lt;br /&gt;
The tiles are set to [[palettes|palette]] 15. The colour 5 is initially black ($0000) and then faded-in through a cycle of progressively brighter blues to a final value of $306E.&lt;br /&gt;
&lt;br /&gt;
==Palettes==&lt;br /&gt;
Both the revolving logo and the fix layer text use palette 15.&lt;br /&gt;
&lt;br /&gt;
Here is the *final* data written to palette 15:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t eye_catcher_pal[] = &lt;br /&gt;
{&lt;br /&gt;
  0x0000, 0x0fff, 0x0ddd, 0x0aaa, 0x7555, 0x306E, 0x0000, 0x0000,&lt;br /&gt;
  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
By replacing the tile data for the above tile numbers with alternate text or graphics, it is possible to somewhat customize the eye-catcher screen without requiring a custom eye-catcher routine in the game cartridge itself.&lt;br /&gt;
&lt;br /&gt;
The only caveat is that tile $FF is used in the &amp;quot;PRO-GEAR SPEC&amp;quot; display (see array data above) and is also used as the blank/space character for the entire screen. Thus this tile cannot be changed without replicating it over the entire fix layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Code]]&lt;br /&gt;
[[Category:Video system]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=8330</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=8330"/>
		<updated>2023-11-17T23:06:42Z</updated>

		<summary type="html">&lt;p&gt;City41: /* NEO-GEO logo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Eyecatcher.gif|frame|Original eye-catcher animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Eyecatcher_giga.gif|frame|&amp;quot;Giga shock&amp;quot; animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Gigapowervliner.gif|frame|Imitated, wonky animation in[[V-Liner]].]]&lt;br /&gt;
&amp;quot;Eye-catcher&amp;quot; is the name officially given by SNK to the bootup animation.&lt;br /&gt;
&lt;br /&gt;
=Original animation=&lt;br /&gt;
&lt;br /&gt;
The [[system ROM]] takes care of the animation, but the graphics data for both [[sprites]] and [[fix layer]] must be provided by the game in its {{Chipname|C ROM}}s and {{Chipname|S ROM}}.&lt;br /&gt;
&lt;br /&gt;
==NEO-GEO logo==&lt;br /&gt;
The revolving NEO.GEO graphic consists of sprites (the bank of tiles is specified by the byte in the [[68k program header]] at address $115).&lt;br /&gt;
&lt;br /&gt;
58 tiles make up the main logo image. They are laid out row by row. The logo starts out mirrored horizontally, but once the animation completes the final layout is &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tile 256 (the 0xff index in the CROM) is also used as a blank tile. It pads out the sides of the logo as well as files in the blank areas when the logo is scaling down and then back up. Using a CROM where each tile is a number, one can see the full layout of the main logo once it has completed animating &lt;br /&gt;
&lt;br /&gt;
[[File:DebugEyecatcherTiles.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
Ignoring the empty buffers that use tile 256, the logo layout is as follows&lt;br /&gt;
&lt;br /&gt;
[[File:EyecatcherLogoTilesLayout.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The palette is updated on the fly from data stored in the system ROM ($01F03E in {{Chipname|SP-S2}}) to implement the fading effect.&lt;br /&gt;
&lt;br /&gt;
==MAX 330 MEGA==&lt;br /&gt;
The &amp;quot;MAX 330 MEGA&amp;quot; &amp;amp; &amp;quot;PRO-GEAR SPEC&amp;quot; text as seen on small or early cartridges (eg. [[Puzzle De Pon!]]) is drawn on the fix layer with tiles from banks 0 and 1. The tilemap is stored in the system ROM ($01F34A in SP-S2). Each line of text is 2 fix tiles in height, and is animated using a &#039;wipe in&#039; effect from left-to-right.&lt;br /&gt;
&lt;br /&gt;
The tiles used to display each line of text are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t max_330_mega[2][15] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F, 0x5E, 0x60, 0x7D },&lt;br /&gt;
  { 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x40, 0x5F, 0x7C, 0x7E }&lt;br /&gt;
};&lt;br /&gt;
			&lt;br /&gt;
static const uint16_t pro_gear_spec[2][17] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x7F, 0x9A, 0x9C, 0x9E, 0xFF, 0xBB, 0xBD, 0xBF, 0xDA, 0xDC, 0xDE, 0xFA, 0xFC, 0x100, 0x102, 0x104, 0x106 },&lt;br /&gt;
  { 0x99, 0x9B, 0x9D, 0x9F, 0xBA, 0xBC, 0xBE, 0xD9, 0xDB, 0xDD, 0xDF, 0xFB, 0xFD, 0x101, 0x103, 0x105, 0x107 }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This can be useful to customize the text in a S ROM.&lt;br /&gt;
&lt;br /&gt;
==SNK logo==&lt;br /&gt;
The SNK logo is also drawn on the fix layer, with tiles of bank 2. It is always drawn but actually made visible at the end of the animation by switching its palette.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t SNK[3][10] = &lt;br /&gt;
{&lt;br /&gt;
  { 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209 },&lt;br /&gt;
  { 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x214, 0x215, 0x216, 0x217 },&lt;br /&gt;
  { 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x240, 0x25E }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The copyright &amp;quot;©&amp;quot; symbol is a single tile ($7B) written to [[VRAM]] adress $7469.&lt;br /&gt;
&lt;br /&gt;
The tiles are set to [[palettes|palette]] 15. The colour 5 is initially black ($0000) and then faded-in through a cycle of progressively brighter blues to a final value of $306E.&lt;br /&gt;
&lt;br /&gt;
==Palettes==&lt;br /&gt;
Both the revolving logo and the fix layer text use palette 15.&lt;br /&gt;
&lt;br /&gt;
Here is the *final* data written to palette 15:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t eye_catcher_pal[] = &lt;br /&gt;
{&lt;br /&gt;
  0x0000, 0x0fff, 0x0ddd, 0x0aaa, 0x7555, 0x306E, 0x0000, 0x0000,&lt;br /&gt;
  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
By replacing the tile data for the above tile numbers with alternate text or graphics, it is possible to somewhat customize the eye-catcher screen without requiring a custom eye-catcher routine in the game cartridge itself.&lt;br /&gt;
&lt;br /&gt;
The only caveat is that tile $FF is used in the &amp;quot;PRO-GEAR SPEC&amp;quot; display (see array data above) and is also used as the blank/space character for the entire screen. Thus this tile cannot be changed without replicating it over the entire fix layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Code]]&lt;br /&gt;
[[Category:Video system]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=8329</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=8329"/>
		<updated>2023-11-17T23:05:59Z</updated>

		<summary type="html">&lt;p&gt;City41: /* NEO-GEO logo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Eyecatcher.gif|frame|Original eye-catcher animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Eyecatcher_giga.gif|frame|&amp;quot;Giga shock&amp;quot; animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Gigapowervliner.gif|frame|Imitated, wonky animation in[[V-Liner]].]]&lt;br /&gt;
&amp;quot;Eye-catcher&amp;quot; is the name officially given by SNK to the bootup animation.&lt;br /&gt;
&lt;br /&gt;
=Original animation=&lt;br /&gt;
&lt;br /&gt;
The [[system ROM]] takes care of the animation, but the graphics data for both [[sprites]] and [[fix layer]] must be provided by the game in its {{Chipname|C ROM}}s and {{Chipname|S ROM}}.&lt;br /&gt;
&lt;br /&gt;
==NEO-GEO logo==&lt;br /&gt;
The revolving NEO.GEO graphic consists of sprites (the bank of tiles is specified by the byte in the [[68k program header]] at address $115).&lt;br /&gt;
&lt;br /&gt;
58 tiles make up the main logo image. They are laid out row by row. The logo starts out mirrored horizontally, but once the animation completes the final layout is &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tile 256 (the 0xff index in the CROM) is also used as a blank tile. It pads out the sides of the log as well as files in the blank areas when the logo is scaling down and then back up. Using a CROM where each tile is a number, one can see the full layout of the main logo &lt;br /&gt;
&lt;br /&gt;
[[File:DebugEyecatcherTiles.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
Ignoring the empty buffers using tile 256, the logo layout is as follows&lt;br /&gt;
&lt;br /&gt;
[[File:EyecatcherLogoTilesLayout.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The palette is updated on the fly from data stored in the system ROM ($01F03E in {{Chipname|SP-S2}}) to implement the fading effect.&lt;br /&gt;
&lt;br /&gt;
==MAX 330 MEGA==&lt;br /&gt;
The &amp;quot;MAX 330 MEGA&amp;quot; &amp;amp; &amp;quot;PRO-GEAR SPEC&amp;quot; text as seen on small or early cartridges (eg. [[Puzzle De Pon!]]) is drawn on the fix layer with tiles from banks 0 and 1. The tilemap is stored in the system ROM ($01F34A in SP-S2). Each line of text is 2 fix tiles in height, and is animated using a &#039;wipe in&#039; effect from left-to-right.&lt;br /&gt;
&lt;br /&gt;
The tiles used to display each line of text are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t max_330_mega[2][15] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F, 0x5E, 0x60, 0x7D },&lt;br /&gt;
  { 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x40, 0x5F, 0x7C, 0x7E }&lt;br /&gt;
};&lt;br /&gt;
			&lt;br /&gt;
static const uint16_t pro_gear_spec[2][17] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x7F, 0x9A, 0x9C, 0x9E, 0xFF, 0xBB, 0xBD, 0xBF, 0xDA, 0xDC, 0xDE, 0xFA, 0xFC, 0x100, 0x102, 0x104, 0x106 },&lt;br /&gt;
  { 0x99, 0x9B, 0x9D, 0x9F, 0xBA, 0xBC, 0xBE, 0xD9, 0xDB, 0xDD, 0xDF, 0xFB, 0xFD, 0x101, 0x103, 0x105, 0x107 }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This can be useful to customize the text in a S ROM.&lt;br /&gt;
&lt;br /&gt;
==SNK logo==&lt;br /&gt;
The SNK logo is also drawn on the fix layer, with tiles of bank 2. It is always drawn but actually made visible at the end of the animation by switching its palette.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t SNK[3][10] = &lt;br /&gt;
{&lt;br /&gt;
  { 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209 },&lt;br /&gt;
  { 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x214, 0x215, 0x216, 0x217 },&lt;br /&gt;
  { 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x240, 0x25E }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The copyright &amp;quot;©&amp;quot; symbol is a single tile ($7B) written to [[VRAM]] adress $7469.&lt;br /&gt;
&lt;br /&gt;
The tiles are set to [[palettes|palette]] 15. The colour 5 is initially black ($0000) and then faded-in through a cycle of progressively brighter blues to a final value of $306E.&lt;br /&gt;
&lt;br /&gt;
==Palettes==&lt;br /&gt;
Both the revolving logo and the fix layer text use palette 15.&lt;br /&gt;
&lt;br /&gt;
Here is the *final* data written to palette 15:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t eye_catcher_pal[] = &lt;br /&gt;
{&lt;br /&gt;
  0x0000, 0x0fff, 0x0ddd, 0x0aaa, 0x7555, 0x306E, 0x0000, 0x0000,&lt;br /&gt;
  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
By replacing the tile data for the above tile numbers with alternate text or graphics, it is possible to somewhat customize the eye-catcher screen without requiring a custom eye-catcher routine in the game cartridge itself.&lt;br /&gt;
&lt;br /&gt;
The only caveat is that tile $FF is used in the &amp;quot;PRO-GEAR SPEC&amp;quot; display (see array data above) and is also used as the blank/space character for the entire screen. Thus this tile cannot be changed without replicating it over the entire fix layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Code]]&lt;br /&gt;
[[Category:Video system]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=File:DebugEyecatcherTiles.png&amp;diff=8328</id>
		<title>File:DebugEyecatcherTiles.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=File:DebugEyecatcherTiles.png&amp;diff=8328"/>
		<updated>2023-11-17T23:04:55Z</updated>

		<summary type="html">&lt;p&gt;City41: The eyecatcher&amp;#039;s main logo, when created with CROM tiles where each tile is a number of its index.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The eyecatcher&#039;s main logo, when created with CROM tiles where each tile is a number of its index.&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{cc-zero}}&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Development_tools&amp;diff=6830</id>
		<title>Development tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Development_tools&amp;diff=6830"/>
		<updated>2022-01-13T20:46:51Z</updated>

		<summary type="html">&lt;p&gt;City41: /* Graphics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
==68000==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Assemblers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [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) || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://sun.hasenbraten.de/vasm/ vasm] || Volker Barthelmann, et al || Multi-target assembler || (multiple) || Provided as source code&amp;lt;br/&amp;gt;&amp;quot;official&amp;quot; binaries are for older versions || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 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]]&lt;br /&gt;
|-&lt;br /&gt;
| Maccer || Michael Hope || Pre-processor for AS-series assemblers || (multiple) || Provided as source code and Windows binary || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [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 || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| SNASM68K || S.N. Systems || 680x0 assembler || Windows || &amp;amp;nbsp; || [http://segaretro.org/SNASM68K SNASM68K at Sega Retro]&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Modified version by Nemesis)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Compilers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| NeoDev kit || Fabrice Martinez, Jeff Kurtz, et al || GCC compiler and library || (multiple) || &amp;amp;nbsp; || [[File:NeoDev001.zip]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Disassemblers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| IRA || Tim Ruehsen, ported by Antirad || Intelligent ReAssembler for M680x0 || (multiple) || PC port of an Amiga app; provided as source (&amp;quot;PC&amp;quot;) and binary (Windows) || [[File:Ira.zip]]&lt;br /&gt;
|-&lt;br /&gt;
| unidasm || MAMEdev || Universal Disassembler || (multiple) || Included with the Windows MAME distribution; can be built from source || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Z80==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Assemblers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [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) || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://sun.hasenbraten.de/vasm/ vasm] || Volker Barthelmann, et al || Multi-target assembler || (multiple) || Provided as source code&amp;lt;br/&amp;gt;&amp;quot;official&amp;quot; binaries are for older versions || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [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]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.nongnu.org/z80asm/ z80asm] || Bas Wijnen (and others?) || Z80 assembler || (multiple) || Provided as source code || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Compilers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| 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]]&lt;br /&gt;
|-&lt;br /&gt;
| [http://sdcc.sourceforge.net/ SDCC] || Sandeep Dutta, et al || &amp;quot;Small Device C Compiler&amp;quot; || (multiple) || Provided as source code and binaries (various platforms) || [http://sdcc.sourceforge.net/snap.php Snapshot Builds]&lt;br /&gt;
|-&lt;br /&gt;
| [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]&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Hit escape as soon as you see the links for &amp;quot;latest&amp;quot;)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Disassemblers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| DASM || Charles Doty || Z80 disassembler || DOS || Source code and binary included. || [[File:dasmz80.zip]]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.inkland.org.uk/dz80/ DZ80] || Inkland || Z80 disassembler || (multiple) || Provided as source code (command line version) and binaries (DOS command line, Windows GUI) || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| unidasm || MAMEdev || Universal Disassembler || (multiple) || Included with the Windows MAME distribution; can be built from source || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Source Editors==&lt;br /&gt;
There are a lot of source code editors out there... Use whatever you&#039;re comfortable with (hopefully one with 68000 and Z80 syntax highlighting).&lt;br /&gt;
&lt;br /&gt;
==Sound and Music==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Music Drivers and Tools&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [[MVSTracker]] || Ivan Mackintosh || FM tracker || Windows || [http://www.archaic.fr/interviews/interview-jeff-kurtz-repond-a-nos-questions/3/ Z80 driver does not work on hardware] || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://gendev.spritesmind.net/page-mvst.html MVSTracker Suite] || Pascal Bosquet, Kaneda || Modified version of MVSTracker || Windows || supports Mega Drive as well. Neo-Geo driver still doesn&#039;t work on hardware. || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Sound Editors&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.goldwave.com/release.php GoldWave] || GoldWave Inc. || commercial sound editor || Windows || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.sonycreativesoftware.com/soundforgesoftware Sound Forge] || Sony || commercial sound editor || Windows, Mac || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://audacity.sourceforge.net/ Audacity] || Audacity developers || open-source sound editor || (multiple) || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Sound Encoders&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/freem/adpcma ADPCM-A encoder] || freem || Command-line ADPCM-A encoder || (multiple) || Provided as source code and binary (Windows) || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.smspower.org/forums/11965-VGMLoggingWithOtherEmulators?start=200#66597 ADPCM-B encoder] || ValleyBell and Fred/FRONT || Command-line ADPCM-B encoder || (multiple) || Provided as source code and binary (Windows) || [[File:ADPCM_Encode.zip]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Neo Sound Builder]] || Jeff Kurtz/Neobitz || GUI V ROM/PCM file creator || Windows || ADPCM-A only || [https://www.facebook.com/Neobitz/photos/a.462349983789893.110879.221161891242038/1093044660720419/?type=3 announcement post]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Graphics==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Graphics Viewers and Editors&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [[YY-CHR]] || YY || multi-format tile editor || Windows || FIX files require plugin (YY-CHR.NET only, see below); Sprites need conversion (see tools below) || [http://www.romhacking.net/utils/119/ YY-CHR 0.99]&lt;br /&gt;
|-&lt;br /&gt;
| NGFX || blastar || Fix, Sprite, TITLE_*.SYS viewer/editor; LOGO_*.SYS viewer || Windows || WIP; not yet released. || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| neospriteviewer || Matt Greer || S and C ROM tile viewer || Web || &amp;amp;nbsp; || [https://neospriteviewer.mattgreer.dev site]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Graphics Converters and Tools&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [[DATLib]] graphics tools || HPMAN || Tools used to process and display graphics on Neo-Geo. || Windows || Animator, BuildChar, CharSplit, Framer || [https://www.dropbox.com/s/wqviye5xxzktr6y/DATlib_0.3.rar?dl=0 download]&lt;br /&gt;
|-&lt;br /&gt;
| [[NGGTool|NeoGeo Graphics ToolSuite]] || evo || Tool to convert between SNES/SFC and Neo-Geo graphics. || Windows  || Fix conversion is botched (see page for details) || [http://furrtek.free.fr/noclass/neogeo/nggts.zip NGGTS]&lt;br /&gt;
|-&lt;br /&gt;
| Sprite graphics converter || IQ || Converts MVS graphics (.c*) to CD graphics (.SPR). || Windows || &amp;amp;nbsp; || [http://furrtek.free.fr/noclass/neogeo/gfxmvstocd.zip MVS to CD sprite converter]&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/freem/NeoSpriteConv Neo-Geo Sprite Converter] || freem || Convert 4BPP SMS/GG/WSC graphics to Neo-Geo format. || (multiple) || Provided as source code and binary (Windows)&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Further work required for converting to Cart (split files by words (2 bytes)) and CD (byteswap file)-usable files.&amp;lt;/small&amp;gt; || [http://ajworld.net/neogeodev/utils/neosprconv.zip main download]&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/Kannagi/Neoconvert Neoconvert] || Kannagi || Convert PNG to rom Cx with map, palette and HiColor. || Windows,Linux ||  || [https://github.com/Kannagi/Neoconvert download]&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/Kannagi/Neoextract Neoextract] || Kannagi || extract rom Cx or s1 to bmp. || Windows,Linux ||  || [https://github.com/Kannagi/Neoextract download]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/city41/sromcrom sromcrom] || Matt Greer || Generate S and C ROMs from images, generates corresponding source code as well || cross platform ||  || [https://github.com/city41/sromcrom download]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other Tools==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| MemCardTool || Fabrice Martinez || Memory card manager || Windows || &amp;amp;nbsp; || [[File:memcardtool.zip]]&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/freem/romwak ROMwak] || Jeff Kurtz, ported by freem || Binary image manipulation tool || (multiple) || Provided as source code and binary (Windows) || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Code]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Development_tools&amp;diff=6829</id>
		<title>Development tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Development_tools&amp;diff=6829"/>
		<updated>2022-01-13T20:46:17Z</updated>

		<summary type="html">&lt;p&gt;City41: add neospriteviewer and sromcrom&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
==68000==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Assemblers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [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) || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://sun.hasenbraten.de/vasm/ vasm] || Volker Barthelmann, et al || Multi-target assembler || (multiple) || Provided as source code&amp;lt;br/&amp;gt;&amp;quot;official&amp;quot; binaries are for older versions || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| 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]]&lt;br /&gt;
|-&lt;br /&gt;
| Maccer || Michael Hope || Pre-processor for AS-series assemblers || (multiple) || Provided as source code and Windows binary || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [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 || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| SNASM68K || S.N. Systems || 680x0 assembler || Windows || &amp;amp;nbsp; || [http://segaretro.org/SNASM68K SNASM68K at Sega Retro]&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Modified version by Nemesis)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Compilers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| NeoDev kit || Fabrice Martinez, Jeff Kurtz, et al || GCC compiler and library || (multiple) || &amp;amp;nbsp; || [[File:NeoDev001.zip]]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Disassemblers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| IRA || Tim Ruehsen, ported by Antirad || Intelligent ReAssembler for M680x0 || (multiple) || PC port of an Amiga app; provided as source (&amp;quot;PC&amp;quot;) and binary (Windows) || [[File:Ira.zip]]&lt;br /&gt;
|-&lt;br /&gt;
| unidasm || MAMEdev || Universal Disassembler || (multiple) || Included with the Windows MAME distribution; can be built from source || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Z80==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Assemblers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [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) || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://sun.hasenbraten.de/vasm/ vasm] || Volker Barthelmann, et al || Multi-target assembler || (multiple) || Provided as source code&amp;lt;br/&amp;gt;&amp;quot;official&amp;quot; binaries are for older versions || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [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]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.nongnu.org/z80asm/ z80asm] || Bas Wijnen (and others?) || Z80 assembler || (multiple) || Provided as source code || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Compilers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| 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]]&lt;br /&gt;
|-&lt;br /&gt;
| [http://sdcc.sourceforge.net/ SDCC] || Sandeep Dutta, et al || &amp;quot;Small Device C Compiler&amp;quot; || (multiple) || Provided as source code and binaries (various platforms) || [http://sdcc.sourceforge.net/snap.php Snapshot Builds]&lt;br /&gt;
|-&lt;br /&gt;
| [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]&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Hit escape as soon as you see the links for &amp;quot;latest&amp;quot;)&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Disassemblers&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| DASM || Charles Doty || Z80 disassembler || DOS || Source code and binary included. || [[File:dasmz80.zip]]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.inkland.org.uk/dz80/ DZ80] || Inkland || Z80 disassembler || (multiple) || Provided as source code (command line version) and binaries (DOS command line, Windows GUI) || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| unidasm || MAMEdev || Universal Disassembler || (multiple) || Included with the Windows MAME distribution; can be built from source || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Source Editors==&lt;br /&gt;
There are a lot of source code editors out there... Use whatever you&#039;re comfortable with (hopefully one with 68000 and Z80 syntax highlighting).&lt;br /&gt;
&lt;br /&gt;
==Sound and Music==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Music Drivers and Tools&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [[MVSTracker]] || Ivan Mackintosh || FM tracker || Windows || [http://www.archaic.fr/interviews/interview-jeff-kurtz-repond-a-nos-questions/3/ Z80 driver does not work on hardware] || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://gendev.spritesmind.net/page-mvst.html MVSTracker Suite] || Pascal Bosquet, Kaneda || Modified version of MVSTracker || Windows || supports Mega Drive as well. Neo-Geo driver still doesn&#039;t work on hardware. || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Sound Editors&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.goldwave.com/release.php GoldWave] || GoldWave Inc. || commercial sound editor || Windows || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.sonycreativesoftware.com/soundforgesoftware Sound Forge] || Sony || commercial sound editor || Windows, Mac || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://audacity.sourceforge.net/ Audacity] || Audacity developers || open-source sound editor || (multiple) || &amp;amp;nbsp; || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Sound Encoders&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/freem/adpcma ADPCM-A encoder] || freem || Command-line ADPCM-A encoder || (multiple) || Provided as source code and binary (Windows) || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.smspower.org/forums/11965-VGMLoggingWithOtherEmulators?start=200#66597 ADPCM-B encoder] || ValleyBell and Fred/FRONT || Command-line ADPCM-B encoder || (multiple) || Provided as source code and binary (Windows) || [[File:ADPCM_Encode.zip]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Neo Sound Builder]] || Jeff Kurtz/Neobitz || GUI V ROM/PCM file creator || Windows || ADPCM-A only || [https://www.facebook.com/Neobitz/photos/a.462349983789893.110879.221161891242038/1093044660720419/?type=3 announcement post]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Graphics==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Graphics Viewers and Editors&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [[YY-CHR]] || YY || multi-format tile editor || Windows || FIX files require plugin (YY-CHR.NET only, see below); Sprites need conversion (see tools below) || [http://www.romhacking.net/utils/119/ YY-CHR 0.99]&lt;br /&gt;
|-&lt;br /&gt;
| NGFX || blastar || Fix, Sprite, TITLE_*.SYS viewer/editor; LOGO_*.SYS viewer || Windows || WIP; not yet released. || &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| neospriteviewer || Matt Greer || S and C ROM tile viewer || Web || &amp;amp;nbsp; || [https://neospriteviewer.mattgreer.dev site]&lt;br /&gt;
|-&lt;br /&gt;
!colspan=6 style=&amp;quot;background-color:#ccc&amp;quot;|Graphics Converters and Tools&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| [[DATLib]] graphics tools || HPMAN || Tools used to process and display graphics on Neo-Geo. || Windows || Animator, BuildChar, CharSplit, Framer || [https://www.dropbox.com/s/wqviye5xxzktr6y/DATlib_0.3.rar?dl=0 download]&lt;br /&gt;
|-&lt;br /&gt;
| [[NGGTool|NeoGeo Graphics ToolSuite]] || evo || Tool to convert between SNES/SFC and Neo-Geo graphics. || Windows  || Fix conversion is botched (see page for details) || [http://furrtek.free.fr/noclass/neogeo/nggts.zip NGGTS]&lt;br /&gt;
|-&lt;br /&gt;
| Sprite graphics converter || IQ || Converts MVS graphics (.c*) to CD graphics (.SPR). || Windows || &amp;amp;nbsp; || [http://furrtek.free.fr/noclass/neogeo/gfxmvstocd.zip MVS to CD sprite converter]&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/freem/NeoSpriteConv Neo-Geo Sprite Converter] || freem || Convert 4BPP SMS/GG/WSC graphics to Neo-Geo format. || (multiple) || Provided as source code and binary (Windows)&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Further work required for converting to Cart (split files by words (2 bytes)) and CD (byteswap file)-usable files.&amp;lt;/small&amp;gt; || [http://ajworld.net/neogeodev/utils/neosprconv.zip main download]&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/Kannagi/Neoconvert Neoconvert] || Kannagi || Convert PNG to rom Cx with map, palette and HiColor. || Windows,Linux ||  || [https://github.com/Kannagi/Neoconvert download]&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/Kannagi/Neoextract Neoextract] || Kannagi || extract rom Cx or s1 to bmp. || Windows,Linux ||  || [https://github.com/Kannagi/Neoextract download]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/city41/sromcrom sromcrom] || Matt Greer || Generate S and C ROMs from images, generates corresponding source code as well || cross platform ||  || [https://github.com/city41/sromcrom download]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==Other Tools==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Name !! Author(s) !! Description !! Platform(s) !! Notes !! Download&lt;br /&gt;
|-&lt;br /&gt;
| MemCardTool || Fabrice Martinez || Memory card manager || Windows || &amp;amp;nbsp; || [[File:memcardtool.zip]]&lt;br /&gt;
|-&lt;br /&gt;
| [https://github.com/freem/romwak ROMwak] || Jeff Kurtz, ported by freem || Binary image manipulation tool || (multiple) || Provided as source code and binary (Windows) || &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Code]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Neo_Sprite_Viewer&amp;diff=6386</id>
		<title>Neo Sprite Viewer</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Neo_Sprite_Viewer&amp;diff=6386"/>
		<updated>2018-12-30T19:26:35Z</updated>

		<summary type="html">&lt;p&gt;City41: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:NeoSpriteViewer_Screenshot.png|thumb|320px]]&lt;br /&gt;
A simple website that allows viewing the tiles from C ROMs and S ROMs. Click on a tile to pull up a detailed view of it showing the index values for each pixel.&lt;br /&gt;
&lt;br /&gt;
https://city41.github.io/neospriteviewer&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Graphics Tools]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Neo_Sprite_Viewer&amp;diff=6374</id>
		<title>Neo Sprite Viewer</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Neo_Sprite_Viewer&amp;diff=6374"/>
		<updated>2018-12-27T18:15:03Z</updated>

		<summary type="html">&lt;p&gt;City41: Created page with &amp;quot;320px A simple website that allows viewing the tiles from C ROMs and S ROMs.  https://city41.github.io/neospriteviewer  Categor...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:NeoSpriteViewer_Screenshot.png|thumb|320px]]&lt;br /&gt;
A simple website that allows viewing the tiles from C ROMs and S ROMs.&lt;br /&gt;
&lt;br /&gt;
https://city41.github.io/neospriteviewer&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Graphics Tools]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=File:NeoSpriteViewer_Screenshot.png&amp;diff=6373</id>
		<title>File:NeoSpriteViewer Screenshot.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=File:NeoSpriteViewer_Screenshot.png&amp;diff=6373"/>
		<updated>2018-12-27T18:14:35Z</updated>

		<summary type="html">&lt;p&gt;City41: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=6372</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=6372"/>
		<updated>2018-12-27T17:56:47Z</updated>

		<summary type="html">&lt;p&gt;City41: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Eyecatcher.gif|frame|Original eye-catcher animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Eyecatcher_giga.gif|frame|&amp;quot;Giga shock&amp;quot; animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Gigapowervliner.gif|frame|Imitated, wonky animation in[[V-Liner]].]].&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Eye-catcher&amp;quot; is the name officially given by SNK to the bootup animation.&lt;br /&gt;
&lt;br /&gt;
=Original animation=&lt;br /&gt;
&lt;br /&gt;
The [[system ROM]] takes care of the animation, but the graphics data for both [[sprites]] and [[fix layer]] must be provided by the game in its {{Chipname|C ROM}}s and {{Chipname|S ROM}}.&lt;br /&gt;
&lt;br /&gt;
==NEO-GEO logo==&lt;br /&gt;
The revolving NEO.GEO graphic consists of sprites (the bank of tiles is specified by the byte in the [[68k program header]] at address $115).&lt;br /&gt;
&lt;br /&gt;
There are 58 tiles used in total. They are laid out row by row. The logo starts out mirrored horizontally, but once the animation completes the final layout is &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:EyecatcherLogoTilesLayout.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Typically tiles 29 and 44 are blank.&lt;br /&gt;
&lt;br /&gt;
The palette is updated on the fly from data stored in the system ROM ($01F03E in {{Chipname|SP-S2}}) to implement the fading effect.&lt;br /&gt;
&lt;br /&gt;
==MAX 330 MEGA==&lt;br /&gt;
The &amp;quot;MAX 330 MEGA&amp;quot; &amp;amp; &amp;quot;PRO-GEAR SPEC&amp;quot; text as seen on small or early cartridges (eg. [[Puzzle De Pon!]]) is drawn on the fix layer with tiles from banks 0 and 1. The tilemap is stored in the system ROM ($01F34A in SP-S2). Each line of text is 2 fix tiles in height, and is animated using a &#039;wipe in&#039; effect from left-to-right.&lt;br /&gt;
&lt;br /&gt;
The tiles used to display each line of text are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t max_330_mega[2][15] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F, 0x5E, 0x60, 0x7D },&lt;br /&gt;
  { 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x40, 0x5F, 0x7C, 0x7E }&lt;br /&gt;
};&lt;br /&gt;
			&lt;br /&gt;
static const uint16_t pro_gear_spec[2][17] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x7F, 0x9A, 0x9C, 0x9E, 0xFF, 0xBB, 0xBD, 0xBF, 0xDA, 0xDC, 0xDE, 0xFA, 0xFC, 0x100, 0x102, 0x104, 0x106 },&lt;br /&gt;
  { 0x99, 0x9B, 0x9D, 0x9F, 0xBA, 0xBC, 0xBE, 0xD9, 0xDB, 0xDD, 0xDF, 0xFB, 0xFD, 0x101, 0x103, 0x105, 0x107 }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This can be useful to customize the text in a S ROM.&lt;br /&gt;
&lt;br /&gt;
==SNK logo==&lt;br /&gt;
The SNK logo is also drawn on the fix layer, with tiles of bank 2. It is always drawn but actually made visible at the end of the animation by switching its palette.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t SNK[3][10] = &lt;br /&gt;
{&lt;br /&gt;
  { 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209 },&lt;br /&gt;
  { 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x214, 0x215, 0x216, 0x217 },&lt;br /&gt;
  { 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x240, 0x25E }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The copyright &amp;quot;©&amp;quot; symbol is a single tile ($7B) written to [[VRAM]] adress $7469.&lt;br /&gt;
&lt;br /&gt;
The tiles are set to [[palettes|palette]] 15. The colour 5 is initially black ($0000) and then faded-in through a cycle of progressively brighter blues to a final value of $306E.&lt;br /&gt;
&lt;br /&gt;
==Palettes==&lt;br /&gt;
Both the revolving logo and the fix layer text use palette 15.&lt;br /&gt;
&lt;br /&gt;
Here is the *final* data written to palette 15:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t eye_catcher_pal[] = &lt;br /&gt;
{&lt;br /&gt;
  0x0000, 0x0fff, 0x0ddd, 0x0aaa, 0x7555, 0x306E, 0x0000, 0x0000,&lt;br /&gt;
  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
By replacing the tile data for the above tile numbers with alternate text or graphics, it is possible to somewhat customize the eye-catcher screen without requiring a custom eye-catcher routine in the game cartridge itself.&lt;br /&gt;
&lt;br /&gt;
The only caveat is that tile $FF is used in the &amp;quot;PRO-GEAR SPEC&amp;quot; display (see array data above) and is also used as the blank/space character for the entire screen. Thus this tile cannot be changed without replicating it over the entire fix layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Code]]&lt;br /&gt;
[[Category:Video system]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=6371</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=6371"/>
		<updated>2018-12-27T17:50:50Z</updated>

		<summary type="html">&lt;p&gt;City41: Added the tile layout for the logo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Eyecatcher.gif|frame|Original eye-catcher animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Eyecatcher_giga.gif|frame|&amp;quot;Giga shock&amp;quot; animation.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Gigapowervliner.gif|frame|Imitated, wonky animation in[[V-Liner]].]].&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Eye-catcher&amp;quot; is the name officially given by SNK to the bootup animation.&lt;br /&gt;
&lt;br /&gt;
=Original animation=&lt;br /&gt;
&lt;br /&gt;
The [[system ROM]] takes care of the animation, but the graphics data for both [[sprites]] and [[fix layer]] must be provided by the game in its {{Chipname|C ROM}}s and {{Chipname|S ROM}}.&lt;br /&gt;
&lt;br /&gt;
==NEO-GEO logo==&lt;br /&gt;
The revolving NEO.GEO graphic consists of sprites (the bank of tiles is specified by the byte in the [[68k program header]] at address $115).&lt;br /&gt;
&lt;br /&gt;
There are 58 tiles used in total. They are laid out row by row. They start out mirrored and flipped vertically, but once the animation completes the final layout is &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:EyecatcherLogoTilesLayout.png|eyecatcher logo tile layout]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Typically tiles 29 and 44 are blank.&lt;br /&gt;
&lt;br /&gt;
The palette is updated on the fly from data stored in the system ROM ($01F03E in {{Chipname|SP-S2}}) to implement the fading effect.&lt;br /&gt;
&lt;br /&gt;
==MAX 330 MEGA==&lt;br /&gt;
The &amp;quot;MAX 330 MEGA&amp;quot; &amp;amp; &amp;quot;PRO-GEAR SPEC&amp;quot; text as seen on small or early cartridges (eg. [[Puzzle De Pon!]]) is drawn on the fix layer with tiles from banks 0 and 1. The tilemap is stored in the system ROM ($01F34A in SP-S2). Each line of text is 2 fix tiles in height, and is animated using a &#039;wipe in&#039; effect from left-to-right.&lt;br /&gt;
&lt;br /&gt;
The tiles used to display each line of text are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t max_330_mega[2][15] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F, 0x5E, 0x60, 0x7D },&lt;br /&gt;
  { 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x40, 0x5F, 0x7C, 0x7E }&lt;br /&gt;
};&lt;br /&gt;
			&lt;br /&gt;
static const uint16_t pro_gear_spec[2][17] =&lt;br /&gt;
{&lt;br /&gt;
  { 0x7F, 0x9A, 0x9C, 0x9E, 0xFF, 0xBB, 0xBD, 0xBF, 0xDA, 0xDC, 0xDE, 0xFA, 0xFC, 0x100, 0x102, 0x104, 0x106 },&lt;br /&gt;
  { 0x99, 0x9B, 0x9D, 0x9F, 0xBA, 0xBC, 0xBE, 0xD9, 0xDB, 0xDD, 0xDF, 0xFB, 0xFD, 0x101, 0x103, 0x105, 0x107 }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This can be useful to customize the text in a S ROM.&lt;br /&gt;
&lt;br /&gt;
==SNK logo==&lt;br /&gt;
The SNK logo is also drawn on the fix layer, with tiles of bank 2. It is always drawn but actually made visible at the end of the animation by switching its palette.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t SNK[3][10] = &lt;br /&gt;
{&lt;br /&gt;
  { 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209 },&lt;br /&gt;
  { 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x214, 0x215, 0x216, 0x217 },&lt;br /&gt;
  { 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x240, 0x25E }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The copyright &amp;quot;©&amp;quot; symbol is a single tile ($7B) written to [[VRAM]] adress $7469.&lt;br /&gt;
&lt;br /&gt;
The tiles are set to [[palettes|palette]] 15. The colour 5 is initially black ($0000) and then faded-in through a cycle of progressively brighter blues to a final value of $306E.&lt;br /&gt;
&lt;br /&gt;
==Palettes==&lt;br /&gt;
Both the revolving logo and the fix layer text use palette 15.&lt;br /&gt;
&lt;br /&gt;
Here is the *final* data written to palette 15:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
static const uint16_t eye_catcher_pal[] = &lt;br /&gt;
{&lt;br /&gt;
  0x0000, 0x0fff, 0x0ddd, 0x0aaa, 0x7555, 0x306E, 0x0000, 0x0000,&lt;br /&gt;
  0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customization==&lt;br /&gt;
By replacing the tile data for the above tile numbers with alternate text or graphics, it is possible to somewhat customize the eye-catcher screen without requiring a custom eye-catcher routine in the game cartridge itself.&lt;br /&gt;
&lt;br /&gt;
The only caveat is that tile $FF is used in the &amp;quot;PRO-GEAR SPEC&amp;quot; display (see array data above) and is also used as the blank/space character for the entire screen. Thus this tile cannot be changed without replicating it over the entire fix layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Code]]&lt;br /&gt;
[[Category:Video system]]&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=File:EyecatcherLogoTilesLayout.png&amp;diff=6370</id>
		<title>File:EyecatcherLogoTilesLayout.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=File:EyecatcherLogoTilesLayout.png&amp;diff=6370"/>
		<updated>2018-12-27T17:50:03Z</updated>

		<summary type="html">&lt;p&gt;City41: City41 uploaded a new version of File:EyecatcherLogoTilesLayout.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=File:EyecatcherLogoTilesLayout.png&amp;diff=6369</id>
		<title>File:EyecatcherLogoTilesLayout.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=File:EyecatcherLogoTilesLayout.png&amp;diff=6369"/>
		<updated>2018-12-27T17:48:40Z</updated>

		<summary type="html">&lt;p&gt;City41: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>City41</name></author>
	</entry>
</feed>