Previous 199869 Revisions Next

r29388 Sunday 6th April, 2014 at 22:25:28 UTC by Alex Jackson
Various Atari vector drivers: derive (fake) refresh rate from CPU IRQ frequency to reduce juddering [Alex Jackson]
[src/mame/drivers]asteroid.c bwidow.c bzone.c quantum.c starwars.c tempest.c
[src/mame/includes]bwidow.h bzone.h

trunk/src/mame/drivers/bwidow.c
r29387r29388
695695   /* basic machine hardware */
696696   MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 8)
697697   MCFG_CPU_PROGRAM_MAP(bwidow_map)
698   MCFG_CPU_PERIODIC_INT_DRIVER(bwidow_state, irq0_line_assert, (double)MASTER_CLOCK / 4096 / 12)
698   MCFG_CPU_PERIODIC_INT_DRIVER(bwidow_state, irq0_line_assert, CLOCK_3KHZ / 12)
699699
700700   MCFG_ATARIVGEAROM_ADD("earom")
701701
702702   /* video hardware */
703703   MCFG_VECTOR_ADD("vector")
704704   MCFG_SCREEN_ADD("screen", VECTOR)
705   MCFG_SCREEN_REFRESH_RATE(60)
705   MCFG_SCREEN_REFRESH_RATE(CLOCK_3KHZ / 12 / 4)
706706   MCFG_SCREEN_SIZE(400, 300)
707707   MCFG_SCREEN_VISIBLE_AREA(0, 480, 0, 440)
708708   MCFG_SCREEN_UPDATE_DEVICE("vector", vector_device, screen_update)
r29387r29388
736736
737737   /* video hardware */
738738   MCFG_SCREEN_MODIFY("screen")
739   MCFG_SCREEN_REFRESH_RATE(45)
740739   MCFG_SCREEN_VISIBLE_AREA(0, 500, 0, 440)
741740MACHINE_CONFIG_END
742741
r29387r29388
749748
750749   /* video hardware */
751750   MCFG_SCREEN_MODIFY("screen")
752   MCFG_SCREEN_REFRESH_RATE(45)
753751   MCFG_SCREEN_VISIBLE_AREA(0, 540, 0, 400)
754752MACHINE_CONFIG_END
755753
trunk/src/mame/drivers/asteroid.c
r29387r29388
200200#include "astdelux.lh"
201201
202202#define MASTER_CLOCK (XTAL_12_096MHz)
203#define CLOCK_3KHZ  (MASTER_CLOCK / 4096)
203#define CLOCK_3KHZ  ((double)MASTER_CLOCK / 4096)
204204
205205/*************************************
206206 *
r29387r29388
633633   /* basic machine hardware */
634634   MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
635635   MCFG_CPU_PROGRAM_MAP(asteroid_map)
636   MCFG_CPU_PERIODIC_INT_DRIVER(asteroid_state, asteroid_interrupt, (double)MASTER_CLOCK/4096/12)
636   MCFG_CPU_PERIODIC_INT_DRIVER(asteroid_state, asteroid_interrupt, CLOCK_3KHZ/12)
637637
638
639638   /* video hardware */
640639   MCFG_VECTOR_ADD("vector")
641640   MCFG_SCREEN_ADD("screen", VECTOR)
642   MCFG_SCREEN_REFRESH_RATE(60)
641   MCFG_SCREEN_REFRESH_RATE(CLOCK_3KHZ/12/4)
643642   MCFG_SCREEN_SIZE(400,300)
644643   MCFG_SCREEN_VISIBLE_AREA(522, 1566, 394, 1182)
645644   MCFG_SCREEN_UPDATE_DEVICE("vector", vector_device, screen_update)
r29387r29388
659658
660659   /* basic machine hardware */
661660   MCFG_CPU_MODIFY("maincpu")
662   MCFG_CPU_PERIODIC_INT_DRIVER(asteroid_state, asterock_interrupt, (double)MASTER_CLOCK/4096/12)
661   MCFG_CPU_PERIODIC_INT_DRIVER(asteroid_state, asterock_interrupt, CLOCK_3KHZ/12)
663662MACHINE_CONFIG_END
664663
665664
r29387r29388
693692   MCFG_MACHINE_RESET_OVERRIDE(asteroid_state, llander)
694693
695694   MCFG_SCREEN_MODIFY("screen")
696   MCFG_SCREEN_REFRESH_RATE(40)
695   MCFG_SCREEN_REFRESH_RATE(CLOCK_3KHZ/12/6)
697696   MCFG_SCREEN_VISIBLE_AREA(522, 1566, 270, 1070)
698697   MCFG_SCREEN_UPDATE_DEVICE("vector", vector_device, screen_update)
699698
trunk/src/mame/drivers/tempest.c
r29387r29388
309309
310310
311311#define MASTER_CLOCK (XTAL_12_096MHz)
312#define CLOCK_3KHZ  (MASTER_CLOCK / 4096)
312#define CLOCK_3KHZ  ((double)MASTER_CLOCK / 4096)
313313
314314#define TEMPEST_KNOB_P1_TAG ("KNOBP1")
315315#define TEMPEST_KNOB_P2_TAG ("KNOBP2")
r29387r29388
599599   /* needed to ensure routine at ae1c passes checks and does not corrupt data */
600600   MCFG_QUANTUM_PERFECT_CPU("maincpu")
601601
602   MCFG_CPU_PERIODIC_INT_DRIVER(tempest_state, irq0_line_assert, (double)MASTER_CLOCK / 4096 / 12)
602   MCFG_CPU_PERIODIC_INT_DRIVER(tempest_state, irq0_line_assert, CLOCK_3KHZ / 12)
603603   MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(CLOCK_3KHZ / 256))
604604
605605   MCFG_ATARIVGEAROM_ADD("earom")
606606
607
608607   /* video hardware */
609608   MCFG_VECTOR_ADD("vector")
610609   MCFG_SCREEN_ADD("screen", VECTOR)
trunk/src/mame/drivers/starwars.c
r29387r29388
3333#include "includes/slapstic.h"
3434
3535
36#define MASTER_CLOCK (12096000)
37#define CLOCK_3KHZ  (MASTER_CLOCK / 4096)
36#define MASTER_CLOCK (XTAL_12_096MHz)
37#define CLOCK_3KHZ   ((double)MASTER_CLOCK / 4096)
3838
3939
4040WRITE8_MEMBER(starwars_state::quad_pokeyn_w)
r29387r29388
328328   /* basic machine hardware */
329329   MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK / 8)
330330   MCFG_CPU_PROGRAM_MAP(main_map)
331   MCFG_CPU_PERIODIC_INT_DRIVER(starwars_state, irq0_line_assert, (double)MASTER_CLOCK / 4096 / 12)
331   MCFG_CPU_PERIODIC_INT_DRIVER(starwars_state, irq0_line_assert, CLOCK_3KHZ / 12)
332332   MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(CLOCK_3KHZ / 128))
333333
334334   MCFG_CPU_ADD("audiocpu", M6809, MASTER_CLOCK / 8)
335335   MCFG_CPU_PROGRAM_MAP(sound_map)
336336
337
338337   MCFG_RIOT6532_ADD("riot", MASTER_CLOCK / 8, starwars_riot6532_intf)
339338
340339   MCFG_X2212_ADD_AUTOSAVE("x2212") /* nvram */
r29387r29388
342341   /* video hardware */
343342   MCFG_VECTOR_ADD("vector")
344343   MCFG_SCREEN_ADD("screen", VECTOR)
345   MCFG_SCREEN_REFRESH_RATE(40)
344   MCFG_SCREEN_REFRESH_RATE(CLOCK_3KHZ / 12 / 6)
346345   MCFG_SCREEN_SIZE(400, 300)
347346   MCFG_SCREEN_VISIBLE_AREA(0, 250, 0, 280)
348347   MCFG_SCREEN_UPDATE_DEVICE("vector", vector_device, screen_update)
trunk/src/mame/drivers/bzone.c
r29387r29388
550550   /* basic machine hardware */
551551   MCFG_CPU_ADD("maincpu", M6502, BZONE_MASTER_CLOCK / 8)
552552   MCFG_CPU_PROGRAM_MAP(bzone_map)
553   MCFG_CPU_PERIODIC_INT_DRIVER(bzone_state, bzone_interrupt,  (double)BZONE_MASTER_CLOCK / 4096 / 12)
553   MCFG_CPU_PERIODIC_INT_DRIVER(bzone_state, bzone_interrupt,  BZONE_CLOCK_3KHZ / 12)
554554
555
556555   /* video hardware */
557556   MCFG_VECTOR_ADD("vector")
558557   MCFG_SCREEN_ADD("screen", VECTOR)
559   MCFG_SCREEN_REFRESH_RATE(40)
558   MCFG_SCREEN_REFRESH_RATE(BZONE_CLOCK_3KHZ / 12 / 6)
560559   MCFG_SCREEN_SIZE(400, 300)
561560   MCFG_SCREEN_VISIBLE_AREA(0, 580, 0, 400)
562561   MCFG_SCREEN_UPDATE_DEVICE("vector", vector_device, screen_update)
r29387r29388
583582   /* basic machine hardware */
584583   MCFG_CPU_MODIFY("maincpu")
585584   MCFG_CPU_PROGRAM_MAP(redbaron_map)
586   MCFG_CPU_PERIODIC_INT_DRIVER(bzone_state, bzone_interrupt,  (double)BZONE_MASTER_CLOCK / 4096 / 12)
587585
588586   MCFG_MACHINE_START_OVERRIDE(bzone_state,redbaron)
589587
r29387r29388
591589
592590   /* video hardware */
593591   MCFG_SCREEN_MODIFY("screen")
594   MCFG_SCREEN_REFRESH_RATE(60)
592   MCFG_SCREEN_REFRESH_RATE(BZONE_CLOCK_3KHZ / 12 / 4)
595593   MCFG_SCREEN_VISIBLE_AREA(0, 520, 0, 400)
596594
597595
trunk/src/mame/drivers/quantum.c
r29387r29388
6969};
7070
7171
72#define MASTER_CLOCK (12096000)
73#define CLOCK_3KHZ  (MASTER_CLOCK / 4096)
72#define MASTER_CLOCK (XTAL_12_096MHz)
73#define CLOCK_3KHZ   ((double)MASTER_CLOCK / 4096)
7474
7575
7676/*************************************
r29387r29388
296296   /* basic machine hardware */
297297   MCFG_CPU_ADD("maincpu", M68000, MASTER_CLOCK / 2)
298298   MCFG_CPU_PROGRAM_MAP(main_map)
299   MCFG_CPU_PERIODIC_INT_DRIVER(quantum_state, irq1_line_hold, (double)MASTER_CLOCK / 4096 / 12)
299   MCFG_CPU_PERIODIC_INT_DRIVER(quantum_state, irq1_line_hold, CLOCK_3KHZ / 12)
300300
301301   MCFG_NVRAM_ADD_1FILL("nvram")
302302
trunk/src/mame/includes/bzone.h
r29387r29388
99#include "sound/discrete.h"
1010
1111#define BZONE_MASTER_CLOCK (XTAL_12_096MHz)
12#define BZONE_CLOCK_3KHZ  (MASTER_CLOCK / 4096)
12#define BZONE_CLOCK_3KHZ  ((double)BZONE_MASTER_CLOCK / 4096)
1313
1414class bzone_state : public driver_device
1515{
trunk/src/mame/includes/bwidow.h
r29387r29388
22#ifndef BWIDOW_H_
33#define BWIDOW_H_
44
5#define MASTER_CLOCK (12096000)
6#define CLOCK_3KHZ  (MASTER_CLOCK / 4096)
5#define MASTER_CLOCK (XTAL_12_096MHz)
6#define CLOCK_3KHZ   ((double)MASTER_CLOCK / 4096)
77
88
99class bwidow_state : public driver_device

Previous 199869 Revisions Next


© 1997-2024 The MAME Team