Neogeo Programmer Guide
Neogeo Programmer Guide
Neogeo Programmer Guide
0
future is
SNK
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware . 5 Interrupt-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware .5 Interrupt-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware .5 Access to Line Sprite Controller (LSPC)
. . . . . . . . . . . . . . . . . . Hardware .6
Hardware .8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware .10
#
I/O Map of the 280 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware .10 Sound Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Notes Hardware .10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware .10
3D Line Sprite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware .12 Vertical and Horizontal Positions . . . . . . . . . . . . . . . . . . Hardware .13 Example of the Number of Active Characters (ACT). Vertical Reduction (BIGV). and Horizontal Reduction (BIGH) Hardware .14 Address Mapping of the FIX Area (VRAM) (In the NTSC Mode)Hardware .15 Address Mapping of the FIX Area (VRAM) (In the PAL Mode) Hardware .16 Address Example of the 3D-Line Sprite . . . . . . . . . . . . . . Hardware .17 Address Mapping of the 3D-Line Sprite . . . . . . . . . . . . . . Hardware .18 Color Palettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware .19 Data Format of the 3D-Line Sprite Character ROM . . . . . . . Hardware .20 Data Format of the FIX Area Character ROM . . . . . . . . . . Hardware .21
Neo-Geo Specification Dec. 1, 1989 Aug. 22, 1990 Jun. 18, 1991 CPU HD68HCOOOPS 12 Program ROM 2M ~ ~ t e s ' ( ~ a x i m u m ) Work RAM 64K Bytes Clock: 12 MHz
Fix character
128K Bytes 3D-line sprite character 128M Bits (Maximum) VRAM 64K Bytes Background 1 Color Color color displ'ay 4096 colors out of 65536 colors si~nultaneous (15 colors x 256 palettes) 16k bytes RGB output, video output, and headphone output (stereo) card Can use ~nelnory Interrupts Vertical blanking interrupt and timer interrupt
+ 4K Bytes
Hardware - 1
[12]
Sound 1) 1 2) 62K Bytes 3) 2K Bytes 4) 16M Bytes (max.) 5) 16M Bytes (max.) 6) Z8OA (clock 4 MHz) YM-2610 Program Working RAM ADPCM-A ADPCM-B CPU
[13]
The screen is displayed using LSPC or LSPC2. When using LSPC2, switching between NTSC and PAL becomes possible through hardware (with software they can only be read). In the PAL mode, the display area becomes 16 lines larger on the top and bottom; the vertical blanking lengthens only by 16 lines.
Hardware - 2
Special features of the "3D-LINE SPRITE" One 3D-LINE SPRITE consists of 32 characters arranged vertically. Each character is a 16 by 16 dot array. With 380 3D-LINE SPRITEs, many enemies and ammunition can appear on the screen. Large characters can be easily displayed, and parts may be overwritten. Characters are more freely distributed than are those produced using boards which have separate scroll and sprite patterns. The image can be reduced in 256 levels vertically, and 16 levels horizontally. The display range may be changed in steps (0, 1, 2, 3, number of active characters.
A 3D scrolling display is formed by forty-one 3D-LINE SPRITEs. In this configuration, set the number of active characters to 33. The picture size can be reduced up to half both vertically and horizontally.
Note: When the number of active characters is set to 33, the picturecan be reduced by up to half vertically, and both ends of the picture will be connected together as a loop.
A maxiinu~n 96 3D-LINE SPRITEs can be placed horizontally. of (The arrangement is determined only by the vertical position and number of active characters.)
I
Various scenes such as rivers, are easily displayed by the automatic character switching display function. (Switching character number bits 0-2) using the chain function. Multiple 3D-LINE SPRITEs can be moved si~nultaneously Interrupts can be issued at specified intervals using timer interrupt, or when the scanning reaches an arbitrary point on the screen. The display can be diinlned by using the shadow bit output.
Hardware - 3
Specification of Each Function 1) FIX 1. 2. 3. 4. 5. ;Priority 1 40 by 28 characters are displayed at a fixed location. The size of each character is 8 by 8 pixels. Up to 15 colors.can be used per character. There are 16 color pallettes. (4 bits) The number of characters is 4096. (12 bits) ;Priority 3
2) Background
Up to 380 3D-LINE SPRITEScan be displayed simultaneously, but only 96 can be placed horizon tally. One 3D-LINE SPRITE consists of 32 vertical characters; each character being a 16 by 16 dot array. The following parameters are specified for each 3D-LINE SPRITE 11 Vertical position (9 bits) 21 Horizontal position (9 bits) 31 Vertical reduction (8 bits) ;OFFH for maximum 41 Horizontal reduction (4 bits): ;OFH for maximum Number of active characters (6 bits): ;No characteis are displayed 51 ;when this is set to 0. ;The product of 16 times this ;number will be the total ;number of dots that are ;displayed, except when "33" ;is selected. 61 Chain bit (1 bit): ;When this bit is set to " 1," ;this 3D-LINE SPRITE is ;connected to the right side of ;the previous 3D-LINE ;SPRITE, and vertical ;position, horizontal position, ;vertical reduction, and ;number of active characters ;settings are ignored.
Hardware - 4
4.
The following parameters are set for each character. I] Character number (16 bits) CoIor pallette number (8 bits) 21 ;" I " flips image vertically. 31 Vertical flip (1 bit) ;" 1" flips image horizontally. 41 Horizontal flip (1 bit) Automatic character switching display of 4-sequence characters. (1 bit) 51 ;" for active. 1" Automatic character switching display of 8-sequence characters. (1 bit) 61 ;" " for active. 1 Specify the speed of the automatic character switching display. (8 bits) ;This value controls the speed ;for both 4-sequence and ;8-sequence characters. Total number of characters. (65,536 is the maximum.) Fifteen colors can be used per character. There are 239 color palettes.
5.
6.
7.
8. 4) Interrupts
1. Interrupt- 1 11 Interrupt-vector address is 64H. Interrupt is triggered at the beginning of vertical blanking. 21 Execute the following instructions when the interrupt occurs: 31 M0V.W #4, 3COOOCH ;For the next interrubt MOV. B DO, 30000 1H ;For the watchdog 2. Interrupt-2 Interrupt vector address is 68H. 11 Interrupt is triggered when the timer counter reaches 0. 21 The folIowing instruction is executed when the interrupt occurs: 31 M0VE.W #2,3COOOCH 41 After the CPU sets the Tiiner High register and Tiiner Low register, that data is set to the timer counter (32 bits) at the moment that the following events listed below occur. (The value of the timer counter is decremented by one every 167nS which is the time it takes to scan one pixel, and an interrupt is triggered when it reaches 0.)
Hardware - 5
(1)
(2)
(3)
51
61 71
When the Timer Low register is set. At the beginning of the horizontal blanking i n the first line of vertical blanking. When the timer counter reaches 0.
81
User can set bits 4 to 7 of the Mode register to disable interrupts, or to change the initialization timing for the timer counter. Timer High and Tiiner Low registers should never be set to 0. To trigger: interrupts for every N pixels, set the Timer register to N-1, and set bits 4 to 7 of the Mode register to 1001B4(9 x H). To trigger interrupts when the scanning reaches multiple arbitrary display locations, set bits 4 to 7 of the Mode register to 11OlB (d x H). Then, in the interrupt handler routine, set the interval between the next interrupt and the following to the Timer register.
5 ) Access to Line Sprite Controller (LSPC) Read and write operations to VRAM should be done via the LSPC register. 1. VRAM has one address for each word (16 bits), and all readlwrite operations are 2. done in words. (Long words, and bytes are not allowed.) LSPC has the following registers: 3.
Address register (wri te-only) OFFFFH) of the next readlwrite contains the VRAM address (0 operation. 21 Write Data register (wri te-on1y) Contains data to be transferred to VRAM. When the CPU writes data to this register, it is passed to VRAM. 31 Automatic Increment register (readlwrite) Values range between 0 and OFFFFH. This value is added to the Address register immediately after the data is written to the Write Data register. 41 Mode Register Bits 8- 15: Speed for automatic character switching display. Multiply value ti~iles16mS for the actual timing interval. Bit 3 = 1: Stop automatic character switching display. Issues an interrupt when the timer counter reaches 0. Bit 4 = 1: Bit 5 = 1: When Timer Low register is set, Timer counter is siinultaneously set. Bit 6 = 1: Tiiner counter is set at the beginning of the horizontal blanking of the first vertical blanking line. Timer counter is set to initial value when Timer counter Bit 7 = 1: becomes 0.
.I ]
Hardware - 6
51 Read Register (read-only) VRAM data is read from this register. (The value of the Address register doesn't change.) 61 Raster Vertical Position register (read only) Bits 0-2: When the automatic character feature is active, the character number of the character displayed can be read from here. NTSC/PAL mode select *** =PC2 only *** Bit 3: = 0 : PAL = 1 : NTSC Bit 7 : Read l V Bit 8 : Read 2V Bit 9 : Read 4V Bit 10 : Read 8V Bit 1 1 : Read 16V Bit 12 : Read 32V Bit 13 : Read 64V Bit 1'4 : Read 128V Bit 15 : Read 256V (Set. to " 1 " during display.) 71 Timer High register (write-only) Upper 16 bits of data to be set to Timer counter. 81 Timer Low register (wri te-on1y) Lower 16 bits of data to be set to Timer counter. 91 Interrupt Clear register (write-only) Interrupt flags are cleared when bit is set to " 1 ". Bit 1 = 1 : Clears tlie timkr interrupt flag. Bit 2 = 1: Clears the vertical blanking interrupt flag. 101 Timer Stop Switch (write-only) *** LSPC2 only *** (Initial Value : Bit 0 = I ) Bit 0 = 0: Timer counter is not stopped even when the PAL mode is selected. Bit 0 = 1 : Only when PAL mode is selected, timer counter is stopped for 32 horizontal lines (18,432 pixels). 4.
5.
Read and write operations to LSPC registers are executed with no wait cycle. Read operation from VRAM should be done at least 1.4pS (16 CPU clock cycles) after the address register is changed. When the value in the Address register is changed from the 0 - 7FFFH range to the 8000H - OFFFFH range, or from the 8000H - OFFFFH range to the 0 7FFFH range, this value must be written directly into tlie register, rather than using tlie automatic increment operation. At least 1.4pS (16 CPU clock cycles) is required before writing to the Address register after the Data register is
6.
changed. 7. Write operation to Data or Address register should be done 1pS (12 CPU clock cycles) after the write operation is executed to a Data register. Example : MOVE DO, [AQ] MOVE Dl, [A l] ADDQ #8., Dl MOVE Dl, [All MOVE #1234H, [A 1] MOVE #5678H, [All MOVE #9ABCH, [All 6) Address map of the 68000 1. Program ROM 2. System ROM 3. Work RAM 4. LSPC 11 Address register 21 Write Data register 31 Auto Increment register 41 Mode register 51 Read Data register 61 Raster Vertical Position register 71 Timer High register 81 Timer Low register 91 Intern~ptClear register 101 Timer Stop Switch ;A0 =3COOOOH ;A1 =3C0002H ;instruction for 4 or more clock cycles ;instruction for 12 or more clock cycles ;instruction for 12 or more clock cycles ;instruction for 12 or more clock cycles 0-OFFFFFH O O O O - C 1FFFFH C O O HO 100000H-1OFFFFH 3 O O H (write, word) COO 3C0002H (write, word) 3C0004H (readlwrite, word) 3C0006H (write, word) 3 O O H (read, word) COO or 3C0002H
3C0006H (read, word) 3C0008H (write, word) 3COOOAH (write, word) 3COOOCH (write, word) 3COOOEH (write, word) **** LSPC2 only ****
7. Output Port (write, byte) 11 Set shadow bit to 0 for normal display 3A0001H 21 Set shadow bit to 1 for di~nined display 3A0011H 31 Vector switch (0-7FH) ON 3A0003H (Switch between 0-7FH and OCOOOOOH-OC0007FH) 41 Vector switch (0-7FH) OFF 3A00 13H 51 Memory card llwrite enable 3A0005H
61 Memory card 2lwrite enable 3A0017H 71 Me~nory card 1/write disable 3A0015H 81 Memory card 2lwrite disable 3A0007H 91 Memory cardlregister select enable 3A0009H 101 Memory cardlset to normal 3A00 19H 11] Memory cardlbank output (bit 2-0) 3800 1 1H 3AOOOFH 121 Select palette bank 0 3A001FH 131 Select palette bank 1 38000 1H 141 Controller Output (negative logic, open-collector) Bit 1 output from controller 1 Bit 0 : Bit1 : Bit 2 output from controller 1 Bit 3 output from controller 1 Bit 2 : Bit3 : Bit 1 output from controller 2 : Bit 2 output fro111controller 2 Bit 4 Bit 3 output from controller 2 Bit5 : 8. Sound code output 9. Sound code input 320000H (write, byte) 320000H (read, byte) (read, BYTE) 300000H, bit 0 300000H, bit 1 300000H, bit 2 300000H, bit 3 300000H, bit 4 300000H, bit 5 300000H, bit 6 300000H, bit 7 380000H, bit 0 380000H, bit 1 340000H, bit 0 340000H, bit 1 340000H, bit 2 340000H, bit 3 340000H, bit 4 340000H, bit 5 340000H, bit 6 340000H, bit 7 380000H, bit 2 380000H, bit 3 380000H, bit 4
10. Input Port 11 Player lltop (0 = ON) 21 Player llbottom (0 = ON) 31 Player 1/left (0 = ON) 41 Player 1/right (0 = ON). 51 Player lltrigger 1 (0 = ON) 61 Player lltrigger 2 (0 = ON) 71 Player lltrigger 3 (0 = ON) 81 Player lltrigger 4 (0 = ON) 101 Player 1/start (0 = ON) 1 I ] Player 1/select (0 = ON) 121 Player 21top (0 = ON) 131 Player 21bottom (0 = ON) 141 Player 2lleft (0 = ON) 151 Player 2lright (0 = ON) 161 Player 2ltrigger 1 (0 = ON) 171 Player 2ltrigger 2 (0 = ON) 181 Player 2ltrigger 3 (0 = ON) 191 Player 2ltrigger 4 (0 = ON) 201 Player 2lstart (0 = ON) 211 Player 2lselect (0 = ON) 221 Meinory card 1 insertion status (0 = inserted)
Hardware
-9
231 Memory card 2 insertion status 380000H, bit 5 (0 = inserted) 380000H, bit 6 241 Write protect status detection (0 = write enable) 380000H, bit 7 251 NEO-GEO mode 0 : NEO-GEO 1: MULTI-VIDEO SYSTEM 11. Memory card 800000H-OBFFFFFH (word, long word) (8 banks) When 2K-byte RAM card is used, it is allocated to address 800000H - 800FFFH, and bits 8 to 15 are ignored.
.
7) Address map of the 280 1. Program ROM 2. Work RAM 8) I10 map of the 280 1. Sound code input 2. Clear sound code input 3. NMI enable 4. NMI disable 5. Sound code outpilt 6. YM2610 OOH OO OOH OO 0008H 0018H OOH OC 0004H-0007H
9) Sound function 1. The NMI can be activated and deactivated by writing sound code from the 68000, , The NMI is disabled immediately after the system is reset. 2. The NMI flag is cleared when the sound code is read. 3. The sound co~n~nand read from O O H but a sound acknowledge (or return is OO data) is written to 000CH. On the 68000 side, the single location 320000H is written or read. An interrupt can be triggered by the YM2610 timer. 4.
10) Notes 1.
2.
3.
After the CPU is reset and before the interrupt is enabled, the following instruction needs to be executed at least once every 100mS. MOVE, B DO, 300001H You must access the palette by word or long word. Access should be attempted only during the vertical blanking period. (Noise may appear on the screen if the access is attempted during the visible scanning period.) Set the number of active characters to "0" to erase a 3D-LINE SPRITE.
Hardware. - 1 0
4.
5.
6.
7.
8.
After the CPU is reset, the following instruction needs to be executed im~nediatelybefore the interrupt is issued. MOVE, W #7, 3COOOCH This will clear the interrupt resister. The following initialization is also necessary after the CPU is reset. Write the transparency character (e.g. 0020H) into the VRAM [I] address 0 to 3FH. OO Write O O H into VRAM address 8200H. [2] When designing for NEO-GEO, important characters should not be placed within the left most and right most 16-dot areas, nor' in the top and bottom 8-dot areas. These areas may not be visible on some television monitors. For Multi-Video Systems, 8 dots on both the left and right sides should be inasked by black characters, using the FIX display mode. When the vertical reduction ratio of a 3D-LINE SPRITE is set to a value other than OFFH, the characters which are addressed by 1EH and 20H of that 3D-LINE SPRITE need to be transparent characters. Or, put a transparent dot in the locations one dot below IEH and one dot above 20H.
Hardwart: - 1 I
-wm,
%&lot
rndot
(PAL)
Hardware - 12
Display area
7
'-g
02 04
. - ~ ~ ~ ~ ~ - ~ ~ , ~ , ~ , C ~ ~ , ~ , ~ , ~ , ~ , ~ , ~ , ~ , ~ , ~ , C , ~ , ~ , ~ , c , ~ C c , C , ~ , C C C C ~ C C C C C C C C C ~ ~
. ~ ~ ~ ~ ~ - 4 - , C # ~ , ~ ~ - , C , ~ , ~ , a , C , a , ~ , C , ~ , C , ~ , I , C , ~ , C , C I , C C C C ~ C C . C . C C ~ C C ~ - , " ~
06
-~ ~ ~ 8 C I ~
~ N #
PAL
1'
P
' .
i
~ # ~ ~ ~ ~ ~ ~ ~ 8 ~ ~
la
1C
u ~ ~ H ~ ~ L I 0 @ t ~ ~ m ~ ~ ~ ~ ~ a 8 . c # ~ # # ~ ~
1E
-I#-, T ~ ~ Ca
1 NTSC
, I
, I
# ,
, ,
20
-1 PAL
-3P-L I N E S P R 1 TE
3C
3E
Hardware - 13
Example o f the Number of Active Characters (ACT), Vertical Reduction (BIGV), and Horizontal Reduction (BIGH) are display area k"! LI
rl
Hardware - 14
Character Number
Hardware - 15
Character Number
Hardware - 16
3D-LINE SPRITE
VRAM Address (Example)
B T ~ SBT14 (BTl3 a 2 m l i BTlO BIT9 BIT8 BIT7 B l m BIT5 BlT4 BIT3 B ~ T Z BIT1 BIT0 1
\
1 1 1 I I I I I ( I I I 1
Y
Presently, only bit 4 is used. Other bits are for future expansions, and - left at 0s. , . . are
"
1 1 ILkll IBTJOI I
I BITG'I
I 1 1
Horizontal Reduction
Vertical Position
Chain Bit
BT15 BT14 BT13 B'2 BTll BTlO BIT9 BIT8 BIT? BlTG BIT5 BIT4 BIT3 BIT2 BIT1 BITO l1
\
Y
Horizontal Position
Unused
Hardware - 17
Address Mapping of the 3D-Line Sprite (VRAM) Character and Color 1 2 3 40H-7FH 80H-OBFH OCOH-OFFH Reduction 8001H 8002H 8003H Vertical Position 8201H 8202H 8203H
379 380
5ECHOH-5EFHH 5FOOH-5F3FH
8 17BH 817CH
837BH 837CH
857BH 857CH
Hardware - 18
Color Palettes 1. 2. 3. 4. 5. There are 256 color palettes. Each palette can have 15 color codes selected from 65,537 colors. Use color palette number 255 for the background. Use color palette numbers 0- 15 for the FIX areas. Use color palette numbers 16-254 for the 3D-line sprites. bit 4 - bit 7 30 line sprite color bit. 0 - bit 3 fix color
Addresses for the Color Codes 1) Color Palette Number 0 However, 2) 3) Color Palette Number 1 Color Palette Number 2 400000H-40001FH 400000H is 0 (transparent) 400020H-40003FH 400040H-40005FH
BLUEZ
BLUE3 BLUE4 GREEN1 GREEN2 GREEN3 GREEN4
REDO
- 19
IICD-I
.:
4
i ADRSIOII ADRSlOll i ADRSlOll i hDRSlOll : BIT4. : BIT5 : DlTG : BIT7 I BIT12 i BIT13 i BlT14 I BIT15
i
:
BIT20 : BIT21 BIT20 ' i BIT29
: BIT22
~ D0K
BIT30
BIT23 BIT31
ADRS I111
kom 1
h
ADRS 1211
EN 2 O
ADRS 3
e
ADRS 1311
ADRS 1411
. l p
AORS 4
htk 6
ADRs 1 M f ADD
l~il
ADKG
ADRS 111
b~s 7
ADRS ' l ~ l
ADRS 1MI
ADRS
la1
]Ell
ADRS 0 ~ 1 1
ADRS 0011
AK OD1 D ADRS Off l
AORS IF11
One character is 16 x 16 dot matrix and is composed of addresses 0-1FH (bits 7-0, bits 15-8, bits 23-16, and bits 31-24) of each 4 ROMs. However, when using a 16-bit data ROM, it is composed of addresses 0-1FH (bits 15-0 and bits 31-16) for both ROMs.
Hardware - 20
i ADRSlSII
i BlT7-4
8
iADi6lzll :BlT7-4
AURSlhll BIT34
iAD,Nlhll
I
:B l W
i:ADnrcMII BIT/-4
i
I
AORSl411 MRSIIII ADRS.lCll ADRSlClI B I T 3 4 : 01T7-4 01134 - 8: B I l 7 - 4 MRS1611 i'~ORS1511 ADElDll BIT34 i BIT74 BIT34 ADRS1611 M61611. AORSIUI B I T 3 4 : BIT7-I .01T34 ~ ~ k 3 1 7 il lADREl7ll B I T 3 4 ! 8157-4
i
8
i
i
i
i
g
iMRSlUl
BIT74
9
i 01~7-4
8
A06 5 AORS 6
i:ADRSl~l 61TI-4
:B117-4
:BIT/--4
AORSUUI
AURS 7 BIT/--4
i ADMAI i 8117-4
One character is an 8x8 dot matrix and is composed of addresses 0-1FH for one ROM.
Hardware - 21
Confidential
000000H
C
C00000H
Switchable
-4
Figure 1-1
In this mapping, the areas between address 0 to 7FH can be switched using the software. The system side is selected when the system is reset.
System Program - 1
The system program is generally composed of the following five parts: (1) (2) (3) (4) Control over the entire game Standard UO Memory-card interface Simple monitoring program (for development) Utility program
(5)
Furthermore, the NEO-GEO provides addresses 100000H-10FFFFHas a work area, out of which the addresses 10F300H-10FFm;H are reserved exclusively for use by the system program. Therefore, every game is to use addresses 100000H-10F2Fl;H. For the multi-video system (hereafter called the MVS), D O O HD OOO-O is used as the backup RAM a m . This is used exclusively by the system, and cannot be used for the game. Work Area Backup R A h
For Game
t
Stack Area For System
For System
System Program - 2
I system Initialization I
Game
Game Initialization
1 Eye-Catcher 1
Fig. 1-3
System Program - 3
[I] System Initialization As shown in Fig. 1-1, reset processing is done by the system, since the system side is selected for the exception-handling vector (address 0-7FH) when resetting. 1 At this point, the system work and different types of 1 0 are i n i t k k d , and it is determined whether or not the game cartridge has been loaded. 121 Game Initialization Out of the work area, only the backup area (described later) for each game is initializd. This is due to commercial-system (MVS) and home-unit compatibility. For the commercial machine, the hardware is shared among various games, and the status of work and V-RAM vary from game to game. Therefore, initialization is required every time a game is started. 131 Eye-Catcher A company logo or the NEO-GEO logo is displayed as an .eye-catcher. If sprites for common Fix or the NEO-GEOlogo are available, the eyecatcher procedure can be done through the system program. 141 Game and Demo Game Normally, a game demo or title display is shown (the system specifies which to show) for approximately 30 seconds. At this stage, if there is a specification or permission from the system to start the game, the game statts. A request is to be made every 1/60 second for the system subroutine [SYSTEM-101. It should return to the system program after the demo or end of the game.
System Program - 4
A l entries into the system program from the game are made through the jump table l (address C00402H). Because the system uses privileged instructions, be sure to put the
system in the supervisor mode when entering the system program. For the system subroutine, be careful, since the registers are not saved.
[2] Exception-Handling Vector
When the game program is being executed, the game side is selected for the exceptionhandling vector of address 0-7FH. At this point, handling some exceptions starts the system's simplified monitor. Therefore, define the addresses as follows:
No 00 01 02 03 04 05 06 07 08 09 O A O B OC-OE OF 10-17 18 19
1A
1B 1C 1D 1E 1F
Name Reset SSP default values R s t PC default values ee Bus error (monitor start-up) Address error Incorrect command Division by 0 CHK command TRAPV command Illegal privilege Trace exception handling No package command (1010) No package command (1111) Unused Uninitialized interrupt Unused Virtual interrupt Interrupt 1 Interrupt 2 Interrupt 3 (unused) Interrupt 4 (unused) Interrupt 5 (unused) Interrupt 6 (unused) Interrupt 7 (unused)
System Program - 5
Address 1OF300H C00402H C00408H C004OEH C00414H Defined by game Defined by game Defined by game C0041AH C00420H Defined by game Defined by game C00426H C0042CH C00426H C00432H Defined by game Defined by game Defined by game Defined by game Defined by game Defined by game Defined by game
When the foreground monitor ICE (In-Circuit Emulator) is used, define the vectors according to the ICE monitor. (Otherwise, such problems as not being able to execute step by step may occur, causing difficultiesin debugging.) But even in this case, define the addresses when placing the program in ROM. Furthermore, vectors not used in the actual game are to be at No. 6 as unused, even if it is defined in the game.
[3] Game ID
In each game, the address 1OOH-18H is the ID region that the system refers to. Define the parameters, addresses, etc., according to the following:
ADDRESS lOOH SIZE (byte) 7 DESCRIPTION lOOH lOlH 102H 103H 104H 105H 106H E ASC N G E 0 0 HEX 4E 45 4F 2D 47 45 4F Cartridge Recognition Code, 1 The game does not start unless this code has been set conectly. 0 System Version Set at 0 for the present. Game Code ID Defines the garhe identification code (provided by (Note: O O H is not allowed.) OO Program ROM Size For 4 M bits, 80000H (Example) for 16 M bits, lOOOOOH T e e are defined in long-words. hs Starting address of the work-backup area Size of the work-backup area Defined in long-words and words, the starting address and size of the system-backup area of the work area used for the game. Formula: l O O H < =[STARTI < [START+SIZE] = lOFCOOH OOO 0< [SIZE] < = lOOOH
System Program - 6
107H lO8H
1
2
sw
lOAH
1OEH 112H
4 2
ADDRESS 114H
SIZE (byte) 1
DESCRIPTION
1 4 4 4
6
6 6
182H
System Program - 7
System Program - 8
System Program - 9
USER 122H Execution of the game's main program Command No. (0-3) for the USER-REQUEST (lOFDAEH,B) Other settings: * 68000 registers SR = 2700H A7 (SSP) = 10F300H Other registers: Undefined * Work Area for the Game (10000elOF2FFH) Only for the backup area of +h game. The values at the end of the game, etc., are already undefined. Everything is undefined at the time of command 0 start-up initialization. * VO Timer Interrupt: Not allowed. Automatic Character Switching speed: 64/60 see. (4OOOH is set to 3C006H.) Vector: Switch to the game side. Sound Reset Code (03): Already sent. Other I/O: Undefined. * Displays Color Palette Banks: All 0s for both 0 and 1 Fix: All at 0020H. Sprite: Vertical.Position (Active Characters). .. al at 0 Horizontal l l Position.. . al out of screen Reduction Parameters.. . all at. OFFFH Character Codes & Attributes: A11 undefined. Description All game programs start when the system jumps to here (not a subroutine call). Jump to SYSTEM-RETURN (C00444H) when processing is over (when the game is complete, etc.). Also, call the SYSTEM-I0 (C0044AH) every 1/60 second. Description by User-Request Conditions Start-up initialization No 0 USER REQUEST = 0 Initialize onlfthe part defined (by the address 10EH-113H) as the backup area of the work area used for the game. Normally, use this area for high scores, rankings, etc. On the MVS, this command is called only once: when the cassette is inserted into the main board for the first time. Initialize the work area, excluding the backup area, screen displays, and 110, etc. every time USER is entered.
System Program - 1 0
No 1
No 2
No 3
Eye-catcher USER-WQUEST = 1 A request is made only when the address 114H is 1. The call is not made at any other time, nor with the MVS. Only one request is to be made right after the home system is turned on. Demo GamdGame USER-REQUEST = 2 A demonstration of the title and the game is performed when a request is made. Jump to SYSTEM-IZETURN when the demonstration is over and the game has yet not been started. Or, if the game has been started, jump to SYSTEM-RETURN after the game is over. Title Display USER REQUEST = 3 Only the game title is displayed. This command is requested only in the mode with the MVS-forced start. At this point, the SELECT TIMER (IOFDDAH, B) gives the remaining time in BCD, so please &lay this on the screen. When the time runs out, instructions come from the system to start the game. Therefore, there is no need for the game side to return to the SYSTEM-RETURN. Everything else is the same as in the Command 2 game demo. (Please note that if the Game Start Compulsion is not set for compulsion time, then the SELECT-TIMER is not used.)
System Program - 11
PLAYER-START 128H Game-Start Processing A request is made, if the pressing of the start button is detected, with sufficient credit, in the SYSTEM 10. Or, a call is made when the MVS-forced start is past the time limit. Starting Player in the START-FLAG (10FDD2H, B) START- FLAG d7 d6 d5 d4 d 3 d 2 d l dB
i -- Il --I - - 1 - - i p 4 l
I
p31 p 2 i p l i
I
Output
start at "1" Sets each bit of the S T W F L A G to " 1" (as they are) if the game can be started, or to "0" if not. (It is not allowed to change any bits from 0 to 1.) When the game has been started, set the applicable byte to " 1" (game status) where the USER-MODE (lOFDAFH, B) is 2 (normal game status, PLAYER-MODE (10IDB6H-, 4 bytes)) during the demo.
r
I/
I?g
System Program - 12
Description
A call is made when the system instructs the game to begin. w e n starting the game from its own judgment, use the system subroutines CREDIT-CHECK and CREDIT DOWN, described later.) With the START FLAG, basically only t6e bit representing the player whose start button & been pressed becomes 1. For during the MVS demo (the USER-MODE at "I"), the following shows how it works: COUNTRY-CODE (10FD83H,B) 0 =JAPAN 1=U.S.A. 2 =EUROPE START-FLAG LOWER 4 BITS P1 START P2 START OO O1 0011 OOO1 0010 OOO1 0011
This means: On pressing the P2 START key, Japanese and European specifications allow the two players to start the game simultaneously, while the U.S. specifications allow only player 2 to start the game. Therefore, for such games as sports games, where participation in the middle of a game is not possible, the U.S. specifications require preselection of the two-player game (refer to the sample program for these specifications). When the game is in progress, an extension of play time or the addition of lives is available at the player's option, and participation from the middle of play should be available. If these options are not possible, or if it is a game like Mah-Jong, which allows only one player to play, return after changing the applicable bit to "0. "
If any of the START FLAG bits is f i r n e d with 1, the system deducts credit. Therefore, be sure to perform the start processing, etc. Furthermore, be sure to keep the USER MODE at 2, or the game may be switched to another game.
System Program - 13
DEMO-END 12EH Procedure to allow the demo to end early. When a switch to another game is detected in the SYSTEM-10 during the demonstration (only MVS) In the MVS, switching to another game can be made by pressing the select button during the demo. This switching interrupts the demo, so if necessary store the items in the work backup area. The system returns itself to SYSTEM-RETURN. Therefore, do not directly jump to SYSTEM RETURN.
COIN_SOUND 134H Request to the Sound CPU(Z80) for the coindeposit sound When the deposit of a coin or coins is detected in the SYSTEM-I 0 (MVS only) Make a request to the 280 according to the specifications of the particular game. Be sure to get a coindeposit sound in any setting or scene.
[Note] PLAYER-START, DEMO-END and COIN-SOUND are all called from SYSTEM-10. [2] Data Referred to by the System In conventional commercial games, the game's difficulty level, etc., was set using the DIP switch on the board. With the MVS, the setting is performed by the memory switch .using backup memory --,which is called "mode-select menu." Every game needs to have data on default values, descriptions of items, and the contents of the modes. The starting addresses are 116H, 11AH and 1lEH, which are defined in long words. (Refer to page 9.)
* Data Format
ADDRESS (OFFSET) +O 16 +32 +44 SIZE (BYTE) 16 16 12 12 12 CONTENT Game title Mode-select default Mode-select itemldescription of contents Mode-select itemldescription of contents Mode-select itemldescription of contents
+56
System Program - 14
(1) Game Title Define the game title (16 bytes) in the common Fix code.
(2) Mode-Select Default
The mode-select menu can have up to 14 items. The beginning four items are reserved for specific purposes, but the remaining 10 items can be used freely for each game.
r
I e No. tm 12
Offset +0, +2
Size WORD
3
4
+4
BYTE
+5
BYTE
5-14
+5-+ 15
BYTE
Content Setting of (extended) play time, etc. The default values are set using BCD, with the minutes in the upper byte and seconds in the lower byte. Setting in seconds is possible in the lower byte up to 29 minutes and 59 seconds. If this is not used, specify OFFFFH. . Set the remaining lives, etc., from 1 99 using bnr code. Specify OFFH if unused. iay The default value of the extended play is set between 0 and 100 in binary, with 0 for no extended play, 1 to 99 for the extended-play niie limit, and 100 for u l m t d extended plays. Specify O M if unused. This can be used freely for each game. The default value (O-OFH) is set in the upper four bits, and the content number (1-OFH) is set in the lower four bits. However, if the lower four bits are Os, items beyond this point are not used.
System Program - 1 5
[Setting Example 11
1 2 3 4 5 6 7 8
DC. B DC. W DC. W DC. B DC. B DC. B DC. B DC. B DC. B DC. B DC.B DC. B DC.B DC. B DC.B DC.B DC. B DC.B DC.B DC.B DC. B DC.B DC. B DC. B DC. B DC.B DC.B DC.B DC.B DC. B DC.B DC. B DC. B DC. B
' SAMPLE
OFFFFH Ol'iErFFH
3 100 14H 13H 24H 01H OH O OH O OH O OH O OH O OH O 'HERO . 'CONTINUE
'DDFFICULTY 'EASY . 'NORMAL 'HARD 'VERY HARD
GAME1
V)
(TIME) (REMAINING L m ) (EXTENDED PLAY)
9
10 11 12 13 14 : 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
';ITEM5
9.
Y
9. Y
9.
'
9.9
ITEM NAME 0 1 2 3
'BONUS ';ITEM6 'NO BONUS Y 'EVERY BONUS '; 'SECOND BONUS ';
9.
ITEM NAME
0 1 2
'BONUS RATE '20000/ 10000 '30000/ 10000 '50000/30000 '1000001500000 'DEMO SOUND 'WITH 'WITH OUT
';ITEM7
9.
ITEM NAME
0 1 2 3
X E NAME TW
9
9. 9 9.
. 9
9.
';JTEM8
'.
9 9
%.
0 1
System Program - 16
On-screen display of initialization status and set values Sample Game 1 (Set value) 3 3 NO LIMlT 100 NORMAL 1 EVERY BONUS 1 50000/30000 2 WITH 0
LINE 1 LINES3&4
LINE 5
LINE 6 LINES 7-10
Specify the game title in 16 bytes. Define OFFFFH, since the game is based on remaining lives and time is not used. Set three lives . U l m t d number of extended plays ,. niie. Default values and numbers of conterits that can be set on items 5 to 8. For example, for item 5 (DIFFICULTY LEVEL), four types can be set fiom 0 to 3 (EASY, NORMAL, HARD, VERY HARD) with the default value as 1 (NORMAL). Since the lower four bits are at "0," items 9 through 14 are not used. Although these items are not used, space for data needs to be reserved.
Since items.1 and 2 are not used, definition begins from item 3. But on items 1 to 4, only item names are to be defined.
The name of item 5 Use words to express the contents of the set values from 0 to 3 respectively, for item 5. Four types of settings are possible, so four descriptions are necessaryi
LINE 19
LINES 20-24
System Program - 1 7
[Setting Example 21
Game on a time-unit basis 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
DC. B DC. DC. DC. DC. DC. DC. DC. DC. DC. DC. DC. DC. DC. DC.
' SAMPLE
OO330H OO3OOH
'
W W B B B B B B B B B B B B
o m
o=m
W)
DC. B DC. B DC.B DC. B DC.B DC.B .DC. B DC. B DC. B DC.B DC. B DC.B DC. B DC. B DC. B DC. B DC. B DC.B DC.B
'DIFFICULTY
'EASY 'NORMAL 'HARD 'VERY HARD 'BONUS 'NO BONUS 'EVERY BONUS 'SECOND BONUS 'BONUS RATE '20000/10000 '30000/10000 '50000/30000 '100000/50000 'DEMO SOUND 'WITH 'WITH OUT
System Program - 18
DIFFICULTY
BONUS BONUS RATE DEMO SOUND
WITH
The set values are transferred to the work GAMRDIP (10FD84H-, 16 bytes) when entering USER (122H). Therefore, refer to the values and carry out the applicable process for each game. The system makes a change(s) in the modes or transfers the set values to the work area, but does not process any of the contents whatsoever. Care must be taken in this respect. W e it comes to the home system, there is no display of the hn mode-select menu, etc., so please set these modes freely for each game.
System Program
- 19
--
Enter the following by the JMP instruction instead of subroutines. Be sure to always make the entry in the supervisor mode. Title Address Function Condition SYSTEM-INTI
C00438H
System Level 1 Interrupt Program When it is determined that it is in the system mode at the beginning of the level 1 interrupt. If bit 7 in the SYSTEM-MODE (lOFD80H, B) is at "0," it is determined to be in the system mode, and if at " 1" it is in the regular game mode. At the time of entering USER (122H), the 0-7FHexception handling vector from the game is used, and bit 7 in the SYSTEM-MODE is at 1-the game mode. When the system is in full operation, the vector from the system is used, and the bit 7 in the SYSTEM-MODE is at &the system mode. If the vector is mapped onto the emulation memory when switching vectors or debugging and vector switching is not possible, the vector from the game may be selected even in the system mode. In this case, jump to the SYSTEM-INTI at the beginning of interrupt " 1" for the game. Furthermore, the SYSTEM-INTI is involved only in accessing the SYSTEM 10, MESS-OUT (described later) and watchdog. Therefore, for games wg long "no interrupt" times directly after entering USER, the i game itself can allow interrupts by placing a "0" for bit 7 of SYSTEM-MODE at that time.
Description
System Program
- 20
S YSTEM-RETURN C00444H Returns from the game program to the system program. This subroutine should be called when all jobs are F i h e d after USER entry.
System Program - 2 1
System Subroutines There is no guarantee that the contents of the registers are preserved afkr the program exits a subroutine. Title Address Function Condition SYSTEM-I0 C0044AH Input and output operations from the system program. This subroutine should be called every 1/60 of a second during the game program. When it is called outside of the interrupt-handling routine, and if the program needs to access the I 0 besides the screen using the intermptf handling routine, prohibit the interrupt request while S Y S m - I 0 is executed, which takes about 300 micro seconds on average. This subroutine executes the following: 1 2
3
Description
Senses joystick-input status. Detects coins inserted in the slot (MVS only). If required, COIN_SOUND(134H) is called. Checks the start button. If required, PLAYER-START(128H) is called. Checks the game selection (MVS only). If necessary, DEMO END(l2EH) is called and the game is selected. ~imers;sed by the system are counted up or down.
To detect the coin input precisely, this routine needs to be called every 1/60 of a second. In general, it is recommended that this routine be called at the end of the interrupt-1 handler routine. However, if this is called from the main routine and not from the interrupt-1 handler routine due to the V-RAM output and such, be sure that the processing does not overflow. Since the coin-input detection routine also controls the credit status, that the game program does not have to execute any coin-related tasks. Status of the joystick is stored in the work area, INPUT l(lOFD94H), and than the game routine can read the status from this work ar;rather reading it directly from U0.
System Program - 22
CREDIT-CHECK C00450H The system verifies the credit status. In addresses CREDIT-DEC (IOFDBOH, B) and CREDIT-DEC +1, put the number of credits (BCD, 0-99H) needed for player 1 and player 2 respectively. Unchanged if the content of CREDIT-DEC (IOFDBOH, B) and CREDIT-DEC 1 is sufficient to start the game. Otherwise it's set to "0. " Before the game program can start the game or add remaining lives without using PLAYER-START, the credit should be confirmed first using this subroutine. The game program can use this routine to simply check if the player can start the game, because it only checks the credits left.
CREDIT-DOWN
C00456H
Credit deduction executed by the system. After the system checks the credits by calling the CREDIT-CHECK routine. Place the exact returned values from CREDIT-CHECK for CREDIT-DEC and CREDIT-DEC 1. Credits are deducted by the value of CREDIT-DEC, and the system executes the operation in preparation for starting a game. Be sure to execute the processing to start the g h e s in the game program.
System Program - 23
Title
Explanation
READ-CALENDAR C0045CH Reading from the calendar MVS only Current date and time data are stored in seven bytes, starting from the address label DATE-TIME (10FDD2H, seven bytes). +O Year Last two digits of the year in BCD +1 Month Two digits in BCD (1-12) +2 Day Two digits in BCD (1-3 1) 0 to 6, starting from Sunday, Monday,. .. +3 Week Saturday. +4 Hours Two digits BCD (0-23) +5 Minutes Two digits BCD (0-59) +6 Seconds Two digits BCD (0-59) This subroutine is only for the MVS. Use this for updating the ranking and beekeeping at certain intervals.
FKCLEAR C004C2H C e r the fix display. las Put 020H (opaque character) on the entire line at both sides, and puts OFFH (transparent character) in the rest of the Fix display area. These two characters are defined as common Fix characters.
LSP-1st C004C8H Initializes the line sprite. Set the following values to line sprites 1 to 380: V-POSITION : 0 H-POSITION : Off the screen Reduction Ratio: OFFFH However, the character codes and attributes are not changed.
System Program 24
CARD C00468H Access to the memory card (explained later in more detail)
CARD-ERROR
C0046EH
Handles memory card errors. (explained later in more detail)
System Program - 25
131 System Work Area An asterisk following the name indicates that the value is written by the game. Do not write into the others or undefined memory addresses.
-
SYSTEM-MODE 10FD80H 1 byte Current software mode status: bit 7 = 0 system mode 1 game mode The system is not triggered by the game-start button and game-selection button while it is in the system mode. (Therefore, PLAYER-START would not be called.) During the interrupt-handler routine of the game program (such as during game initialization), and when PLAYEiR-START cannot be called, the system m be in the system mode temporarily, but wl return to the game mode as soon as possible. il
MVS-FLAG 10FD82H 1 byte Indicates if this system is for commercial or home use. 0 Home use other values Commercial use COUNTRY-CODE 10FD83H 1 byte Country specification: 0 Japan 1 USA 2 Europe (or countries other than Japan and USA) This information is used to select the language to be used in the game and the type of coins to accept. (Refer to the PLAYER-START section about the coin system.) GAMRDIP 10FD84H - 10FD93H 16 byte Game parameters of each game.
System Program - 26
INPUT-1 10FD94H - 10FD99H 6 bytes Current status of Controller 1. +O Controller 1 status 0 = No connection 1 = Normal controller 2 = hpanded controller 3 = Mah-jong controller 4 = Keyboard This value is set when the program jumps to SYSTEM-RETURN after the reset. +1 Controller 1 :Status from 1/60 second before Controller 1 : Current status +2 Controller 1 : Active-edge flag +3 Controller 1 : Auto-repeat flag +4 Controller 1 : Repeat timer +5 Values in addresses P U T 1 11 to m U T _ 1 positive logic, and bit assign;hents are:
d7 d6 d5 d4
d3
+ 41 are expressed in
d2
dl
do
TOP
RIGHT
LEFT BOTTOM
Example:
----C-J.-A----L-J
. . . . . . . ..--.-- . . . . . . .
LLA--I--LLL--.
---.-.-.---------
. , ' .
+1
+2 +3 +4
? 0 0 0
The value in address W T + 31 is set to " 1 " only when the status U1 changes from OFF to ON. The value in address P U T - 1 + 41 is set to " 1" when the status changes from OFF to ON and at a fixed interval if the switch is kept ON. (After 16/60 second from the first active edge, and every 8/60 second thereafter.) Because the auto-repeat flag monitors all the bits of the byte, if there is a change on another bit, it will immediately be set to " 1," even before the time interval mentioned above elapses.
System Program - 27
Even if the value of WUT-1 + 0] (status) is "0" (no co~ection),l the al values are set, assuming that a normal controller is connected, but there is no input if the controller status is 4 (keyboard). When the controller status is 3 (mah-jong), the switches are set as the follows: d5 d4 d3 d.2 dl do d7 d6 F E B A D C +1 G L I M M J H +2 N Reach Ron Kan Chi Pong +3 These values are the raw data; the active-edge flags are set in the addresses starting from INPUT-3 with the same address offset (positive logic). These controller input values (addresses N U T - 1 are set by the SYSTEM-I0 subroutine.
+11 to N U T - 1
+5])
INPUT-2, 3, 4 10FD9AH, IOFDAOH, 10FDA6H Status of controllers 2, 3, and 4 are set. The contents are the same as for INPUT-1. When the controllers are expanded, they are assigned as follows: INPUT-1 = controller 1A INPUT-2 = controller 1B INPUT-3 = controller 2A INPUT-4 = controller 2B When a controller for mah-jong is used, the active-edge flags of controllers 1 and 2 are set in the addresses INPUT-3 and INPUT-4 respectively.
System Program - 28
INPUT-5, 6 lOFEEBH, lOFEEEH When controllers 1 and 2 are normal controllers, INPUT-5 and INPUT-6 will have the same values as those in INPUT-1 and INPUT-2. When the controller is for mahjong, the values are converted to those of the normal controller. The following is the table of conversion: Mah-jong l~ormal A button (bit 4) A b&np B button B button (bit 5) [C button (bit 6) button D button (bit 7) D button E button Jovstick UD Cbit 0) Joystick down (bit 1) F button Joystick left (bit 2) G button IH button 1~oystickright (bit 3) --I
IC
INPUT-S 10FDACH 2 bytes Status of the start button and select button +O Raw data 1 Active-edge flag Both are in positive logic.
d3 P2 Select
d2
P2
Start
dl P1 Select
do P1 Start
The select button is not sensed in MVS mode. (It is used to select games.)
System Program - 29
USER-=QUEST 10FDAEX 1 BYTE A command number is set here when USER (122H) is executed. 0 = Start-up initialization 1 = Eye-catcher 2 = Demonstration game 3 = Title only USERMODE [*I lOFDAFH 1 byte Set the current status of the game program with the game software. 0 = Start-up initialization, eye-catcher 1 = Title, game demo 2 = Game in progress Game selection is enabled only when the mode is " 1" for the MVS. Make sure to change the mode to "2" when the game starts after the demo. CREDIT-DEC [q 10FDBOH 4 bytes Before calling CREDIT-CHECK and CREDIT-DOWN, set the necessary credits for each player here in one byte of BCD for each player. (Set 0 for the player who is not playing.) Use the exact returned value from CREDIT-CHECK when calling CREDIT-DOWN.
START-FLAG 10FDB4H 1 byte Player(s) who is starting the game is indicated when PLAYER-START (128H) is called. (Refer to PLAYER START for details.) START-FLAG is valid only when PLAYER START is called; the value is undefined otherwise. Do not use this value directly in the game program.
System Program - 30
PLAYER-MODE [*I 10FDB6H 4 byte Set the current status of the players in the order of player 1, 2, 3, and 4. 0 = Never played a game 1 = Currently playing 2 = Continue option being displayed 3 = Game over DATE-TIME 10FDD2H 7 byte The current date and time are set when READ-CALENDAR is called. (Refer to READ-CALENDAR for the data format.)
(Address
C-COMMAND [*I 1OFDC4H 1 byte CARD-ANSWER [*I 10FDC6H 1 byte CARD START r*i 10FDC8H 1 long word CARDSIZE I*] lOFDCCH 1 word CARD_FCB [*I lOFDCEH 1 word CARD-SUB [r lOFDDOH 1 byte or 1 word Addresses listed above are used when CARD(C00462H) and CARD-ERROR(C00468H) are called. The memory card functions are explained in detail in Section 6 "Memory Card," p.47.
MESS-BUSY I*] lOFDC2H 1 byte If the value is not "0," MESS-OUT (generic V-RAM output routine) is skipped. Always put "0" before calling CARD-ERROR.
System Program - 3 1
SOUND-STOP D00046H 1 byte If this is set to "0"in the MVS, do not play any demo sound regardless of the settings in the mode-select menu (except for sound effects for coin insertion). This work area is located in the backup memory, and cannot be accessed by the system for home use.
System Program'- 32
__5 --- COMMON FIX CHARACTER CODE AND GENERIC V-RAM OUTPUT
[I] Common Fix character code The data displayed by the system for mode-select menu and such, should use the following common Fix character code:
TYPE 1 Used for the game title and data title in the ,memory card TYPE 2 Used exclusively for explaining the mode select menu TYPE 3 Used for displaying all information on overseas versions
In the table, [SP] (20H) denotes the "SPACE"character. A l three types have OFFH l assigned for the 'end' code, so O m ; H cannot be used in the data. One Kanji character of TYPE 2 occupies two bytes. (e.g. Kanji character WAN] can be defined as OOH, 01H.)
System Program - 33
System Program - 34
Used Exclusively for the Mode Select Menu MESS-OUT Output Command 8
System Program - 35
6 0 11 70
:i
a :i b ii c i d i e i f ! g : f h
i
'
i
i
: j ii k j l ] m i nI o ,
'
p . q j r '
j s ~ t : ~ . .' :v ~ ~ i x : y ~ z , : .
!
i
i
! 1
'
System Program - 36
Al messages displayed on the screen by the system must use MESS-OUT. MESS-OUT l
is called during interrupt 1 (SYSTEM-INTI) by the system, and even for the game, if this is called at an appropriate area, it can be used. The output method is as follows: the addresses of output data are stored in the MESS-BUFFER (lOWOOH), and when MESS-OUT is called these are output all at once. (1) Output Data Format There are two types of data output with MESS-OUT: a series of control commands and the actual output data accessed by those commands. The control command is made up of one word, the lower byte is used for the command number, and the upper byte or the next (long) word is used for the parameters. Since the control commands are made in word units, the starting address must start from an even address. Command 0 Command End Code This means that a series of control commands has ended. Example Command 1 DC. W 0
-- End of Command
Data Format This specifies the format of the data to be output. Command upper byte do O=End code specification 1= Data size specification dl O=Bytedata 1= Word data Next word With byte data Upper byte Upper byte data that is commonly output Lower byte End code or data size With word data End code or data size
System Program - 37
Command
1
(Continued)
Data size specification Command 1 In this case, the output data is made up of only the lower byte, and the upper byte is 34H as specified. Also, the data size is constant at 16 bytes, and H through FFH cannot be placed in the lower byte. Example 3:
End code
In this case, the output data is made up in words, so the upper byte can be changed in word units.
Data size specification Command 1 The data size is constant at 32 bytes. The format set here is valid until it is specified again using command 1, so it is not necessary to specify this for every output if they are in the same format.
..
System Program - 38
Command 2
The setting of the automatic increment amount Command upper byte: Increment amount (Character expansion to 16 bits and output to 3C0004H) Example: DC-W 2
r
Command 2
Automatic increment
2H 0
Command
Output V-RAM address The next word is output directly to 3COOOOH. Example: Command 3 DC.W
1,"p"
"P"
V-RAM address
System Program - 39
Comhand
Output data address The starting address of the output data is specified in the next long word. (If word data was specified in command 1, please start from an even address.) The data is actually output with this command. Example 1: DC.W 1
Data format Byte data End Code W H DC.W 4 Command 4 DC.L MESSAGE1 Starting address of data
..................................
MESSAGE1: Example 2:
Data format Word data Data size 3 DC.W 4 Command 4 DC.L MESSAGE2 Starting address of data
32-
..................................
MESSAGE2:
System Program
- 40
Command 5
Address increment amount Add the amount specified in the next word to the V-RAM address output previously, and this is used as the output address. (Output to 3COOOOH) Example: DC. W DC. W DC. W DC. W DC.L DC.W DC.W DC.L DC. W DC. W DC.L DC. W 1, OFFH 3, 7202H 102H 4 DATA1 5, 20H 4 DATA2 5, 41H 4 DATA3 0 Data format Byk data End code OFFH V-RAM address (Fix character) Automatic increment 1 ( i character vertical output) Fx Data output one line to the right two lines to the right and one line down Command end code
Command 6
Resume the output of data previously output Example: DC.W 4 DC.L DATA4 DC.W 5,20H DC.W 6
...................................
System Program - 41
Command
7
Example: DC.W 7
End code One-byte dummy so that the next command will be an even address ie (This is necessary if the total data size is odd, but not necessary if the s z is even.) Command 8
Output data
If the output data size is odd, one byte must be placed after the end code as a dummy.
System Program - 42
Command 9
Fix 8x16 dot-matrix Japanese character horizontal output The format is the same as command 8. However, codes 0-1FH are changed to hiragana with voiced sound symbols, and code 60H-7FH is changed to katakana with voiced sound symbols. (Exclusive for common Fix TYPE 1) The automatic incrementing function is set in 20H for commands 8 and 9. Subcommand calling (A) and return (B) The pointer is moved to the address specified by the long word after command A, and command B returns the pointer to the original location. Up to four levels of these subcommands can be nested. However, command 0 (end command) cannot be used within the subcommands. Example: DC.W OAH DC.L SUB-COMMAND DC.W 0 SUB-COMMAND: DC.W 7 DC.B ' XYZ', OFFH DC.WS OBH
Call
Command A and B
........................................
Return
Command C
Continuous output of the same data The data specified in the next word is output continuously the number of times specified by the upper byte of the command. Example: DC.W2 H, 0020H Output data
+ L J
System Program - 43
Command
D
Data increment output The data specified in the next word is continuously output by being incremented the number of times specified by the upper byte of the command. Only the lower byte is incremented for the data, and the upper byte is not increased. Example: DC. W 200DH, 1180H
The data is output in the sequence 1180H, 118lH, 1182H,..., 119FH. (2) Output Data Set
* -
First output
Set the starting address of the output data (control command) in long word from the address indicated by MESS POINT (IOFDBEH, L). Then, increment MESS POINT by four. If MESS OUT is g%ng to be used for interrupts, set MESS-BUSY ( I O ~ % ~ C ~ H , B) to a value oth& than 0 so that processing does not coincide. By doing this even if MESS-OUT has been called, processing can be skipped. Also, even when simply accessing the V-RAM,if MESS-OUT is called, the V-RAM address may change. Be sure to use MESSBUSY. MESS-POINT points to MESS-BUFFER (10FFOOH) directly after the output for MESS OUT has been finished (when no data is set), and since the buffer size is 256 bytes, i sure not to exceed this size. k When 0 is set for the control-command address, a control command can be placed from the next address in the MESS-BUFFER.
System Program
- 44
Sample Program
ADDQ. B 81, MESS-BUSY HOVE. L HESS-POINT, A 0 MOVE. L #0000H, (A0) + MOVE. W #0003H, (LO)+ MOVE. W #7318H, (A01+ HOVE. Y #030lH, (A0) + MOVE. W #0001H, (A01+ HOVE. W #0007H, (80) + HOVE. W 100000H, (A01 + HOVE. W $0, (B0)+ HOVE. L #HESSAGEl,(AB)+ HOVE. L dB, HESS-POINT SUBQ.B $1, WESS-BUSY
fbusy flag s e t ;pointer g e t ;buffer d i r e c t comnand ;COMMAND 3 f output v-ram address ;COMMAND 1 ; 1 uord d a t a ;COHMAND 7 ; output d a t a ;COMMAND 0 (comnand end) ;next conmand a d d r e s s s e t ;pointer s e t ;busy f l a g c l e a r
0003H 7024H 00048 M1 S 0005H 0001H 0006H 0005H 0001H 0007H 'MESSAGE 3 ' 0FFH
Dc
;COHHAND 1 ; byte datasend code type ; data h i - b y t e 0,end code 0FFH ;COMMAND 2 ; auto i n c r e n e n t 20H ;COMMAND 3 ; output v - r a n address ;COMMAND 4 ; output d a t a address ;COMMAND 5 ; 1 l i n e down ;COMMAND 6 ; data continue- output : ;COMMAND 5 ; 1 l i n e down ;COMMAND 7 ; output d a t a (8 byte) ; data e ~ code d f dummy f o r even address
System Program - 45
;COMIYAMD 5
; 1 l i n e dok-n
;COMMAND 8
& 2 o u t p u t d a t a & end code ;COMMAND 5 ; 1 l i n e down ;COHMA.ND 9 ; data hi-byte 1 & 2 ; o u t p u t d a t a 8 end code ;COMMA!VD X ; s u b comnand a d d r e s s ;COMMA~D A ; s u b conmand a d d r e s s ;COMMAND A ; s u b connand a d d r e s s ;COMMAND A ; s u b conmand a d d r e s s ;COMMAND 0 ; comiand end c o d e
f
; data hi-byte 1
DC. B
DC. !
0,1,2,3,4,0FFH 000AB SUB-KESS 000A8 SUB-MESS 000BB SUB-HESS '000AH SUB -fiESS 00001
Hsl:
DC. B DC.8
;output d a t a 0FFH 'HESSAGE 1' , 'MESSAGE 2',0FFH 280CH 00208 l00DH 0500H 000BH
; 1st o u t p u t d a t a ; 2nd o u t p u t d a t a
;sub comnand ;COWWAND C ; B020H 40 times o u t p u t ;COMMAND D ; o u t p u t 0500H, QSBlH,. ,050FH ;COMMAND B ; s u b connand r e t u r n
..
If an error is detected during data output for MESS-OUT (such as an overflow of the command number), then the output is stopped at that point.
System Program - 46
[I] Game Data Structure on the Card The game data on the memory card is composed of the following four items: (Game ID placed in 108H) Game Number (16 types (0 through 15) for each game) Sub-Number Data Title (20 bytes) Game Data (64 byte units) The memory card is divided into directories, FAT and data, as with floppy disks, and these are controlled by the system. The game number and subnumber are placed in the directory. Multiple data can be placed for one game using subnumbers (for example, data for one-player games and twoplayer games). The game data is controlled in page units, and one page is 64 bytes. However, the data title takes up 20 bytes for the fist page, so only 44 bytes can be used for data. (The full 64 bytes can be used from the second page onward.) [2] Memory Card Access Accessing the memory card can be done by setting the parameters in the workspace for the card from 10m)C4H, and calling CARD (C00468H). Please do not access the card directly from the game besides special cases. ' The command result is returned in CARD-ANSWER (10FDC6H, B). "0" means that the command has been successfully executed, and other values signify that some error has occurred, and the value represents the type of error.
System Program
- 47
Command Input
This formats the memory card. All data in the card will be lost. Command Input Data search CARD-COMMAND byte CARD-FCB word Output CARD-SUB word 1 Game number
If bit n is "0," the data does not exist for sub-number n of the game number given by CARD FCB. " 1" means the data eiists.
Example:
Call CARD-FCB by setting the parameter as 1234H, and if the result CARD-SUB is 0110000010000101B, the data in the subnumbers 0, 2, 7, 13, and 14 exists for game number 1234H.
Command Input
Data Load CARD-COMMAND byte CARD-FCB word CARD-SUB byte CARD-START 1 word CARD-SIZE word 2 Game number Subnumber Data-load address
Output
The smaller size is selected between the data size on the card and the size specified by CARD-SIZE. The game data is loaded up to the smaller size selected, from the address indicated by CARD START. The game title is set in the beginning 20 bytes:
System Program - 48
Command Input
Data Save CARD-COMMAND byte CARXFCB word CARD-SUB byte CARD-START 1 word CARDSSIZE word
3
Set ,the data title in common Fix code (TYPE1for domestic and TYPE3 for overseas) for the beginning 20 bytes of save data. This is used for directory displays, etc., so please try to show the game title and the necessary data. (For example,
System Program - 49
Command Input
Data Delete CARD-COMMAND byte CARD-FCB word CARD-SUB byte This deletes the specified data.
4
Command Input
Reading the data title CARD-COMMAND byte CARD-START 1 word CARD-SIZE word
5
Data title/set address Directory number
Output
If CARD SIZE is n, the data title in the nth game data in the card directory% set in the 20 bytes beginning with the address indicated by CARD-START. Other output is as follows: CARD-FCB word CARD-SUB byte CARD-SIZE word Game number Subnumber
+1
All data titles on the card can be observed by first setting "0"to the CARD SIZE and by calling this routhe until CARD-ANSWER reaches 82H (no data).
System Program - 50
User Name Save CARD-COMMAND byte CARD-START 1 word User Name Load CARD-COMMAND byte CARD-START i word 7 User namejload address
6
The user name (16 bytes) can be specified for every memory card. (All are 20H during formatting.) The domestic format is Fix code TYPE1 and the overseas format is TYPE3. Saving and loading is performed from the address indicated in CARD-START. Note About Data Loading The system does not check the game data, so please use the data after checking the contents for each game. Please do not allow for errors to occur from data corruption or improper changes made by the user. We prohibit running the program directly on the loaded data and on the memory card.
System Program - 51
The result of the call made to CARD is returned in CARD-ANSWER (10FDC6HY B). CODE OH O 80H 81H 82H 83H 84H Normal completion The card has not been inserted. The card has not been formatted. The specified data does not exist. FAT irregularity Data full (insufficient data area). When saving data, if the same game number and sub-number already exist, the old data is deleted after the new data is saved. Description
85H
Some of the error handling for errors caused by the card may be performed by the system by calling CARD ERROR (C0046EH). Call CARD-ERROR by sending the exact parameters (iicludin~ CARD-ANSWER) returned from the card. The result of error handling is prompted with CARD-ANSWER. If "0" is returned, the previous command had been successfully executed after error handling, and other values denotes that the command cannot not be executed. During error handling the system handles the screen display, so set MESS BUSY (IOFDCZH, B) to "0." The screen goes back to the previous display after thereturn from error handling.
System Program - 52
j ERROR
C A R D - COM34AN.D
ji
A B
C
This displays the error status. After verifying that the card can be formatted, the card is formatted and the command is executed. (However, for commercial-use machines, formatting is done automatically without confmation.) Al data titles in the card are displayed, and allowing the user to select the data l for deletion to obtain more memory. Then, the data is saved. (This procedure can be canceled.) Nothing is performed.
If the same data exists when the card is full and the size of the data to save is the same as the already existing data, save the new data after deleting the old data. This is to prevent the players from having to perform extra operations for error handling, as much as possible.
System Program - 53
Cancel all sounds and enter an infinite loop in the work RAM after enabling the NMI. Retum " 1" to the 68000 right before entering the infinite loop. The system waits for "1" to be returned from the 280, and slot switching is done. Returning a "1" to the 68000 is prohibited if a sound code other than " 1" is received. (Always return a code other than " 1." If " 1" is left carelessly, slot-switching is done before the 280 is ready.)
Code 3 280 Reset
Perform the same process as the hardware reset. Complete the reset process within lOOm seconds. Code 2 Eye-catcher Sound
This is used only when the eye-catcher is done by the system. (When the main CPU's memory location 114H is "0") M o w this to be executed in any condition once code 3 has been received.
Allow codes 1 and 3 to be received with NMI as much as possible. In that case, the next NMI is not executed unless the 280 executes RETN,so be sure to execute RETN. Also, allows these two codes to be executed in any condition.
System Program 54
Monitor Command Monitor Commands DISPLAY MEMORY DISPLAY V-RAM MODIFY MEMORY MODIFY V-RAM MODIFY REGISTER TRACE RUN Displays the memory contents Displays the V-RAM contents Modifies the memory Modifies the memory Modifies the registers Trace mode (step-by-step execution) Runs the program (exits the monitor mode)
The command switches by using button A, and the command is executed with button C. The horizontal and vertical movements of the joystick change the parameters. The memory is accessed in words.
System Program - 55
3.
4.
5.
Please do not place any important displays in the 32 dots at both the left and right sidq and eight dots at both the top and bottom on the screen. (These areas may not be displayed, depending on the monitor.
System Program - 56
DC-L
DC. L DC.L DC. L DC.L DC. L DC.L DC. L DC.L
10F300H 0C00402H 0C00408H 0C0040EH 0C00414H ZD-ENTRY CHK-ENTRY TARPV-ENTRY 0C0041.AH 0C00420H L1010-ENTRY L1111-ENTRY 0C00426H 0C00426H 0C00426H 0C0042CH 0C00426H 0C00426H 0C00426H 0C00426H 0C00426H 0C00426H 0C00426H 0C00426H 0C00432H INTl INT2 INT3 INT4 INTS INT6 INT7
;Reset SSP ;Reset PC ;Bus Error=noni t o r e n t r y ;Address E r r o r ;Illegal Instruction ;Zero Divide '; CHK I n s t r u c t i o n ;TRBPV I n s t r u c t i o n ;Privilege Violation ;Trace ;Line 1010 Emulator ;Line 1111 Emulator ;Unassigned
n
9
n
1
;Eninitialized Interrupt
System Program - 57
ORG
DC-B DC.W DC. L DC. L DC. W DC. B DC. 0 DC. L DC.L DC.L JHP JM P JMP JN P 'NEO-GEO' ' 0 67898 800000H l00000H l000H 0 B JAPAN-DATA USA-DATA EUROPE-DATA USER PLAYER-START DEMO-END COIN-SOUSD
ID 1 Gane Code Ram S i z e ( 4 M b i t ) Backup Start Bickup Size U s e System . E y e - C a t c h E y e - C a t c h ch h i - b y t e Soft Dip D a t a
n:
n
ORG
DC. L DC.W DC.W DC.W DC.W DC.W DC.W DC.W DC. W DC. W DC.Y DC.W DC.U DC.W DC.W DC.W DC.W
:.
System Program - 58
JAPAN-DATA:
DC. B DC-B
0CAH,0EDH,76H,0E8H,20H703H,0F9H,0E0H
'
DC. W DC.W DC-B DC. B DC.B DC. B DC.B DC.B DC. B DC. B DC.B DC.B DC. B DC.B DC.B DC. B
20H,20H,20H, 20H,20H,20H,20H,20H ' Sample G a m e 300H 300H 3 100 ;Play tine 3 nin ;Continue Play 3 min ;Hero 3 ;Continue non-linit ;Bonus Type ;Bonus Rate ;Difficulty ;Demo Sound ;Not used
OC9H,0EDH,0D2H,BEFH,0DSH,0F4H,0FgH 06H707H,088,09H, 20H f Extended Play Time OAH,OBH,OCH,ODH,OEHtOFH 20H,20H,20H,20H,20H, 20H ;:~emaining Lives DC-B DC. B DC. B DC-B DC. B DC.B
0C9H,0EDH,0D2Ht0EFHt0D5H,0F4H,0F9H 20H,20H ,20H,20H,20H f Continue
'BONUS TYPE ' ' 'NO BONUS 'EVERY BONUS ' 'SECOND BONUS'
System Program - 59
DC.B DC-B DC.B DC.B DC. B DC-B DC. B DC.B DC.B DC.B DC.B DC-B DC.B DC.B DG.B
'BONUS RATE ' '20000/10000 ' '30000/10000 ' '50000/30000 ' ' 100000/50000' 00H,01H,02H,03H,04H90SH 20H, 20H ,20H, 20H, 20H, 20H ; ~ i f f i ~ ~Level lty ' 'LEVEL 1 ' 'LEVEL2 9 'LEVEL3 ' 'LEVEL4 ' . 'LEVEL 5 ' 'LEVEL 6 9 'LEVEL 7 ' 'LEVEL 8 20H, 20H, 20H, 20H ; Demo Sound BEE, OFH, 0A7H, 20H, 20H ,20H 20H, 20H, 20H, 20H, 20H, 20H f with 14H915H,8BH,20H,20H,20H 20H, 20H, 20H, 20H, 20H ,20H ; without
USA~DATA: EUROPE-DATA:
DC.B DC.W DC.# DC.B DC.B
'SXXPLE GAME
300H 200H 3 0
;Hero 3 ;Continue without ;Bonus T y p e ;Bonus Rate ;Difficulty ;Demo Sound f Not u s e d
System Program - 60
DC.B DC.B DC. B DC. B DC-B DC.B DC .B DC.B DC.B DC. B DC-B DC.B DC.B DC.B DC.B DC. B DC.B DC.B DC.B DC. B DC.B DC.B DC. B DC.B DC.B DC. B DC.B DC. B DC.B 'PLAY TIHE 'CONT. TIME ' HERO 'CONTINUE
'
'BONUS TYPE ' 'NO BONUS ' 'EVERY BONUS ' 'SECOND BONUS' 'BONUS RATE ' ' 20000/10000 ' '30000/10000 ' ' 50000/30000 ' ' 100000/50000' 'DIFFICULTY 'LEVEL 1 'LEVEL 2 'LEVEL 3 'LEVEL 4 'LEVEL 5 'LEVEL 6 'LEVEL 7 'LEVEL 8 'DEXO SOUED 'MITH 'WITH OUT
' '
$
I I I
'
1
'
?
'
System Program - 6 1
z. H 7
He'
Confidential
Neo-Geo Development Tool List Product Name Development Software PCB (ROM Type) Development Software PCB (IC Card Type) Sample Cassette Board (for Commercial-Use) Sample Cassette Board (for HomeUse) Development Neo-Geo Main Unit Controller RGB 21-Pin Cable Memory Card (for Games) Reference For both home and commercial uselcharacter 128 MICan use 1 M or 4 M EPROM For both home and commercial uselcharacter 128 M/Uses 4 M or 32 M IC card. Mass-produced typeICan use 16 M EPROM * Note: Product availability may be affected by stock on hand. Contact SNK for availability information. Mass-produced typelCan use 16 M EPROM * Note: Product availability may be affected by stock on hand. Contact SNK for availability information. Can develop for both home and commercial uselone controller, AC adapter, and AV cable are accessories. Controller exclusively for Neo-Geo RGB output cable exclusively for Neo-Geo main unit 2 K-byte (commercial product JEIDA Version 4.1 SRAM card can also be used) Game play data storage card RGB cable for the monitor as an accessory * The mouse is not an accessory. (A mouse for PC98 can he used; DSUB 9-pin.) SCSI cable for the Art Box is an accessory. Software for PC 9800
1. 2.
3.
4.
5.
6. 7. 8.
9.
Art Box (Character Development Unit) SCSI Hard Drive (For Character Development) Sound Program (for Neo-Gw Development)
10. 11.
1. Development Software PCB (ROM Type) 2. Development Software PCB (IC-card type) This is the development board, which uses EPROMs*. It corresponds to all programs, characters, and sounds, and is used for both home and co~nmercial use. It allows up to 128 M characters. It can use 1 M or 4 M EPROM*. * Not available from SNK. This is the development board, which uses the IC card*. It corresponds to all programs, characters, and sounds, and is used for both home and business. It allows up to 128 M characters. It can use 4 M and 32 M IC card'. (Can use JEIDA Version 3 or 4) Note: Only the PCM uses the 4M EPROM*. *Not available from SNK.
4. Sample Cassette Board (Home-Use) Mass-produced type. Can use 16 M EPROM*. *Not available from SNK.
Catalogue - 2
6. Controller
This is a product for which the CPU (280, 68000) of Neo-Geo main-unit controller the home-use Neo-Geo board is used as a pin socket, * Two controllers are recommended for and for which the ICE can be used. develop~nen of dual player games. t It is equipped with a development system ROM Possible for different country versions, co~nmercialand home-use check. use. Can develop for both home and co~n~nercial One controller, AC adapter, and AV cable are accessories.
Catalogue - 3
This is a design tool for character development. This is used as the external memory device of the Art Box. RS232C, RGB output, bus mouse, Centronics, and IC card output (can use JEIDA Version 3 or 4) are used as 110s. The RGB cable for the monitor is accessorized.
Catalogue - 4
6. Controller
* 1. * 2.
* 3.
* 4.
* 5.
Sound Development
Personal computer such as PC 9801, etc. 12 MHz 68000 ICE (In-Circuit Emulator) RGB 21-pin inonitor PAL monitor (for PAL specification checking) < such as the Toshiba 21 System Core FS > EPROM writer (better if it can accept the 16 M EPROM) < Recomn1ended:AF-9705, by Ando Electronics > Personal computers, such as the PC9801, etc. 280 ICE (In-Circuit Emulator)
Catalogue - 5
* 1. * 2.
,a:.
9. Art Box (Character development unit)
S1
( .
mmqs
* 2. Bus mouse
* 1. * 2. * 3. * 4. * 5.
RGB 21-pin monitor Bus mouse (400 dpi for the PC-9800) EPROM writer (better if it can accept the 16 M EPROM) <Recommended: AF-9705, by Ando Electronics > Scanner (Recommended: Epson GT-6000 > PAL monitor (for checking PAL specifications) < Recommended: Toshiba 2 1 System Core FS >
* We also do not market the IC card used for the PCB develop~nentsoftware (IC card type).
Development Software PCB @OM Type) X3002 Series Number of Mega Bytes Manufactu rer Toshiba Toshiba Toshiba Toshiba Toshiba Toshiba Toshiba Toshiba Toshiba Model Reference
FIX
Character Program Music PCM
1M 1M 4M 1M 4M 1M 4M 1M 4M
TC571001 or TC571000 (N-JEDEC) (JDEC) TC571001 or TC571000 TC574000 TC57100 1 or TC571000 TC574000 TC571001 or TC571000 .TC574000 TC571001 or TC571000 TC57400
Can switch between JDEC and N-JEDEC Can switch between JDEC and N-JEDEC Can switch between JDEC and N-JEDEC
OE = Outpiit Enable Refer to the cross reference on a separate sheet for details.
Materials - 1
Sample Cassette Board Number of Mega Bytes Type Manufacturer Model Reference
FIX
Character Program
1M 8M 16 M 4M 4M 8M 16 M
Toshiba Toshiba Toshiba Toshiba Toshiba Toshiba Toshiba Toshiba Toshiba Toshiba Toshiba
TC57 1001 TC578200 TC5716200 TC574096 TC574200 TC578200 TC5716200 TC571000 TC574200 TC578200 TC5716200
N-JEDEC 20011s 20011s 20011s 150ns 150ns 150ns 150ns JEDEC 20011s 20011s 20011s 200ns
Music PCM
1M 1M
8M 16 M
OE = Output Enable Refer to the cross reference on a separate sheet for details.
Materials - 2
Materials - 3
Materials - 4
Development Software PCB (IC Card Type) X3002 Series <PI-C2> Reference Can use both Versions 3 and 4.
Number of Display on the IC Card Version Mega Bits Card Surface JEIDA Ver. 4 FIX 1M 128 JEIDA Ver. 3 4M 512 Character 4M JEIDA Ver. 4 32 M Program 4M 512 JEIDA Ver. 3
Capacity switching is possible via the slide switch (SWl and SW2). Cannot use the Version 4 card for the program. Access time: 150 ns
* *
Music
1M 4M
128 5 12
*
'
The JEIDA Ver. 3 IC cards are not rnarketed to the public. Versions after JEIDA Ver. 4 IC cards can be used instead of version 4. The data region for the PCM is exclusive to " M EPROM (JEDEC)." Nuinber of Mega Bytes Manufacturer Toshiba Model TC574000 Remarks Less than 20011s
PCM
4M
i 1
1
i i
JEIDA
Data bus D l 5 8
V.e;'r-4
Unused
F
10
Address
43
Materials - 5
Regarding the access time of the JEIDA Version 4 IC Card Generally it is "200 nanoseconds." We recoinmend "200 ns," although there is the "250 ns" type.
Regarding the IC Card Reader for the JEIDA Version 4 IC Card The other IC cards (not the programs) can only be read with this development board. Please purchase the "IC Card Reader for Version 4," which is being marketed. Recommended Products Manufacturer: Product Name: Type: Adtech Systems RAM-Zo A M I-2 2 Corresponds to flash memory.
Regarding the IC Card Capacity Display Generally, the capacity is displayed in bytes.
Example: Card Display When Converted to Bits 512 K Bytes 4096 K Bits = > 4M Bits 2 M Bytes 4 M Bytes 16 M Bits 32 M Bits Mu1tip1ies the card display eight times
For 64M-bit characters (Ver. 4) Developing using two cards 64 i 2 = 32 M bits Thus, 32 M bits per one card
4
Developing using four cards 64 + 4 = 16 M bits Thus, 16 M bits per one card
4
16 + 8 = 2M bytes
4
32
8
4
4 M bytes
Materials - 6
Materials - 7
Examples of Sound Development Utility Devices Mixer Patch Bay Synthesizer Sampler Sound Processor Sound Effect Library Audio System Connects between devices and adjusts the sound quality. Used along with the mixer, and smoothes out connections between devices. Used as sound source for instrumental sounds and effects. Used as sound source for instrumental sounds and effects. Also, short recording, editing, and processing are performed. Processes sound, such as echoes, etc.
50-60 set CDs Various sound effects are recorded (includes the licensing fee).
Power amps, speakers, DAT, microphone, etc.
Materials - 8
future is
Neo-Geo/MVS Game Development Process The Neo-Geo and MVS game software packages at our company are developed through the following process, Please read this section as a reference, (100 M software was used to determine the production period, and the following is an average example.) Draft an original plan for the project (approximately 30 days to draft the plan) , Planning meeting: Define the plan's submission deadline for the plan. details and determine the
Develop the plan and test characters, then proceed to a design review (30-60 days for development). Planning meeting: Review each step in the program's production process, including characters and sounds, and submit on the deadline. Start character development (180-240 days after start of the development)
(210-270 days after start of the (60-120 days after start of the
development
Character and sound check: Perfopn corrections and changes as necessary, Game-detail check and company location -> Perform corrections and changes as necessary, Start the debugging process (start about 60 days prior to the final deadline date) , Location testing: Perform corrections and changes as necessary after the final check of each item, Complete the character and sound master ROM: Submit the ROMs to SNK , Complete the program master ROM, Submit the ROM to SNK.
Perform the debugging process for approximately a week, even after submitting the final ROM revision, The entire process takes approximately 10-14 months.
Software Development p o l
El
[video arcade] What is Neo-Geo?
Memory Card
1
Neo-Geo [home]
The Neo-Geo system allows individuals to play games which are usually installed in video arcades. Individuals can rent larger capacity hardware at rental stores, or they can purchase the hardware and software. A memory card, which is compatible with the MVS, is used to store the game information, thus the player can continue the game at home after leaving the video arcade, What is MVS (Multi Video System)? MVS contains one or more program cartridges which differ in size from the consumer cartridges, There are two types of MVS: one has multiple cassettes and the other .type is equipped with a single cassette, Players using the multiple slot system can choose which game to play by pushing the Game Select Button (described later),
MVS is designed for coin operation usage,
* * * *
[Domestic distribution] board with 1 slot (capable of connecting to a JAMMA unit) board with 2 slots (for the special upright unit) board with 4 slots (for the special table or upright unit) board with 6 slots (for the special tgble or upright unit)
[Overseas distribution] with 1 slot with 2 slots (for the special upright unit exclusively used with 4 slots (for the special with 6 slots (for the special
"Slotan means a game cartridge receptacle. The above configurations were available as of February 1991; what is currently available may differ, (~etails be described later) to
A memory card stores information, such as the player Is status and area, enabling the player to continue play at home (using Neo-Geo) after leaving the video arcade (using MVS), Therefore every game should be compatible with the Memory card, (Although the game should be playable without a Memory card.)
Differentiating the Neo-Geo and MVS games When designing a game, consider including some features to distinguish the Neo-Geo version from .theMVS version (see the examples below). The purpose is to give some incentive to users to rent Neo-Geo; please design in such special features in order to raise the entertainment value of this machine to consumers. Examples : Make the Neo-Geo's standard difficulty level different from the MVS version's level. Allowing the Neo-Geo difficulty level to be fully selectable raises player interest. Include more varieties and longer demonstration images in Neo-Geo, since the length of play does not have to be cut down so much for home. Extra ideas, which can not be included in the game for MVS because of the limit of play time, may be incorporated in the game for Neo-Geo. The number of bonus or continued games should be limited in (In that case, please display the bonus or Neo-Geo , continued games left.) Game Content, Language, and Symbol Considerations The Neo-Geo and MVS units operate in a wide variety of home and arcade locations, The players have a wide age range, especially for the Neo Geo home unit, which is used by families, When designing the game project, the following factors must be considered during the design. A recent game trend is the introduction of ultra-violent games which are designed to use shock value to gain audience. This trend has caused regrettable actions to occur in terms of public acceptance of games and exposing a younger age range to violence beyond their years. SNK Corp, requests that the game designers use good judgement in their game design, Though there is no set guidelines, please refer to the following below as a gauge in the design stage.
1,
2.
3. 4.
5,
6.
Avoid scenes of spurting blood or ultra violence for the game actions, even in secret moves, Symbols of adult consumption such as liquor bottles and cigarettes or large wads of money require special consideration. Avoid religious symbols of any form. Copyrighted symbols and trademarks or brand names are not recommended, unless there is a brand tie-in for the game basis. Similarly, avoid using famous people's names or likenesses due to possible invasion of privacy. Profanity and anti-social language are to be avoided. Avoid using sound effects or music that is borrowed without permission of the authors/composers.
As a general rule, the most important thing to remember is to give a good play value without resorting to shock tactics. Comedy in good taste is a very good method to add gaming value to any game. If the whole family can laugh together at a game with a sense of humor, it provided a more enjoyable experience without being offensive. Software Development p.3
Brief Game Flow (MVS Only) The MVS unit game developed by our company flows as shown below. The screens marked with a + must be developed, but the ones marked (Since the with a f are optional, depending on each project. following is strictly basic, please consult with our company before development or refer to our games for actual processes.) The software dip unit settings are standardized, as are the hardware dip. (Please refer to the sections on software dip and hardware dip.)
............ . Power ON .
I
1
the credit is 0, loop here . ................................ Display the FBI mark (U. S version only) . (displayed by the system)
I
-1
Title demo (*) is displayed from slot 1 in order Game demo display (*)
I d
* I Insert credit 1
Fqrced start countdown display (*) (if game start compulsion is set)
.............................................................. . Start button ON If there are slots .......................... game to be played canbutton the . . start countdown , . with the gamemultiple be seiected.. . Forced .. select . time out .....................................
I
1
(
(only when there is a memory card)
I
m
Naming (4)
I
I
I
Performance of ~eo-Geo/MVS (Provided herein are specifications needed for software developers) .Display Method lSprite One sprite character consists of 16 dots x 16 dots, and 32 sprite characters, vertically arranged, form into one line sprite, Neo-Geo is made up of 32-character line sprites (of 16 dots x 512 dots each) with back characters, such as backgrounds, also comprised entirely of line sprites. 380 line sprites are all prioritized. In actual programming, these line sprites are allotted for such items as the main characters, enemies, and backgrounds. A maximum of 380 line sprites can be displayed; however, should over 96 line sprites be horizontally displayed at one time, line sprites from the highest priority will start missing. Every program, therefore, must be worked out with this in mind. (This precaution must be taken only when more than 96 lines are displayed horizontally.)
I FIX
...................................................
One character consists of 8 x 8 dot matrix, and scrolling (dot-by-dot movement) is not possible. This is given a higher priority than the sprite, and this cannot be changed. In program development, this is used to display the Neo-Geo system display, scores, etc,
Screen Size (Maximum display area on.the monitor) The screen size is 320 dots (20 characters) horizontally x 224 dots (14 characters) vertically.
.
-1
...
i
i
--..---ae .------..
i
i
288
4 -
2 2'4
208
1L-.
i
I 3 20
-... ......
.......
(Caution) Some monitors may not provide the full display of 320 x 224 (partly not visible); therefore, it is safer to set such important display items as the main character's life gauge, etc. within the 288 x 208 area. (288 x 208 is what we consider as the safe area, and it is suggested that you use your own .-:i judgment for the display positions.)
Palettes One palette consists of 16 colors with 0 as blank for O-F. There are up to FF (256 units) palettes, 4,096 out of 65,536 colors can be displayed at one time, In the O-FF palette number range, it is possible to have O-F for the FIX and the remaining 10-FF for the sprite, (The O-FF palettes for the FIX are usable for the sprite as well, butthe palettes for the sprite are not usable for the FIX,) In some programs FF may even be insufficient, so the palette number can be expanded to a certain number of units, (This varies from program to program, ) Functions The MVS and Neo-Geo hardware have functions such as reduction, autoaction, vertical (V) and horizontal (H) flip in character units, and lowering of the color tone.
I Reduction
The sprite can be reduced from 100% to 0%. The reductions can be done in 256 levels vertically and 16 levels horizontally, (The reason that there are only 16 levels horizontally is that a one-line sprite consists of 16 dots horizontally,)
(Note)
If an item is reduced more than 256 dots (16 characters) vertically, one dot of the character below will be pulled up when displayed (refer to the left diagram), When reducing an item that is more than 256 dots, it is necessary to take measures such as leaving the lowest dot blank, (Please perform these measures and ideas during development,)
IAuto-Action
By using this for items that are displayed as constant action in loops, such as rivers and spectators, the CPU processing load can be reduced, This can only be used with sprites, and the number of actions can be selected from two types four and eight step and settings from 1/60 to 256/60 seconds can be set as the action speed, (Note) The parsing method of the character for auto-action differs between the selection of four step actions and eight step actions. For four actions, the first character of each action is placed in each character bank where the lower digit is 0, 4, 8, and F, then the second character, third character, and so on, are parsed. For eight step actions, they are placed in each character bank where the lower digit is a 0 or 8, and are parsed in the order of action. (Even if the first and third actions are entirely the same, they are treated as completely different characters for auto-action characters. ) Vertical and horizontal flips can be performed in character units for the sprite, The tone of the game screen can be decreased (a little bit) ,
I Character Flip
I communication Function
The communication function is not included as the basic function of the hard drive, but it becomes possible by adding a communication board to the cassette side, Please take note when planning, that there are restrictions in amount of data that can be sent or received during communication, Sound Function This chip can A Yamaha YM2610 is used as the sound-source chip, simultaneously produce three sounds: ADPCM (speech synthesis), four seven-sound FM sound source, and SSG (PSG compatible),
IADPCM-A and ADPCM-B
There are two types of ADPCMs used for speech synthesis, and the number of sounds, etc,, differs, Number of Sounds 6 Sounds 1 Sound sampling Rate 18.5 KHz 2.0-55.5
KHz
Number of Seconds That Fits in 4M ROM Approximately 1 Minute Maximum of 2 Minutes If the Quality is Decreased.
ADPCM A ADPCM B
The sound quality improves as the value of the sampling rate is increased for the "ADPCM-Bw shown above, but this would require more memory, But if the sampling rate is low, it would require less memory, but the sound quality would decrease, The tuning can be changed by changing this value during replay, For example, if an instrumental sound, etc,, is recorded, it can be used as the BGM. The llADPCM-Bwcorresponds to both BGM and sound effects. Depending on the plan, it can be used for sound effects or BGM, especially as B6M instruments,
I FM Sound Source
Four sounds can be produced simultaneously by the FM sound source. three low-frequency sounds can be produced, which can be mixed with noises.
I SSG Sound Source This sound source is compatible with the PSG, and
I Sound Arrangement
The sound arrangement depends on each plan, The diagram below is an arrangement for when our program is used: ADPCM-B 3 sounds, FM 4 sounds. BGM ADPCM-B 1 Sound Effects ADPCM-B 3 sounds, SSG 3 sounds 1 type sound
I Volume
In order for it to be compatible with the MVS, please follow our s~ecificationsfor volume adjustment.
Regarding the System ROM A system ROM that controls the game system is built into the NeoGeo/MVS. The following detail controls are handled in different regions by the system ROM. Types of System ROM MVS Neo-Geo Japan/U.S.A./Southeast Asia/Europe Japan/U.S.A/Europe/Asia
MVS Regional Specification (The details of each item are described on the next page.) Specification Language (Display Method) Coin 1 Japan Japanese U.S.A. English Southeast Europe Asia (Korea) English English
Coin 2
Coin 3 Coin 4 Credit/Coin Setting Credit/ LED Display FBI Display Continue Service Start Button 1 Start Button 2 Game Select Cross-Hatch Color Forced Start Current Version
Unused Unused Separate coin slots 1 and 2 Same for P1 & P2 None None P1 start (note) 2 P1 and P2 start After coin insertion Red Possible Version 5.0
P1 only Coin counter 1 P2 only Coin counter 2 Unused Unused Same for coin slots and 2 One for P1 & one for P2 Yes Yes P1 start (note) 2 P2 start (note) 2 Before coin insertion Sky Blue None Version 5.0
Both P1 t P2 Coin counter 1 Both P1 t P2 Coin counter 2 Unused Unused Separate for coin slots 1 and 2 Same for P1 & P2 None None P1 start (note) 2 P1 and P2 start After coin insertion Blue Possible Version 5.0
P1 only Coin counter 1 P2 only Coin counter I* P1 only Coin counter 2 P2 only Coin counter 2 Separate for coin slots 1 and 2 One for P1 & one for P2 None None P1 start (note) 2 P2 start (note) 2 After coin insertion Yellow Possible Version 5.0
. Software Development p 9
*.
If DIP No. 2 is off for hard dip in the European version and "Coins 1 and only (Coins 3 and 4 will not be used)" is set, then the box will be changed as follows
2
P2 only
coin counter 2
Descriptions of terms from t h e previous t a b l e Regarding ' t c o i n s t ( b I n p u t of c o i n s 1-4 can be accepted, but "same f o r P 1 means t h e y s h a r e t h e same LED c r e d i t d i s p l a y .
& P2"
Ex.) An i n s e r t i o n of one coin means one c r e d i t f o r coin 1, and t h e i n s e r t i o n of two c o i n s means one c r e d i t f o r coin 2. There is only one LED c r e d i t d i s p l a y , and it shows a value of two when one coin is i n s e r t e d i n c o i n 1 and two c o i n s i n s e r t e d i n coin 2.
A
" P I onlyw and "P2 onlyw means t h e y have independent c r e d i t LED d i s p l a y s . The p o i n t t o note i n t h i s s p e c i f i c a t i o n is t h a t t h e credit r a t e f o r coin 1 and coin 2 w i l l be t h e same. So, t h e number of c o i n s f o r each c r e d i t w i l l not vary, such a s one c o i n . i n s e r t i o n f o r a coin-1 credit and two c o i n i n s e r t i o n s f o r a coin-2 c r e d i t . The hardware is equipped t o d e a l w i t h t h e i n p u t of coins of d i f f e r e n t values i n t o coin 3 and c o i n 4. (However, d i p switch 2 must be on. )
Example) Note)
Player 1 = Coin 1 (#loo)/ Coin 3 (g50) Player 2 = Coin 2 (#loo)/ Coin 4 (g50)
US ..
Coin 1 and coin 2 do not have t h e above meanings f o r t h e version. Coin 1 i n d i c a t e s "coin t o s t a r t t h e gameM and coin 2 i n d i c a t e s "coin t o continue game during t h e continued countdown." (This is described l a t e r i n the s e c t i o n , 8tContinue Service. ")
Regarding t h e "Coin Counter* b There are two types of coin counters, and one counter is a l l o c a t e d f o r one type of coin. "Both P1 & P2" means t h a t c o i n 1 uses counter 1 and coin 2 u s e s counter 2. "P1 onlyw and "P2 onlyw means t h a t coin 1 o r c o i n 2 u s e s counter 1 and c o i n 3 o r coin 4 uses counter 2. Regarding " C r e d i t LED Displayw b "Both P1 & P2" means t h e r e is only one c r e d i t LED display, but " P I onlyw o r "P2 onlytt means t h a t t h e c r e d i t LED d i s p l a y s a r e independent f o r players 1 and 2 . Regarding t h e "FBI Displayf b A s one method t o prevent copying, t h e U.S. v e r s i o n displays t h e "Drug Preventiontt announcement and t h e F B I logo.
Regarding "Continue servicew D A regular number of coins is required when starting a game, but for the U.S, version, when coin(s) are inserted during the continue countdown, the game can be continued with fewer coins than the regular amount, Example) Coin 1 = One credit for two coins Coin 2 = One credit for one coin For the above settings: Coin 2 is the number of coins required for one credit at the start of a game, and coin 2 is the number of coins required for one credit during the continued countdown, Regarding the "Start Buttonw
b With "Both P1 & P2," start button 1 allows only player 1 to or continue a game. Start button 2 allows players 1 and 2 to at the same time if there are two or more credits, After the starts, start button 2 can be used for player 2 to continue a
'
With "PI onlyw and "P2 only," the start buttons are independent, while start button 1 relates only to player 1 and start button 2 relates only to player 2, Regarding "Cross-Hatch Colorsw
D The region type of the system ROM can be identified by the color displayed around the cross-hatch during the test screen,
Regarding the "Forced Start" After the coin has been inserted, the game will start automatically after a fixed duration, without pressing the start button, This is a standard setting and can be changed with the mode-select menu (described later).
D
Regarding the Hard Dip (MVS Only) The unit's condition can be controlled with the hard dip with the MVS (along with the control using soft dip). The hard dip is located on the MVS system PCB, the location varying, depending on the PCB model. All settings are read and set on power up, except for switches 7 which affect the game mode immediately. Switch Number
1
& 8
Details Turn this on, and when the power is turned on the soft dip screen is displayed. Off = two-coin system status On = four-coin system status/ When coin 3 and coin 4 are used Turn this on when connecting the mahjong computer panel. This is used as the unit identification number during communication. There are four types: It4-OFF and 5-OFF, It "4-ON and 5-OFF, " "4-ON and 5-ON, tt and "4-OFF and 5-ON." Turn this on to enable the communications mode. The game can be played without credit if this is turned on. The screen stops when this is turned on.
Coin System
4 5
6 7 8
About the Mode Select Menu (MVS only) With the MVS, each game's parameters are set using the Parameter Selection menu. This menu also sets some of the parameters used in the operation of the game machine itself, in conjunction with DIP switches. Mode Select Menu- operation
I
When the test switch located inside the unit is pressed while the MVS system's power is on, or switch #1 is set in the hard dip, the following menu will appear on the display. When the menu is displayed, use the 1P joystick to select an item which needs to be set or verified, then push button A to go to that item. The display will then show the selected page. Hardware Test Hardware (DIP) Switch Set Parameter Select Software Income Records Password Calendar Set Exit - dd/mm/Wyy
- Hardware Test
Items on the Hardware Test change when the player-1 button is pressed. An item especially useful for development is the "Memory Card Test or Backup RAM ClearN displays. Power the PCB down to exit from the Hardware Test page. [I] Crosshatch
121 RGB Test
.
SO1INO T E S T
<:llK<:K 1.2
0 0 0 0
0 1 I'
IZ34ZiG7R 00000000
OYY
K IG I I T 1.R P T CENTER
0 0
0
0
S C H V I (:KO
0
0 0 0
Kt. 5
t.Klll
RR
t.l<llX 27.
.- . . . -
S)?l.l?CTO
On this menu, the Memory Card is tested to ensure that it works properly; in addition, the contents of the Backup RAM in the MVS unit can be cleared. the Memory Card is inserted, the screen reads : I "MEMORY CARD TEST OK" : When no Memory Card is inserted, it reads : . - - - - - - - - "INSERT MEMORY CARD" .
I
BACKUP CLEAR
t I
t
C.
- - ;- When --
OK = PUSH A, B, C BUTTON
[Memory Card Test] Proper functioning of the Memory Card is tested. Please be advised that the data contained in the Memory Card becomes corrupted during this test if the Memory Card has any data in it. [Backup RAM Clear] When buttons A, B, and C are pressed simultaneously, the system initializes various parameters stored in the backup RAM of the MVS. Please be careful when performing this operation since all of the following are cleared by this procedure: unit parameters, software parameters, the calendar, and the income records. [6] Calendar Set Note: Calendar Set Current date and time ~ / ~ ~ / Y Y Y Y hh:mm:ss New date and time Use button A and joystick to select. Use button B to set. ~ / ~ ~ / Y Y Y Y hh:mm: ss The internal calendar may be altered slightly when the income statistics, described later, are collected. Please keep this in mind when the system is used for field trials.
.....-.-......... -............ . -.....--... . .--......--.-..----.""" ..., j:......... Select - 'DIP Switch..Status .. t .....ode .........--,.---..." ..-.. .-.-.".-.."... ...--...--- .. -. .
,.."..I"...".-
Displays the status of DIP switches on the main board. 1 2 3 4 5 6 7 8 O....... Mode - 0 . . Controller Communication 0 0 0 Bonus Play - 0 . - 0 Stop Mode 0 = OFF, 1 = ON OFF Normal OFF OFF OFF
. ...
..... ......
f
... ..
i Software
Parameter Set
On this page, the system parameters and software control parameters (such as the difficulty level and bonus points) are checked and set for each game. Confirm that these values are correctly set while debugging the system as described in "Debugf1 section later, since these parameters directly affect the game. is When nEXITfl selected, the system is reset and the screen is changed.
*
-+
System Parameters Slot 1 game title.. Slot 2 game title Slot 3 game title Slot 4 game title Slot 5 game title Slot 6 game title.. EXIT
. . .... These items may vary depending on the . number of slots and the number of games .
in the machine. Display the maximum number of letters possible for the software title.
After Ifsoftware Parameter Setffis selected, the display will show a list of selections as shown on the left. Please select either Ifunit Parametersm or one of the games from the list.
The system8 software parameters of the unit are set and checked. s
4
COIN-1: 1 COIN = COIN-2: 1 COIN = GAME SELECTION : Time before game Demo sound : Set
* Use the joystick to 1 CREDIT select the item to be 2 CREDIT Only when player has credit changed and press button A or B to set, Push button start : 30 seconds C to return to the by each game previous page,
Item Credits for coin-1 Credits for coin-2 Game Selection Method ~utomatic start
Default Contents Number of credits per coin inserted into coin 1 credit slot 1 Number of credits per coin inserted into coin 2 credit slot 2 Whether the player can select the game when there Only when is no credit left, or the selection can be made the player only when there is some credit left (multiple has credit slot system), Select whether to start the game automatically 30 seconds after the time limit, or to wait until the Start button is pushed (game start compulsion, from 159 seconds), This sets whether there will be demo sound for Set by the entire unit. If this parameter is set to each game wOFFN, no sound is played even if the game's sound parameter is turned "ONu,
i Game Parameters f
L . . .
Each game installed in the system uses software parameters which are checked and set on this page, The contents of the parameters differ from game to game,
* *
The maximum of 15 items can be set by each software; each item can have 15 options, (See the following examples for details,) Please note that, of these 15 items, items numbered 1 to 4 can also be controlled in a more detailed fashion by the system ROM, For example, the time can be set to minutes and seconds precision level, However the items that can be set by the system are limited depending on the system's configuration,
Items that can be controlled by the system (The same parameters set in items 1 to 4 may also be set using menu items 5 to 15, however, items 5 to 15 only have 15 options for each item.) 0 minutes 0 seconds - 59 minutes 59 seconds Play Time 1 Continue Play Time 0 minutes 0 seconds - 59 minutes 59 seconds 2 Limit 1 - 99 Number of Lives 3 (e.g. planes) Number of Continue None, No Limit, 1 - 99 4 Plays Examples of items which can be set by each software, (Contents of each item is up to the developers,) Minimum 4 levels, maximum 15 levels, 5 Difficulty Level " ... .. Sample difficulty levels (for 8 levels): 1 : very easy 2 : easy 3 : a little easy 5 : a little difficult 6 : 4 : average difficult 7 : very difficult 8 : extremely difficult No bonus / limit two / no bonus limit 6 , Bonus Setting Note: When nlimit twon is set, player gets up to two bonuses, one bonus each time the score reaches a bonus score level. "no limitn increases the player bonuses for unlimited number of times. -......Example : When the bonus score setting is at 1000/2000 1st bonus : 1000 '2nd bonus : 1000 + 2000 (System gives no more bonuses if "limit twow is set,) 3rd bonus : 1000 + (2x2000) and 4th bonus : 1000 + ( 3 ~ 2 0 0 0 ) ~ so on, 7 Bonus Score 15 levels maximum 8 yes / no Playing Instructions 9 Demo Sound yes / no 10 Credit Display yes / no 11 Free 12 Free 13 Free 14 Free 15 Free
-.-..--.---..-.-----.-.-a-.
" S.. U ..
(Shooting game example) NAM 2020 4 CONTINUE PLAY NO LIMIT DEMO SOUND YES 3 NUMBER OF PLANES DIFFICULTY LEVEL 4 BONUS SETTING LIMIT TWO BONUS SCORES 1000/2000
(Sports game example) HYPER BASEBALL - PLAY TIME , 03 :00 CONTINUE PLAY TIME 04: 00 CONTINUE SETTING -YES DEMO SOUND YES PLAYING INSTRUCTIONS YES YES CALLED GAME
Note: A maximum of 8 items can be displayed in one screen page in the above examples. When 9 or more items are used, place "NEXTm in line 8 and design the second page to be displayed when the player moves the cursor to the bottom of the page using the joystick. The first page appears again when the cursor is moved to the top of the second page.
i Income . Records i
For the MVS, various data such as the unit's total income and the income and playing time of each of the games are displayed and verified on this page. Please be careful when you execute the Backup RAM clear, since these income records are stored in the backup RAM, and they will be deleted when the RAM is cleared. This page is mainly used by the operator, and it is also useful for the income checking during location testing. UNIT/COIN UNIT/PLAY SLOT-1 game SLOT-2 game SLOT-3 game SLOT-4 game SLOT-5 game SLOT-6 game
.......... ..... Unit's income and play .......... ....: displayed. title .. .....
title title title title title
data are
.. .....
The unit's income records are displayed in the following order: "Weekly Datatt, "Monthly data, January through June", "Monthly data, July through Decembertt, Each category contains the f0110~ing data: "Income from coin slot l", "Income from coin slot 2", and "number of service credits, " Income Records
- Unit/Play
The unit's game records are displayed in the following order: "Weekly Datau, "Monthly data, January through Junew, and "Monthly data, July through Decemberu, Each category has data on "Number of games playedtt, "continue gamesw, and "Average time." 11ncome Records
- Income, by
game title
Game statistics of each game (such as "number of games playedtt, "continue gamesw, and "average timew) are displayed, Note: The income data might be altered when software cartridges are changed, Please execute the backup RAM clear after the change, Password Set
.
1
Push button D to set, When the memory card is used, be sure to set the password in the memory card as well,
y
fMode.Select ................
....
* -
Calendar Set j
About Memory Card By having a memory card to store the player's score, area, etc. in a game, the player can continue, (using the NEOGEO system), the rest of the game played at the arcade (MVS). The memory card is a selling strength of the Neo-Geo system; therefore, every game should be programmed with memory card capability. Specifications of Memory Card (Information needed for programs) The memory card has " 2 7 pages," and each page consists of 64 bytes. The data at the head of the page is used for the title display and uses 20 bytes, leaving 44 bytes on each page. Although multiple-page use is possible for one game, please try not to use too many pages (to avoid situations where there is only one title in a memory card). Consulting with a programmer regarding this matter is recommended in developing a program. Card Format A memory card, if not yet formatted, can be formatted when it is saved or when the memory card utility menu is displayed on the monitor screen (as explained below). Memory Card Utility Menu (Neo-Geo unit only) When a memory card is set in the Neo-Geo system and then the system is reset with the buttons A, B, C and D pressed down simultaneously, the memory card utility menu is displayed. In this mode, the user name can be registered in the memory card, or data copies can be performed, etc. The operation here is to be performed according to the instructions displayed on the screen. Memory Card Utility
+
1 Format card 2 Display data name 3 Data copy 4 Erase Data 5 Register user's name 6 End
....
. Select with
~egulationsfor saving Data The data saving method and points are up to each program developer; however, the following fundamental display regulations must be strictly met : Common Regulations At the saving point, display IIMEMORY CARD SAVE1' and the option of I1YESI1 or "NO." If the complete phrase does not fit, it is acceptable to just display "SAVEw and I1YESWor "NO." The basic position of the selection is set at be made with the lever and the selection can button A . selections can be chosen with
If the selection is "YES," "DATA SAVE OKw is displayed to indicate to the player that it has been completed. If the entire phrase cannot be displayed within the display frame, the "SAVE OKw display is acceptable. If the selection is llNO,wthat is the end of the "MEMORY CARD SAVEw procedure. As a rule only for the MVS, do not show any displays regarding the memory card unless the card is set in the unit. Place a time limit for the foregoing selection of "YESt1or llNO.al (Within 10 seconds)
Data Loading
The data loading method and points are up to each program developer. However, the following fundamental regulations must be strictly observed : Common Regulations At the loading point, display ttMEMORY CARD LOADtt and the option of ttYES" or ltNO.w If the entire phrase cannot be displayed within the display frame, just display "LOADw and "YESw or "NO." The basic position of the'selection is set at t1YES,t8 selection is to be done using the lever and to be chosen using button A . If the selection is ttYES,tt "DATA LOAD OKtt displayed to indicate is to the player that the procedure is completed. If the entire phrase cannot be displayed within the display frame, the ttLOAD OKtt display is acceptable. At this point, make an effort to display the contents of the data to be loaded. (Example) 2nd AREA-START POWER UP LEVEL-4 that is the end of the IIMEMORY CARD If the selection is ttNO,tt LOADttprocedure. As a regulation for the MVS, make sure not to display any items regarding the memory card unless the card is set in the unit. Put a time limit for the foregoing selection of ItYESW or "NO." (Within 10 seconds) Note
j Such words as ItSAVE" and tlLOADtl be replaced by other words can /within the game context, if the meaning is easily understood, /such.as "retrieve progress --"-__.-------..-...---..._-.." RPG game, etc.). .........-... ............. . -. scrollw -for an ... ..-
Regarding Demo Screens The demo screen for the MVS (title, game demo, and ranking) should be approximately 30 seconds. Example: King of the Monsters Screen
1
Details As lonq as it is within the time limits, title presentation (display) can be developed freely for each game.
Time (Aprox
5
.)
T i t 1 e
s
C
r e e n
2
Operating instructions Title mote) 1 (Note) 1
'
a m e D e m
0
0
A button: punch B button: kick
Display a reduced-size title on the game demo. (The display position and title size must be determined by each developer,) Try to display the operating instructions, although it depends on the game's contents (not compulsory). However, when displaying the operating instructions, be sure to match the movements on the screen with the lever and button'movements,
20
.
.
R a n k i n 4
S
C
R A N K I NG
1 2 3
4
r e e n (Note) 1 We recommend using fixed characters, since the "operating instruction^^^ and l1titlef1 displayed during the demo screen may need excess sprites, depending on the game.
Messages to be included during the demo screen (1 to 3) MVS (Commercial-Use) <For J a ~ a n and Southeast ~ s i a >
( PUSH P1 TO
START
.......I ... Display these after returning .. . the screen to the title display. . (1)
1
INSERT COIN
1-1
0
10 1
' 1 ' 1
(PUSH PI TO START
PUSH P2 TO START
........I
' 1
PUSH P1 OR P2 TO START
.. Display these after .. ... title display. screen to the . returning the (1)
"INSERT COINw display [In Japan and southeast Asia] While two players are playing simultaneously, and the game ends for only one player, display llINSERT COIN" for that player at the same time as the continue countdown display. Display credits remaining to each player separately during play. Naturally, if the game is over for both players, display the general "INSERT COINw message along with the general countdown display of the credits. [USA, Europe] When two players are playing simultaneously, display "INSERT COINu and credits remaining to each player separately, whether the game has ended for only one player or for both players. NEO-GEO (Home-Use) For the home-use system, the sequence of the demonstration displays (1 to 3 in previous page) do not have to be the same as the commercial machines, and no credit display is needed. Thus there are no message display restrictions, other than that minimum messages be displayed in essential locations such as the title display. Software Development p.25
Example: "PUSH START1@is displayed on the title screen, but not during the story description. Example : Always display IIPUSH STARTw.
Screen Flow for starting of a Game for Home-Use Games Screen Flow and ~pplicable Operation at Each Step (buttons to be pressed) screen
-+
(3) A button ON
4
-+
-+
-4 ()
A button ON
1
. %. .
Be sure to observe the operations (procedures) in moving to the next screen in steps 1 through 4 in the flow diagram above.
c
MODE SELECT PUSH A BUTTON S T q T
I
8
(note) regarding the operation ~hechodrwhensetting items other than difficulty levels are included. Example: The difficulty level selection screen for "Last Resorttt
.The initial setting is always Mnormal.u The initial setting is always " 3 . " 'The g ~~ mcan W >&~cailed . ~7.-..v~;kzvv,>~y w*a?:w~y<,..%:..*f*:.:.:.>3->:k>x ~ ~ a a y ~ be wt>W//..wX::... ~ or "MusicM but item& ~u ~ s w ~ % ~ ~ :"sound" $ ~ @ 9 : ~. & @ ,<* .< ........ & x ~ $ ~ ~ i ~ @ ~ ~g. 0....7 ~ ~ $ * ~ : : ,~ . ~ ~ ~ A, ..&>.:' ....%f l. . .>**.v ~r . G>&3$@3$m;,. :.:.d&g;w:g$gg &...y<. , $ , .&.a$$$3z . & ; 1s not necessary to d i s p ~ a ythe music - title by numbers as shown in the diagram on the left. (The music titles themselves can be displayed.)
1 Flashing
<Operating Method> The initial status of the cursor starts from the first item, as shown above. The cursor only moves up or down and is controlled by the up-anddown movement of the control lever. (This does not have to loop. ) Each... :.mode .......is *.:.::.....:.:.:.:.:.:* .by .................................................................... set ......,. the left and right movements of the lever. ............ ::::............ ....w ... ....
:W~:fi~:*~:K.jI:>~.:.x:
, , :
(;~p:&~~~B@~&w~fax$@@&@~~~ )
,I:'............. ........... ...........
....
...........x
.I:> ..: :
::::::::: .........
.................... ....................
Example)
For the "leveltt selection, by pressing the lever to the left from the initial status (normal), it loops in the order of "easy," "MVS , "hard," and wnormal.w When the lever is pressed to the right, it will loop in the opposite order.
Please refer to the following example (taken from "SOCCER BRAWL"): [Domestic and southeast Asia version] Machine's response Credits Start button P2 P1 Credit decreases by one when player-1 pushes the 1 PUSH start button. The display will show the following mode choices: IILEAGUEMODE/VS MODEa1. The player cannot move the cursor off the "LEAGUE MODEaa,and use techniques such as dimming the "VS MODEa1line (by changing the palette) to indicate to the player that these cannot be selected. If, however, an additional coin is inserted while this screen is displayed, the NVS.MODEwwill then be displayed in normal brightness, and the player can use the cursor to select the "VS MODEw. If the player selects the "VS MODEaaand pushes button A, the credit tally will be decremented, and the game will start in the 2-player "VS MODE." (Note) Refer to diagram 1. * Modes can be selected only on the player 1 side. * When an addition coin is inserted when the mode selection screen iS displayed, the timer returns to the initial value. 1 PUSH No response. 2 If player-1 pushes the start button, the credit PUSH amount will be decreased by one, then the display prompts the player to choose either "LEAGUE MODEw or "VS MODEa1. The credit will be decreased by one more if the "VS MODEw is selected (total of 2 credits are used). * Only player-1 can select which the mode. 2 PUSH Credits are decreased by two and the game starts in the "VS MODEm immediately. * Mode select screen is not displayed.
Fig. 1 <player-1 pushes the start button when one credit is left-> <When one more credit (coin) is added. >
I
GAME MODE SELECT
INSERT COIN
9
Indicate that the player cannot select "VS MODEm by locking the cursor and differentiating the items visually, such as dimming t
IIINSERT COIN",
aY
When one more credit (coin) is added, show the players that the "VS MODEw is now selectable, by enabling the cursor to be moved and showing visually by brightening the line, Remove VNSERT COINw from the display, The timer is reset to the initial value,
credit 2P 1P
1
0
Machine's response When player 1 pushes the start button, "LEAGUE MODE/VS MODEt1 selection is displayed but the cursor is fixed at "LEAGUE MODEu and can not be moved by the player. At this time, "VS MODE" is dimmed.
(The display and selection privileges (control priority) when the coins (credits) are added from the above condition) .-When one or more credits are added by player 1, "VS MODE" EX.~ 0 display brightens. The player can now select "VS MODE". The 1credit total decreases when the button A is pushed while "VS MODEt1is selected, and the game starts in the "VS MODE1', * Only player 1 can select the game mode. .---. When one or more credits are added by player 2, "VS MODEw Ex.2 1- brightens and the player can then move to and select the I1VS 0 MODEt1. The credit amount decreases when button A is pushed while "VS MODEw is selected, and the game starts in the "VS MODEn. * Either player 1 or 2 can select the mode, .--.--------. When one or more credits are added to both players 1 and 2, the Ex. 3 11- IIVS MODEm display brightens and either player can select the "VS MODE". is selected, and the game start can select the game mode. 0 1 When player 1 presses the start button, one credit is deducted and the selection screen for the "LEAGUE MODEw or "VS. MODEm is displayed. But the cursor cannot be moved from the "LEAGUE MODE." At this time the "VS. MODEw is dimmed. <The display and selection privileges (control priority) when the coins (credits) are added from the above condition> => Follows the above examples 1-3 0 2 When player 1 pushes the start button, the credit amount decreases by one and "LEAGUE MODE/VS MODE1' is displayed. If the player selects "VS MODEw, one additional credit is deducted. (total 2 credits used) * Only player 1 can select the game mode. 0 2 When player 2 pushes the start button, the credits decrease by one and "LEAGUE MODE/VS MODEw is displayed. If the player selects "VS MODEN, one more credit is deducted. (total 2 credits used) * Only player 2 can select the game mode. 1 1 The credit amount of the player who pushed the start button first is decreased by one, and "LEAGUE MODE/VS MODEw selection screen is displayed. If the "VS MODEm is selected, one credit is decreased from the second player's credits. (total 2 credits used) * If player 1 pushes the start button and the "VS MODEw is selected, one of player 2's credits are automatically deducted.
-----
---------
_ U _ .
U U - - - - - - - - - - - - - I - - - - - - - - - - - - - .
--
---------
'
* Both players can select the game mode. If "LEAGUE MODEu is selected, the player who pushed the button (and paid the credit) plays,
Software Development p.31
Note: When player 1 has two credits l e f t and player 2 has one c r e d i t l e f t , if player 1 pushes t h e s t a r t button (one c r e d i t deducted from player 1) and s e l e c t s t h e "VS MODEw, then one c r e d i t is taken from player 2. (Player 1 has 1 c r e d i t l e f t , and player 2 has none.) [Other games (Soccer Brawl, Football Frenzy)] -Even i f player 1 and player 2 both have one c r e d i t , i f player 1 I' I pushes s t a r t button and selects "LEAGUE MODE," player 2 cannot I I p a r t i c i p a t e i n t h e game. I * I n t h i s case, t h e s t a r t button on t h e player-2 s i d e w i l l not I respond, and player 2 has t o wait u n t i l player 1 f i n i s h e s t h e game. I i
I
r-
--------
I I I I
I I
I I I I
! I
I
jI
I
I t I I
I Player 2 t a k e s t h e l e f t s i d e of t h e f i e l d and a t t a c k s toward t h e r i g h t s i d e , even when player 2 selects "LEAGUE MODE" t o play against i t h e computer. Only when player 1 plays a g a i n s t player 2 , player 2 jI would have t h e l e f t f i e l d .
I!
I.
1
!
i I
I
When t h e game is i n the "VS MODEw, t h e game i s over regardless of who wins. Therefore t h e r e i s no continue play i n t h i s mode.
Note: Certain s p o r t s games allow the players t o continue t h e game t o t h e end ( w i t i l t h e game f i n i s h e s ) . These games should t r e a t t h e (1P and 2P) s t a r t buttons, which a r e used t o continue t h e game, a s follows: t h e domestic version ( i n which t h e players s h a r e c r e d i t s ) should check both players' s t a r t buttons. Game software f o r use i n t h e USA and Europe (where t h e players have s e p a r a t e c r e d i t amounts) should check only t h e s t a r t button of t h e player who has c r e d i t s l e f t .
~ e g a r d i n g redit Characters C
P l e a s e l a y o u t t h e c r e d i t d i s p l a y when u s i n g t h e p o s i t i o n i n d i c a t e d below a s a r e f e r e n c e . (Match t h e d i s p l a y l i n e w i t h t h e s p e c i f i e d p o s i t i o n . ) y There a r e n ' t any r e s t r i c t i o n s f o r f o n t s , c o l o r u s a g e s , etc., i f t h e $... a.:......e......n:.:.:o t t h e s t a n d a r d f i x e d c h a r..a..,.......................... . r .. .:.: cters But be .:..s..u r ..e.......t....o .*.&i@g ............ g :. ,............. .. . ... :<<A.:.a:.ss::::*:. . ..:.:.>.::<::*.:::,*:m:2 ... ::: .. .. a@i&ssj....................... :.:.......... ...,...,..:t h e c:::r..::e...d...i...t......... :-+.<.:.:.:. d i s p l a y ) ;: : ;&: d~: ~~ ~ ~~C : @. * ~~: p x . ~ x x i : : : :gi : m p ~ @ g ~ ~ :: ~ ............................ ......>(especially .. . >. : .. . . : 2 :;~* *~ ~~ ~ ~.:.; < ( n t ~ ~ r o 11s ~ ~ " ~ ' ~ : ~ ~ y:.:r....:..:.:.:.:::::.:...:.:.>>:.:.:.:.:.:.:.ti....: ~ ~ ~:.>*s. O @ ~ l& @ h e@ s c ~ @ B &dur-ng t h e game) P:.:.:.. ......::::::::.:.:...<;..:.:.:,:.:.: & @ ~ ~ g & & .. ~...., < ..
.:.:.:.:.:~:ji~,.:~w.;sp,:s
>.. ...
............ ............
I Confirmation of t h e Display P o s i t i o n
= 8x8 d o t ( c h a r a c t e r s i z e is 8x8 d o t )
224 d o t s characters)
------------------
Regarding the Continue Option MVS (Both Domestic and Foreign Countries) Simply use llContinuew and "Not Continue." his excludes the number-of plays display.) Home-Use (Domestic and Foreign Countries) 1. Definitions and Number of Repetitions for the Continue F'unction The wcontinuew function refers to when the player's remaining life, after starting the game, and the player can continue etc., becomes 11011 the game although the game is over, The game can be continued up to three times. Player 1 => Can continue three times Player 2 => Can continue three times
* The player can continue only three times even if it is a one-player game. Even if the game is replayed by using the memory card, the game can only be continued three times.
,(Note) When the player presses the "startg1button at the beginning of the game, the player is not continuing a game, so be sure not to count this as .the player's continuation of a game. When the player does not choose to wcontinuelta game during the continue countdown though,theplayer still can continue the game, the game will be over with a one-player game, and the display returns to
countdown. For example, if player one did not choose to continue the game during the continue countdown although it was possible, but as
2. Difficulty Level Setting During the Start of a Game The difficulty level setting can be changed by the player before starting a game (after pressing the start button), for home-use games. (Refer to the games after the home-use "AS0 11.") b'~he Flow of the Screen and Operation Methods at Those Times rt button ON screen
I ............. . If memory . (3) A button ON . card is . "load" 1 . inserted . ................................ . is memory card . 1 . If not inserted . ................... 1
4 4
I
(2) A button ON
1
(Note) 1 =>
I
I
4 A )button ON 4
* Be sure to observe the operations (procedures) in moving to the next screen in steps 1 through 4 in the flow diagram above.
The "StartN button to enter the difficulty level selection screen, and the priorities for the control:
Player 1 start button is turned on => Can change the settings for player 1 . (Player 2 cannot change the settings.) Player 2 start button is turned on => Can change the settings for player 2 . (Player 1 cannot change the settings.) Both players 1 and 2 press the start button on => Both players 1 and 2 can chanae the settinss toaether.
(Note) 2 => Please use the following two examples as reference for the control method for the difficulty level setting screen. Example 1: AS0 I1 (Only the difficultv level settins)
I
level of the (Taken from the the commercial machines) from the difficulty level of the machines
NORMAL - - - - - - MVS - - - - - - - - - - - -
* *
If there are less than four levels of difficulty for the commercial machines, overlap the same levels. Have "Normaltt and "MVS" at the same difficulty (Example): level, If there are more than four levels for the commercial machines, "Normalttshould be set at a less difficult level than with the "MVS."
he lever moves the arrow vertically, and the A button selects the level. Position the arrow at nNormalw as the initial level,
Example 2: Last Resort (When other settinas besides the difficultv level are included)
I
I
MODE SELECT
The initial status is always mNormal.w The initial status is always "3." (Will not ao above 31
can PUSH A BUTTON s~AR~--.-titles be displayed as well. Flashing The initial status of the arrow is set at wLevel,m as indicated above. The vertical movement of the lever moves the arrow. (Only moves vertically. The menu should loop between "Levelm and "Sound.")
The each item should be selected with the horizontal movement of the lever, (Do not let the buttons set the selection.) The selections of each item should loop also, Example: Level Selections
r& .
a . , . .
w <:: : ..
Normal
- -
& &
-, .
M~..:.:.:
Ess%&h
The selection loops between "Easyw and :MVSw by the left (+) and right (4)movements of the lever, The characters that are displayed in the game should use each game's original ASCII (8x8) characters, The words displayed on the screen should be as shown in the diagrams above, If the arrow character is not available, replace with another character, Please decide on the position arrangement of the characters by using the above diagrams as reference. Also, please make design decisions of the menu background for each game, since any type of backgrounds are acceptable.
(3) Display of the Remaining Number of Continuing Plays Display the remaining number of continue plays during the continue game screen in a way that can easily be understood by the player.
isp play the following during the countdown in the continue game screen:
Please display these using each game's original ASCII (8x8) characters, The number is set at "3" initially, and the number decreases every time the game is continued. For the games where two players can play at the same time, display this continue option independently for players 1 and 2. Position this display where it is easy to see for the player (such as the position where the score or remaining lives is displayed). However, the continue game display varies depending on the games, so please make design decisions for every development regardixig detailed display settings,
is play Layout>
P1 00000
P2 00000
9
1 CONTINUE
Example 2:
In example 1, the remaining number of credits and the countdown are displayed immediately after the player crashes and the screen switches to the continue screen. Then, the remaining number of credits and countdown are erased when the continue operation is exited (the start button is pressed), or the countdown has ended. In example 2, the credit display for the (foreign) commercial machines is used for this purpose, so there is no need to erase the credit (remaining number of continue games) display. Regarding the display timing, display the remainins number of continue crames after the start button is pressed. If only one player starts a game where two players can play at the same time, it is acceptable for the side of the player who is not participating in the game to display "CREDIT 4" as the remaining number of continue games. Also, please display "CREDIT Ow instead of erasing the credit display when the last continue game is played. Although two examples were shown above, it is recommended to use example 2 to allow the laver to understand clearlv how many .continue aames are left, However, as stated before, this is not enforced and the design decision for this aspect is up to the developers. The most appropriate method for each development (game) can be used, but the priority should be placed on the player being able to understand the display clearly.
**
(4) Canceling the Continue Function (Speeding Up the Function) By pressing any of the buttons A-D during the continue countdown, the countdown speed can be increased. (When the button is pressed continuously faster than the normal countdown speed (one second/count), the countdown speed in increased to the speed of the press of the button. ) If both players 1 and 2 crashes (ends the game), and the game enters a "total continue state,I1 only the plaver that has remainins credit (number of continue sames) can cancel the countdown usins hislher buttons (A-D) This is intended to give priority to the player with remaining credit (number of continue games), (This is to prevent the player with remaining credit from not being able to.continue a game because of the player with no remaining credit (number of continue games=O) pressing the buttons by mistake.)
Details (for each button A-D) Credit (Number of Continue Games) 1P 2P 11- Responds to both players 1 and 2 10 Only responds to player 1 1- Only responds to player 2 0 Not necessary to allow the players to continue 0 0 (including any displays). Just a <...=m:.:d:.,d4 ,= display is sufficient.
E%$%8%$i%%%@
***
Having four difficulty levels is a minimum requirement. However, there are basically no restrictions in including different setting items (sound mode, number of lives for each game, etc.) seen in general home-use games. Regarding buttons A-D when canceling the continue countdown for the commercial machines <Domestic and southeast Asia versions> * When the coin-shooters are the same for 1P and 2P. Credit 1Buttons A-D 1P Push Push
0
2P
The responsiveness of buttons A-D when both players have the continue option Responds Responds Responds Responds
Push Push
<US and European versions> * When the coin-chutes are independent Please observe the buttons (A-D) on the player side where the continue option is being offered, regardless ofthe number of remaining credits for the US and European versions (the coin-chutes are independent)
Continue 1P 2P
The response of buttons A-D When player llsgame is over and the credit for player the function can only be sped up by the 1 is llO,n buttons (A-D) on the player 1 side, even if player 2 has some credit left.
When player 2's game is over and the credit for player 2 is wO,lt the function can only be sped up by the buttons (A-D) on the player 2 side, even if player 1 has some credit left. When the game is over for both players 1 and 2, "individual speedingw can be performed using the buttons for each player 1 and 2, regardless of whether there is some credit left for player 1 and 2.
<An Example of the Continue Display> * The games "Garo Densetsuw and "Last ResortN are used as reference examples below:
Example:
~epending the game mode selected, the second player cannot on join during the middle of a game, but can continue in the middle of a game. Use I1totalcontinue statet1 when it is a one-player game, and switch to ttindividual continue statet1 displayed when a second player participates from the middle of a game. (As a safety measure, by displaying the "individual continue statet1 the on screen even when the number is being displayed with "total continue statet1 display, switching would not be necessary when required; just the Ittotal continue state1' would be removed from the screen.)
Example:
(Note) For games that can be continued until the game is over, such as certain sports games (baseball), observe both 1P and 2P buttons for the domestic and Southeast Asia versions to continue the game (1P and 2P). Observe only the side with some credit left for the US and European versions.
Regarding Company Logos Company Logos for the MVS (for business-use) <~omestic>
i SNK
4
:
a
'
-a+
019 9 x
-------------------------------------------a
Regarding Debug Dips If the debug dips used during the debugging of a game are submitted for "sample location or as Itmaster ROM,,, ws<s<..%...:>....... ....>..>~F<:w$.:y.xy.p:*F<?-.v* , 3p.;<,.:. . .,. . ..... < ." . . ... . >.,: . . *<<.>.,:. . .........<,.. ..,: .,.:.,.:: . . . . . . . . m.. . :. ........... , (If the debug modes .,:. ... ..., ...... ..............%..,. ............................... .. . .. . inserted with other games in the MVS unit, the game may halt after one round of the demo,)
.: <
1 Software Development p - 4
Items to be Standardized for Level Displays The level (difficulty level) to be displayed on the screen is standardized as shown below.
1 Adapting Range .
The display is limited to the MVS (domestic and foreign are the same)
2 Display Position .
The display position should basically be in the bottom center. However, if this space'is necessary for displaying another item, please adapt a new setting, using appropriate judgement for each case.
3. Character Size and the FIX for Display
The character size should be an 8x8 dot matrix. Use the standard FIX, or FIX exclusivel~used for the same. Please take precautions about visibility and character size when using the FIX exclusively created for the game. 4. Regarding the Word Usage (Spelling) It is standardized to "LEVEL-O~~. applicable level.
lf-t
>
.,. .
-.A
, . ..?.>.. -
L E V Ii: L -0
Regarding Other Regulations Regulations for the Forced-Start Countdown (only for MVS) When the MVS unit has "forced start enable," the forced-start countdown starts when a credit becomes available. When the countdown reaches zero, the game starts automatically. (When another credit is added, the countdown is reset, and the countdown starts again.) Please use the FIX characters specified by our company and follow the standard position specified by our company for the display position of the countdown display. Countdown Display Position
Display for the Playing Instructions Mainly for the multiple-slot MVSs, sufficient playing instructions cannot be described using an instruction card, as usually done for other commercial machines. Therefore, there is a method to explain the operations by displaying the playing instructions on the screen during a game, instead of having an instruction card. There are no restrictions on characters, etc. for the screen display but limit the display time between 4-10 seconds, so that the play time and demo time will not take too long. Also, have the option available to be able to interrupt this display using the buttons. If the playing operations are simple and the game can be understood without any instructions, it is not necessary to include the playing instructions. However, we may request that the playing instructions be created after our companyvs evaluation of the same project. Regarding the starting Method (also refer to vlSystemROMI1) For the Japanese and Southeast Asian MVS units, the 1P button is used to start player 1, and the 2P button is used to start both players 1 -and 2 . For a 2-player simultaneous play, the game is started using this method, and during the game the 1P button is used to start player 1 and the 2P button is used to start player 2. For the US and European MVS units, 1P button (left side) is used to start player 1 (left side) and 2P button (right side) is used to start player 2 (right side). For the Neo-Geo, these design decisions are up to each development.
Regarding Other Regulations Naming Regulations Please follow the following regulations when the naming option is available for high scores and records with the Neo-Geo and MVS games. However, if the game is completely unique, please make design decisions for each development.
I
The timing for the naming should be after the game is over (when the remaining lives reaches 0, when time runs out, etc.), and before the continue option is displayed. Please allow only three letters for the name entry. This is also to prevent any profane words or any anti-social words to be entered for the machines used overseas. The basic operation method when entering the initials is to select the letters using the vertical movement of the lever (or horizontal), and choose using the A button (move to the next letter to be set, or after the third letter, end the naming). In order to return to the previous letter that had been set, include such backspace symbols as "+tl in the letter set or have the system be able to return to the previously set letter using the B button. Also, include the ending symbol such as I1ENDWin the character set for the player to be able to exit without having to enter all three letters.
Always include the characters specified by our company in the ROM to display the characters for the system-related displays in the Neo-Geo and MVS.
I Sprites: I FIX:
I FIX:
Neo-Geo eye-catcher logo (use all 58 characters) Standard characters for system control (can use FIX from bank 00 to 02) Characters for the number of credit display (can use all 21 characters)
Note: Regarding the Manufactured Year Display The manufactured year display that must be displayed in the title screen, etc. should be the year when the product began being marketed. So please take note for products that were completed over the course of more than one year.
I ~egardingOther Regulations I
Creating the Soft Dip Chart We include the soft dip manual for the product for MVS cassette marketing. Please create a soft dip manual for each game when the details of the game soft dip have been determined. (Creation Example-1) "Quiz Big Search" Made by Our Company (The actual size is A4.) Quiz Big Search Soft Dip Details Quiz Big Search
B
Hero Continue Demo Sound Playing Instructions Difficulty Level Bonus Rate Bonus Correct Answer Display Credit
This sets the number of lives the character will have. using the vertical Operating Method Place the arrow to ."Hero1@ motion of the lever., and proceed with the setting using the "Aq1button. The @@B1@ button restores the screen and establishes the setting.
11 Hero
This sets the number of times the game can be continued. using the Operating Method Place the arrow to llContinuell vertical motion of the lever, and proceed with the setting using the ggA1l button. The t8Btt button restores the screen and establishes the setting. This determines whether there will be sound during the demo game. Operating Method Place the arrow to "Demo Sound1@using the vertical motion of the lever, then proceed with button. The l@Bw the setting using the @@A1@ button restores the screen and establishes the setting.
3 1 Demo Sound
2 1 Continue
4 / Playing This determines whether there will be an operatingInstructions instruction screen at the beginning of a game. Move the arrow to Itplaying ~nstructions~~ using Operating Method the vertical motion of the lever, then proceed I" with the setting using the "Aw button. The I B button restores the screen and establishes the setting.
This sets the difficulty level of the game. (There are 15 levels from 1-15, and difficulty increases as the number increases.) using the Move the arrow to "Difficulty Levelg1 Operating Method vertical motion of the lever, and proceed with the setting using the I1AWbutton. The "BM button restores the screen and establishes the setting. 5/ Difficulty Level
'
his sets the system where the remaining lives in the game will increase according to the players1 scores. Second Bonus The number of lives will increase by one, according to the score, up to two times. Every Bonus The number of lives will increase by one, according to the scores for an unlimited number of times. NO Bonus No lives will be added. Operating Method Place the arrow to "Bonus RateM using the vertical motion of the lever, then proceed with the setting using the "Am button. The "BW button restores t . screen and establishes the he setting.
6 Bonus Rate .
This sets the score where the character's life increases by one. Operating Method Move the arrow to "Bonusw using the vertical motion of the lever, then proceed with the setting using the "Aw button. The "BW button restores the screen and establishes the setting.
7/
Bonus
This determines whether the correct answer is 8/ Correct Answer Display displayed when the question is answered incorrectly. Move the arrow to Itcorrect Answer Displayt1 Operating Method using the vertical motion of the lever, then proceed with the setting using the "Af1 button. The "Bm button restores the screen and establishes the setting.
This determines whether there will be a credit display for the MVS. Move the arrow to @ICreditw using the vertical Operating Method motion of the lever, then proceed with the button. The llB1l button setting using the llA1l restores the screen and establishes the setting.
9/
Credit
CnnPi t i p a r i
..
nn t r n m nr n n r vnrc i nnc
..
n
for PAL
(European version)
1. Only 224 dots are displayed vertically on the screen for the
e n
TTc
kq.4-
T . ;
t h the Firrnnn-n
x r n r e ; n n
AC D X T
~ 3 aocs are alsplayea verclcally on m e screen. 6 xnererore, slnce cne areas that are not displayed for the Japanese, US, and Asian versions are displayed (16 dots each for top and bottom). Items with the undisplayed regions will now be displayed. This may result in an unappealing screen, so please strictly follow these regulations:
(1) Display the 16 dots at the top and bottom that could not be seen with other versions accurately (able to see) even when changed to the European version. (Create the Japanese, U.S., and Asian versions with awareness of the 256 dot vertical display.) (2) In a game with the 256-dot vertical setting, more than 256 dots will be displayed if the screen is to be swayed vertically to express a shaking motion, etc., so add FIX characters (black coloring) to hide the top and bottom of the screen. However, the size should be just one character (8x8 dot matrix (Note) refer to the diagram below). (Have the vertical length of the shaking within 8 dots.) 2. Only for the PAL specification (European version), the vertical synchronizing is done from 1/60 to 1/50 of a second. (The CPU speed of the program becomes 516. The sound does not change. ) If the sound and music are supposed to match the screen display (such as the title demo and ranking), there may be some lagging between the two, so adjust these errors with the sound engineers'and programmer. (This is not applicable during a game.)
~ . .. ; ; a n . + ~ ~ q ~ : . ~ - =
Asian versions
~egardingDebugging What is Debugging? ~ebuggingis performed when the game is in the condition where it can be played, The existence of bugs must be checked for different conditions including: a bug that appears during game play, bugs that appear between the system program and game program, and sound-related bugs, When a fatal bug that seriously affects game progress is discovered after the mask ROM has been mass produced or the product has already been placed on the market, the production line may have to be halted or the product may have to be recalled, either of which can lead to a massive loss. Therefore, please be very careful and explicit about debugging, Common Debugging Examples The debugging technique differs depending on the game systems, The following examples are very general, so be more precise when actually debugging, in accordance to judgement of every development, MVS: Can the selections be made using the select button, even if multiple software are set in the slot? MVS: Has the instruction card corresponding to the game set in the slot been written up? MVS: Does the number of credits on the unit display match the number of credits displayed in the game? MVS: Does the game reflect every item setting in the Mode Parameter setting? MVS: Are the "unit settingsw and "individual software settingsw in the Mode Parameter Setting being reflected? MVS: Has the "income record" of the Mode Parameter Setting been correctly added/calculated? MVS: Does the machine eat up coins? Neo-Geo: Neo-Geo: Does the game correspond to the number of continue limit set? Does the game reflect the differentiations made in the game contents with the MVS game?
Do display, coin system, and various settings correspond to various system ROMs? Can memory card saving/loading be performed according to the specifications? Can the memory card be used between the MVS and Neo-Geo? Perform irregular operations, such as changing the memory card with another card after the "Memory Card Save?" prompt is displayed-
Are there any errors in spelling or display settings? Do the lever and button response reflect the specifications? Are the 'hits' being correctly registered as they are set for all types of characters? Are the shapes and colors of the characters being displayed correctly? Does the game "fall" into a stage where the main character can no longer be controlled, or the enemy can no longer move? Are the scores being added and calculated correctly? Are there any infinite loops? Are the priorities for the sprite being displayed as specified? When enemies are left on the screen intentionally, are there any bugs from such factors as slower CPU processing speed? Similarly, do items disappear that aren't supposed to disappear to proceed with the game, by 96 sprites lining up on the same horizontal line? Can the sound (BGM and sound effects) be heard as they were specified? Does the continue system function appropriately?
[I] Start-Up Checks Europe ~omestic U.S.A. ~nit/Classificationby Country Six Slots Four Slots Two Slots One Slot Are there any irregularities when inserting a game in any of the slots? Does the demo game loop correctly even when multiple software packages are inserted in the slots? Can selections be made using the selection buttons with the same settings as above? Are instruction cards being written for the slots that are set? Are there any irregularities when software from another company is inserted? Southeast Asia
.* *
The checking is done after the backup has been cleared. The write-ups with the instruction card are only done with the sixslot units, old SCB units, and American units. [2] Soft Dip Inspection (Unit Settings) Contents 1 Coin= Credit 2 Coins= Credit coins= Credit Coins= Credit Coins= Credit Coin 2 Coins= Credit Coins= Credit Coins= Credit Game Select Only when there is credit Free Forced Start 1-60 seconds None Demo Sound Set by each game None Item Coin 1 Demo Game Remarks
Item Continue Limit Demo Sound Playing Instructions Credit Display Difficulty Level
Demo
Game
Remarks
**** ****
**** ****
**** **** **** **** **** **** **** **** **** **** ****
isp play
None
1
2
3
4
6
7
8
Bonus
Every Bonus
Item Unit
Software
Contents Coin 1 Coin 2 Service Number of plays Number of times to continue Average play time
Check
Remarks
Item After the power is turned on, continuously insert coins before the demo starts and confirm the effects. Also, confirm the service switches in the situation above. Continuously insert coins when the demo starts. Continuously insert coins when the demo screen is changing. Continuously insert coins when the demo screen is complete. Continuously insert coins at the start of a game. Continuously insert coins when the game screen is changing. Continuously insert coins when one pattern has been completed. Continuously insert coins when the game is over. continuously insert coins when entering the name. Continuously insert coins when the lever and buttons are pressed. Insert coins at the same time the start switch is turned on. Press the one-player button and twoplayer button at the same time when the credit display shows wl,w and confirm that the credit display will not show "99. 88 Start player-one or player-two when the credit display shows wlO,M and confirm that the credit display changes to "9." Confirm that the counter is linked with the number of coins inserted, and not the credit. Confirm that the credit display on the unit matches the credit display on the screen. Insert more than 99 credits.
Coin1
Coin2
Counter1
Counter2
Item Can the memory card load and save according to the setting? Can the memory card be used between the MVS and Neo-Geo? Insert a memory card that is full. Insert an unformatted memory card. Insert a defective memory card.
[7] Game
Check
em on strati on ~nspection
Item Check
Confirm the company logo. Are there any spelling errors or display errors? Are there any irregularities in the characters or
. background screens?
Are there any irregularities in the shapes or forms of characters8 items or energy gauges? Will the credit increase without having any coins inserted? Are there any irregularities when the start switch, lever, and buttons are pressed without the coin being inserted? Are there any irregularities when the start switch is not pressed after inserting a several coins? Are there any irregularities when coins are inserted to start a game during screen changes? Are there any irregularities when the start button is pressed during a forced start? Confirm the demo after the game is over during standard Play Confirm the same situation as above during continued play. Confirm the demo after entering the name for the high-score record. Confirm what happens after the game is over if the demo sound is turned off. Confirm what happens after the game is over if the demo sound is on.
Item Check Are there any mistakes in the display settings for any of the displays? Are the lever and buttons as specified in the setting method? Are the colors and shapes of the characters displayed properly? Is the score being calculated correctly? Does the sound (BGM and sound effects) correspond to the setting? Is the continue-service function working properly? Does the random pattern occur?
Continue pressing the lever and buttons for player 2 when player 1 is playing. Keep on pressing the lever and buttons for player 1 when player 2 is playing. Let players 1 and 2 start, and do not touch anything. confirm any malfunctions when different items are used continuously when player 1 is playing. Also confirm the same as above item for player 2. Apply attacks on every enemy character using every item for player 1 and player 2. Try entering from different angles in the areas on the screen . where entry is not allowed for players 1 and 2 Escape as much as possible without regarding the enemies for players 1 and 2. Minimize the attacks on the enemies and go forward as fast as possible for players 1 and 2. Kill the enemies as fast as possible or in a way that the most points will be obtained for players 1 and 2 . .Alternate players 1 and 2 and proceed during continued play. When player 1 is playing, have player 2 participate from the middle of the game, matching the timing with when player 1 is making a move or when the enemy is attacking, etc. When player 2 is playing, have player 1 join in the same manner as described above. With player 1 only, have the player obtain a high score at the final screen of each area. Then get killed there, and proceed to the next scene after entering the name for a high score. Confirm the same setting as above for player 2. During a two-player game, keep on pressing the levers and buttons after completing each area, before the next area begins. During a two-player game, proceed by attacking each other or being intertwined together. During a two-player game, proceed by making the same motions simultaneously for both players. During a two-player game, proceed by making the same motions as the enemies, simultaneously. Proceed through the final screen with just player 1. Clear the final screen with just player 2. Clear up to the final screen by showing all possible characters, filling up the screen.
.-..I----.......-.--
-.-... ...--..."-".--"-..-.---.--------.--.----..-
....
- I ....--- -.... . .
...-...... ......-.....-....."
_.
j Note :
Be sure to perform debugging with the MVS with the software debug dip removed. (When inserted with certain software, it may be reset during the title loop.)
i ~ e sure the debugging mode does not start up in any case, for both ithe samples and master ROM.
f
:
Bug-checking using the simulation of Neo-GeO System Development ROM (Ver. 6.1)
(1) The simulation setting screen (1) is called up when the Select + C button is pressed on the player-2 side. .(l) MODE SET Sets the version MODE SET setting MAIN SOFT DIP MAIN SOFT DIP MVS unit setting GAME SOFT DIP GAME SOFT DIP Soft dip for each game RESTART RESTART Reset DEFAULT START DEFAULT START Clear the backup area GAME START TEST GAME DEBUG DIP Soft dip for the CARD FULL setting during CHECK SUM debugging of a game BOOKKEEPING (CARD) GAME DEBUG DIP
(2) Simulation of each specification is performed according to MODE SET. (2 Neo-Geo/MVS TYPE TYPE NORMAL NEO-GEO COUNTRY Japan/USA/EuropeCOUNTRY JAPAN Asia
........................... ...........................
.
* *
+
The Europe-Asia specification for.the MVS is only for Southeast Asia (Korea) If checking the MVS Europe, select USA. When checking the Neo-Geo, select Normal Neo-Geo. Start the game by setting the MODE, returning to screen 1, and pressing DEFAULT START (clear the backup area).
SELECT ONLY WHEN THERE IS CREDIT 30s START COMPULSION SOUND SET FOR EACH GAME
Start the game by making the selections with the A button and returning to screen (1) by the C button. When inserting coins for the game, press Select - - for coin 1 and IA Select + B for coin 2. Match the setting of the initial specification of the version set in ( 2 ) (The MVS system matches the setting with the initial specification automatically,) * Refer to the MVS Regional Specification. confirm that everything is created as specified for every version. The meanings of coin 1, coin 2, start button, coin counter, and credit display differ depending on the version. When a bug is detected during the coin check, check again with the MVS, and when the bug is not detected with the MVS, it is considered normal. The demo sound will be off if it is in the MVS setting. Change the settings and confirm whether the system will operate properly, Game Soft Dip [Soft dip for each game (4)] (4) GHOST PILOTS I 3 HERO CONTINUE NO LIMIT 3 DIFFICULTY SECOND BONUS BONUS 10000/30000 BONUS LATE HOW TO PLAY WITH DEMO SOUND WITH CREDIT DIPS WITH
-+ -+ -+ -+
Start the game by making the selections with the A button, returning to screen 1 using the C button and pressing RESTART. Confirm that the game operates as specified. Change the settings and confirm that the game operates properly. Confirm that it corresponds correctly with the MAIN SOFT DIP.
(5)
Debug Dip (Soft dips used during debugging by developers, changing the settings as necessary.) DEBUG DIP 12345678
00000000
the software
I
-b -b
DIP 2
00000000
-b
Start the game by making the selections with the A button, returning to screen 1 using the C button, and pressing RESTART. In order to correspond with the bugs that appear with certain conditions, confirmations are made by reproducing the conditions using the debug dip. Make different settings by hypothesizing different conditions, and confirm that it operates correctly. For the simulation bug-checking, examine thoroughly such main areas as whether the game has been created correctly according to the specification, or whether there are any display errors or characters errors. Refer to the MVS bug-checking list when checking.
~r
4.
5.
(*
MVS/Neo-Geo, region, number of players Write down the date and time when the program ROM has been completed and when the bug has been detected. Effects Write clearly the conditions of the bug. If taping the game on video, be sure to have a counter. Cause Write clearly what scene, what operations were being done, and what condition the game was in when the bug occurred. Frequency Reproduce the same conditions several times to confirm their frequency. A= The bug always shows when the conditions are met. B= The bug shows frequently. C= The bug sometimes shows. D= The bug rarely shows.) Note and comprehend the items 1-5, report to the planner, and submit this to the programmer. Always confirm the new program ROM when the bug has been eliminated. Confirm that no other parts of the software was effected by fixing this bug. Report to the programmer.
-b
-b
-b
-b
After the bugs have been removed and the game has been completed, location testing is done by actually setting up this game at the arcade to observe the reactions of the general users and income numbers to make final adjustments. The location testing sometimes cannot be continued if a bug has been detected during location testing, and accurate data may not be obtained; so please make sure to perform the testing after all the bugs have been removed. The most problematic types of bugs during debugging are listed below: Bugs that stop the proceeding of a game such as the game being reset during play, the.screen. .freezing, and the main character or enemies "fallingw to a stage.where -they cannot move. Income record is not accurately factored. Besides the data collection of income numbers, game play time, etc. the developers must also go to the arcade to check the popularity of the .game, reactions of the players, difficulty levels, etc.
*' How
The most important factor in location testing is the income. If the game does not have a good income during location testing, adjustments and improvements must be made to the game. It is also a problem if the initial income is high, butthe income drops significantly after a week, It is best if the game maintains a stable high income for a long period of time. If the average play time is 'long, this may result in decrease of income because each player is playing for too long. Adjustments and improvements may also be necessary if the play time is too long during location testing. (The ideal play time that our company determined for an MVS game is 2 minutes 30 seconds to 3 minutes 3 0 seconds) Check to see if it attracts people's attention during the location testing. The attraction will not be good if the game is not appealing as a new product.
Check to see that the player understands the operation methods, game objectives, and character intentions. If there are problems for the players in grasping the game, make appropriate adjustments, correct the display method, etc. The difficulty level cannot be evaluated by just the average play time. Developers actually need to observe the players to evaluate this. If the game is too difficult (or easy), adjustments must be made. (Please be careful to differentiate between general players. and expert players, to avoid making erroneous assumptions.)
What about the number of continue plays? The number of times the game is continues increases for more appealing games. It is best if the game makes the players want to continue the game. Are there any bugs? Remove the bug immediately if a bug is found during the location testing. (If the bug causes problems in proceeding with the location testing, the location testing obviously cannot be continued. So please perform the debugging completely and carefully before the location testing.)
If another development company uses our company's location testing sites, please have an observer (one who observe the location testing on a regular basis) provided by the development company. Also, make sure to notify our company of where we can reach the person in charge at the development company during the location testing. (Please do so for weekends and holidays also.) Reference: ."Regarding Our Company's Location Testingg1 (February 1991 to present)
Corrections and improvements (remove the items that are not necessary) are made after a minimum of one week's worth of location testing data with our policy. Then, after the completion of appropriate adjustments the final version goes through another location testing for three days.
This NEO-GEO base unit has been modified on the basis that it is to be used for development. The unit has NEO-MVS SYSTEM ROM which allows game debugging. Also it simulates arcade software with the home entertainment system. USE OF NEO-MVS SYSTEM ROM
[Function]
Press 2P-A-BUTTON while pressing 2P-SELECT * enters COIN1 Press 2P-B-BUTTON while pressing 2P-SELECT G- enters COIN2 (It is only valid in MVS mode. When in USA mode, COIN2 is PLAYER2-COIN) 2P-C-BUTTON while pressing 2P-SELECT G- system menu (When SYSTEM-MODE bit7 is 0 this function is disabled)
[System Menu]
MODE SET MAIN SOFT DIP GAME SOFT DIP RESTART DEFAULT START GAME START TEST CAWFULL CHECK SUM BOOK KEEPING (CARD) GAME DEBUG DIP (What follows is done through the 2P controller) lever up, down A button C button D button select command (the menu loops) command execute return to game to see game screen. pressing the D button again will return you to the system menu screen. this can be used as a pause.
TYPE COUNTRY
DEVEL. JAPAN
HOME USE
(1) (2)
(3) (3) (3) (4) (5)
xx WORK LIST xx USER REQUEST USER MODE PLAYER MODE CREDIT GAME CODE
00 00 00 00 00 00 0044
00
00
(1) TYPE A, B button allows switching to DEV.HOME USE (development for home system), DEVEL.MVS (development for arcade), and NORMAL HOME USE (home system).
(2) COUNTRY With the A and B button, change the COUNTRY-CODE to, JAPAN (=O), USA (=I), EUROPE or EUROPE-ASIA (=2). You can change (1) and (2) with the up and down direction of the controller. Also you can return to System Menu with the C button.
G -
(3) USER REQUEST, USER MODE, PLAYER MODE Each SYSTEM-WORK details are displayed. (4) CREDIT CREDIT number is displayed. The addresses are lOFEOOH and lOFEOlH (these are valid only from 2P side or USA). (5) GAME CODE Displays GAME-CODE located at the address 108H.
[MAIN SOFT DIP] [GAME SOFT DIP] Soft dip, used in the arcade system, allows chaging the display with this selection. Please be careful when this function is chosen. Some of the ones which use "kanji" characters might not be properly displayed. For the USA use, COIN2 rate will be same as the coin rate at the time of continue. Moving the controller up and down will allow for the menu selection, A and B button to change the content, and C button to return to the System Menu. [RESTART] This choice will reset (initialize) the software. The parameters chosen at the MODE SELECTION will remain the same. Even with the hardware reset, MODE and SOFT DIP values will not be cleared. Power on reset of USER-REQUEST=O will only be entered once at the time of start up even if the TYPE has been set for the home system. The only exception of this is when the TYPE has been chosen as the NORMAL HOME USE. [DEFAULT START] BACK UP AREA and SOFT DIP values are reinitialized after RESET. [GAME START TEST] With the MVS forced start MODE, USER-REQUEST=3 and USER is entered, and after 10 interrupts PLAYER-START is requested. If start is not accepted at this time, ERROR is displayed. [CARD FULL] Available memory of the MEMORY CARD (used for the games) are filled with dummy data. Please use this to check the memory card program. [CHECK SUM] The CHECK SUM of the 8 NIbit program area (8 bit, 16 bit) is displayed. You can not return to the System Menu. If the game ID is not found at the time of reset, the system will automatically go into this MODE. This will allow you to examine the CHECK SUM of the character ROM's. BOOK KEEPING (CARD)] This displays the net income of the MVS system. (The operation method is the same as the MVS. You may not return to the System Menu.) [GAME DEBUG DIP] This will change the front 2 byte of the game BACK UP AREA to bit format. Please use this for development (ex: no death mode). C button will allow you to return to the System Menu Notes On: NEO-GEO Base Unit for Development Development using NEO-GEO CB- connect Jumper 2 (J2) with a solder. Debugging using NEO-GEO CB- disconnect Jumper 2 (J2).
DO NOT COPY
SNK
The Seconds on 4M ROM Data ROM 4M mask ROM approximately 1 second 4M mask KOM lowering the qual~ty, sec. 2
The sampling rate listed above maybe analogous to the tape recorder speed. The larger the value, the faster the rotating speed. The higher the sampling rate, the better the quality, requiring more memory. In contrast, the lower the value, the lower the quality; but the memory that is required is less. Also, changing this value at the time of reproduction will change the interval. Even though ADPCMA is fixed, ADPCMB is not and recording a musical instrument will allow the use of the sounds as BGM.
FM Source FM allows 4 voices output at one time. Compared to the previously used FM source of the YM3812 chip, the output is more realistic.
SSG Source This is compatible to the PSG, and allows 3 voice output with noise mixing of rectangular wave form. (1) This source chip is in stereo. There is a choice from Lch (Left channel) output, Rch (Right channel) output, or L+Rch (both channel) output. If a specific sound is required, there might be the need to use two voices and manipulation of each level settings. (2) Dividing the sources: These sound sources are divided into Sound Effect and BGM and are shown in the table below. BGM Sound Effect ADPCMA 3 voices, FM 4 voices ADPCMB 1 voice ADPCMA 3 voices, SSG 1 voice ADPCMB 1 voice
ADPCMB is compatible to both BGM and Sound Effect. It is used for one or the other depending on the game.
Files needed for NEO-GEO sound development are included in the NEO-GEO Sound Program floppy disks.
FILE NAME SOUND2.REL BANK.REL WINDOW.COM SDATA5-DAT SDATA6.DAT VO-FM.SRC VO-PCMA.SRC VOPCMB.SRC TBL-PCMB.SRC VO-HOST.SRC TBL-MU.SRC 0AFO.SRC 0BFO.SRC CONFIG20.SRC CONFIG-S.SRC YM5F.SRC SM7F.SRC EQU4.ASM SD.BAT SDB .BAT SB .BAT INIT.MCR ANDO.COM AND0 . E m
CONTENTS
sound driver copy program copy program table including data table including data music or sound effect data source file music or sound effect data source file music or sound effect data source file music or sound effect data source file music or sound effect data source file music or sound effect data source file OA??.SRC initial source file OB??.SRC initial source file initial music source file initial SSG source file eye catch music data file coin sound data file file which enters EQU specification batch file used during assembling and linking batch file used during assembling and linking batch file used during assembling and linking macro file used during PROICE operation program which transfers data from the host computer to the ROM writer program which transfers data from the host computer to the ROM writer
2.
3.
4.
* *
(1)
(3)
(4)
Change
intoHEX form
10H = G This value is the file size entered into in VO-PCMB.SRC and VO-PCMA.SRC.
+
F I
Please transfer the ADPCM data, grouped in 1 Mbits (or 4 of these grouped in 4 Mbits), with the use of the MS-DOS command "COPY" and the switch " /B" to the ROM writer.
File Name: VO-PCMA.SRC Entry & Edit into this file the sound data PCMA created by the YM2610 ACQUISITION UNIT & OPNB SYNTHESIZE UNIT (abbreviated as PCMA from now on).
Macro Definition of "TBL-KEY-PCMA," "TBL-KEY-PCMA2," "TBL-KEY-PCMA3 ."
TBL-KEY-PCMA ;El=lg,VO-No ;D1=14,VO_No
and
;MAIN PCMA VOICE TABLE $00-$FF ;(DON'T USE VOICEOOA-1 -VOICEIF-1 FOR 2 BITE CODE)
.................................................................
a@@@@@@@ ...........................
i
i ;VO1CEOOA
VOICES 01,0000,0001,00,0000,000 1F ;(COMMENT) 1,PC, ............................................................................................................................................. ;VOlCEOlA VOICES ;VOlCE02A VOICES
Every row has "VOICE??A," "VOICES" and eight number values. These eight values are the parameters for the "VOICE??A." Each parameter will be explained below. 1Will enter the "VOICE??A" (sound from PCMA) in priority order. The value is from 0 to FF. The lower the numerical value, higher the priority. Will enter the numerical value of the lower two figures cut off of the start address entered during PCMA data creation. The maximum numerical value is Fm;F. Will enter the numerical value of the lower two figures cut off of the end address entered during PCMA data creation. The maximum numerical value is FFFF. Number of loops (repeat) of the "VOICE??A" (sound from PCMA) is specified. The value is from 0 to FF. The value FF corresponds to infinite loop. Will enter the start address (cutting off the lower two figures) when looping. Will enter the end address (cutting off the lower two figures) when looping. Will define the output destination of the "VOICE??A" (sound from PCMA). R channel output "enter PR L channel output "enter PL L and R channel output G- enter PC
2-
3-
4-
5-
67-
8-
Sets the volume level of the "VOICE??A" (sound from PCMA). The value is from 00 to IF. 1F is the maximum.
"TBL-KF!Y-PCMA2," and "TBL-KEY-PCMA3" have "VOICE??A" values of 0 to FE h. With 255 for each, a maximum of 765 PCMA sound may be entered. Macro Definition of "PCMA-EI-TBL," "PCMA-EI-TBL2," and "PCMA-EI-TBL3."
There are three tables in "VO-PCMA.SRC", similar to the table above. The table "PCMA-EI-TBL" is the DI, EI table (switch determining output of "VOICE??A," output or not) corresponding to "TBL-KEY-PCMA;" "PCMA-EI-TBL2" to "TBL-KEY-PCMA2;" and "PCMA-EI-TBL3" to "TBL-KEY-PCMA3." If PCMA sound is used as a sound effect, this DI, EI table is used. (If PCMA sounds are used as instrumental sounds, there is no need for the use of this table.)
@ determines the first significant place "?'in "VOICE??A," @ determines the second
significant place. (For example, the table above gives "VOICE32A.") The current table is "PCMA-EI-TBL," but this look up method is the same for other tables. The value, in the above case "1," determines if there is an output. When the numerical value " 0 signifies "DI" (no sound output), and value of "1" signifies "EI" (sound output). To output "VOICE??A" sound during a game, "1" must be entered in the corresponding "??' table cell, and the following codes must be sent from the main program: If numerical value "1" of "VOICE??A" is entered in "TBL-KEY-PCMA * "18" If numerical value "1" of "VOICE??A" is entered in "TBL-KEY-PCMA2 w "1A" If numerical value "1" of "VOICE??A" is entered in "TBL-KEY-PCMA3 * "1C" To interrupt the sound output of "TBL-KEY-PCMA," please send "14;" and for "TBL-KEY-PCMA2," please send "15."
Ex: To output sound "VOICE32A" of "TBL-KEY-PCMA2" from the main program, send "lC, 32." (Precautions) 1 Please do not enter sound effects in "VOICEOOA" through "VOICElFA" of "TBL-KEY-PCMA." (This will conflict with the Sound Program System Codes.) Also, please do not enter "1" in 00 through 1Fh of "PCMA-EI-TBL." (These areas maybe used for instrumental sounds.) 2 Only sound effects are allowed to be entered in "TBL-KEY-PCMA2" and "TBL-KEY-PCMA3 ." 3 Please do not enter sound effects in "VOICEOOA" through "VOICElFA" of "TBL-KEY-PCMA2." and "TBL-KEY-PCMA3." (This will conflict with the Sound Program System Codes.)
File Name: VO-PCMB .SRC Entry & Edit into this file the PCMB sound data created by the YM2610 ACQUISITION UNIT & OPNB SYNTHESIZE UNIT (abbreviated as PCMB from now on).
Macro Definition of "TBL-KEY-PCMB."
;MAIN PCMB VOICE TABLE $00-$FF TBL-KEY-PCMB .................................................................@ @ @ @ @ @ @ J @ ........................... j VOlCEOO
00, 00, 00, 00, 00, 00, 00, FF 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 .. . .............. . . . . . . . . . . .@..@...@...@..@ .............. . VOICES VOICESLFO VOICES VOICESLFO VOICES VOICESLFO 00, 00, 00, 00, 00, 00, 00, FF 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 00, 00, 00, 00, 00, 00, 00, FF 00, 00, 00, 00, 00, 00, 00, 00, 00, 00
i..........................
VOlCEOl
.. .i
VOICE02
The numerical values listed in the rows "VOICES," 1 through 8, and "VOICESLFO," 9 through 18, define the parameter of "VOICE?." The 16 numerical values will be explained. 1%
Will enter the "VOICE??B" (sound from PCMB) in priority order. The value is from 0 to FF. The lower the numerical value, higher the priority. Will enter the numerical value of the lower two figures cut off of the start address entered during PCMB data creation. The maximum numerical value is FFFF. Will enter the numerical value of the lower two figures cut off of the end address
2-
3-
entered during PCMB data creation minus "1." The maximum numerical value is FFFF. 4Number of loops (repeat) of the "VOICE??B" (sound from PCMB) .is specified. The value is from 0 to FF. The value FF corresponds to infinite loop. Will enter the start address (cutting off the lower two figures) when looping.
I
5-
67-
Will enter the end address (cutting off the lower two figures) when looping. Will enter the frequency of the ADPCM data created during sampling. The calculated sampling rate must be entered at the top. (Sampling Rate Calculation Method)
PB = 65536xFB 55.5
FB = frequency (kHz)
Ex: Calculation of sampling rate with sampling frequency of 8 kHz. PB = 65536x8 = 9446.630.. .. 55.5 ,----.----... rounding off to the nearest whole number ? 9447 i Enter this numerical value at the top.-..-EGu. -qa7 i- - of "VO-PCMB.SRC" as shown below. .
---.-----...a
a
SPRCE
.._......_._...._._---..---.--...---....a
If the sound created by YM2610 ACQUISITION UNIT & OPNB SYNTHESIZE UNIT is divided into 16 kHz, 8 kHz, and 18 kHz sampling frequency; calculate and enter the sampling rate values for 16 kHz, 8 kHz, and 18 kHz sampling frequency and enter it as shown above. The "K8"in front defines the sampling frequency as "8 kHz."
8Defines the volume of "VOICE??' (PCMB sound). The values ranges from 0 to FF. Larger the value, larger the volume. Using LFO on "VOICE??'(PCMB sound), the value here specifies SYNC DELAY
9-
TIME (time delay before LFO is used). The values ranges from 0 to FF. LFO is used as the output begins if the value is 0. Larger the value, longer the delay time.
10- Defines the LFO envelope type. There are ten envelope types to choose from and are shown below. (Shown on next page) The numerical value listed in the table determines the first significant place value, while the second significant (tenth) place determines the "VOICE??' (PCMB sound) output destination. R channel output * "1" L channel output * "2" L and R channel output G- "3"
No.
Envelope Shapes
1112-
Minimum. Maximum pitch. LFO depth is defined here. Please see the drawing below for visual aid. Ex: PCME3 sound with sampling frequency of 12kHz.
.-. -. ;-19 .-!I !, I .-!! .-. id i .-!i-' I 9 i-' i .-.I Ii-I-. i-a i .-! !I .-. .-I &! !-! !-!
*. I t
I
I I
(Maximum pich)
I
I
(Mmimum pitch)
Time
Using the calculation used in 7 with 12 kHz, the sampling rate should be 14170. This value is the 12 kHz standard pitch shown in solid line from in the drawing above. Addition of a value ?? to 14170 results in the Maximum pitch and negation of the depth results in the Minimum pitch. The Minimum and Maximum pitch define the depth of the LFO. (Input method) .--...----..Maximum pitch * 14170 + ; '??.--j = (1) ---Minimum pitch * 14170 - !...-??..-i = (2) , - - - .. - - . . i._??- - .. value is the LFO depth. Change value (1) to base 16 and input into 11, (2) to base ....- i 16 and input into 12. The numerical value raging from 0 to FFFF. 13- Defines the LFO speed. The value ranging from 0 to FFFF. The larger the value the faster the speed. When the value is 0, LFO will not be used. 14-1 8 Defines the volume portmanteau (Please think of this as the attack portion of the volume envelope.) of "VOICE??' ((PCMB sound). 14Defines the type of volume portmanteau. when the first significant number is "0." There is no volume
The volume is lowered when the first significant number:is "1." The volume is raised when the first significant number is "2." (one place) 15Defines the time (speed) required from the start volume to the end volume. The numerical value ranges from 0 to FF. Smaller the value the faster the speed. When the value is set to 0, as the output of sound begins, the end volume level is reached with the effect being nullified. The initial volume level that is to be modified is defined. (This parameter is useless when the numerical value "1" [where the volume is lowered] is chosen at 14.) The value ranging from 0 to FF. Larger the value, larger the level. The final volume level of the sound that is to be modified is defined. The value ranging from 0 to FF. Larger the value, larger the level. Defines the speed (chosen in 15) increase. (In other words, to define the speed of volume portmanteau, both 15 and 18 must be define as positive values.) The value ranging from 0 to FF. Larger the value, larger the increase of speed. When the value is 0, there is no modification.
16-
17-
18-
Macro Definition "PCMB-EI-TBL," and "PCMB-EI-TBL2.': The contents are similar to "PCMA-EI-TBL," "PCMA-EI-TBL2," and "PCMA-EI-TBL3." Please input accordingly. However, there are few differences which are listed below. * The voice EI code entered in "PCMB-EI-TBL" is "19." * The voice EI code entered in "PCMB-EI-TBL2" is "1B." (Sending in the following order will result in sound output: EI code, voice number.) (Sample) ADPCM hardware address, OPNB SmTHESIZE UNIT address, and address relationship inside the files (such as relationship between "VO-PCMA.SRC" and "vo~PCMB.SRc). 1- Word count of OPNB SYNTHESIZE UNIT from 0-4000H data is 1 Mbit. 2400H of address input area inside of "VO-PCMA.SRC" & "VO_PCMB.SRC" is 1 Mbit. <Sample> (Start Address) (End Address) 400 (H) 1M 0 2M 400 (H) 800 (H) 3M 800 (H) C O (H) O 4M (HI 1000 (H) 1000 (H) 1400 (H) 1800 (H)
3-
There is no difference on the NEO-GEO system between ADPCMA data ROM and ADPCMB data ROM. Access point address values of "VO-PCMA.SRC" and "VO-PCMB.SRC" are the same. Please make sure not to over lap "VO-PCMA.SRC: and "VO-PCMB .SRC" address values. (Please be aware, that there is no error message display when there are address value over laps or if the same values are entered.) To avoid confusion, please organize ADPCMA data (ROM) and ADPCMB data (ROM). (Each data and ROM should be placed separately as units consisting of one data per ROM.) During development, the ADPCMA and ADPCMB data ROM hardware position will probably change. At this time the address input value must be changed in "VO-PCMA.SRC" & "VO-PCMB.SRC" files. The example below illustrate the method of shifting the address values entered in files "VO-PCMA.SRC" & "VO-PCMB.SRC" by the same amount.
4-
Ex: In this case, there is a need to move every address values by 1 M (i.e. each address value f requires an addition of 400H). I the Macro Definition "VOICER MACRO of "VO-PCMB.SRC" is rewritten as follows (Figure I), there is no need to rewrite each address values.
Figure 1
I VOICER
MACRO
&PI,&ST,&EN,&CT,&FD,&ED,&PT,&LV
$&PI $&ST/2+200H $&EN/2- 1+200H
Because of Macro Definition purposes, 200H is used to calculate 1 M. For example, increasing the value 200H to 400H will equal 2 M, and increasing to 600H results in 3 M of address shift for a file in "TBL-KEY-PCMA?' * This can be done for either "VO-PCMA.SRC" or "VO-PCMB.SRC."
"ADPCMA" ROM should be installed starting from "Vl" (from address OOOOH), "VO-PCMB.SRC" address input starting from OOOOH as well, and depending on the number of ADPCMA ROM's, the above operation should be done in "VO-PCMB.SRC."
The VOICE NUMBER (the ?? of "VOICE??') of the PCMB instrumental sounds created in "VO-PCMB.SRC" should be entered in the dotted line box. The first entry in the above example is "18." This is the VOICE NUMBER of "VO-PCMB.SRC." And the VOICE NUMBER that is corresponding to "18" in "TBL-OKEY-PCMB is "40." (@ determines the first significant value, 4,and @ determines the second significant value, +40 * 40.) Entering this value into the prescribed position of MUSIC.SRC, and entering the musical score will produce musical sounds with VOICE NUMBER "18." (It will be discussed further in "Creating MUSIC.SRC.") Macro Definition "TBL-OCTAVE-PITCH" This is a pitch table that adds scale to each sound that was entered into Macro Definition "TBL-OCTAVE-PITCH." The scale has been adjusted with a sampling rate of 12 kHz. (Because of this, it is possible to use the instrumental sounds with sampling rate of 24 kHz.) If there is a need to use different sampling rates, this is where the changes should be entered. But it is our recommendation to use this sampling rate of 12 kHz. Macro Definition "TBL-MKEY-PCMB" Normally, sampling one note that the musical instrument produces, and playing it with a wide range of frequencies, the lowest and highest frequency output would be interpreted by the human ears as coming from different instruments. Iq order to compensate for this failure to emulate a real instrument, the following steps should be taken. First, sample the
desired instrument sound. Second, sample the sound one octave (two octave in some cases) at a time two to three times higher and lower than what was sampled in the first step. (Number of times higher and lower can be changed according to how wide a range the musical score is.) Finally, the sounds that were sampled should be entered separately into "VO-PCMB.SRC," and entering also in "TBL-MKEY-PCMB" results in a score sounding as if it was coming from a real instrument rather than being simulated. (Of course this will require more memory.) Ex: TBL-MKEY-PCMB ;MAIN $80-$BF :type multi , ,.-v-----.--..o------.....--.-.---a-...O.--.~-A-~~-.-----.octave0 1 2 3 4 5 6 7
. . . . . . . . . . . . . .
Each row has "PCMB-KEY??," "DB," and 8 parameters with octave numbers from 0 to 7. Each parameter represents an octave. "octave 0 represents the lowest octave and " "octave 7" represents the highest octave. Enter the VOICE NUMBER of PCMB in one of the octave locations. In the above example, @ "$21," @ "$22," and @ "$23" are the VOICE NUMBER created in "VO-PCM.SRC." (Assuming each sample range is 1 octave, this example allows instrumental output over three octave range.) "80" represents these parameters. Entering this numerical value in the prescribed area of MUSIC.SRC, the creation of the musical score is initiated. The above description is what "TBL-MKEY.PCMB9' is normally used for, but it also maybe used as a "split" (i.e.: It can be used to separate a musical interval into high and low frequencies). Macro Definition "TBL-MULTI.PITCH This is a pitch table that adds scale to each sound that was entered into Macro Definition "TBL-MLTLTLPITCH." The sampling rate of this scale is 12 kHz as well. Please use this table as is.
File Name: "VO-HOST.SRC" MUSIC, EFFECT that are to be outputted from the game, must receive the code from the main CPU. The file "VO-HOST.SRC" is a table which stores the code of MUSIC, EFFECT.
Macro Definition "TBL-EFFECT-PCMB" Enter the VOICE NUMBER of PCMB sounds of EFFECT, entered (or edited) in file "VO-PCMB.SRC," to correlate with the codes. Ex:
b
TBL-EFFECT-PCMB 0 DB DB DB DB
; $0A,$00,$00,$00,$00,$00,$00,$00,$00 ;$00,$00,$00,$00,$00,$00,$00,$00,$00 -
.................................................................................................. . Q
Enter (inside the dotted line box) the VOICE NUMBER of PCMB sounds of EFFECT entered and edited in "VO-PCMB.SRC." The only non-zero entry inside the dotted line box is "$OA;" the corresponding code for this value is "80." (0 determines the first significant value, 0, and @ determines the second significant value, 8 80.) Macro Definition 'bTE3L-EFFECT-PCMA" It is similar to "TBL-EEFECT-PCMB." Please refer to the section above.
64 sounds with code 80-BF in "TBL-Em;ECT-PCMB" may be entered and 64 sounds with code CO-FF in "TBL-EFFECT-PCMA." (If there are more 64 sounds, please use the method discussed earlier in "PCMA-EI-TBL.")
Macro Definition "TBL-MCODE" This is to open each code of the MUSIC, EFFECT. Please think of this as the switch to output the sound of MUSIC, EFFECT. Ex:
0
TBL-MCODE EQU DB DB DB @ DB DB
$
0123456789ABCDEF
~ , ~ , ~ , ~ , ~ , ~ , ~ , ~ , ~ 00~ , ~ , ~ , ~ , ~ ;, ~ , ~ , ~ , ~ , ~ , ~ , ~ , ~ , ~10 ~ , ~ , ~ , ~ , ~ ; ,
G -
; 20 ~ , ~ , ~ , ~ , ~ , ~ , ~ , ~ , ~ , ~30 ~ , ~ , ~ , ~ , ~ ; , ~ , ~ , ~ , ~ , ~ , ~ , ~ , ~ , ~ , ;40, ~ , ~ , ~ , ~ , ~ ~
0,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0
;NO ENTRY ;SYSTEM CODE ;MUSIC ENTRY ;EFFECT PCMA ;EFFECT PCMB
=O
;EFFECT SSG
=1 =2 =3 =4 =5
@ determines the first significant value, 0, and @ determines the second significant value, I 20 * 20, which is the code corresponding to the flag (switch, "0").
A code with a value from 00-1F is a SYSTEM CODE (related to sound program) and is not normally modified here. A code with value from 20-5F is a MUSIC.SRC flag and requires a value of "2" in the flag section to be active. (MUSIC.SRC related codes will be explained later.) A code with value from 60-7F is a S. S. G. SRC flag and requires a value of "5" in the flag section to be active. (S. S. G. SRC related codes will be explained later.) A code with value from 80-BF is a PCMB EFFECT sound flag and requires a value of "4" in the flag section to be active. A code with value from CO-FF is a PCMA EFFECT sound flag and requires a value of "3" in the flag section to be active. Please specify all unused codes to be "0"(if it is not set to "0," it will affect the sound program).
UNIT Instrumental and EFFECT PCMA, B Sound; To Assembling In The Sound Program: And Finally To Sound Output.
(1) / Find the instrumental and or EFFECT sound; sample the sounds using YM2610 i ACQUISlTION UNIT & OPNB SYNTHESIZE UNIT and store this data into the i i ROMs..................................................... .................................................................... ...............
P .................................................................................................................................................. (2) i Store the address of the sampled sound in "VO-PCMA.SRCW or "VO-PCMB.STC." .............................................................................................................................................
9'
i Inside "VO-HOST.SRC," specify the code i i. Enter the VOICE NUMBER for PCMB j . i for PCMA sound Macro Definition "TBL- i. j, instrumental sounds in EFFECT-PCMA" and for PCMB sound i. j "TBL-PCMB.SRC" and convert it to j i Macro Definition "TBL-EFFECT-PCMB" ; i numerical values for MUSIC.SRC. .....................................................................: i and open flags for Macro Definition p
a
i........................................................................... "TBL-MCODE."
Copy "CONFIG-S.SRC" for S. S. G. SRC, and use alphabet characters other than those used in the MUSIC.SRC. The numerical values should chosen from 60-7F.
Enter the MUSIC.SRC file HM21.SRC into the following three files: "TBL-MU.SRC" "SDATA5.SRC" "VO-HOST.SRC"
i )
File: "TBL-MU.SRC" Macro Definition "TBL-MUSIC" Table which corresponds with MUSIC-SRC. Ex:
DEFW DEFW DEFW DEFW
8
0
: MUSICB
@
0 0
0
MUSIC2-l ; MUSIC22 ; MUSIC23
The value of @ ranges from 20-5F (maximum of 63 songs) and there are "0 ;"( 8 ) corresponding to this value. For example, entering "HM21.SRC" into this table, enter the value 21 into 0 and erase the value "0 ; as in @. (Please enter S. S. G. SRC into Micro " Definition "TBL-SSG-MUSIC" using a similar method as was shown.)
File: "SDATA5.DAT" File which collects all files associated with sound. MUSIC. SRC and S. S. G. SRC are files and must be taken account of in "SDATA5.DAT." Ex: .................... Play MML data .................... .................... INCLUDE TBL-MU.SRC @ INCLUDE HM21.SRC
Please scroll down to "Play MML data." Please enter after @(INCLUDE TBL-MU.SRC) as in @. With each increase of MUSIC.SRC, please enter "INCLUDE-??? in numerical order. Please follow the same steps for S. S. G. SRC. File: "VO-HOST.SRC" The details are as they were discussed earlier. Please enter the CODE number for MUSIC.SRC, "2," or S. S. G. SRC "5," into Macro Definition "TBL-MCODE." (Ex: MUSIC.SRC for the above example would have the value "2" at location "21")
9 Music Score Data (MUSIC.SRC) Creation Please follow the steps listed below before entering the music score data.
"HM2 1.SRC" will be used as an example. The "HM2 1.SRC" file will initially be as shown below, a copy of "CONFIG20.SRC," but the file name and data inside will not be to "MUSIC." (This matching. Please change the values iQ to "21" and @ must be done every time a new MUSIC.SRC is created.
&
9 9 9 9 9
*****
;PART 1 ;PART 2 ;PART 3 ;PART 4 ;PART 5 ;PART 6 ; PART 7 ;PART 8 ;PART 9 ;PART 10
;PART 11
Music score creation will be discussed below. The file shown is the initial state of MUSIC.SRC.
9
9
5
DB
$00
;SELECT CODE
;PART 11
"
;PART 11
@ --- Defines tempo, values ranging from 00-FF. The larger the value the faster the
tempo.
@ --- Defines the total level of volume of FM sound, PCMA sound, and PCMB sound.
Top value ranging from 0-127 and is for the total level of FM sound. Smaller the value larger the volume. Second value ranges from 0-3F and is for the total level of PCMA sound. Because EFFECT sound created in PCMA sound will also be read in, please leave the level at 3F. Bottom value ranges from 0-FF and is for the total level of PCMB sound. The larger the value, larger the volume.
@ --- This is the switch to OPEN and CLOSE (to output or not) of each SCORE for @, 8,and @. "$0 1,OW @= ON "$OO,OO" * OFF @ --- Input method for FM sound notes
The area boxed is the score data input area and is for 4 scores. Each score has capacity to output one sound (at one time). (Part 1) Inputting note data One note data has the following: note length, volume & tie specification, and octave & key. Each numerical values are hexadecimal. Ex: DB $18 $88 $4C (note length) (volume & tie specification) (octave & key) (note length) The numerical values range from 00-30, and correspond to notes as follow. 112 note * 30 C 118 note * O 1/32 note G- 03 dotted 118 note * 12 3 notes per 2 beat * 03 (quarter note triplet) six notes per beat * 04 (six group note) 114 note * 18 1/16 note * 06 dotted 114 note @= 24 dotted 1/16 note * 09 3 notes per beat * 24 (triplet)
(volume & tie or a rest) volume ranges from 80-BF, smaller the value, larger the volume. If the note is a tie, the range is from 00-3F (negate 80 from volume range). Also, for a rest, use the value 40.
Changing the value (octave & key) of the note after the tie note will make a (musical) slur. (octave & key) An octave is defined by the top 4 bits (tenth place). The range is 7 octaves, with numerical value of 0-E (even values). A key is defined by the bottom 4 bits (one place). The numerical value is chosen from 0-F with the following relationship. value note
9 A B A B
E E
F F
G C# D#
C D
(Part 2) Inputting tone, total level of each score, and total octave of each score. Ex: $8A $84 $84 DB (tone) (total level) (total octave) These three consists a set that should be inputted before note data. (tone) The values here correspond with the Voice Number of the FM tone created in "VO-FM.SRC." (total level) The total level of each score is defined here with range from 80-9F. Smaller the value, the larger the volume. (total'octave) The total octave of each score is defined here with rages 80-8F. 80 is the base value with even number values (2,4,6,8, A, C, E) corresponding to a raise of an octave per interval. To lower an octave, odd values (3,5,7,9, B, D, F) should be used; each interval corresponds to one octave being lowered. The three numerical values should be inputted to FM Score in the beginning, but if there is a need to have a different value, it is possible to change.
simultaneously, but 3 sounds are normally used for EFFECT. If EFFECT is not being used, Score??5-Score??lO may be used.) (Part 1) Inputting note data Ex: DB $18 $88 $18 (note length) (volume & tie specification) (Voice No. of PCMA) The three hexadecimal values is a set. Input method for (note length) and (volume & tie specification) are the same for FM sound note input method. After these two values, please enter the Voice Number of the instrumental sound that is to be used from "VO-PCMA.SRC." Also, the range of (volume & tie specification) is $80-$9F with $9F being the maximum value. (Part 2) Inputting total level of each Score (PCMA sound) Ex: DB $80 $95 (volume specification code) (PCMA total level of each Score ) The two numerical value makes a set for input. (volume specification code) Please enter "$80" in front of (PCMA total level of each Score). (PCMA total level of each Score) The range is 80-9F, larger the value larger the volume. These values must be entered, but may be modified as needed.
--- Input method for PCMB.sound note 1 Score that is inside the box is the note data for PCMB sound.
(Part 1) Inputting PCMB sound note data The method is the same as the input method for FM sound note data entry. (Part 2) Inputting method for Score total level, total octave, and key. Ex: DB DB $80,
0
@
$FF,
$80
8
$40
$46,
0 --Q ---
Volume specification code. Please enter the value before a , because the set consists of 0 and Q. The total level of PCMB part is specified. The range is $80-$FF, larger
@ ---
Total octave is defined with $80 as the base (lowest) value. With the addition of even values (of $02, $04, $06,$08, $OA, $OC, $OE) the octaves will go up by one octave at a time. The maximum value is $8F. Code which defines the tone. Please enter the value before @, because the set consists of @ and @. Please enter "TBL-OKEY-PCMB" of "TBL-PCMB .SRC" or code from "TBL-MKEY-PCMB." (For example, looking at the file example "Macro Definition "TBL-OKEY-PCMB" from section "File Name: "TBL-PCMB .SRC," inputting "$40" will designate the instrumental sound "VOICE 18" in file "VO-PCMB. SRC." Inputting "$80" with "TBL-MKEY-PCMB , the " series of instrumental sounds in line "PCMB KEY80" will be outputted.)
@ --@ ---
Please enter the values listed above as a set before PCMB part notes. Other commands that are necessary for creating scores will be discussed below. 1. $40 (Music stop code) Please enter after each score. (Before entering this code, please put in a rest "$01, $40, $00.") 2. $42 (Return first part code) Please enter this code to loop a MUSIC.SRC piece after each score. 3. $44 (LR switch code) Defines the direction (L channel, R channel, and LR channel) of the output for each score. Please enter the following codes for each directional choice (These may be defined anywhere inside the Score.) L channel output DB $44 R channel output DB $44 LR channel output DB $44
4. $47 (Next music code) Please enter this code to play one MUSIC.SRC after another. (Ex: after the introduction MUSIC.SRC.) Ex: Playing HM2 1.SRC and HM22.SRC.
After each score of HM21.SCR please enter the following. $47, 0. (22 of HM22.SRC)
5. $3F (Fade out code) Defines fade out. Please enter the following inside 1 Score of choice: $3F, $?? (fade out speed). The range of fade out speed is 0-FF, and larger the value faster it fades out.
6. $33 (Tempo change code) Using this code allows change of tempo. (?? 0. tempo) Range of the value is 0-FF. Larger the value, faster $33 $?? the tempo.
..................................................................
$??,
$??,
0 --- This is the repeat code. Please input this code before the group of note data you
want repeated.
8 --- This is the repeat end code. Please enter this code after the group of note data
you want repeated.
0---
Please enter the number of times you would want this loop to be repeated. The maximum value is 255 times. Please enter this number in hexadecimal. (i.e. 0-FF).
In the above example, the group of note data are repeated 16 times.
..................................................................
$??,
$31, $10 $??, $??, $??, $??, $??, $??, .................................................................. note data note data $34 ;-$3*-; ..........
Using $32 (repeat code) and $38 (repeat end code) allows double repeat. 2. Chorus command ($BO-$BF) Please choose 2 of the 4 Scores of FM sound to be outputted in unison. Entering the chorus command in the beginning of one of the 2 Scores will create the chorus effect. The range is BO-BF. "$BO" designates no chorus, and larger the value the larger the effect. 3. BJUMP command
If 1 pattern of phrase is to be used in numerous places, B-JUMP command should be used. This will save input time and storage space.
i B-??-??
.................a
Ex: ...................
@
$??, $??, $??, $??, $??, $??, ..................................................................
DB
note data
note data
Before the phrase desired, please enter @; and 8 after. Please enter the chosen letters from the alphabet of numerical values in "??"of @. Please enter the following command where ever the desired phrase is to be outputted.
The characters in "??" must correspond with the characters in @. The phrase may be entered as many times as needed inside MUS1C.SRC. Also, by changing the characters "??," numerous B-JMP commands may be used.
FILE: "VO_FM.SRC"
FM tones to be used in MUSIC.SRC should be created by entering numerical values in this file. There are numerous publications dealing with FM sound equations, please refer
to these books.
Ex:
VOICE-No8A @ DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB DEFB
7
5 3
+# +@
-3 1 0 2 16 6 0 15 5 0 -3 1 0 3 16 3 1 0 3 16 7 0 15 7 0
o
27 3 16 3 0 14 5
+@@@a
7 0
15
+a@@&31)
0 0 0 0 00 0 0 0 OOOOOOOQB 00OOOOOOB
7 0
+@
+ J @
+@
+a
+@ +@ -6.D +@
*fa
@ --- This is the FM Voice Number for the set of numerical values. Please enter this
number to call the sound for output in MUSIC.SRC. The values start from 80 and ends with FF, i.e. 127 tone entry capacity.
Q --- Defines Feed back. Value ranges from 0-7, larger the value, stronger the effect. @ --- Defines the algorithm. Please choose from below; with the numbers shown below.
Defines the de-tune value of each operator. The range is from-4-+3. Defines the multiple (frequency rate) of each operator. The range is 0-15, larger the value, the stronger the effect.
- Defines the output level of each operator. The range is 0-127,O having the highest amplitude value.
-
Defines the key scale rate of each operator. The range is 0-3, larger the value, the larger the correction.
- Defines the attack rate of each operator. The range is 0-3 1, larger the
value, faster the rate.
- Defines the decay rate of each operator. The range is 0-3 1, larger the
value, faster the rate.
- Defines the sustain rate of each operator. The range is 0-3 1, larger the value, faster the rate.
- Defines the sustain level of each operator. The range is 0-3 1, larger the
value, lower the level.
- Defines the release rate. The range is 0-15, larger the value shorter the release time.
OFF
Sustain Rate
Release Rate
Defines S'S'G type Envelop (assigns envelop created in S'S'G sound source to each operator). The shape and value relationship is as shown below. (Entering a value 0-7 designates OFF.)
SSG Type Envelop Defines the wave form of LFO (wave shape of low frequency output created by LFO). The value and shape relationship are as follows.
0
1 2
3
: :
saw tooth wave square wave triangle wave sample & hold (random wave)
: :
Defines Sync Delay (timing of LFO after key-on). The range is 0-FF, with 0 designating Sync Delay OFF.
Defines the LFO Speed. The range is 0-7FFF. Defines PMD (Pulse Modulation effect defined). The range is 0-FF, larger the value, more intense the effect. Defines PMS (Pulse Modulation general [over all] effect defined). The range is 0-FT, larger the value, more intense the effect. Defines Int Count (LFO genera] [roughly] timing defined. The range is 0-FF, when LFO is used, please set the value to 1 (normally). Is not in use. (Please set to 0.) PMS-AMS 1 G- Parameter which defines AMS.PMS of LFO from the hardware. (Above LFO is from the software.) Lower 4 bits is the parameter for AMS with range 0-3. Upper 4 bits is the parameter for PMS with range 0-7. (* Please change to binary value when inputting.) H-LFO-Switch F LFO switch from hardware. 0th bit is for AM of operator 1. 1st bit for AM of operator 2. 2nd bit for AM of operator 3. 3rd bit for AM of operator 4. When each of the bit value 1 equals ON, and value 0 equals OFF.
8 Creating F l "SSG.SRC" ie
Please do the following before entering data into the file "S'S'G.SRC." The file "CONFIG-S.SRC" (the initial state of "S'S'G.SRC" file) is shown below. Please copy file "CONFIG-S.SRC" with another name. For example, if it is copied as "SM61.SRC," change all the area boxed to value with "61."
-
* * * ** *****
$ M U S I ~
9
7
9
,
7
; PART 1
; PART2 ; PART 3 ; PART 4 ; noise channel.
,
9 9 9
DB DB DB DB
9
,
9
............................................................................
i....................... OOoOOOo0B :
$55 $55
j
,......................
SCORE~S-1 DB
:scorns2
/.................................... s c o ~ s - 3
i s c o r n s-N
DB
i -@ i
;
!
DB
$55
G -
@ --- The priority order of that S'S-G.SRCis defined. The range is 0-FF, smaller the
value, higher the priority.
--- Switch (to output or not) to OPEN or CLOSE each SCORE of @ and @.
@ --- A switch to define the SCORE of output destination of the NOISE part. Please
enter the data for the NOISE part in SCORE??-N. This SCORE can not be outputted on its own. This SCORE must be mixed with one of the following SCORE??S-1 -SCORE??S-3. ................................................... Ex: i DB O O O O B OOOO
If noise to be mixed with SCORE??S-1, change the value of "0"at Q to "1 ." If noise to be mixed with SCORE??S-2, change the value of "0"at Q to "1 ." If noise to be mixed with SCORE??S-3, change the value of "0"at @ to "1 ."
(NOISE part not used) Please do the following: (1) Please enter a rest in SCORE??S-N with the score length of one of the SCORE??S-1 -SCORE??S-3. (2) Please turn "ON" ("$01") the appropriate SCORE in area Q. (3) Please turn "OFF' ail of the switches which define the SCORE of output destination of the NOISE part (values of "0").
@ --- This is the music data for S'S'G sounds. Input method is the same as mentioned for FM sound of MUSIC.SRC (please refer to earlier sections). The set is shown
below. DB $(length of score), $(volume & tie), $(octave & key)
@ --- Please enter the NOISE part into this SCORE. Input method for length of score
and volume & tie are the same as above (please refer to earlier sections). Please enter the following value for noise frequency, 0-IF. Smaller the value, lower the frequency and larger the value, higher the frequency. The set is shown below. DB $(length of score), $(volume & tie), $(noise frequency)
(Other Commands Used For S'S'G.SRC) 1. Envelop change The use of 10 pre-set envelop may be used on S'S'G sound of SCORE??S-1-3. Ex: DW $53, $(Envelop Shape), $(Envelop Speed) (These three values consist a set, and should be entered in front of the note data of SCORE??S-1-3.) (Envelop Shapes) Please entered the value shown in the table below for the corresponding envelop shape.
(Envelop Speed) Defines the envelop speed. The range is from 0-FFFF, smaller the value, the faster the speed.
2. $55 (SSG Stop Code) Please enter at the end of each SCORE.
3. Repeat Command The command that was explained in the MUSIC.SRC section may be used as well in S'S'G.SRC. Please refer to the edrlier sections for instructions.
If two or more sound effect is ADPCMA sounds, using OA??.SRC; or if they are
ADPCMB sounds, using OB??.SRC will allow output of one following another with one code. (Ex: If there are two sound effects entered, such as "click" and "boom," in "TBL-EiY-PCMA" of "VO_PCMA.SRC;"using "OA??.SRC allows use of one code to output the sound set of "click boom.")
File: "0AFO.SRC"
"
@ --- Defines the priority of the sound effects entered (defined below). Smaller the
value, higher the priority.
Q --- Flag table for sound effects entered. "$01" designates output, and "$00" designates no output.
@ --- Defines the volume level of the outputted sound effects. "$80" is the volume level designation, and the raising the value, "9F' above, defines the raise of volume level. The range is $80-$9F.
@ --- The three bytes defines a set. The first byte defines the length of output. The
output length is the same as the each note length of tempo "$B8" of "MUSIC.SRC." (Ex: "$30,$??,$??" with tempo "$B8" is the same as a half note.) The range is $00-$30. If the need is to have a longer length, please use the second byte as a tie as it was done in "MUSIC.SRC." The second byte designates the velocity and tie. Definition and inputting method is the same as PCMA part in "MUSIC.SRC." Please refer to earlier sections. The third byte defines the VOICE NUMBER (numerical value entered in "TBL-KEY-PCM?" of "VOPCMA.SRC") of the sound effect.
@ --- This is the STOP CODE for "OA??.SRC." Please enter this code at the end of these files.
Input Method for "OA??.SRC"
1. Copy the file and re-input the numerical value in (A), shown in the previous page, to correspond with the file name. (If the file name is "OAFO.SRC," change the value in (A) to "FO.") 2. Please remove ";O"in front of "AMUSICFO" of "Tl3L-PCMA-EFFECT2" in "VO-PCMA.SRC" as is shown below: TBL-PCMA-EFFECT2 ;OA??.SRC TABLE $FO-FF DEFW DEFW DEFW DEFW AMUSICFO 0; AMUSICFl 0; AMUSICF2 0; AMUSICF3
3. Including "SDATA5.DAT."
._-_--_-_____-_-_-_--------------------------------------,--------------------------------------------------------, Play MML data ._-------___--_------------------------------------------,--------------------------------------------------------INCLUDE TBL-MU.SRC ;MUSIC TBL . - _ _ _ _ - _ _ - _ _ - _ _ PCMA-OA m E S >-- - - - - - - - -- - -- _ - - - -- - - <-__ _ * INCLUDE 0AFO.SRC
4. Please enter the file name numerical value in a location in "TBL-EFFECT-PCMA" of "VO-HOST.SRC." The value in the location will be the code. (Ex: If the file is "OAFO.SRC," input "FO" into the dotted box. Then the code for "0AFO.SRC" would be "EO.") Also, please enter "3" in the code area for "TBL-MCODE." (Please enter "3" in the boxed area of TBL-MCODE for "EO.")
.* .*
9
9
.* .* , .* , .* .*
9
.*
7
9
0123456789ABCDEF EQU DB DB DB DB
$ O,l,l,l,l,l,l,l,l,l,l,O,O,O,l,l l,l,O,O,l,l,O,O,l,l,l,l,l,O,O,O 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
TBL-MCODE
; 00
; 10 ; 20 ; 30
NO ENTRY SYSTEM CODE MUSIC ENTRY EFFECT PCMA ENTRY EFFECT PCMB ENTRY EFFECT SSG ENTRY
9
=0 = 1 =2 = 3 =4 = 5
TBL-EFFECT-PCMA ;HOST REQUEST $CO-$FF ;type HOST request 0 1 2 3 4 5 6 7 ~ ~ A B C D E F DB $00,$00,$00,$00, $OO,$OO,$OO,$OO,$OO,$OO,$OO,$OO,$OO,$OO,$oo,$oo ;C DB ~00,$00,$00,$00, $OO,$OO,$OO,$OO,$OO,$OO,$OO,$OO,$OO,$OO,$oo,$ ;D DB $00,$00,$00,$00, $00,$00,$00,$00,$00,$00,$00,$00,$00 $00 $00,$00 ;E DB $00,$00,$00,$00, $00,$00,$00,$00,$00,$~,$00,$00,$,$00,$00,$00F ;
7
9 9 9
COIN-CODE DB
$7F
After doing the set up shown in 1-4, sending "EO" code will output the sound entered in "OAFO. SRC." Important Information on "OA??.SRC" and "OB??.SRC"
Input into "OB??.SRC" is similar to "OA??.SRC." Please refer to information on "OA??.SRC." There is however, one difference. In @mentioned in the previous page, the values are different with "$80,$FF,$80,$46,$00." "$FF"is the volume with range of $00-$FF. Note that $FF is the maximum volume. ADPCMA sound and ADPCMB sound may not be combined. Maximum of 15, "0AFO.SRC"-"0AFE.SRC" may be created for "OA??.SRC." Maximum of 15, "0BFO.SRC"-"0BFE.SRC" may be created for "OB??.SRC." Please begin "OA??.SRC" with "0AFO.SRC." Once "OAFO-SRC" has been entered, "VOICEOA-VOICEFA" of "TBL-Kl3Y-PCMA" in "VO-PCMA.SRC" can not be used.
* * *
CREATING M1 ROM
(1)
(2)
Please use the assembler on "SDATA5.DAT" to compile. Please link the above output machine language with "SOUND2.COM (this is the sound driver file). (Data address starts at 2EOOH.) The "SOUND2.COM" created by the above operation should be transferred to address 0 and "WINDOW.COM (to prevent copying) to address 18000H with the ROM writer. If the "SOUND2.COM exceeds address F 7 M , please create "BANK.COM and transfer to address 10000H. (Creating "BANK.COM will be covered later.) After transfer, please input the lower two digits of check sum in address 14; and the numerical value l00H minus lower two digits of check sum (i.e. lOOH - value in address 14) in address 15. These value should be inputted to the RAM of ROM writer. (These values are necessary for start up ROM and RAM check of NEOGEO and MVS systems.) After the operation in (1)-(4), please write into 1M ROM.
(3)
(4)
*
*
If the assembler is from "IWASAIKI," operations (1)-(3) may be performed by the use of batch file "SB.BAT" to compile and to link. (For "BANK.COM," please use "SB .BAT.")
If the ROM writer being used is from "ANDO," all transfers of COM file may be done with "ANDO.EXE."
(Use) Please type "AND0 (drive name) (file name)." After this input, instructions will appear on the monitor. Please follow its instructions and set up the ROM writer.
CREATING BANK.COM
(Explanation of BANK switch over) There are "BANKO" and "BANK1" inside M1 ROM. The address of M1 ROM is "OOOOOH-1FFFFN" with "BANKO" at "000OOH-OFFFFH" and "BANK1" at "1OOOOH- 1FFEFH." (Area OF8OOH-OFFFFH of "BANKO" is used as a work area) Data inputted into "BANK1" are "MUSIC.SRC" related. The switch over from "BANKO" to "BANKl" is accomplished through the different MUSIC code sent and is done automatically in the sound program. SOUND2.COM (data included in SOUND2.REL+SDATA5.DAT) is inputted from O O O in "BANKO." I SOUND2.COM exceeds OF7FFH, "BANKl" is used. In this OOH f case, "BANK.COM" (MUSIC data included in SDATA6.DAT) will be inputted from 10000H. Method of creating BANK.COM is shown below. (Creating BANK.COM) 1. For "TBL-SBANK-No" in "SDATA5.DAT" Please enter "0"in the area that corresponds to the MUSIC code for the MUSIC data that is to be entered in "BANKO." Please enter "1" in the area that corresponds to the MUSIC code for the MUSIC data that is to be entered in "BANKl." If "BANKl" is not to be used, please enter "0." Sound program refers to this table to switch from one BANK to the other.
Ex: MUSIC data with MUSIC code "32" is to be outputted from "BANK1"
.-----_--------------------------------------------------,------------------------------------------------------_--
.--__-_--------------------------------------------------,--------------------------------------------------------...
9,9
BANK TABLE
0. .BANK0
;; ;
l..BANKl 0123456789ABCDEF
TBL-SBANK-No
~ , ~ , ~ , ~ , ~ , ~ , ~ , ;20 , ~ , ~ , ~ , ~ , ~ , ~ ~
0,0~0,0,0,0,0,0,0,0,0,0,0,0,0
._-_---_------__-_---------------------------------------,---------------------------------------------------------
2.
Please include the MUSIC data file name, that is to be entered in "BANK1," in "SDATA6.DAT." Next, define ORG to be at 8000H and please assemble (using IS) the segment using ASEG (absolute). (ORG and ASEG have been defined in "SDATA6.DAT." Also if the assembler is made by "IWASAKI" corporation, "SDB.BAT" will assemble the segment.)
Ex: In the example below, MUSIC data "HM21.SRC" and "HM25.SRC" are included.
9
.-______---_---_-----------------------------------------9
INCLUDE INCLUDE
HM21.SRC HM25.SRC
3.
After assembling "SDATAG.DAT," please check the top address of MUSIC data (to be inputted in BANK1) included in "SDATA6.DAT." Please input these addresses in "TBL-MU.SRC" directly. (If the assembler is made by "IWASAKI" corporation, checking "SDATA6.$SY" after assembling will be sufficient. For example, if the MUSIC file is HM21 .SRC, look for the letters "HM21.SRC" in "SDATA6.$SY," the head address is the 4 digit numerical value left of "SDATA6.$SY.")
Ex: The top address of MUSIC data "HM21.SRC" and "HM25.SRC" included in "SDATA6.DAT" is directly inputted into "TBL-MU.SRC"
.* -*
9
7
9
.* ,
9
* ****
MUSIC SCORE DATA TOP ADDRESS EQU DEFW DEFW DEFW DEFW DEFW DEFW DEFW
$
*****
.*
O;MUSIC20 08000H O;MUSIC22 O;MUSIC23 O;MUSIC24 0815FH O;MUSIC26
~9
TBL-MUSIC
4.
Please enter the value "2" in the code area in "TBL-MCODE" of "VO-HOST.SRC" which corresponds to the music number of the music source included in "SDATA6.SRC." Please link the following files, "BANK.REL" (to prevent copying) and "SDATA6.REL" created so far with the procedures mentioned earlier. "BANK.COM should be created by this procedure. When linking, please define the data area starting from 8000h. (If the assembler is made by "IWASAKI" corporation, "SB.BAT" will do the linking operation.) Also, create "SOUND2.COM (Follciwing procedures 1 and 3, assemble, and link the files) and transfer "SOUND2.COM starting from OOOOH, "BANK.COM starting from 10000H, and "WINDOW.COM starting from 18000H to the 1M ROM.
5.
Explanation of System Codes System codes are codes necessary from the main CPU (68000) to control the sound program. For example, to stop all request of BGM and effect noise, or to fade the music out; the main CPU sends these codes. The code values range from 00 IF, and each of their functions are listed below.
rnde
00 01 02 03 04 05 06 07 08 09 O A O B
oc
O D O E O F
10 11 bank change request of "eye-catch" BGM 12 reset of sound program 13 ALLDI 14 MUSIC DI 15 EFFECT DI 16 ALLEI 17 MUSICEI 18 EFFECTEI 19 fadeout 1A 1B 1C ID tempo change 1E 1F SSGSTOP
ADPCMA(TBL-KEY-PCMA) sound effect stop ADPCMAWL-KEY-PCMB) sound effect stop ADPcMAWL-KE~Y-PCMA~) sound effect stop ADPCMA(TI3L-KEY-PCMB2) sound effect stop ADPcMA(TBL-KEY-PCMA~) sound effect stop
Explanation of Codes
code 01 02 03 04 Code for the MVS. Please do not send this code. This code will play the "eye-catch" BGM (5F). Sound program reset. Please send this code in the beginning. Will not accept any sound code (even if reset code is sent, this status will remain). The coin sound (7F) is the only exception. Will not accept any MUSIC codes (20 5F). Will not accept any EFFECT codes (60 FF). Will accept all sound codes. This code must be sent after reset or k ,DI for any ~ sound to be outputted. Will accept all MUSIC codes (20 5F).
I I1,I.I.
111
ON
ON
For Expansion (Do Not Touch) Define Program ROM Type IM-ROM (NON-JEDEC) IM-ROM (JEDEC) ON 4M-ROM ONON IM-ROM 007-EPIC (Prog-Side) Dip-SW Quick Reference Table 1 2 3 4 5 6 7 8 DSW2
(NOTE) 1. A blank space inside the small boxes designate Dip-SW OFF. 2. Please do not touch the areas which are marked as "For Expansion." There is no guarantee that the system will run properly when they are turned ON.
A
Will accept all EFFECT codes (60 I ) T. Will fade out the BGM currently being played. Send the speed value, 00 FF, after this code. Larger the value the faster the fade out speed. Will change the tempo of the BGM currently being played. Please send the tempo data after this code (Tempo data is the same as the MUSIC file data). Will stop the SSG sound effect (It will only stop the output). Please do not send this code. Sending this code during fade out will stop the fade out. Sending voice number entered in "TBL-KEY-PCMA" after this code will stop that sound effect. Sending voice number entered in "TBL-KEY-PCMA2" after this code will stop that sound effect. Sending voice number entered in "TBL-KEY-PCMA after this code will start output of that sound effect. Sending voice number entered in "TBL-KEY-PCMB" after this code will start output of that sound effect. Sending voice number entered in 'LTBL-KEY-PCMA2" after this code will start output of that sound effect. Sending voice number entered in "TBL-KEY-PCMB2" after this code will start output of that sound effect. Sending voice number entered in "TBL-KEY-PCMA3" after this code will start output of that sound effect.
NOTE:
O H 1FH table of "TBL-MCODE in "VO-HOST.SRC" are part of the sound O program system code entry. Please enter the value "1" inside the corresponding area of "TBL-MCODE with respect with the sound program system code entry. If sending two or more codes consecutively, please wait 64 ms or more for reset code, or 32 ms or more for other codes (including codes other than system codes).
About the PCM-ROM For the PCM-ROM, you may use three types of ROM with different capacity and pin configuration. The ROMs that can be used in this board is: 1M JEDEC type ROM, 1M NON-JEDEC type ROM, 4M-ROM. There are three choices, but using a different type ROM among the JEDEC types result in the program not working properly and may result in loss of the very expensive ROMs. About the Program ROM 1. Just like the PCM-ROM, three ROM types mentioned above may be used. In addition 1M-RAM is also available. When the program area is used as a RAM, you can not write directly into this area. When loading the program into RAM, please start from address 200000H. RAM address O has a correspondence with address 200000H, except you can H not write into this area. 2. After changing the program area to RAM, there is a danger of running the program and destroying the area. To prevent this kind of accident, there is a memory write protect SW on the board. There should be a switch with the marking "SW3." Pushing the switch toward the right side will stop any writing requests from the main board. (This switch is valid for memory cards as well.) Writing Allowed SW3 Writing Not Allowed SW3
WE ENABULE
WE ENABULE
3. When using a 4M-ROM for the program ROM, please insert ROM into socket P1 and P2. Inserting into other sockets will not work. About the Memory Card 1. On this board, the memory card may be used as a program RAM. The memory card that may be used are JEIDA format. Also you may insert two 4Mbit memory card. 2. This board does not support back up, but by using the memory card, it offers the same function. When using the memory card, please do not insert anything into program sockets (PI P8).
3. Inserting the memory card will light the CDlEN or CD2EN LED. If the LED is not lit, please make sure the memory card has been inserted correctly. Also, if the write protect SW of the memory card is ON, CDlWP or CD2WP LED will go off.
NOTE:
1. Although in RAM mode, addresses 20000H and later addresses are used for program load, please do not used addresses 2FFFFOH 2IiliFFFH since they are reserved for expansion.
2. Leaving the memory card inserted after the power has been turned off results in faster consumption of the back up battery of the memory card. And for protection of the memory card, please take the card out and into a protective casing when turning the power off.
t--p.E~j-+
2. When Using RAM
I I
EVEN
200H 000-
1 Memory Card 1 I
Memory Card 2
9 The above memory map corresponds to when memory is being written in. During read, start address may be set at OH.
ODD
9 The above memory map corresponds to when memory is being written in.
During read, start address may be set at OH.