Various work, needs gfx decoding to proceed ...

This commit is contained in:
Angelo Salese 2012-10-15 23:35:22 +00:00
parent 792593a403
commit 044f2068eb
2 changed files with 44 additions and 16 deletions

View File

@ -43,6 +43,11 @@ public:
// screen updates
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT8 m_bank;
DECLARE_READ8_MEMBER(bank_r);
DECLARE_WRITE8_MEMBER(bank_w);
protected:
// driver_device overrides
virtual void machine_start();
@ -62,18 +67,35 @@ UINT32 dblcrown_state::screen_update( screen_device &screen, bitmap_ind16 &bitma
return 0;
}
READ8_MEMBER( dblcrown_state::bank_r)
{
return m_bank;
}
WRITE8_MEMBER( dblcrown_state::bank_w)
{
m_bank = data;
membank("rom_bank")->set_entry(m_bank & 0x1f);
}
static ADDRESS_MAP_START( dblcrown_map, AS_PROGRAM, 8, dblcrown_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xa000, 0xb7ff) AM_RAM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("rom_bank")
AM_RANGE(0xa000, 0xb7ff) AM_RAM // work ram
AM_RANGE(0xb800, 0xbfff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xc000, 0xc3ff) AM_RAM
AM_RANGE(0xc400, 0xc7ff) AM_RAM
AM_RANGE(0xd000, 0xdfff) AM_RAM
AM_RANGE(0xff00, 0xffff) AM_RAM //stack? sp not initialized?
AM_RANGE(0xc800, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xdfff) AM_RAM // vram
AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_byte_le_w) AM_SHARE("paletteram") // TODO: correct bit order
AM_RANGE(0xfe00, 0xfeff) AM_RAM // ??? - both of these seems TC0091LVC-ish ...
AM_RANGE(0xff00, 0xffff) AM_RAM // ??? /
ADDRESS_MAP_END
static ADDRESS_MAP_START( dblcrown_io, AS_IO, 8, dblcrown_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x11, 0x11) AM_READWRITE(bank_r,bank_w)
ADDRESS_MAP_END
static INPUT_PORTS_START( dblcrown )
@ -132,25 +154,29 @@ static INPUT_PORTS_START( dblcrown )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
static const gfx_layout tiles16x8_layout =
/* TODO */
static const gfx_layout char_8x8_layout =
{
8,8,
RGN_FRAC(1,1),
4,
{ 0, 1, 2, 3 },
{ 8, 0, 12, 4, 24, 16, 28, 20 },
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
32*8
{ STEP4(0,1) },
{ STEP8(0,4) },
{ STEP8(0,4*8) },
8*8*4
};
static GFXDECODE_START( dblcrown )
GFXDECODE_ENTRY( "gfx1", 0, tiles16x8_layout, 0, 16*4 )
GFXDECODE_ENTRY( "gfx1", 0, char_8x8_layout, 0, 16*4 )
GFXDECODE_END
void dblcrown_state::machine_start()
{
UINT8 *ROM = memregion("maincpu")->base();
membank("rom_bank")->configure_entries(0, 0x20, &ROM[0], 0x2000);
}
void dblcrown_state::machine_reset()
@ -168,6 +194,7 @@ static MACHINE_CONFIG_START( dblcrown, dblcrown_state )
MCFG_CPU_ADD("maincpu",Z80,MAIN_CLOCK/6)
MCFG_CPU_PROGRAM_MAP(dblcrown_map)
MCFG_CPU_IO_MAP(dblcrown_io)
MCFG_CPU_VBLANK_INT("screen",irq0_line_hold)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@ -179,7 +206,7 @@ static MACHINE_CONFIG_START( dblcrown, dblcrown_state )
MCFG_GFXDECODE(dblcrown)
MCFG_PALETTE_LENGTH(16)
MCFG_PALETTE_LENGTH(0x100)
MCFG_NVRAM_ADD_0FILL("nvram")
@ -202,7 +229,7 @@ ROM_START( dblcrown )
ROM_REGION( 0x80000, "gfx1", ROMREGION_ERASE00 )
ROM_LOAD("2.u43", 0x00000, 0x80000, CRC(58200bd4) SHA1(2795cfc41056111f66bfb82916343d1c733baa83) )
ROM_REGION( 0x0bf1, "pals", 0 ) // in Jedec format
ROM_LOAD("palce16v8h.u39", 0x0000, 0x0bf1, CRC(997b0ba9) SHA1(1c121ab74f33d5162b619740b08cc7bc694c257d) )
ROM_END

View File

@ -31,10 +31,12 @@
- Belloncho Shintai Kensa: hangs
- Bishoujo Baseball Gakuen: checks ym2608 after intro screen;
- The Black Onyx: writes a katakana msg: "sono kata ha koko ni orimasen" then doesn't show up anything. (Needs user disk?)
- Boukenshatachi: dies after the intro.
- Campaign Ban Daisenryaku 2: Hangs at title screen?
- Carigraph: inputs doesn't work?
- Can Can Bunny: bitmap artifacts on intro, caused by a fancy usage of the attribute vram;
- Can Can Bunny: no sound (regression);
- Can Can Bunny Superior: black screen during the intro
- Chou Bishoujo Densetsu CROQUIS: accesses ports 0xa0-0xa3 and 0xc2-0xc3
- Combat: mono gfx mode enabled, but I don't see any noticeable quirk?
- Cranston Manor (actually N88-Basic demo): no sound
@ -51,8 +53,7 @@
- Wanderers from Ys: user data disk looks screwed? It loads with everything as maximum as per now ...
- Xevious: game is too fast (parent pc8801 only)
list of games/apps that crashes due of floppy issues (* -> denotes games fixed with current floppy code, # -> moans at MESS boot regarding the d88 format with
current floppy code):
list of games/apps that crashes due of floppy issues (* -> denotes games fixed with current floppy code, # -> regressed with current floppy code):
* Agni no Ishi
* Amazoness no Hihou (takes invalid data from floppy)
- American Truck / American Truck SR (polls read deleted data command)
@ -63,11 +64,11 @@
- Autumn Park (BASIC error)
* Battle Gorilla
* Belloncho Shintai Kensa
# Bishoujo Noriko Part I (writes to FDC CPU ROM then expects some strict values, taken from floppy image)
- Bishoujo Noriko Part I (writes to FDC CPU ROM then expects some strict values, taken from floppy image)
* Blassty (attempts to read at 0x801b)
- Bokosuka Wars (polls read ID command)
# Boukenshatachi
# Can Can Bunny Superior
* Boukenshatachi
* Can Can Bunny Superior
- Carmine
- Castle Excellent (sets sector 0xf4? Jumps to 0xa100 and it shouldn't) (REGRESSED with current floppy code)
- Card Game Pro 8.8k Plus Unit 1 (prints Disk i/o error 135 in vram, not visible for whatever reason)