2020-01-06 01:05:55 +00:00
|
|
|
//
|
|
|
|
// Jasmin.hpp
|
|
|
|
// Clock Signal
|
|
|
|
//
|
|
|
|
// Created by Thomas Harte on 05/01/2020.
|
|
|
|
// Copyright © 2020 Thomas Harte. All rights reserved.
|
|
|
|
//
|
|
|
|
|
2024-01-17 04:34:46 +00:00
|
|
|
#pragma once
|
2020-01-06 01:05:55 +00:00
|
|
|
|
|
|
|
#include "../../Components/1770/1770.hpp"
|
|
|
|
#include "../../Activity/Observer.hpp"
|
2020-01-15 03:23:00 +00:00
|
|
|
#include "DiskController.hpp"
|
2020-01-06 01:05:55 +00:00
|
|
|
|
|
|
|
namespace Oric {
|
|
|
|
|
2020-01-15 03:23:00 +00:00
|
|
|
class Jasmin: public DiskController {
|
2020-01-06 01:05:55 +00:00
|
|
|
public:
|
|
|
|
Jasmin();
|
|
|
|
|
|
|
|
void write(int address, uint8_t value);
|
|
|
|
|
2020-01-16 04:39:15 +00:00
|
|
|
void set_activity_observer(Activity::Observer *observer);
|
|
|
|
|
2020-01-06 01:05:55 +00:00
|
|
|
private:
|
2020-01-06 02:35:20 +00:00
|
|
|
void set_motor_on(bool on) final;
|
|
|
|
bool motor_on_ = false;
|
2020-02-17 02:15:16 +00:00
|
|
|
uint8_t selected_drives_ = 0;
|
2020-01-16 04:39:15 +00:00
|
|
|
|
|
|
|
Activity::Observer *observer_ = nullptr;
|
2020-07-30 01:06:41 +00:00
|
|
|
|
|
|
|
bool enable_overlay_ram_ = false;
|
|
|
|
bool disable_basic_rom_ = false;
|
|
|
|
void select_paged_item() {
|
|
|
|
PagedItem item = PagedItem::RAM;
|
|
|
|
if(!enable_overlay_ram_) {
|
|
|
|
item = disable_basic_rom_ ? PagedItem::DiskROM : PagedItem::BASIC;
|
|
|
|
}
|
|
|
|
set_paged_item(item);
|
|
|
|
}
|
2020-01-06 01:05:55 +00:00
|
|
|
};
|
|
|
|
|
2024-01-17 04:34:46 +00:00
|
|
|
}
|