Difference between revisions of "Target"
From MSX Game Library
(→Setup) |
|||
Line 31: | Line 31: | ||
=== Data === | === Data === | ||
− | + | Mapped-ROM use a system of sub-page (called "bank" here) the user can point to any segment of the ROM. | |
− | + | Those bank are mapped to page 1 and 2 (4000h~BFFFh) of the memory space. | |
+ | The number of banks depends on the size of the mapper: | ||
+ | * 8KB mappers have 4 banks: | ||
+ | ** bank 0: 4000h~5FFFh | ||
+ | ** bank 1: 6000h~7FFFh | ||
+ | ** bank 2: 8000h~9FFFh | ||
+ | ** bank 3: A000h~BFFFh | ||
+ | * 16KB mappers have 2 banks: | ||
+ | ** bank 0: 4000h~7FFFh | ||
+ | ** bank 1: 8000h~BFFFh | ||
− | The following segments are added to the ROM by the Build Tool by searching for files with a particular nomenclature: <project name>_s< | + | The Build Tool build the first 32KB of the mapped-ROM like a 32KB plain ROM. |
+ | This represents the first 4 segments for a 8KB mapper and the first 2 for a 16KB mapper. | ||
+ | |||
+ | The following segments are added to the ROM by the Build Tool by searching for files with a particular nomenclature: <tt>''<project name>''_s''<segment_number>''_b''<target_bank>''.c</tt>. | ||
+ | |||
+ | |||
+ | |||
+ | program.c | ||
+ | program_s4_b1.c | ||
+ | program_s5_b1.c |
Revision as of 13:47, 4 March 2022
Contents
Basic program
MSX-DOS program
Plain ROM program
Mapped ROM program
Setup
You can create program using one of this supported ROM mappers:
- ASCII-8: 8KB segments for a total to 64KB to 2MB,
- ASCII-16: 16KB segments for a total to 64KB to 4MB,
- Konami: 8KB segments for a total to 64KB to 2MB,
- Konami SCC: 8KB segments for a total to 64KB to 2MB.
In your build.bat, chose as target on of the following type: ROM_ASCII8, ROM_ASCII16, ROM_KONAMI, ROM_KONAMI_SCC. You can specify the ROM size (in KB) in the ROMSize variable. Default value is 128 (KB). Any multiple value of the mapper's segments size is valid, but I recommend using powers of 2 values (64, 128, 256, etc.) to help emulators to autodetect the right mapper.
Some Build Tool configuration examples:
REM -- 128KB ASCII-8 mapped-ROM set target=ROM_ASCII8 REM -- 4MB ASCII-16 mapped-ROM set target=ROM_ASCII16 set ROMSize=4096 REM -- 512KB Konami SCC mapped-ROM set target=ROM_KONAMI_SCC set ROMSize=512
See s_vgm sample for a concrete use case.
Data
Mapped-ROM use a system of sub-page (called "bank" here) the user can point to any segment of the ROM. Those bank are mapped to page 1 and 2 (4000h~BFFFh) of the memory space. The number of banks depends on the size of the mapper:
- 8KB mappers have 4 banks:
- bank 0: 4000h~5FFFh
- bank 1: 6000h~7FFFh
- bank 2: 8000h~9FFFh
- bank 3: A000h~BFFFh
- 16KB mappers have 2 banks:
- bank 0: 4000h~7FFFh
- bank 1: 8000h~BFFFh
The Build Tool build the first 32KB of the mapped-ROM like a 32KB plain ROM. This represents the first 4 segments for a 8KB mapper and the first 2 for a 16KB mapper.
The following segments are added to the ROM by the Build Tool by searching for files with a particular nomenclature: <project name>_s<segment_number>_b<target_bank>.c.
program.c program_s4_b1.c program_s5_b1.c