rk05: set/reset "search complete" flag for seek
This commit is contained in:
parent
36e4d9273d
commit
b2e1d10d36
1 changed files with 4 additions and 0 deletions
4
rk05.cpp
4
rk05.cpp
|
@ -167,6 +167,8 @@ void rk05::writeWord(const uint16_t addr, uint16_t v)
|
||||||
const int diskoffb = diskoff * 512; // RK05 is high density
|
const int diskoffb = diskoff * 512; // RK05 is high density
|
||||||
const uint16_t memoff = registers[(RK05_BA - RK05_BASE) / 2];
|
const uint16_t memoff = registers[(RK05_BA - RK05_BASE) / 2];
|
||||||
|
|
||||||
|
registers[(RK05_CS - RK05_BASE) / 2] &= ~(1 << 13); // reset search complete
|
||||||
|
|
||||||
if (func == 0) { // controller reset
|
if (func == 0) { // controller reset
|
||||||
D(fprintf(stderr, "RK05 invoke %d (controller reset)\n", func);)
|
D(fprintf(stderr, "RK05 invoke %d (controller reset)\n", func);)
|
||||||
|
|
||||||
|
@ -280,6 +282,8 @@ void rk05::writeWord(const uint16_t addr, uint16_t v)
|
||||||
}
|
}
|
||||||
else if (func == 4) {
|
else if (func == 4) {
|
||||||
D(fprintf(stderr, "RK05 invoke %d (seek) to %o\n", func, diskoffb);)
|
D(fprintf(stderr, "RK05 invoke %d (seek) to %o\n", func, diskoffb);)
|
||||||
|
|
||||||
|
registers[(RK05_CS - RK05_BASE) / 2] |= 1 << 13; // search complete
|
||||||
}
|
}
|
||||||
else if (func == 7) {
|
else if (func == 7) {
|
||||||
D(fprintf(stderr, "RK05 invoke %d (write lock)\n", func);)
|
D(fprintf(stderr, "RK05 invoke %d (write lock)\n", func);)
|
||||||
|
|
Loading…
Add table
Reference in a new issue