1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-06-28 08:29:34 +00:00

Attempted to ensure that ADFS disks get to an appropriately-configured Electron. Not immediately sure why the shift press isn't working; doesn't need to be dealt with immediately.

This commit is contained in:
Thomas Harte 2016-09-25 19:59:46 -04:00
parent 523dbb9678
commit 7f4c78139c
2 changed files with 7 additions and 1 deletions

View File

@ -304,7 +304,7 @@ unsigned int Machine::perform_bus_operation(CPU6502::BusOperation operation, uin
case 0xfc04: case 0xfc05: case 0xfc06: case 0xfc07:
if(_wd1770 && (address&0x00f0) == 0x00c0)
{
if(is_holding_shift_)
if(is_holding_shift_ && address == 0xfcc4)
{
is_holding_shift_ = false;
set_key_state(KeyShift, false);
@ -506,6 +506,11 @@ void Machine::configure_as_target(const StaticAnalyser::Target &target)
{
set_rom(ROMSlot0, _dfs, true);
}
if(target.acorn.has_adfs)
{
set_rom(ROMSlot1, _adfs, true);
set_rom(ROMSlot2, std::vector<uint8_t>(_adfs.begin() + 16384, _adfs.end()), true);
}
_wd1770->set_disk(target.disks.front());
}

View File

@ -124,6 +124,7 @@ void StaticAnalyser::Acorn::AddTargets(
{
target.disks = disks;
target.acorn.has_dfs = !!dfs_catalogue;
target.acorn.has_adfs = !!adfs_catalogue;
switch((dfs_catalogue ?: adfs_catalogue)->bootOption)
{