<?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=Tcdev</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=Tcdev"/>
	<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php/Special:Contributions/Tcdev"/>
	<updated>2026-05-16T09:50:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=NGH_number&amp;diff=8257</id>
		<title>NGH number</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=NGH_number&amp;diff=8257"/>
		<updated>2023-07-03T13:48:35Z</updated>

		<summary type="html">&lt;p&gt;Tcdev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The NGH number is the game&#039;s unique identifier used for [[Memory card|saves and highscores]] and probably other things. It is always stored in the [[68k program header]] in BCD format at address $108. Some later unlicenced games and bootlegs use a hex value.&lt;br /&gt;
&lt;br /&gt;
See [[:Category:Games]]&lt;br /&gt;
&lt;br /&gt;
How can we get homebrew numbers organised ? Can this page be used as a reference for new numbers ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Used ranges==&lt;br /&gt;
*0001~0099&lt;br /&gt;
*0100~0199 (Korean releases, see below)&lt;br /&gt;
*0200~0272&lt;br /&gt;
*0300~0306 (NG:Dev.Team releases)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Range 100~199 partially used by official Korean NeoGeo releases==&lt;br /&gt;
*0122: Pae Wang Jeon Seol (Samurai Shodown IV)&lt;br /&gt;
*0123: Quiz Daisousa Sen&lt;br /&gt;
*0124: Real Bout Fatal Fury Special&lt;br /&gt;
*0134: The Last Soldier (Last Blade)&lt;br /&gt;
*0140: Real Bout Fatal Fury 2&lt;br /&gt;
*0151: The King of Fighters 99 ([[NEO-SMA]] protected version)&lt;br /&gt;
*0152: The King of Fighters 99 &lt;br /&gt;
*0163: Saulabi Spirits (Samurai Shodown II)&lt;br /&gt;
*0187: Fighters Swords (Samurai Shodown III)&lt;br /&gt;
*0195: Real Bout Fatal Fury&lt;br /&gt;
*0196: Art of Fighting 3&lt;br /&gt;
&lt;br /&gt;
While some of this range will be vacant, looking at the above, at minimum there is a very good chance of a Korean version of &#039;Last Blade 2&#039; using NGH 0143.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==Free ranges (apart from those known to be already taken listed below)==&lt;br /&gt;
*0273~0299&lt;br /&gt;
*0401~9999(?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Known NGH used by unlicenced or homebrew games==&lt;br /&gt;
*0300: Last Hope&lt;br /&gt;
*0301: Fast Striker&lt;br /&gt;
*0302: Last Hope: Pink Bullets&lt;br /&gt;
*0303: Gunlord&lt;br /&gt;
*0304: Neo XYX&lt;br /&gt;
*0305: Razion&lt;br /&gt;
*0306: Kraut Buster (not yet released)&lt;br /&gt;
&lt;br /&gt;
*03E7: V-Liner&lt;br /&gt;
 &lt;br /&gt;
*0400: Le Cortex CPHD (and also another game Astro Smash)&lt;br /&gt;
&lt;br /&gt;
*0420: Xevious (tcdev) (beta)&lt;br /&gt;
&lt;br /&gt;
*0421: Donkey Kong (tcdev) (not yet released)&lt;br /&gt;
&lt;br /&gt;
*0422: Galaxian (tcdev) (beta)&lt;br /&gt;
&lt;br /&gt;
*0423: Pengo (tcdev) (not yet released)&lt;br /&gt;
&lt;br /&gt;
*0501: Knights Chance (NeoBitz)&lt;br /&gt;
&lt;br /&gt;
*2000: Neo No Panepon&lt;br /&gt;
&lt;br /&gt;
*9999: Neo Pong&lt;br /&gt;
&lt;br /&gt;
*BB01: Xeno Crisis (Bitmap Bureau)&lt;br /&gt;
 &lt;br /&gt;
*FEDC: Super Bubble Pop&lt;br /&gt;
&lt;br /&gt;
==Known NGH used by bootlegs and hacks==&lt;br /&gt;
*0275: The King of Fighters 10th Anniversary (bootleg)&lt;br /&gt;
 &lt;br /&gt;
*0299: Metal Slug 6 (bootleg)&lt;br /&gt;
*0941: Metal Slug 2 Turbo (hack)&lt;br /&gt;
&lt;br /&gt;
*0F48: Treasure of the Caribbean (bootleg, not an official proto version)&lt;br /&gt;
 &lt;br /&gt;
*5003: Crouching Tiger hidden Dragon 2003 (bootleg)&lt;br /&gt;
*5008: The King of Fighters 10th Anniversary Extra Plus (bootleg)&lt;br /&gt;
*5232: King of Gladiator (bootleg)&lt;br /&gt;
*5246: Lansquenet 2004 (bootleg)&lt;br /&gt;
*9237: 161in1 Multigame (on cold boot).&lt;br /&gt;
&lt;br /&gt;
==Unknown NGH numbers for known homebrew releases==&lt;br /&gt;
Currenty there are no known homebrew games with unknown NGH numbers.&lt;br /&gt;
&lt;br /&gt;
==Other NGH oddities==&lt;br /&gt;
*0008: Jockey Grand Prix (this NGH is suspected to have been allocated to Sun Shine / Block Paradise)&lt;br /&gt;
*069C: Fatal Fury 3 (NeoGeo CD version only)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[[Category:Base system]]&lt;/div&gt;</summary>
		<author><name>Tcdev</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=NGH_number&amp;diff=8254</id>
		<title>NGH number</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=NGH_number&amp;diff=8254"/>
		<updated>2023-05-03T13:51:59Z</updated>

		<summary type="html">&lt;p&gt;Tcdev: added Galaxian&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The NGH number is the game&#039;s unique identifier used for [[Memory card|saves and highscores]] and probably other things. It is always stored in the [[68k program header]] in BCD format at address $108. Some later unlicenced games and bootlegs use a hex value.&lt;br /&gt;
&lt;br /&gt;
See [[:Category:Games]]&lt;br /&gt;
&lt;br /&gt;
How can we get homebrew numbers organised ? Can this page be used as a reference for new numbers ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Used ranges==&lt;br /&gt;
*0001~0099&lt;br /&gt;
*0100~0199 (Korean releases, see below)&lt;br /&gt;
*0200~0272&lt;br /&gt;
*0300~0306 (NG:Dev.Team releases)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Range 100~199 partially used by official Korean NeoGeo releases==&lt;br /&gt;
*0122: Pae Wang Jeon Seol (Samurai Shodown IV)&lt;br /&gt;
*0123: Quiz Daisousa Sen&lt;br /&gt;
*0124: Real Bout Fatal Fury Special&lt;br /&gt;
*0134: The Last Soldier (Last Blade)&lt;br /&gt;
*0140: Real Bout Fatal Fury 2&lt;br /&gt;
*0151: The King of Fighters 99 ([[NEO-SMA]] protected version)&lt;br /&gt;
*0152: The King of Fighters 99 &lt;br /&gt;
*0163: Saulabi Spirits (Samurai Shodown II)&lt;br /&gt;
*0187: Fighters Swords (Samurai Shodown III)&lt;br /&gt;
*0195: Real Bout Fatal Fury&lt;br /&gt;
*0196: Art of Fighting 3&lt;br /&gt;
&lt;br /&gt;
While some of this range will be vacant, looking at the above, at minimum there is a very good chance of a Korean version of &#039;Last Blade 2&#039; using NGH 0143.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==Free ranges (apart from those known to be already taken listed below)==&lt;br /&gt;
*0273~0299&lt;br /&gt;
*0401~9999(?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Known NGH used by unlicenced or homebrew games==&lt;br /&gt;
*0300: Last Hope&lt;br /&gt;
*0301: Fast Striker&lt;br /&gt;
*0302: Last Hope: Pink Bullets&lt;br /&gt;
*0303: Gunlord&lt;br /&gt;
*0304: Neo XYX&lt;br /&gt;
*0305: Razion&lt;br /&gt;
*0306: Kraut Buster (not yet released)&lt;br /&gt;
&lt;br /&gt;
*03E7: V-Liner&lt;br /&gt;
 &lt;br /&gt;
*0400: Le Cortex CPHD (and also another game Astro Smash)&lt;br /&gt;
&lt;br /&gt;
*0420: Xevious (tcdev)&lt;br /&gt;
&lt;br /&gt;
*0421: Donkey Kong (tcdev) (not yet released)&lt;br /&gt;
&lt;br /&gt;
*0422: Galaxian (tcdev) (not yet released)&lt;br /&gt;
&lt;br /&gt;
*0501: Knights Chance (NeoBitz)&lt;br /&gt;
&lt;br /&gt;
*2000: Neo No Panepon&lt;br /&gt;
&lt;br /&gt;
*9999: Neo Pong&lt;br /&gt;
&lt;br /&gt;
*BB01: Xeno Crisis (Bitmap Bureau)&lt;br /&gt;
 &lt;br /&gt;
*FEDC: Super Bubble Pop&lt;br /&gt;
&lt;br /&gt;
==Known NGH used by bootlegs and hacks==&lt;br /&gt;
*0275: The King of Fighters 10th Anniversary (bootleg)&lt;br /&gt;
 &lt;br /&gt;
*0299: Metal Slug 6 (bootleg)&lt;br /&gt;
*0941: Metal Slug 2 Turbo (hack)&lt;br /&gt;
&lt;br /&gt;
*0F48: Treasure of the Caribbean (bootleg, not an official proto version)&lt;br /&gt;
 &lt;br /&gt;
*5003: Crouching Tiger hidden Dragon 2003 (bootleg)&lt;br /&gt;
*5008: The King of Fighters 10th Anniversary Extra Plus (bootleg)&lt;br /&gt;
*5232: King of Gladiator (bootleg)&lt;br /&gt;
*5246: Lansquenet 2004 (bootleg)&lt;br /&gt;
*9237: 161in1 Multigame (on cold boot).&lt;br /&gt;
&lt;br /&gt;
==Unknown NGH numbers for known homebrew releases==&lt;br /&gt;
Currenty there are no known homebrew games with unknown NGH numbers.&lt;br /&gt;
&lt;br /&gt;
==Other NGH oddities==&lt;br /&gt;
*0008: Jockey Grand Prix (this NGH is suspected to have been allocated to Sun Shine / Block Paradise)&lt;br /&gt;
*069C: Fatal Fury 3 (NeoGeo CD version only)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[[Category:Base system]]&lt;/div&gt;</summary>
		<author><name>Tcdev</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=NGH_number&amp;diff=8118</id>
		<title>NGH number</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=NGH_number&amp;diff=8118"/>
		<updated>2023-03-07T14:12:25Z</updated>

		<summary type="html">&lt;p&gt;Tcdev: Added homebrew by tcdev&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The NGH number is the game&#039;s unique identifier used for [[Memory card|saves and highscores]] and probably other things. It is always stored in the [[68k program header]] in BCD format at address $108. Some later unlicenced games and bootlegs use a hex value.&lt;br /&gt;
&lt;br /&gt;
See [[:Category:Games]]&lt;br /&gt;
&lt;br /&gt;
How can we get homebrew numbers organised ? Can this page be used as a reference for new numbers ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Used ranges==&lt;br /&gt;
*0001~0099&lt;br /&gt;
*0100~0199 (Korean releases, see below)&lt;br /&gt;
*0200~0272&lt;br /&gt;
*0300~0306 (NG:Dev.Team releases)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Range 100~199 partially used by official Korean NeoGeo releases==&lt;br /&gt;
*0122: Pae Wang Jeon Seol (Samurai Shodown IV)&lt;br /&gt;
*0123: Quiz Daisousa Sen&lt;br /&gt;
*0124: Real Bout Fatal Fury Special&lt;br /&gt;
*0134: The Last Soldier (Last Blade)&lt;br /&gt;
*0140: Real Bout Fatal Fury 2&lt;br /&gt;
*0151: The King of Fighters 99 ([[NEO-SMA]] protected version)&lt;br /&gt;
*0152: The King of Fighters 99 &lt;br /&gt;
*0163: Saulabi Spirits (Samurai Shodown II)&lt;br /&gt;
*0187: Fighters Swords (Samurai Shodown III)&lt;br /&gt;
*0195: Real Bout Fatal Fury&lt;br /&gt;
*0196: Art of Fighting 3&lt;br /&gt;
&lt;br /&gt;
While some of this range will be vacant, looking at the above, at minimum there is a very good chance of a Korean version of &#039;Last Blade 2&#039; using NGH 0143.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==Free ranges (apart from those known to be already taken listed below)==&lt;br /&gt;
*0273~0299&lt;br /&gt;
*0401~9999(?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Known NGH used by unlicenced or homebrew games==&lt;br /&gt;
*0300: Last Hope&lt;br /&gt;
*0301: Fast Striker&lt;br /&gt;
*0302: Last Hope: Pink Bullets&lt;br /&gt;
*0303: Gunlord&lt;br /&gt;
*0304: Neo XYX&lt;br /&gt;
*0305: Razion&lt;br /&gt;
*0306: Kraut Buster (not yet released)&lt;br /&gt;
&lt;br /&gt;
*03E7: V-Liner&lt;br /&gt;
 &lt;br /&gt;
*0400: Le Cortex CPHD (and also another game Astro Smash)&lt;br /&gt;
&lt;br /&gt;
*0420: Xevious (tcdev)&lt;br /&gt;
&lt;br /&gt;
*0421: Donkey Kong (tcdev) (not yet released)&lt;br /&gt;
&lt;br /&gt;
*0501: Knights Chance (NeoBitz)&lt;br /&gt;
&lt;br /&gt;
*2000: Neo No Panepon&lt;br /&gt;
&lt;br /&gt;
*9999: Neo Pong&lt;br /&gt;
&lt;br /&gt;
*BB01: Xeno Crisis (Bitmap Bureau)&lt;br /&gt;
 &lt;br /&gt;
*FEDC: Super Bubble Pop&lt;br /&gt;
&lt;br /&gt;
==Known NGH used by bootlegs and hacks==&lt;br /&gt;
*0275: The King of Fighters 10th Anniversary (bootleg)&lt;br /&gt;
 &lt;br /&gt;
*0299: Metal Slug 6 (bootleg)&lt;br /&gt;
*0941: Metal Slug 2 Turbo (hack)&lt;br /&gt;
&lt;br /&gt;
*0F48: Treasure of the Caribbean (bootleg, not an official proto version)&lt;br /&gt;
 &lt;br /&gt;
*5003: Crouching Tiger hidden Dragon 2003 (bootleg)&lt;br /&gt;
*5008: The King of Fighters 10th Anniversary Extra Plus (bootleg)&lt;br /&gt;
*5232: King of Gladiator (bootleg)&lt;br /&gt;
*5246: Lansquenet 2004 (bootleg)&lt;br /&gt;
*9237: 161in1 Multigame (on cold boot).&lt;br /&gt;
&lt;br /&gt;
==Unknown NGH numbers for known homebrew releases==&lt;br /&gt;
Currenty there are no known homebrew games with unknown NGH numbers.&lt;br /&gt;
&lt;br /&gt;
==Other NGH oddities==&lt;br /&gt;
*0008: Jockey Grand Prix (this NGH is suspected to have been allocated to Sun Shine / Block Paradise)&lt;br /&gt;
*069C: Fatal Fury 3 (NeoGeo CD version only)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[[Category:Base system]]&lt;/div&gt;</summary>
		<author><name>Tcdev</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=4677</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=4677"/>
		<updated>2016-02-05T11:47:00Z</updated>

		<summary type="html">&lt;p&gt;Tcdev: Undo revision 4676 by Tcdev (talk)&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;
&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;
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 bank 0. 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>Tcdev</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=4676</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=4676"/>
		<updated>2016-02-05T11:44:13Z</updated>

		<summary type="html">&lt;p&gt;Tcdev: /* 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;
&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 $114).&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 bank 0. 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>Tcdev</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Talk:Fix_graphics_format&amp;diff=4047</id>
		<title>Talk:Fix graphics format</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Talk:Fix_graphics_format&amp;diff=4047"/>
		<updated>2014-07-23T13:45:56Z</updated>

		<summary type="html">&lt;p&gt;Tcdev: Created page with &amp;quot;Yes, I believe left &amp;amp; right nibbles ARE swapped!&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Yes, I believe left &amp;amp; right nibbles ARE swapped!&lt;/div&gt;</summary>
		<author><name>Tcdev</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=4046</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=4046"/>
		<updated>2014-07-23T13:39:15Z</updated>

		<summary type="html">&lt;p&gt;Tcdev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The eye-catcher animation coded in the BIOS comprises both sprites and FIX layer tiles. The graphics data for both must be provided in the cartridge sprite and FIX ROM images.&lt;br /&gt;
&lt;br /&gt;
==NEO-GEO LOGO==&lt;br /&gt;
The revolving NEO.GEO graphic consists of sprites (TBD).&lt;br /&gt;
&lt;br /&gt;
The palette is updated on-the-fly (from data stored in the BIOS (SP-S2) ROM @$C1F03E) to implement the fade 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 smaller/early-release cartridges (eg. Puzzle De Pon) comprises FIX-layer tiles. The tiles used are defined in the BIOS (SP-S2) ROM @$C1F34A. Each line of text is itself two (2) FIX-layer tiles high, and is animated using a &#039;wipe in&#039; effect from left-to-right to render each line in turn. These are the tiles used to display each line of text:&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;
==SNK LOGO==&lt;br /&gt;
The SNK Logo consists of FIX-layer text which is actually rendered (invisible) at the start of the eye-catcher routine.&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;(C)&amp;quot; symbol is a single tile (0x7B) written to VRAM adress 0x7469.&lt;br /&gt;
&lt;br /&gt;
The logo tiles are palette #15, colour #5 which is initially BLACK (0x0000) and then faded-in through a cycle of progressively brighter blues to a final value of 0x306E.&lt;br /&gt;
&lt;br /&gt;
==PALETTE==&lt;br /&gt;
Both the revolving logo and the FIX-layer text utilise 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;
==CUSTOMISATION==&lt;br /&gt;
It is possible, then, by replacing the FIX-layer tile data for the above tiles with alternate text/graphics to create a somewhat customised eye catcher without requiring a custom eye-catcher routine in the game cartridge itself.&lt;br /&gt;
&lt;br /&gt;
The only caveat is that tile #0xFF 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 background.&lt;br /&gt;
&lt;br /&gt;
[[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Tcdev</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=4045</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=4045"/>
		<updated>2014-07-20T15:01:39Z</updated>

		<summary type="html">&lt;p&gt;Tcdev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The eye-catcher animation coded in the BIOS comprises both sprites and FIX layer tiles. The graphics data for both must be provided in the cartridge sprite and FIX ROM images.&lt;br /&gt;
&lt;br /&gt;
The revolving NEO.GEO graphic consists of sprites (TBD).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;MAX 330 MEGA&amp;quot; &amp;amp; &amp;quot;PRO-GEAR SPEC&amp;quot; text as seen on smaller/early-release cartridges (eg. Puzzle De Pon) comprises FIX-layer tiles. The tiles used are defined in the BIOS ROM @$C1F34A. Each line of text is itself two (2) FIX-layer tiles high, and is animated using a &#039;wipe in&#039; effect from left-to-right to render each line in turn. These are the tiles used to display each line of text:&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;
Both the revolving logo and the FIX-layer text utilise palette #15. For the revolving logo, the palette is updated on-the-fly (from data stored in the BIOS ROM @$C1F03E) to implement the fade effect.&lt;br /&gt;
&lt;br /&gt;
Before the FIX-layer text is displayed, the following data is 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, 0x0000, 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;
SNK Logo consists of (TBD)&lt;br /&gt;
&lt;br /&gt;
It would be possible, then, by replacing the FIX-layer tile data for the above tiles with alternate text/graphics to create a somewhat customised eye catcher without requiring a custom eye-catcher routine in the game cartridge itself.&lt;br /&gt;
&lt;br /&gt;
[[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Tcdev</name></author>
	</entry>
	<entry>
		<id>https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=4044</id>
		<title>Eyecatcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.neogeodev.org//index.php?title=Eyecatcher&amp;diff=4044"/>
		<updated>2014-07-20T15:00:12Z</updated>

		<summary type="html">&lt;p&gt;Tcdev: Description of the BIOS Eye Catcher routine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The eye-catcher animation coded in the BIOS comprises both sprites and FIX layer tiles. The graphics data for both must be provided in the cartridge sprite and FIX ROM images.&lt;br /&gt;
&lt;br /&gt;
The revolving NEO.GEO graphic consists of sprites (TBD).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;MAX 330 MEGA&amp;quot; &amp;amp; &amp;quot;PRO-GEAR SPEC&amp;quot; text as seen on smaller/early-release cartridges (eg. Puzzle De Pon) comprises FIX-layer tiles. The tiles used are defined in the BIOS ROM @$C1F34A. Each line of text is itself two (2) FIX-layer tiles high, and is animated using a &#039;wipe in&#039; effect from left-to-right to render each line in turn. These are the tiles used to display each line of text:&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;
Both the revolving logo and the FIX-layer text utilise palette #15. For the revolving logo, the palette is updated on-the-fly (from data stored in the BIOS ROM @$C1F03E) to implement the fade effect.&lt;br /&gt;
&lt;br /&gt;
Before the FIX-layer text is displayed, the following data is 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, 0x0000, 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;
SNK Logo consists of (TBD)&lt;br /&gt;
&lt;br /&gt;
It would be possible, then, by replacing the FIX-layer tile data for the above tiles with alternate text/graphics to create a somewhat customised eye catcher without requiring a custom eye-catcher routine in the game cartridge itself.&lt;/div&gt;</summary>
		<author><name>Tcdev</name></author>
	</entry>
</feed>