Previous 15994 Revisions Next

r2771 Friday 30th May, 2008 at 10:55:09 UTC by Nathan Woods
Passing running_machine variable around more
[src/mess/includes]apple2.h atom.h bbc.h
[src/mess/machine]ap2_lang.c apple2.c apple2gs.c atom.c bbc.c
[src/mess/video]bbc.c

src/mess/includes/atom.h
r2770r2771
2525WRITE8_HANDLER (atom_8255_portc_w );
2626
2727/* for floppy disc interface */
28 READ8_HANDLER (atom_8271_r);
28READ8_HANDLER (atom_8271_r);
2929WRITE8_HANDLER (atom_8271_w);
3030
3131DEVICE_IMAGE_LOAD( atom_floppy );
3232
33 READ8_HANDLER(atom_eprom_box_r);
33READ8_HANDLER(atom_eprom_box_r);
3434WRITE8_HANDLER(atom_eprom_box_w);
35void atom_eprom_box_init(void);
35void atom_eprom_box_init(running_machine *machine);
3636
3737MACHINE_RESET( atomeb );
3838
src/mess/includes/apple2.h
r2770r2771
5656
5757INTERRUPT_GEN( apple2_interrupt );
5858
59void apple2_setvar(UINT32 val, UINT32 mask);
59void apple2_setvar(running_machine *machine, UINT32 val, UINT32 mask);
6060
6161
6262/*----------- defined in video/apple2.c -----------*/
r2770r2771
128128
129129/*----------- defined in machine/apple2.c -----------*/
130130
131void apple2_setup_memory(const apple2_memmap_config *config);
132void apple2_update_memory(void);
131void apple2_setup_memory(running_machine *machine, const apple2_memmap_config *config);
132void apple2_update_memory(running_machine *machine);
133133
134134
135135#endif /* APPLE2_H_ */
src/mess/includes/bbc.h
r2770r2771
103103void set_video_memory_lookups(int ramsize);
104104void bbc_frameclock(void);
105105void setscreenstart(int b4,int b5);
106void bbcbp_setvideoshadow(int vdusel);
106void bbcbp_setvideoshadow(running_machine *machine, int vdusel);
107107
108108WRITE8_HANDLER ( videoULA_w );
109109
src/mess/video/bbc.c
r2770r2771
647647
648648/**** BBC B+ Shadow Ram change ****/
649649
650void bbcbp_setvideoshadow(int vdusel)
650void bbcbp_setvideoshadow(running_machine *machine, int vdusel)
651651{
652652   if (vdusel)
653653   {
src/mess/machine/ap2_lang.c
r2770r2771
5353      val |= VAR_LCRAM2;
5454
5555   /* change the flags */
56   apple2_setvar(val, mask);
56   apple2_setvar(device->machine, val, mask);
5757}
5858
5959
src/mess/machine/apple2gs.c
r2770r2771
11441144
11451145      case 0x2D:   /* C02D - SLTROMSEL */
11461146         apple2gs_sltromsel = data;
1147         apple2_update_memory();
1147         apple2_update_memory(machine);
11481148         break;
11491149
11501150      case 0x31:   /* C031 - DISKREG */
r2770r2771
11701170         if (apple2gs_shadow != data)
11711171         {
11721172            apple2gs_shadow = data;
1173            apple2_update_memory();
1173            apple2_update_memory(machine);
11741174         }
11751175         break;
11761176
r2770r2771
12081208         break;
12091209
12101210      case 0x68:   /* C068 - STATEREG */
1211         apple2_setvar(
1211         apple2_setvar(machine,
12121212            ((data & 0x80) ? VAR_ALTZP : 0) |
12131213            ((data & 0x40) ? VAR_PAGE2 : 0) |
12141214            ((data & 0x20) ? VAR_RAMRD : 0) |
r2770r2771
17031703   cfg.memmap = apple2gs_memmap_entries;
17041704   cfg.auxmem = apple2gs_slowmem;
17051705   cfg.auxmem_length = 0x20000;
1706   apple2_setup_memory(&cfg);
1706   apple2_setup_memory(machine, &cfg);
17071707}
17081708
17091709
src/mess/machine/atom.c
r2770r2771
462462/* emulates a 16-slot eprom box for the Atom */
463463static unsigned char selected_eprom = 0;
464464
465static void atom_eprom_box_refresh(void)
465static void atom_eprom_box_refresh(running_machine *machine)
466466{
467467    unsigned char *eprom_data;
468468
r2770r2771
472472   memory_set_bankptr(1, eprom_data);
473473}
474474
475void atom_eprom_box_init(void)
475void atom_eprom_box_init(running_machine *machine)
476476{
477477   /* set initial eprom */
478478   selected_eprom = 0;
479479   /* set memory handler */
480480   /* init */
481   atom_eprom_box_refresh();
481   atom_eprom_box_refresh(machine);
482482}
483483
484484/* write to eprom box, changes eprom selected */
r2770r2771
486486{
487487   selected_eprom = data & 0x0f;
488488
489   atom_eprom_box_refresh();
489   atom_eprom_box_refresh(machine);
490490}
491491
492492/* read from eprom box register, can this be done in the real hardware */
r2770r2771
498498MACHINE_RESET( atomeb )
499499{
500500   MACHINE_RESET_CALL(atom);
501   atom_eprom_box_init();
501   atom_eprom_box_init(machine);
502502}
503503
src/mess/machine/apple2.c
r2770r2771
9090
9191
9292
93void apple2_setup_memory(const apple2_memmap_config *config)
93void apple2_setup_memory(running_machine *machine, const apple2_memmap_config *config)
9494{
9595   apple2_mem_config = *config;
9696   apple2_current_meminfo = NULL;
97   apple2_update_memory();
97   apple2_update_memory(machine);
9898}
9999
100100
101101
102void apple2_update_memory(void)
102void apple2_update_memory(running_machine *machine)
103103{
104104   int i, bank, rbank, wbank;
105105   int full_update = 0;
r2770r2771
293293
294294static STATE_POSTLOAD( apple2_update_memory_postload )
295295{
296   apple2_update_memory();
296   apple2_update_memory(machine);
297297}
298298
299299
r2770r2771
567567
568568
569569
570void apple2_setvar(UINT32 val, UINT32 mask)
570void apple2_setvar(running_machine *machine, UINT32 val, UINT32 mask)
571571{
572572   LOG(("apple2_setvar(): val=0x%06x mask=0x%06x pc=0x%04x\n", val, mask, (unsigned int) cpunum_get_reg(0, REG_PC)));
573573
r2770r2771
581581   a2 &= ~mask;
582582   a2 |= val;
583583
584   apple2_update_memory();
584   apple2_update_memory(machine);
585585}
586586
587587
r2770r2771
748748      || !strcmp(machine->gamedrv->name, "apple2c3")
749749      || !strcmp(machine->gamedrv->name, "apple2cp")
750750      || !strncmp(machine->gamedrv->name, "apple2g", 7);
751   apple2_setvar(need_intcxrom ? VAR_INTCXROM : 0, ~0);
751   apple2_setvar(machine, need_intcxrom ? VAR_INTCXROM : 0, ~0);
752752
753753   // ROM 0 cannot boot unless language card bank 2 is write-enabled (but read ROM) on startup
754754   if (!strncmp(machine->gamedrv->name, "apple2g", 7))
755755   {
756      apple2_setvar(VAR_LCWRITE|VAR_LCRAM2, VAR_LCWRITE | VAR_LCRAM | VAR_LCRAM2);
756      apple2_setvar(machine, VAR_LCWRITE|VAR_LCRAM2, VAR_LCWRITE | VAR_LCRAM | VAR_LCRAM2);
757757   }
758758
759759   a2_speaker_state = 0;
r2770r2771
870870{
871871   UINT32 mask;
872872   mask = 1 << (offset / 2);
873   apple2_setvar((offset & 1) ? mask : 0, mask);
873   apple2_setvar(machine, (offset & 1) ? mask : 0, mask);
874874}
875875
876876
r2770r2771
947947   switch(offset)
948948   {
949949      case 0x08:
950         apple2_setvar((a2 & VAR_ROMSWITCH) ^ VAR_ROMSWITCH, VAR_ROMSWITCH);
950         apple2_setvar(machine, (a2 & VAR_ROMSWITCH) ^ VAR_ROMSWITCH, VAR_ROMSWITCH);
951951         break;
952952   }
953953}
r2770r2771
997997      offset ^= 1;
998998
999999   mask = 0x100 << (offset / 2);
1000   apple2_setvar((offset & 1) ? mask : 0, mask);
1000   apple2_setvar(machine, (offset & 1) ? mask : 0, mask);
10011001   return apple2_getfloatingbusvalue();
10021002}
10031003
r2770r2771
13121312   mem_cfg.first_bank = 1;
13131313   mem_cfg.memmap = apple2_memmap_entries;
13141314   mem_cfg.auxmem = apple2cp_ce00_ram;
1315   apple2_setup_memory(&mem_cfg);
1315   apple2_setup_memory(machine, &mem_cfg);
13161316
13171317   /* perform initial reset */
13181318   apple2_reset(machine);
src/mess/machine/bbc.c
r2770r2771
187187   {
188188      //the video display should now use this flag to display the shadow ram memory
189189      vdusel=(data>>7)&0x01;
190      bbcbp_setvideoshadow(vdusel);
190      bbcbp_setvideoshadow(machine, vdusel);
191191      //need to make the video display do a full screen refresh for the new memory area
192192      memory_set_bankptr(2, memory_region(REGION_CPU1)+0x3000);
193193   }
r2770r2771
406406      memory_set_bankptr(7,memory_region(REGION_USER1)+0x40000);
407407   }
408408
409   bbcbp_setvideoshadow(ACCCON_D);
409   bbcbp_setvideoshadow(machine, ACCCON_D);
410410
411411
412412   if (ACCCON_X)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team