Previous 15994 Revisions Next

r4690 Wednesday 13th May, 2009 at 10:04:17 UTC by Miodrag Milanović
All except DC is enabled.
6502 changes sent to Aaron and mess list so please someone commit it to MAME
Also updated apple2gs.c since it was not compiling ok
[src/emu/cpu/m6502]m6502.c m6502.h
[src/mess]mess.mak messdriv.c
[src/mess/devices]cassette.c
[src/mess/drivers]apple2gs.c c16.c
[src/mess/formats]cassimg.c cassimg.h thom_cas.c
[src/mess/machine]apple3.c c128.c c16.c c64.c vc1541.c
[src/mess/tools/castool]main.c

src/emu/cpu/m6502/m6502.c
r4689r4690
636636   return cycles - cpustate->icount;
637637}
638638
639void m6502_set_read_indexed_callback(const device_config *device, m6502_read_indexed_func callback)
640{
641   m6502_Regs *cpustate = get_safe_token(device);
642   cpustate->rdmem_id = callback;
643}
639644
645void m6502_set_write_indexed_callback(const device_config *device, m6502_write_indexed_func callback)
646{
647   m6502_Regs *cpustate = get_safe_token(device);
648   cpustate->wrmem_id = callback;
649}
640650
651void m6510_set_port_read_callback(const device_config *device, m6510_port_read_func callback)
652{
653   m6502_Regs *cpustate = get_safe_token(device);
654   cpustate->port_read = callback;
655}
641656
657void m6510_set_port_write_callback(const device_config *device, m6510_port_write_func callback)
658{
659   m6502_Regs *cpustate = get_safe_token(device);
660   cpustate->port_write = callback;
661}
662
642663/**************************************************************************
643664 * Generic set_info
644665 **************************************************************************/
src/emu/cpu/m6502/m6502.h
r4689r4690
5858typedef void (*m6510_port_write_func)(const device_config *device, UINT8 direction, UINT8 data);
5959
6060
61void m6502_set_read_indexed_callback(const device_config *device, m6502_read_indexed_func callback);
62void m6502_set_write_indexed_callback(const device_config *device, m6502_write_indexed_func callback);
63void m6510_set_port_read_callback(const device_config *device, m6510_port_read_func callback);
64void m6510_set_port_write_callback(const device_config *device, m6510_port_write_func callback);
6165enum
6266{
6367   CPUINFO_FCT_M6502_READINDEXED_CALLBACK = CPUINFO_FCT_CPU_SPECIFIC,
src/mess/tools/castool/main.c
r4689r4690
172172               return -1;
173173            }
174174   
175            if (cassette_open_choices(f, &stdio_ioprocs, get_extension(argv[3]), selected_formats, CASSETTE_FLAG_READONLY, &cassette))   {
175            if (cassette_open_choices(NULL, f, &stdio_ioprocs, get_extension(argv[3]), selected_formats, CASSETTE_FLAG_READONLY, &cassette))   {
176176               fprintf(stderr, "Invalid format of input file.\n");               
177177               return -1;
178178            }
src/mess/messdriv.c
r4689r4690
237237   DRIVER( nc200 )      /* 1993 NC200                              */
238238
239239   /* APPLE */
240//0131u1   DRIVER( apple1 )   /* Jul 1976 Apple 1                           */
241//0131u1   DRIVER( apple2 )   /* Apr 1977 Apple ][                        */
242//0131u1   DRIVER( apple2p )   /* Jun 1979 Apple ][+                        */
243//0131u1   DRIVER( apple2jp )   /* ??? ???? Apple ][j+                        */
244//0131u1   DRIVER( apple2e )   /* Jan 1983 Apple //e                        */
245//0131u1   DRIVER( apple2ee )   /* Mar 1985 Apple //e Enhanced                  */
246//0131u1   DRIVER( apple2ep )   /* Jan 1987 Apple //e Platinum                  */
247//0131u1   DRIVER( apple2c )   /* Apr 1984 Apple //c                        */
248//0131u1   DRIVER( apple2c0 )   /* ??? 1985 Apple //c (3.5 ROM)                  */
249//0131u1   DRIVER( apple2c3 )   /* Sep 1986 Apple //c (Original Mem. Exp.)         */
250//0131u1   DRIVER( apple2c4 )   /* ??? 198? Apple //c (rev 4)                  */
251//0131u1   DRIVER( apple2cp )   /* Sep 1988 Apple //c+                        */
252//0131u1   DRIVER( apple2gsr0 )   /* Sep 1986 Apple IIgs ROM00               */
253//0131u1   DRIVER( apple2gsr1 )   /* Sep 1987 Apple IIgs ROM01               */
254//0131u1   DRIVER( apple2gs )   /* Aug 1989 Apple IIgs ROM03                  */
255//0131u1   DRIVER( apple2gsr3p )   /* ??? 198? Apple IIgs ROM03 prototype         */
256//0131u1   DRIVER( apple2gsr3lp )   /* ??? 1989 Apple IIgs ROM03 late? prototype   */
257//0131u1   DRIVER( apple3 )   /* May 1980 Apple ///                        */
240   DRIVER( apple1 )   /* Jul 1976 Apple 1                           */
241   DRIVER( apple2 )   /* Apr 1977 Apple ][                        */
242   DRIVER( apple2p )   /* Jun 1979 Apple ][+                        */
243   DRIVER( apple2jp )   /* ??? ???? Apple ][j+                        */
244   DRIVER( apple2e )   /* Jan 1983 Apple //e                        */
245   DRIVER( apple2ee )   /* Mar 1985 Apple //e Enhanced                  */
246   DRIVER( apple2ep )   /* Jan 1987 Apple //e Platinum                  */
247   DRIVER( apple2c )   /* Apr 1984 Apple //c                        */
248   DRIVER( apple2c0 )   /* ??? 1985 Apple //c (3.5 ROM)                  */
249   DRIVER( apple2c3 )   /* Sep 1986 Apple //c (Original Mem. Exp.)         */
250   DRIVER( apple2c4 )   /* ??? 198? Apple //c (rev 4)                  */
251   DRIVER( apple2cp )   /* Sep 1988 Apple //c+                        */
252   DRIVER( apple2gsr0 )   /* Sep 1986 Apple IIgs ROM00               */
253   DRIVER( apple2gsr1 )   /* Sep 1987 Apple IIgs ROM01               */
254   DRIVER( apple2gs )   /* Aug 1989 Apple IIgs ROM03                  */
255   DRIVER( apple2gsr3p )   /* ??? 198? Apple IIgs ROM03 prototype         */
256   DRIVER( apple2gsr3lp )   /* ??? 1989 Apple IIgs ROM03 late? prototype   */
257   DRIVER( apple3 )   /* May 1980 Apple ///                        */
258258               /* Dec 1983 Apple ///+                        */
259//0131u1   DRIVER( ace100 )   /* ??? 1982 Franklin Ace 100                  */
260//0131u1   DRIVER( laser128 )   /* ??? 1987 Laser 128                        */
261//0131u1   DRIVER( las128ex )   /* ??? 1987 Laser 128 EX                     */
262//0131u1   DRIVER( las3000 )   /* ??? 1983 Laser 3000                        */
263//0131u1   DRIVER( ivelultr )   /* Ivasim Ivel Ultra                        */
259   DRIVER( ace100 )   /* ??? 1982 Franklin Ace 100                  */
260   DRIVER( laser128 )   /* ??? 1987 Laser 128                        */
261   DRIVER( las128ex )   /* ??? 1987 Laser 128 EX                     */
262   DRIVER( las3000 )   /* ??? 1983 Laser 3000                        */
263   DRIVER( ivelultr )   /* Ivasim Ivel Ultra                        */
264264
265265/*
266266 * Lisa              January          1983
267267 * Lisa 2              January          1984
268268 * Macintosh XL        January          1985
269269 */
270//0131u1   DRIVER( lisa )      /* 1983 Apple Lisa                           */
271//0131u1   DRIVER( lisa2 )      /* 1984 Apple Lisa 2                        */
272//0131u1   DRIVER( lisa210 )   /* 1984 Apple Lisa 2/10                        */
273//0131u1   DRIVER( macxl )      /* 1985 Apple Macintosh XL                     */
270   DRIVER( lisa )      /* 1983 Apple Lisa                           */
271   DRIVER( lisa2 )      /* 1984 Apple Lisa 2                        */
272   DRIVER( lisa210 )   /* 1984 Apple Lisa 2/10                        */
273   DRIVER( macxl )      /* 1985 Apple Macintosh XL                     */
274274/*
275275 * Macintosh         January            1984
276276 * Macintosh 512k      July?            1984
r4689r4690
279279 * Macintosh SE         March            1987
280280 * Macintosh II         March            1987
281281 */
282//0131u1    DRIVER( mac128k )   /* 1984 Apple Macintosh                        */
283//0131u1   DRIVER( mac512k )   /* 1985 Apple Macintosh 512k                  */
284//0131u1   DRIVER( mac512ke )   /* 1986 Apple Macintosh 512ke                  */
285//0131u1   DRIVER( macplus )   /* 1986 Apple Macintosh Plus                  */
286//0131u1   DRIVER( macse )      /* 1987 Apple Macintosh SE                     */
287//0131u1   DRIVER( macclasc )   /* 1990 Apple Macintosh Classic                  */
282    DRIVER( mac128k )   /* 1984 Apple Macintosh                        */
283   DRIVER( mac512k )   /* 1985 Apple Macintosh 512k                  */
284   DRIVER( mac512ke )   /* 1986 Apple Macintosh 512ke                  */
285   DRIVER( macplus )   /* 1986 Apple Macintosh Plus                  */
286   DRIVER( macse )      /* 1987 Apple Macintosh SE                     */
287   DRIVER( macclasc )   /* 1990 Apple Macintosh Classic                  */
288288//   DRIVER( maclc )      /* 1990 Apple Macintosh LC                     */
289289
290290   /* ATARI */
r4689r4690
317317   DRIVER( sym1 )      /* Synertek SYM-1                           */
318318   DRIVER( aim65 )      /* Rockwell AIM65                           */
319319
320//0131u1   DRIVER( pet2001 )   /* PET 2001                                 */
321//0131u1   DRIVER( pet2001n )   /* PET 2001-N                              */
322//0131u1   DRIVER( pet2001b )   /* PET 2001-B                              */
323//0131u1   DRIVER( cbm30 )      /* CBM 30xx                                 */
324//0131u1   DRIVER( cbm30b )   /* CBM 30xx (Business keyboard)                  */
325//0131u1   DRIVER( cbm30nor )   /* CBM 30xx (Norway, Business keyboard)            */
326//0131u1   DRIVER( pet40on )   /* PET 40xx (Basic 4, no CRTC, Normal keyboard)      */
327//0131u1   DRIVER( pet40ob )   /* PET 40xx (Basic 4, no CRTC, Business keyboard)   */
328//0131u1   DRIVER( pet40n )   /* PET 40xx (Basic 4, CRTC 60Hz, 40 columns)      */
329//0131u1   DRIVER( pet40b )   /* PET 40xx (Basic 4, CRTC 60Hz, 80 columns)      */
330//0131u1   DRIVER( cbm40o )   /* CBM 40xx (Basic 4, no CRTC, Normal keyboard)      */
331//0131u1   DRIVER( cbm40ob )   /* CBM 40xx (Basic 4, no CRTC, Business keyboard)   */
332//0131u1   DRIVER( cbm40n )   /* CBM 40xx (Basic 4, CRTC 50Hz, 40 columns)      */
333//0131u1   DRIVER( cbm40b )   /* CBM 40xx (Basic 4, CRTC 50Hz, 80 columns)      */
334//0131u1   DRIVER( pet80 )      /* PET 80xx (Basic 4, CRTC 60Hz, 80 columns)      */
335//0131u1   DRIVER( cbm80 )      /* CBM 80xx (Basic 4, CRTC 50Hz, 80 columns)      */
336//0131u1   DRIVER( cbm80ger )   /* CBM 80xx (Germany, Basic 4, CRTC 50Hz, 80 cols)   */
337//0131u1   DRIVER( cbm80hun )   /* CBM 80xx (Hungary, Basic 4, CRTC 50Hz, 80 cols)   */
338//0131u1   DRIVER( cbm80swe )   /* CBM 80xx (Sweden, Basic 4, CRTC 50Hz, 80 cols)   */
339//0131u1   DRIVER( cbm8296 )   /* CBM 8296 (Basic 4, CRTC 50Hz, 80 columns)      */
340//0131u1   DRIVER( cbm8296d )   /* CBM 8296D                              */
341//0131u1   DRIVER( superpet )   /* SuperPET                                 */
342//0131u1   DRIVER( sp9000 )   /* CBM SP9000 / MiniMainFrame 9000               */
343//0131u1   DRIVER( mmf9000s )   /* MiniMainFrame 9000 (Sweden)                  */
320   DRIVER( pet2001 )   /* PET 2001                                 */
321   DRIVER( pet2001n )   /* PET 2001-N                              */
322   DRIVER( pet2001b )   /* PET 2001-B                              */
323   DRIVER( cbm30 )      /* CBM 30xx                                 */
324   DRIVER( cbm30b )   /* CBM 30xx (Business keyboard)                  */
325   DRIVER( cbm30nor )   /* CBM 30xx (Norway, Business keyboard)            */
326   DRIVER( pet40on )   /* PET 40xx (Basic 4, no CRTC, Normal keyboard)      */
327   DRIVER( pet40ob )   /* PET 40xx (Basic 4, no CRTC, Business keyboard)   */
328   DRIVER( pet40n )   /* PET 40xx (Basic 4, CRTC 60Hz, 40 columns)      */
329   DRIVER( pet40b )   /* PET 40xx (Basic 4, CRTC 60Hz, 80 columns)      */
330   DRIVER( cbm40o )   /* CBM 40xx (Basic 4, no CRTC, Normal keyboard)      */
331   DRIVER( cbm40ob )   /* CBM 40xx (Basic 4, no CRTC, Business keyboard)   */
332   DRIVER( cbm40n )   /* CBM 40xx (Basic 4, CRTC 50Hz, 40 columns)      */
333   DRIVER( cbm40b )   /* CBM 40xx (Basic 4, CRTC 50Hz, 80 columns)      */
334   DRIVER( pet80 )      /* PET 80xx (Basic 4, CRTC 60Hz, 80 columns)      */
335   DRIVER( cbm80 )      /* CBM 80xx (Basic 4, CRTC 50Hz, 80 columns)      */
336   DRIVER( cbm80ger )   /* CBM 80xx (Germany, Basic 4, CRTC 50Hz, 80 cols)   */
337   DRIVER( cbm80hun )   /* CBM 80xx (Hungary, Basic 4, CRTC 50Hz, 80 cols)   */
338   DRIVER( cbm80swe )   /* CBM 80xx (Sweden, Basic 4, CRTC 50Hz, 80 cols)   */
339   DRIVER( cbm8296 )   /* CBM 8296 (Basic 4, CRTC 50Hz, 80 columns)      */
340   DRIVER( cbm8296d )   /* CBM 8296D                              */
341   DRIVER( superpet )   /* SuperPET                                 */
342   DRIVER( sp9000 )   /* CBM SP9000 / MiniMainFrame 9000               */
343   DRIVER( mmf9000s )   /* MiniMainFrame 9000 (Sweden)                  */
344344
345//0131u1   DRIVER( vic1001 )   /* Commodore VIC-1001 (Japan)                  */
346//0131u1   DRIVER( vic20 )      /* Commodore VIC 20 (NTSC)                     */
347//0131u1   DRIVER( vic20cr )   /* Commodore VIC 20CR (NTSC)                  */
348//0131u1   DRIVER( vic20i )   /* Commodore VIC 20 (NTSC, IEEE488 Interface)      */
349//0131u1   DRIVER( vic20v )   /* Commodore VIC 20 (NTSC, VC1540)               */
350//0131u1   DRIVER( vic20pal )   /* Commodore VIC 20 (PAL)                     */
351//0131u1   DRIVER( vic20crp )   /* Commodore VIC 20CR (PAL)                     */
352//0131u1   DRIVER( vic20plv )   /* Commodore VIC 20 (PAL, VC1541)               */
353//0131u1   DRIVER( vc20 )      /* Commodore VIC 20 (PAL, Germany)               */
354//0131u1   DRIVER( vc20v )      /* Commodore VIC 20 (PAL, VC1541)               */
355//0131u1   DRIVER( vic20swe )   /* Commodore VIC 20 (Swedish Expanson Kit)         */
345   DRIVER( vic1001 )   /* Commodore VIC-1001 (Japan)                  */
346   DRIVER( vic20 )      /* Commodore VIC 20 (NTSC)                     */
347   DRIVER( vic20cr )   /* Commodore VIC 20CR (NTSC)                  */
348   DRIVER( vic20i )   /* Commodore VIC 20 (NTSC, IEEE488 Interface)      */
349   DRIVER( vic20v )   /* Commodore VIC 20 (NTSC, VC1540)               */
350   DRIVER( vic20pal )   /* Commodore VIC 20 (PAL)                     */
351   DRIVER( vic20crp )   /* Commodore VIC 20CR (PAL)                     */
352   DRIVER( vic20plv )   /* Commodore VIC 20 (PAL, VC1541)               */
353   DRIVER( vc20 )      /* Commodore VIC 20 (PAL, Germany)               */
354   DRIVER( vc20v )      /* Commodore VIC 20 (PAL, VC1541)               */
355   DRIVER( vic20swe )   /* Commodore VIC 20 (Swedish Expanson Kit)         */
356356
357//0131u1   DRIVER( max )      /* Commodore Max Machine (Japan)               */
358//0131u1   DRIVER( c64 )      /* Commodore 64 (NTSC)                        */
359//0131u1   DRIVER( c64pal )   /* Commodore 64 (PAL)                        */
360//0131u1   DRIVER( c64jpn )   /* Commodore 64 (Japan)                        */
361//0131u1   DRIVER( c64swe )   /* Commodore 64 (Sweden)                     */
362//0131u1   DRIVER( vic64s )   /* Commodore VIC 64S (Sweden)                  */
363//0131u1   DRIVER( pet64 )      /* Commodore PET 64                           */
364//0131u1   DRIVER( cbm4064 )   /* Commodore CBM 4064                        */
365//0131u1   DRIVER( edu64 )      /* Commodore Educator 64                     */
366//0131u1   DRIVER( sx64 )      /* Commodore SX-64 Executive Machine (PAL)         */
367//0131u1   DRIVER( vip64 )      /* Commodore VIP64 (SX64, PAL, Swedish)            */
357   DRIVER( max )      /* Commodore Max Machine (Japan)               */
358   DRIVER( c64 )      /* Commodore 64 (NTSC)                        */
359   DRIVER( c64pal )   /* Commodore 64 (PAL)                        */
360   DRIVER( c64jpn )   /* Commodore 64 (Japan)                        */
361   DRIVER( c64swe )   /* Commodore 64 (Sweden)                     */
362   DRIVER( vic64s )   /* Commodore VIC 64S (Sweden)                  */
363   DRIVER( pet64 )      /* Commodore PET 64                           */
364   DRIVER( cbm4064 )   /* Commodore CBM 4064                        */
365   DRIVER( edu64 )      /* Commodore Educator 64                     */
366   DRIVER( sx64 )      /* Commodore SX-64 Executive Machine (PAL)         */
367   DRIVER( vip64 )      /* Commodore VIP64 (SX64, PAL, Swedish)            */
368368//   DRIVER( dx64 )      /* Commodore DX-64 - Prototype                  */
369//0131u1   DRIVER( c64c )      /* Commodore 64C (NTSC)                        */
370//0131u1   DRIVER( c64cpal )   /* Commodore 64C (PAL)                        */
371//0131u1   DRIVER( c64g )      /* Commodore 64G (PAL)                        */
372//0131u1   DRIVER( c64gs )      /* Commodore 64 Games System                  */
369   DRIVER( c64c )      /* Commodore 64C (NTSC)                        */
370   DRIVER( c64cpal )   /* Commodore 64C (PAL)                        */
371   DRIVER( c64g )      /* Commodore 64G (PAL)                        */
372   DRIVER( c64gs )      /* Commodore 64 Games System                  */
373373
374//0131u1   DRIVER( b500 )      /* Commodore B500                           */
375//0131u1   DRIVER( b128 )      /* Commodore B128                           */
376//0131u1   DRIVER( b256 )      /* Commodore B256                           */
377//0131u1   DRIVER( cbm610 )   /* Commodore CBM 610                        */
378//0131u1   DRIVER( cbm620 )   /* Commodore CBM 620                        */
379//0131u1   DRIVER( cbm620hu )   /* Commodore CBM 620 (Hungary)                  */
380//0131u1   DRIVER( b128hp )   /* Commodore B128HP                           */
381//0131u1   DRIVER( b256hp )   /* Commodore B256HP                           */
382//0131u1   DRIVER( bx256hp )   /* Commodore BX256HP                        */
383//0131u1   DRIVER( cbm710 )   /* Commodore CBM 710                        */
384//0131u1   DRIVER( cbm720 )   /* Commodore CBM 720                        */
385//0131u1   DRIVER( cbm720se )   /* Commodore CBM 720 (Sweden / Finland)            */
386//0131u1   DRIVER( p500 )      /* Commodore P500 (proto, a.k.a. C128-40, PET-II)   */
374   DRIVER( b500 )      /* Commodore B500                           */
375   DRIVER( b128 )      /* Commodore B128                           */
376   DRIVER( b256 )      /* Commodore B256                           */
377   DRIVER( cbm610 )   /* Commodore CBM 610                        */
378   DRIVER( cbm620 )   /* Commodore CBM 620                        */
379   DRIVER( cbm620hu )   /* Commodore CBM 620 (Hungary)                  */
380   DRIVER( b128hp )   /* Commodore B128HP                           */
381   DRIVER( b256hp )   /* Commodore B256HP                           */
382   DRIVER( bx256hp )   /* Commodore BX256HP                        */
383   DRIVER( cbm710 )   /* Commodore CBM 710                        */
384   DRIVER( cbm720 )   /* Commodore CBM 720                        */
385   DRIVER( cbm720se )   /* Commodore CBM 720 (Sweden / Finland)            */
386   DRIVER( p500 )      /* Commodore P500 (proto, a.k.a. C128-40, PET-II)   */
387387
388//0131u1   DRIVER( c16 )      /* Commodore 16                              */
389//0131u1   DRIVER( c16c )      /* Commodore 16  c1551                        */
390//0131u1   DRIVER( c16v )      /* Commodore 16  vc1541                        */
391//0131u1   DRIVER( c16hun )   /* Commodore 16 Novotrade (Hungarian Character Set)   */
392//0131u1   DRIVER( c116 )      /* Commodore 116                           */
393//0131u1   DRIVER( c116c )      /* Commodore 116  c1551                        */
394//0131u1   DRIVER( c116v )      /* Commodore 116  vc1541                     */
395//0131u1   DRIVER( plus4 )      /* Commodore +4                              */
396//0131u1   DRIVER( plus4c )   /* Commodore +4  c1551                        */
397//0131u1   DRIVER( plus4v )   /* Commodore +4  vc1541                        */
398//0131u1   DRIVER( c232 )      /* Commodore 232 - Prototype                  */
399//0131u1   DRIVER( c264 )      /* Commodore 264 - Prototype                  */
400//0131u1   DRIVER( c364 )      /* Commodore V364 - Prototype                  */
388   DRIVER( c16 )      /* Commodore 16                              */
389   DRIVER( c16c )      /* Commodore 16  c1551                        */
390   DRIVER( c16v )      /* Commodore 16  vc1541                        */
391   DRIVER( c16hun )   /* Commodore 16 Novotrade (Hungarian Character Set)   */
392   DRIVER( c116 )      /* Commodore 116                           */
393   DRIVER( c116c )      /* Commodore 116  c1551                        */
394   DRIVER( c116v )      /* Commodore 116  vc1541                     */
395   DRIVER( plus4 )      /* Commodore +4                              */
396   DRIVER( plus4c )   /* Commodore +4  c1551                        */
397   DRIVER( plus4v )   /* Commodore +4  vc1541                        */
398   DRIVER( c232 )      /* Commodore 232 - Prototype                  */
399   DRIVER( c264 )      /* Commodore 264 - Prototype                  */
400   DRIVER( c364 )      /* Commodore V364 - Prototype                  */
401401
402//0131u1   DRIVER( c128 )      /* Commodore 128 - NTSC                        */
403//0131u1   DRIVER( c128cr )   /* Commodore 128CR - NTSC (proto?)               */
404//0131u1   DRIVER( c128fin )   /* Commodore 128 - PAL (Finnish)               */
405//0131u1   DRIVER( c128fra )   /* Commodore 128 - PAL (French)                  */
406//0131u1   DRIVER( c128ger )   /* Commodore 128 - PAL (German)                  */
407//0131u1   DRIVER( c128nor )   /* Commodore 128 - PAL (Norwegian)               */
408//0131u1   DRIVER( c128d )      /* Commodore 128D - PAL                        */
409//0131u1   DRIVER( c128dpr )   /* Commodore 128D - NTSC (proto)               */
410//0131u1   DRIVER( c128dcr )   /* Commodore 128DCR - NTSC                     */
411//0131u1   DRIVER( c128drde )   /* Commodore 128DCR - PAL (German)               */
412//0131u1   DRIVER( c128drit )   /* Commodore 128DCR - PAL (Italian)               */
413//0131u1   DRIVER( c128drsw )   /* Commodore 128DCR - PAL (Swedish)               */
402   DRIVER( c128 )      /* Commodore 128 - NTSC                        */
403   DRIVER( c128cr )   /* Commodore 128CR - NTSC (proto?)               */
404   DRIVER( c128fin )   /* Commodore 128 - PAL (Finnish)               */
405   DRIVER( c128fra )   /* Commodore 128 - PAL (French)                  */
406   DRIVER( c128ger )   /* Commodore 128 - PAL (German)                  */
407   DRIVER( c128nor )   /* Commodore 128 - PAL (Norwegian)               */
408   DRIVER( c128d )      /* Commodore 128D - PAL                        */
409   DRIVER( c128dpr )   /* Commodore 128D - NTSC (proto)               */
410   DRIVER( c128dcr )   /* Commodore 128DCR - NTSC                     */
411   DRIVER( c128drde )   /* Commodore 128DCR - PAL (German)               */
412   DRIVER( c128drit )   /* Commodore 128DCR - PAL (Italian)               */
413   DRIVER( c128drsw )   /* Commodore 128DCR - PAL (Swedish)               */
414414
415//0131u1   DRIVER( a500n )      /* Commodore Amiga 500 - NTSC                  */
416//0131u1   DRIVER( a500p )      /* Commodore Amiga 500 - PAL                  */
417//0131u1   DRIVER( a1000n )   /* Commodore Amiga 1000 - NTSC                  */
418//0131u1   DRIVER( a1000p )   /* Commodore Amiga 1000 - PAL                  */
419//0131u1   DRIVER( cdtv )      /* Commodore CDTV                           */
420//0131u1   DRIVER( a1200n )   /* Commodore Amiga 1200 - NTSC                  */
421//0131u1   DRIVER( a1200p )   /* Commodore Amiga 1200 - PAL                  */
422//0131u1   DRIVER( cd32 )      /* Commodore Amiga CD32                        */
415   DRIVER( a500n )      /* Commodore Amiga 500 - NTSC                  */
416   DRIVER( a500p )      /* Commodore Amiga 500 - PAL                  */
417   DRIVER( a1000n )   /* Commodore Amiga 1000 - NTSC                  */
418   DRIVER( a1000p )   /* Commodore Amiga 1000 - PAL                  */
419   DRIVER( cdtv )      /* Commodore CDTV                           */
420   DRIVER( a1200n )   /* Commodore Amiga 1200 - NTSC                  */
421   DRIVER( a1200p )   /* Commodore Amiga 1200 - PAL                  */
422   DRIVER( cd32 )      /* Commodore Amiga CD32                        */
423423
424//0131u1   DRIVER( c65 )      /* 1991 C65 / C64DX (Prototype, NTSC)            */
425//0131u1   DRIVER( c64dx )      /* 1991 C65 / C64DX (Prototype, German PAL)         */
424   DRIVER( c65 )      /* 1991 C65 / C64DX (Prototype, NTSC)            */
425   DRIVER( c64dx )      /* 1991 C65 / C64DX (Prototype, German PAL)         */
426426
427427   /* EPSON */
428428   DRIVER( px4 )      /* 1985 Epson PX-4                           */
r4689r4690
689689   DRIVER( laser700 )   /* 1984? Laser 700                           */
690690
691691   /* TANGERINE */
692//0131u1   DRIVER( microtan )   /* 1979 Microtan 65                           */
692   DRIVER( microtan )   /* 1979 Microtan 65                           */
693693
694//0131u1   DRIVER( oric1 )      /* 1983 Oric 1                              */
695//0131u1   DRIVER( orica )      /* 1984 Oric Atmos                           */
696//0131u1   DRIVER( prav8d )   /* 1985 Pravetz 8D                           */
697//0131u1   DRIVER( prav8dd )   /* 1989 Pravetz 8D (Disk ROM)                  */
698//0131u1   DRIVER( telstrat )   /* ??? Oric Telestrat/Stratos                  */
694   DRIVER( oric1 )      /* 1983 Oric 1                              */
695   DRIVER( orica )      /* 1984 Oric Atmos                           */
696   DRIVER( prav8d )   /* 1985 Pravetz 8D                           */
697   DRIVER( prav8dd )   /* 1989 Pravetz 8D (Disk ROM)                  */
698   DRIVER( telstrat )   /* ??? Oric Telestrat/Stratos                  */
699699
700700   /* PHILIPS */
701701   DRIVER( p2000t )   /* 1980 P2000T                              */
r4689r4690
893893   DRIVER( c2717 )      /* Consul 2717 (PMD-85.2 clone)            */
894894
895895   /* Microkey */
896//0131u1   DRIVER( primoa32 )   /* Primo A-32                              */
897//0131u1   DRIVER( primoa48 )   /* Primo A-48                              */
898//0131u1   DRIVER( primoa64 )   /* Primo A-64                              */
899//0131u1   DRIVER( primob32 )   /* Primo B-32                              */
900//0131u1   DRIVER( primob48 )   /* Primo B-48                              */
901//0131u1   DRIVER( primob64 )   /* Primo B-64                              */
902//0131u1   DRIVER( primoc64 )   /* Primo C-64                              */
896   DRIVER( primoa32 )   /* Primo A-32                              */
897   DRIVER( primoa48 )   /* Primo A-48                              */
898   DRIVER( primoa64 )   /* Primo A-64                              */
899   DRIVER( primob32 )   /* Primo B-32                              */
900   DRIVER( primob48 )   /* Primo B-48                              */
901   DRIVER( primob64 )   /* Primo B-64                              */
902   DRIVER( primoc64 )   /* Primo C-64                              */
903903
904904   /* Team Concepts */
905905   /* CPU not known, else should be easy, look into drivers/comquest.c */
r4689r4690
974974   DRIVER( gamecom )   /* Tiger Game.com                           */
975975
976976   /* Thomson */
977//0131u1   DRIVER( t9000 )      /* 1980 Thomson T9000 (TO7 prototype)            */
978//0131u1   DRIVER( to7 )      /* 1982 Thomson TO7                           */
979//0131u1   DRIVER( to770 )      /* 1984 Thomson TO7/70                        */
980//0131u1   DRIVER( to770a )   /* 198? Thomson TO7/70 arabic version            */
981//0131u1   DRIVER( mo5 )      /* 1984 Thomson MO5                           */
982//0131u1   DRIVER( mo5e )      /* 1986 Thomson MO5E (export version)            */
983//0131u1   DRIVER( to9 )      /* 1985 Thomson T09                           */
984//0131u1   DRIVER( to8 )      /* 1986 Thomson T08                           */
985//0131u1   DRIVER( to8d )      /* 1987 Thomson T08D                        */
986//0131u1   DRIVER( to9p )      /* 1986 Thomson T09+                        */
987//0131u1   DRIVER( mo6 )      /* 1986 Thomson MO6                           */
988//0131u1   DRIVER( mo5nr )      /* 1986 Thomson MO5 NR                        */
989//0131u1   DRIVER( pro128 )   /* 1986 Olivetti Prodest PC 128                  */
977   DRIVER( t9000 )      /* 1980 Thomson T9000 (TO7 prototype)            */
978   DRIVER( to7 )      /* 1982 Thomson TO7                           */
979   DRIVER( to770 )      /* 1984 Thomson TO7/70                        */
980   DRIVER( to770a )   /* 198? Thomson TO7/70 arabic version            */
981   DRIVER( mo5 )      /* 1984 Thomson MO5                           */
982   DRIVER( mo5e )      /* 1986 Thomson MO5E (export version)            */
983   DRIVER( to9 )      /* 1985 Thomson T09                           */
984   DRIVER( to8 )      /* 1986 Thomson T08                           */
985   DRIVER( to8d )      /* 1987 Thomson T08D                        */
986   DRIVER( to9p )      /* 1986 Thomson T09+                        */
987   DRIVER( mo6 )      /* 1986 Thomson MO6                           */
988   DRIVER( mo5nr )      /* 1986 Thomson MO5 NR                        */
989   DRIVER( pro128 )   /* 1986 Olivetti Prodest PC 128                  */
990990
991991   /* Cybiko, Inc. */
992992//   DRIVER( cybikov1 )   /* Cybiko Wireless Intertainment System - Classic V1 */
src/mess/machine/apple3.c
r4689r4690
734734   /* the Apple /// does some weird tricks whereby it monitors the SYNC pin
735735    * on the CPU to check for indexed instructions and directs them to
736736    * different memory locations */
737   device_set_info_fct(cputag_get_cpu(machine, "maincpu"), CPUINFO_FCT_M6502_READINDEXED_CALLBACK, (genf *) apple3_indexed_read);
738   device_set_info_fct(cputag_get_cpu(machine, "maincpu"), CPUINFO_FCT_M6502_WRITEINDEXED_CALLBACK, (genf *) apple3_indexed_write);
737   m6502_set_read_indexed_callback (cputag_get_cpu(machine, "maincpu"), apple3_indexed_read);
738   m6502_set_write_indexed_callback(cputag_get_cpu(machine, "maincpu"), apple3_indexed_write);
739739}
src/mess/machine/vc1541.c
r4689r4690
14981498   offset_init (format);
14991499
15001500   /* Claim memory */
1501   temp_copy = auto_alloc_array(machine, UINT8, filesize);
1501   temp_copy = auto_alloc_array(image->machine, UINT8, filesize);
15021502
15031503   if ((image_fread( image, temp_copy, filesize ) != filesize) || !filesize)
15041504      return INIT_FAIL;
src/mess/machine/c128.c
r4689r4690
892892   int i;
893893
894894   /* configure the M6510 port */
895   devtag_set_info_fct(machine, "m8502", CPUINFO_FCT_M6510_PORTREAD, (genf *) c128_m6510_port_read);
896   devtag_set_info_fct(machine, "m8502", CPUINFO_FCT_M6510_PORTWRITE, (genf *) c128_m6510_port_write);
895   m6510_set_port_read_callback(cputag_get_cpu(machine, "m8502"), c128_m6510_port_read);
896   m6510_set_port_write_callback(cputag_get_cpu(machine, "m8502"),c128_m6510_port_write);
897897
898898   c64_memory = ram;
899899
src/mess/machine/c16.c
r4689r4690
432432   UINT8 *rom;
433433
434434   /* configure the M7501 port */
435   devtag_set_info_fct(machine, "maincpu", CPUINFO_FCT_M6510_PORTREAD, (genf *) c16_m7501_port_read);
436   devtag_set_info_fct(machine, "maincpu", CPUINFO_FCT_M6510_PORTWRITE, (genf *) c16_m7501_port_write);
435   m6510_set_port_read_callback(cputag_get_cpu(machine, "maincpu"), c16_m7501_port_read);
436   m6510_set_port_write_callback(cputag_get_cpu(machine, "maincpu"),c16_m7501_port_write);
437437
438438   c16_select_roms (cputag_get_address_space(machine,"maincpu",ADDRESS_SPACE_PROGRAM), 0, 0);
439439   c16_switch_to_rom (cputag_get_address_space(machine,"maincpu",ADDRESS_SPACE_PROGRAM), 0, 0);
r4689r4690
490490MACHINE_RESET( c16 )
491491{
492492   const address_space *space = cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM);
493   const device_config *sid = devtag_get_device(space->machine, "sid6581");
493   const device_config *sid = devtag_get_device(space->machine, "sid");
494494   
495495   c364_speech_init(machine);
496496
src/mess/machine/c64.c
r4689r4690
10191019static void c64_common_driver_init (running_machine *machine)
10201020{
10211021   /* configure the M6510 port */
1022   devtag_set_info_fct(machine, "maincpu", CPUINFO_FCT_M6510_PORTREAD, (genf *) c64_m6510_port_read);
1023   devtag_set_info_fct(machine, "maincpu", CPUINFO_FCT_M6510_PORTWRITE, (genf *) c64_m6510_port_write);
1024
1022   m6510_set_port_read_callback(cputag_get_cpu(machine, "maincpu"), c64_m6510_port_read);
1023   m6510_set_port_write_callback(cputag_get_cpu(machine, "maincpu"),c64_m6510_port_write);
1024   
10251025   if (!ultimax)
10261026   {
10271027      UINT8 *mem = memory_region(machine, "maincpu");
src/mess/mess.mak
r4689r4690
235235
236236DRVLIBS = \
237237   $(MESSOBJ)/messdriv.o \
238   $(MESSOBJ)/apple.a \
239   $(MESSOBJ)/cbm.a \
240   $(MESSOBJ)/cbmshare.a \
241   $(MESSOBJ)/primo.a \
242   $(MESSOBJ)/tangerin.a \
243   $(MESSOBJ)/thomson.a \
238244   $(MESSOBJ)/3do.a \
239245   $(MESSOBJ)/ac1.a \
240246   $(MESSOBJ)/acorn.a \
r4689r4690
363369   $(MESSOBJ)/shared.a \
364370
365371
366#   $(MESSOBJ)/apple.a \
367#   $(MESSOBJ)/cbm.a \
368#   $(MESSOBJ)/cbmshare.a \
369#   $(MESSOBJ)/primo.a \
370#   $(MESSOBJ)/tangerin.a \
371#   $(MESSOBJ)/thomson.a \
372372
373373
374374
src/mess/devices/cassette.c
r4689r4690
259259   {
260260      /* creating an image */
261261      create_opts = cassette->config->create_opts;
262      err = cassette_create((void *) image, &mess_ioprocs, &wavfile_format, create_opts, CASSETTE_FLAG_READWRITE|CASSETTE_FLAG_SAVEONEXIT, &cassette->cassette);
262      err = cassette_create(image->machine, (void *) image, &mess_ioprocs, &wavfile_format, create_opts, CASSETTE_FLAG_READWRITE|CASSETTE_FLAG_SAVEONEXIT, &cassette->cassette);
263263      if (err)
264264         goto error;
265265   }
r4689r4690
271271         is_writable = image_is_writable(image);
272272         cassette_flags = is_writable ? (CASSETTE_FLAG_READWRITE|CASSETTE_FLAG_SAVEONEXIT) : CASSETTE_FLAG_READONLY;
273273         extension = image_filetype(image);
274         err = cassette_open_choices((void *) image, &mess_ioprocs, extension, formats, cassette_flags, &cassette->cassette);
274         err = cassette_open_choices(image->machine,(void *) image, &mess_ioprocs, extension, formats, cassette_flags, &cassette->cassette);
275275
276276         /* this is kind of a hack */
277277         if (err && is_writable)
src/mess/formats/cassimg.c
r4689r4690
2222#define SAMPLES_PER_BLOCK      0x40000
2323#define CASSETTE_FLAG_DIRTY      0x10000
2424
25struct sample_block
26{
27   INT32 *block;
28   size_t sample_count;
29};
3025
31struct _cassette_image
32{
33   const struct CassetteFormat *format;
34   struct io_generic io;
35   object_pool *pool;
36
37   int channels;
38   int flags;
39   UINT32 sample_frequency;
40
41   struct sample_block *blocks;
42   size_t block_count;
43   size_t sample_count;
44};
45
46
4726CASSETTE_FORMATLIST_START(cassette_default_formats)
4827CASSETTE_FORMATLIST_END
4928
r4689r4690
10281   initialization and termination
10382*********************************************************************/
10483
105static cassette_image *cassette_init(const struct CassetteFormat *format, void *file, const struct io_procs *procs, int flags)
84static cassette_image *cassette_init(running_machine *machine,const struct CassetteFormat *format, void *file, const struct io_procs *procs, int flags)
10685{
10786   cassette_image *cassette;
10887
r4689r4690
11695   cassette->io.procs = procs;
11796   cassette->flags = flags;
11897   cassette->pool = pool_alloc(NULL);
98   cassette->machine = machine;
11999   return cassette;
120100}
121101
r4689r4690
145125
146126
147127
148casserr_t cassette_open_choices(void *file, const struct io_procs *procs, const char *extension,
128casserr_t cassette_open_choices(running_machine *machine,void *file, const struct io_procs *procs, const char *extension,
149129   const struct CassetteFormat *const *formats, int flags, cassette_image **outcassette)
150130{
151131   casserr_t err;
r4689r4690
159139      formats = cassette_default_formats;
160140
161141   /* create the cassette object */
162   cassette = cassette_init(NULL, file, procs, flags);
142   cassette = cassette_init(machine, NULL, file, procs, flags);
163143   if (!cassette)
164144   {
165145      err = CASSETTE_ERROR_OUTOFMEMORY;
r4689r4690
210190
211191
212192
213casserr_t cassette_open(void *file, const struct io_procs *procs,
193casserr_t cassette_open(running_machine *machine, void *file, const struct io_procs *procs,
214194   const struct CassetteFormat *format, int flags, cassette_image **outcassette)
215195{
216196   const struct CassetteFormat *formats[2];
217197   formats[0] = format;
218198   formats[1] = NULL;
219   return cassette_open_choices(file, procs, NULL, formats, flags, outcassette);
199   return cassette_open_choices(machine, file, procs, NULL, formats, flags, outcassette);
220200}
221201
222202
223203
224casserr_t cassette_create(void *file, const struct io_procs *procs, const struct CassetteFormat *format,
204casserr_t cassette_create(running_machine *machine, void *file, const struct io_procs *procs, const struct CassetteFormat *format,
225205   const struct CassetteOptions *opts, int flags, cassette_image **outcassette)
226206{
227207   casserr_t err;
r4689r4690
241221      opts = &default_options;
242222
243223   /* create the cassette object */
244   cassette = cassette_init(format, file, procs, flags);
224   cassette = cassette_init(machine, format, file, procs, flags);
245225   if (!cassette)
246226   {
247227      err = CASSETTE_ERROR_OUTOFMEMORY;
src/mess/formats/cassimg.h
r4689r4690
1010#define CASSIMG_H
1111
1212#include "formats/ioprocs.h"
13#include "pool.h"
1314
14
1515/***************************************************************************
1616
1717   Constants
r4689r4690
6464}
6565casserr_t;
6666
67typedef struct _cassette_image cassette_image;
67struct sample_block
68{
69   INT32 *block;
70   size_t sample_count;
71};
6872
6973struct CassetteOptions
7074{
r4689r4690
8185   size_t sample_count;
8286};
8387
88struct _cassette_image
89{
90   const struct CassetteFormat *format;
91   struct io_generic io;
92   object_pool *pool;
93
94   int channels;
95   int flags;
96   UINT32 sample_frequency;
97
98   struct sample_block *blocks;
99   size_t block_count;
100   size_t sample_count;
101   
102   running_machine *machine;
103};
104
105typedef struct _cassette_image cassette_image;
106
84107struct CassetteFormat
85108{
86109   const char *extensions;
r4689r4690
140163
141164***************************************************************************/
142165
143casserr_t cassette_open(void *file, const struct io_procs *procs,
166casserr_t cassette_open(running_machine *machine,void *file, const struct io_procs *procs,
144167   const struct CassetteFormat *format, int flags, cassette_image **outcassette);
145casserr_t cassette_open_choices(void *file, const struct io_procs *procs, const char *extension,
168casserr_t cassette_open_choices(running_machine *machine,void *file, const struct io_procs *procs, const char *extension,
146169   const struct CassetteFormat *const *formats, int flags, cassette_image **outcassette);
147casserr_t cassette_create(void *file, const struct io_procs *procs, const struct CassetteFormat *format,
170casserr_t cassette_create(running_machine *machine,void *file, const struct io_procs *procs, const struct CassetteFormat *format,
148171   const struct CassetteOptions *opts, int flags, cassette_image **outcassette);
149172casserr_t cassette_save(cassette_image *cassette);
150173void cassette_close(cassette_image *cassette);
src/mess/formats/thom_cas.c
r4689r4690
122122   }
123123
124124   to7_k7_bitsize = 0;
125   to7_k7_bits = auto_alloc_array(machine, UINT8, bitmax );
125   to7_k7_bits = auto_alloc_array(cass->machine, UINT8, bitmax );
126126
127127/* store one period */
128128#if K7_SPEED_HACK
r4689r4690
157157      }                     \
158158      if ( to7_k7_bitsize + 1 >= bitmax )         \
159159      {                     \
160         UINT8* a = auto_alloc_array(machine, UINT8, bitmax * 2);      \
160         UINT8* a = auto_alloc_array(cass->machine, UINT8, bitmax * 2);      \
161161         memcpy ( a, to7_k7_bits, bitmax );      \
162162         bitmax *= 2;               \
163163         to7_k7_bits = a;            \
src/mess/drivers/apple2gs.c
r4689r4690
215215   ROM_LOAD("341-0729", 0x20000, 0x20000, NO_DUMP) /* 341-0729: IIgs ROM03 prototype FE-FF */
216216ROM_END
217217
218ROM_START(apple2gsr4p)
218ROM_START(apple2gsr3lp)
219219   ROM_REGION(0x1000,"keyboard",0)
220220   ROM_LOAD ("341-0024-a", 0x0000, 0x1000, NO_DUMP) /* Label needs verify: Keyboard M50741 MCU, 4K ROM */
221221
src/mess/drivers/c16.c
r4689r4690
454454static MACHINE_DRIVER_START( c16c )
455455   MDRV_IMPORT_FROM( c16 )
456456
457   MDRV_TPI6525_REMOVE("tpi6535_tpi_2")
458   MDRV_TPI6525_ADD("tpi6535_tpi_2", c16_tpi6525_tpi_2_c1551_intf)
457   // Need to check this since c16c is only using tpi_2
458   //MDRV_TPI6525_REMOVE("tpi6535_tpi_2")
459   //MDRV_TPI6525_ADD("tpi6535_tpi_2", c16_tpi6525_tpi_2_c1551_intf)
459460
460461   MDRV_IMPORT_FROM( cpu_c1551 )
461462#ifdef CPU_SYNC

Previous 15994 Revisions Next


© 1998-2018 The MESS Team