mirror of
https://github.com/Tolik-Trek/DOOM2.git
synced 2026-06-15 00:51:33 +03:00
52 lines
1.8 KiB
Plaintext
52 lines
1.8 KiB
Plaintext
|
|
/*
|
|
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. выход из прерывания
|
|
*/
|