diff --git a/constants/SP2000.inc b/constants/SP2000.inc index c388fe7..27bd3de 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -1935,6 +1935,30 @@ REG: ; RET + ;=======================================================================; + ; ПРО ПРИКОЛ ВИНТА ; + ;=======================================================================; +; если канал пустой, то читается из порта то, что было выставлено +; последним на шину c чётного адреса в памяти а это первый или второй +; байт кода команды +; ALIGN 2 ; тут нужно выравнивание по задуманным адресам для команд чтения из портов +; .CheckChanel: LD BC,IDE.Read.Status +; IN A,(C) ;#ED78 A=#78 +; IN L,(C) ;#ED68 L=#68 +; LD D,A +; IN A,(C) ;#ED60 A=#ED +; LD E,L +; ; если пустой: DE=#7868, A=#ED +; ; +; LD HL,#7868 + #ED +; AND A +; SBC HL,DE +; XOR L +; RET NZ ; not absent +; SCF +; RET ; absent +;==============================================================================================================; + ;=======================================================================; ; ПРО КВАДРАТЫ ИНТА ; @@ -1982,10 +2006,8 @@ REG: ; квадрат не смогут повлиять потому что инт либо будет всё ещё висеть и это будет замена 1 на 1))) либо инт ; снимется через IO и M1 установив S в положение ?похер на D и C?, которое сменится только после того как ; протикают левые счётчики. +;==============================================================================================================; - ;=======================================================================; - ; ПРО КВАДРАТЫ ИНТА ; - ;=======================================================================; ;┌─────────────────────────────┬─────────────────────────────────┐ ;│ Блок-Схема Видеоконтроллера │ ┌───────────────┐ │