mirror of
https://github.com/TomHarte/CLK.git
synced 2025-01-26 15:32:04 +00:00
Nudges 6850 towards coherence.
This commit is contained in:
parent
97d44129cb
commit
4b09d7c41d
@ -8,13 +8,31 @@
|
||||
|
||||
#include "6850.hpp"
|
||||
|
||||
#define LOG_PREFIX "[6850] "
|
||||
#include "../../Outputs/Log.hpp"
|
||||
|
||||
using namespace Motorola::ACIA;
|
||||
|
||||
uint8_t ACIA::read(int address) {
|
||||
return 0xff;
|
||||
if(address&1) {
|
||||
LOG("Read from receive register");
|
||||
} else {
|
||||
LOG("Read status");
|
||||
return status_;
|
||||
}
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
void ACIA::write(int address, uint8_t value) {
|
||||
if(address&1) {
|
||||
LOG("Write to transmit register");
|
||||
} else {
|
||||
if((value&3) == 3) {
|
||||
LOG("Reset");
|
||||
} else {
|
||||
LOG("Write to control register");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ACIA::run_for(HalfCycles) {
|
||||
|
@ -17,10 +17,29 @@ namespace ACIA {
|
||||
|
||||
class ACIA {
|
||||
public:
|
||||
/*!
|
||||
Reads from the ACIA.
|
||||
|
||||
Bit 0 of the address is used as the ACIA's register select line —
|
||||
so even addresses select control/status registers, odd addresses
|
||||
select transmit/receive data registers.
|
||||
*/
|
||||
uint8_t read(int address);
|
||||
|
||||
/*!
|
||||
Writes to the ACIA.
|
||||
|
||||
Bit 0 of the address is used as the ACIA's register select line —
|
||||
so even addresses select control/status registers, odd addresses
|
||||
select transmit/receive data registers.
|
||||
*/
|
||||
void write(int address, uint8_t value);
|
||||
|
||||
void run_for(HalfCycles);
|
||||
|
||||
private:
|
||||
int divider_ = 1;
|
||||
uint8_t status_ = 0x00;
|
||||
};
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user