Previous 15994 Revisions Next

r14217 Thursday 26th January, 2012 at 23:23:54 UTC by Sandro Ronco
indiana: hooked up vga video. (no whatsnew)
[src/mess/drivers]indiana.c

src/mess/drivers/indiana.c
r14216r14217
1313
1414#include "emu.h"
1515#include "cpu/m68000/m68000.h"
16#include "video/pc_vga.h"
1617
1718
1819class indiana_state : public driver_device
r14216r14217
2021public:
2122   indiana_state(const machine_config &mconfig, device_type type, const char *tag)
2223      : driver_device(mconfig, type, tag) { }
23
24   UINT8 *m_p_chargen;
25   UINT8 *m_p_videoram;
2624};
2725
2826
r14216r14217
3432   AM_RANGE(0x00400000, 0x004fffff) AM_MIRROR(0x7f800000) AM_RAM // 16 bit PC IO
3533   AM_RANGE(0x00500000, 0x005fffff) AM_MIRROR(0x7f800000) AM_RAM // 16 bit PC MEM
3634   AM_RANGE(0x00600000, 0x006fffff) AM_MIRROR(0x7f800000) AM_RAM // 8 bit PC IO
37   AM_RANGE(0x00700000, 0x007b7fff) AM_MIRROR(0x7f800000) AM_RAM // 8 bit PC MEM
38   AM_RANGE(0x007b8000, 0x007fffff) AM_MIRROR(0x7f800000) AM_RAM AM_BASE(m_p_videoram) // 8 bit PC MEM
35   AM_RANGE(0x00700000, 0x007fffff) AM_MIRROR(0x7f800000) AM_RAM // 8 bit PC MEM
3936   AM_RANGE(0x80000000, 0x803fffff) AM_MIRROR(0x7fc00000) AM_RAM // 4 MB RAM
4037ADDRESS_MAP_END
4138
r14216r14217
4946{
5047}
5148
52static VIDEO_START( indiana )
53{
54   indiana_state *state = machine.driver_data<indiana_state>();
55   static const UINT16 chargens[3] = { 0x6710, 0x671c, 0x66a4 };
56   state->m_p_chargen = machine.region("user1")->base()+chargens[rom_system_bios(machine)-1];
57}
58
59static SCREEN_UPDATE_IND16( indiana )
60{
61   indiana_state *state = screen.machine().driver_data<indiana_state>();
62   UINT8 y,ra,chr,gfx,fg;
63   UINT16 sy=0,ma=0,x;
64
65   for (y = 0; y < 25; y++)
66   {
67      for (ra = 0; ra < 16; ra++)
68      {
69         UINT16 *p = &bitmap.pix16(sy++);
70
71         for (x = ma; x < ma + 160; x+=2)
72         {
73            chr = state->m_p_videoram[(x^2)+1];
74            fg = state->m_p_videoram[x^2] & 7;
75
76            gfx = state->m_p_chargen[(chr<<4) | (ra ^ 3) ];
77
78            *p++ = BIT(gfx, 7) ? fg : 0;
79            *p++ = BIT(gfx, 6) ? fg : 0;
80            *p++ = BIT(gfx, 5) ? fg : 0;
81            *p++ = BIT(gfx, 4) ? fg : 0;
82            *p++ = BIT(gfx, 3) ? fg : 0;
83            *p++ = BIT(gfx, 2) ? fg : 0;
84            *p++ = BIT(gfx, 1) ? fg : 0;
85            *p++ = BIT(gfx, 0) ? fg : 0;
86         }
87      }
88      ma+=160;
89   }
90
91   return 0;
92}
93
9449/* F4 Character Displayer */
9550static const gfx_layout indiana_charlayout =
9651{
r14216r14217
11772   MCFG_MACHINE_RESET(indiana)
11873
11974   /* video hardware */
120   MCFG_SCREEN_ADD("screen", RASTER)
121   MCFG_SCREEN_REFRESH_RATE(50)
122   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
123   MCFG_SCREEN_SIZE(640, 400)
124   MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 400-1)
125   MCFG_VIDEO_START(indiana)
126   MCFG_SCREEN_UPDATE_STATIC(indiana)
12775   MCFG_GFXDECODE(indiana)
128   MCFG_PALETTE_LENGTH(8)
129   //MCFG_PALETTE_INIT(black_and_white)
76   MCFG_FRAGMENT_ADD( pcvideo_vga )
13077MACHINE_CONFIG_END
13178
79READ8_HANDLER( indiana_vga_setting )
80{
81   return 0xff;   // TODO
82}
83
84static DRIVER_INIT( indiana )
85{
86   pc_vga_init(machine, indiana_vga_setting, NULL);
87   pc_vga_io_init(machine, machine.device("maincpu")->memory().space(AS_PROGRAM), 0x7f7a0000, machine.device("maincpu")->memory().space(AS_PROGRAM), 0x7f600000);
88}
89
13290/* ROM definition */
13391ROM_START( indiana )
13492   ROM_REGION32_BE( 0x10000, "user1", ROMREGION_ERASEFF )
r14216r14217
143101/* Driver */
144102
145103/*    YEAR  NAME    PARENT  COMPAT   MACHINE    INPUT    INIT    COMPANY                  FULLNAME                               FLAGS */
146COMP( 1993, indiana,  0,       0,    indiana,   indiana,  0,  "Indiana University", "Indiana University 68030 board", GAME_NOT_WORKING | GAME_NO_SOUND)
104COMP( 1993, indiana,  0,       0,    indiana,   indiana,  indiana,  "Indiana University", "Indiana University 68030 board", GAME_NOT_WORKING | GAME_NO_SOUND)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team