Previous 15994 Revisions Next

r9007 Wednesday 1st September, 2010 at 22:53:44 UTC by Angelo Salese
[PASOPIA7]: Fixed vram bankswitch
[src/mess/drivers]pasopia.c

src/mess/drivers/pasopia.c
r9006r9007
77    TODO:
88    - floppy support (but floppy images are unobtainable at current time)
99    - Z80PIO keyboard irq doesn't work at all, kludged keyboard inputs to work for now
10    - advanced BASIC commands (width 80, circle, line ...) makes the emulation to go to la-la-land
11    - some text garbage pops up in place, first example is when you type "10 for a=0 to n"
1210
1311***************************************************************************************************/
1412
r9006r9007
123121   int count;
124122   int width;
125123
124   bitmap_fill(bitmap, cliprect, screen->machine->pens[0]);
125
126126   fake_keyboard_data(screen->machine);
127127
128128   width = x_width ? 80 : 40;
r9006r9007
196196{
197197   static UINT8 res;
198198
199   //if(!vram_sel)
200   //  return 0xff;
199   if(vram_sel == 0)
200   {
201      UINT8 *cpu = memory_region(space->machine, "maincpu");
201202
203      return cpu[offset+0x8000];
204   }
205
202206   if(pal_sel && (plane_reg & 0x70) == 0x00)
203207      return p7_pal[offset & 0xf];
204208
r9006r9007
220224
221225static WRITE8_HANDLER( vram_w )
222226{
223   //if(vram_sel)
227   if(vram_sel)
224228   {
225229      if(pal_sel && (plane_reg & 0x70) == 0x00)
226230      {
r9006r9007
240244         i8255a_w(space->machine->device("ppi8255_0"), 1, (attr_latch << 4) | (attr_latch & 0x7));
241245      }
242246   }
247   else
248   {
249      UINT8 *cpu = memory_region(space->machine, "maincpu");
250
251      cpu[offset+0x8000] = data;
252   }
243253}
244254
245255static WRITE8_HANDLER( pasopia7_memory_ctrl_w )
r9006r9007
270280
271281   // bank4 is always RAM
272282
273//  printf("%02x\n",data);
283   printf("%02x\n",vram_sel);
274284}
275285
276286#if 0
r9006r9007
379389   if(mio_sel)
380390   {
381391      address_space *ram_space = cputag_get_address_space(space->machine, "maincpu", ADDRESS_SPACE_PROGRAM);
392
382393      mio_sel = 0;
383394      //printf("%08x\n",offset);
384395      //return 0x0d; // hack: this is used for reading the keyboard data, we can fake it a little ... (modify fda4)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team