trunk/hash/snes.xml
| r21831 | r21832 | |
| 4337 | 4337 | <description>Super 5 in 1 (Bad Dump)</description> |
| 4338 | 4338 | <year>199?</year> |
| 4339 | 4339 | <publisher><unlicensed></publisher> |
| 4340 | | <info name="alt_title" value="슈퍼20합" /> |
| 4341 | 4340 | <part name="cart" interface="snes_cart"> |
| 4342 | 4341 | |
| 4343 | 4342 | <feature name="slot" value="lorom_mcpir1" /> |
| r21831 | r21832 | |
| 4351 | 4350 | <description>Super 6 in 1</description> |
| 4352 | 4351 | <year>199?</year> |
| 4353 | 4352 | <publisher><unlicensed></publisher> |
| 4354 | | <info name="alt_title" value="슈퍼20합" /> |
| 4355 | 4353 | <part name="cart" interface="snes_cart"> |
| 4356 | 4354 | |
| 4357 | 4355 | <feature name="slot" value="lorom_mcpir1" /> |
| r21831 | r21832 | |
| 4366 | 4364 | <description>1997 New 7 in 1 (Bad Dump)</description> |
| 4367 | 4365 | <year>199?</year> |
| 4368 | 4366 | <publisher><unlicensed></publisher> |
| 4369 | | <info name="alt_title" value="슈퍼20합" /> |
| 4370 | 4367 | <part name="cart" interface="snes_cart"> |
| 4371 | 4368 | |
| 4372 | 4369 | <feature name="slot" value="lorom_mcpir2" /> |
| r21831 | r21832 | |
| 4381 | 4378 | <description>Super 7-in-1 1997 (Bad Dump)</description> |
| 4382 | 4379 | <year>199?</year> |
| 4383 | 4380 | <publisher><unlicensed></publisher> |
| 4384 | | <info name="alt_title" value="슈퍼20합" /> |
| 4385 | 4381 | <part name="cart" interface="snes_cart"> |
| 4386 | 4382 | |
| 4387 | 4383 | <feature name="slot" value="lorom_mcpir1" /> |
| r21831 | r21832 | |
| 4396 | 4392 | <description>8 in 1 and 10 in 1 (Bad Dump)</description> |
| 4397 | 4393 | <year>199?</year> |
| 4398 | 4394 | <publisher><unlicensed></publisher> |
| 4399 | | <info name="alt_title" value="슈퍼20합" /> |
| 4400 | 4395 | <part name="cart" interface="snes_cart"> |
| 4401 | 4396 | |
| 4402 | 4397 | <feature name="slot" value="lorom_mcpir1" /> |
| r21831 | r21832 | |
| 4411 | 4406 | <description>Super 11 in 1 (Bad Dump)</description> |
| 4412 | 4407 | <year>199?</year> |
| 4413 | 4408 | <publisher><unlicensed></publisher> |
| 4414 | | <info name="alt_title" value="슈퍼20합" /> |
| 4415 | 4409 | <part name="cart" interface="snes_cart"> |
| 4416 | 4410 | |
| 4417 | 4411 | <feature name="slot" value="lorom_mcpir1" /> |
| r21831 | r21832 | |
| 4421 | 4415 | </part> |
| 4422 | 4416 | </software> |
| 4423 | 4417 | |
| 4424 | | <software name="super20m" supported="partial"> |
| 4418 | <software name="sup20hab" supported="partial"> |
| 4425 | 4419 | <!-- single cartridge source: d4s --> |
| 4426 | | <description>Super 20 Collection (Kor)</description> |
| 4420 | <description>Super 20 Hab (Kor)</description> |
| 4427 | 4421 | <year>199?</year> |
| 4428 | 4422 | <publisher><unlicensed></publisher> |
| 4429 | 4423 | <info name="alt_title" value="슈퍼20합" /> |
trunk/src/mess/machine/sns_rom.c
| r21831 | r21832 | |
| 446 | 446 | } |
| 447 | 447 | |
| 448 | 448 | // Korean 20 in 1 collection with NES games |
| 449 | | // base bank is selected (in 32KB chunks) by bits 0-4 of data written at 0x808000 |
| 449 | // - base bank is selected (in 32KB chunks) by bits 0-4 of data written at 0x808000 |
| 450 | // - bits 6-7 seem related to prg size: 0x00 means 4*32KB, 0xc0 means 2*32KB, 0x80 means 1*32KB |
| 451 | // (they are used to setup how large is the ROM to be accessed, games 15-20 don't work well if |
| 452 | // accesses in [01-3f] don't go to the only 32KB bank) |
| 453 | // - bit 5 is always 0 |
| 454 | // it's worth to notice that for FC games size of bank is twice the size of original FC PRG |
| 450 | 455 | READ8_MEMBER(sns_rom_20col_device::read_l) |
| 451 | 456 | { |
| 452 | 457 | return read_h(space, offset); |
| r21831 | r21832 | |
| 454 | 459 | |
| 455 | 460 | READ8_MEMBER(sns_rom_20col_device::read_h) |
| 456 | 461 | { |
| 457 | | int bank = (offset / 0x10000); |
| 458 | | return m_rom[(rom_bank_map[bank] + m_base_bank) * 0x8000 + (offset & 0x7fff)]; |
| 462 | int prg32k = (!BIT(m_base_bank, 6) && BIT(m_base_bank, 7)); |
| 463 | int bank = prg32k ? 0 : (offset / 0x10000); |
| 464 | return m_rom[((m_base_bank & 0x1f) + bank) * 0x8000 + (offset & 0x7fff)]; |
| 459 | 465 | } |
| 460 | 466 | |
| 461 | 467 | WRITE8_MEMBER( sns_rom_20col_device::chip_write ) |
| r21831 | r21832 | |
| 481 | 487 | // [18] donkey kong jr - 9a |
| 482 | 488 | // [19] mario bros - 9b |
| 483 | 489 | // [20] popeye - 9c |
| 484 | | m_base_bank = data & 0x1f; |
| 490 | m_base_bank = data & 0xdf; |
| 485 | 491 | // printf("offset %X data %X bank %X\n", offset, data, m_base_bank); |
| 486 | 492 | } |
| 487 | 493 | |