/* CASE (A[7..5],/WR) IS WHEN B"000X" => FDD_MA[] = H"018"; -- WG93 1F WHEN B"001X" => FDD_MA[] = H"019"; -- WG93 3F WHEN B"010X" => FDD_MA[] = H"01A"; -- WG93 5F WHEN B"011X" => FDD_MA[] = H"01B"; -- WG93 7F WHEN B"1000" => FDD_MA[] = H"00F"; -- reserved WHEN B"1001" => FDD_MA[] = H"00F"; -- WHEN B"1010" => FDD_MA[] = H"00F"; -- WHEN B"1011" => FDD_MA[] = H"00F"; -- WHEN B"1100" => FDD_MA[] = H"00F"; -- WHEN B"1101" => FDD_MA[] = H"00F"; -- WHEN B"1110" => FDD_MA[] = H"017"; -- PORT_DOS FF WHEN B"1111" => FDD_MA[] = H"01F"; -- KMPS/IRQ-DRQ FF END CASE; 1. Переключатель конфигураций (BYTE) V bit0 - 1 - accelerator on; 0 - accelerator off bit1 - bit2 - * bit3 - 1 - AY - ABC; 0 - AY - ACB * bit4 - 1 - Covox+AY+Beeper; 0 - Only-Covox; * bit5 - 1 - Pentagon timing; 0 - Scorpion timing V bit6 - 1 - Fast-Spectrum; 0 - Real-Spectrum; bit7 - ? 3. Shift-Screen-Port V bit0..3 - horizontal shift 0 - left; 7 - center; 14 - right; 15 - no h_sync V bit4..7 - vertical shift 0 - up; 7 - center; 14 - down; 15 - no v_sync */ /* Обработчик прерывания. Алгоритм 1. проверить кадровое по bit 5 #FE если было 0 и стало 1 то сохранить флаг смены бита проверить пункт 2. перейти на кадровое (+AY) иначе далее 2. проверить bit 7 - если 1, то на звук 3. проверить клавиатуру. 4. если пункт 1 не сработал, то проверить 5. проверить bit 7 - если 1, то на звук 6. выход из прерывания */