2016-06-05 01:43:50 +00:00
|
|
|
//
|
|
|
|
// CSVic20.m
|
|
|
|
// Clock Signal
|
|
|
|
//
|
|
|
|
// Created by Thomas Harte on 04/06/2016.
|
|
|
|
// Copyright © 2016 Thomas Harte. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
#import "CSVic20.h"
|
|
|
|
|
2016-06-05 02:00:50 +00:00
|
|
|
#import "Vic20.hpp"
|
|
|
|
|
|
|
|
@implementation CSVic20 {
|
|
|
|
Vic20::Machine _vic20;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (CRTMachine::Machine * const)machine {
|
|
|
|
return &_vic20;
|
|
|
|
}
|
2016-06-05 01:43:50 +00:00
|
|
|
|
2016-06-05 13:06:59 +00:00
|
|
|
- (void)setROM:(nonnull NSData *)rom slot:(Vic20::ROMSlot)slot {
|
|
|
|
_vic20.set_rom(slot, rom.length, (const uint8_t *)rom.bytes);
|
|
|
|
}
|
|
|
|
|
2016-06-05 12:53:05 +00:00
|
|
|
- (void)setKernelROM:(nonnull NSData *)rom {
|
2016-06-05 13:06:59 +00:00
|
|
|
[self setROM:rom slot:Vic20::ROMSlotKernel];
|
2016-06-05 12:53:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
- (void)setBASICROM:(nonnull NSData *)rom {
|
2016-06-05 13:06:59 +00:00
|
|
|
[self setROM:rom slot:Vic20::ROMSlotBASIC];
|
2016-06-05 12:53:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
- (void)setCharactersROM:(nonnull NSData *)rom {
|
2016-06-05 13:06:59 +00:00
|
|
|
[self setROM:rom slot:Vic20::ROMSlotCharacters];
|
2016-06-05 12:53:05 +00:00
|
|
|
}
|
|
|
|
|
2016-06-05 13:06:59 +00:00
|
|
|
- (void)setPRG:(nonnull NSData *)prg {
|
|
|
|
_vic20.add_prg(prg.length, (const uint8_t *)prg.bytes);
|
2016-06-05 12:53:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
- (void)setKey:(uint16_t)key isPressed:(BOOL)isPressed {
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)clearAllKeys {
|
|
|
|
}
|
|
|
|
|
2016-06-05 01:43:50 +00:00
|
|
|
@end
|