~ubuntu-branches/ubuntu/raring/vice/raring

« back to all changes in this revision

Viewing changes to src/c128/c128rom.c

  • Committer: Bazaar Package Importer
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2009-03-31 00:37:15 UTC
  • mfrom: (1.1.7 upstream) (9.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20090331003715-i5yisvcfv7mgz3eh
Tags: 2.1.dfsg-1
* New major upstream release (closes: #495937).
* Add desktop files (closes: #501181).

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
#include "c128memrom.h"
35
35
#include "c128rom.h"
36
36
#include "c64memrom.h"
 
37
#include "c64rom.h"
37
38
#include "mem.h"
38
39
#include "log.h"
39
40
#include "resources.h"
434
435
    return 0;
435
436
}
436
437
 
437
 
int c128rom_load_kernal64(const char *rom_name)
 
438
int c64rom_cartkernal_active=0;
 
439
 
 
440
int c128rom_load_kernal64(const char *rom_name, BYTE *cartkernal)
438
441
{
439
442
    if (!rom_loaded)
440
443
        return 0;
441
444
 
442
 
    if (!util_check_null_string(rom_name)) {
443
 
        /* Load C64 kernal ROM.  */
444
 
        if (sysfile_load(rom_name,
445
 
            c64memrom_kernal64_rom, C128_KERNAL64_ROM_SIZE,
446
 
            C128_KERNAL64_ROM_SIZE) < 0) {
447
 
            log_error(c128rom_log, "Couldn't load C64 kernal ROM `%s'.",
448
 
                      rom_name);
 
445
    if (cartkernal==NULL)
 
446
    {
 
447
        if (c64rom_cartkernal_active==1)
449
448
            return -1;
 
449
 
 
450
        if (!util_check_null_string(rom_name)) {
 
451
            /* Load C64 kernal ROM.  */
 
452
            if (sysfile_load(rom_name,
 
453
                c64memrom_kernal64_rom, C128_KERNAL64_ROM_SIZE,
 
454
                C128_KERNAL64_ROM_SIZE) < 0) {
 
455
                log_error(c128rom_log, "Couldn't load C64 kernal ROM `%s'.",
 
456
                          rom_name);
 
457
                return -1;
 
458
            }
450
459
        }
451
460
    }
 
461
    else
 
462
    {
 
463
        memcpy(c64memrom_kernal64_rom, cartkernal, 0x2000);
 
464
        c64rom_cartkernal_active=1;
 
465
    }
452
466
    memcpy(c64memrom_kernal64_trap_rom, c64memrom_kernal64_rom,
453
467
           C128_KERNAL64_ROM_SIZE);
454
468
    return 0;
556
570
 
557
571
    if (resources_get_string("Kernal64Name", &rom_name) < 0)
558
572
        return -1;
559
 
    if (c128rom_load_kernal64(rom_name) < 0)
 
573
    if (c128rom_load_kernal64(rom_name, NULL) < 0)
560
574
        return -1;
561
575
 
562
576
    if (resources_get_string("Basic64Name", &rom_name) < 0)
567
581
    return 0;
568
582
}
569
583
 
 
584
int c64rom_load_kernal(const char *rom_name, BYTE *cartkernal)
 
585
{
 
586
    return c128rom_load_kernal64(rom_name, cartkernal);
 
587
}