С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не зануляется. процедура печати пропускает первый(верхний) байт любого символа.
Любопытно, но в ПрофПЗУ печатаются все восемь байт знакоместа.
- - - Добавлено - - -
внесите такие изменения и будет печататься весь символ
#8A5B =#08
#8A02 =#9f
#8A44 =#00
Xela (28.05.2022)
А в снапе содержимое портов 7FFD и 1FFD откуда берётся?
- - - Добавлено - - -
С одной стороны - в оригинальном скорпионе-турбо порт был заведён на AY, с другой - на новодельном скорпионе 1024 не был, но снап работал корректно.
ZX-Evo Rev. C4 (Double-config) / VDAC2 / ZiFi / NeoGS / ZXM-Soundcard Extreme
Снап сохраняется только из монитора, а при входе в монитор определяется номер активной страницы RAM(банально установкой маркера в странице при входе и потом перебором страниц определяется номер), номер страницы ROM передается при входе в монитор, режим 48/128k(определяется возможностью включения страницы в окно памяти), номер активного экрана по переменной бейсика128. Этого вполне достаточно, разве что экран может быть неверно определен.
- - - Добавлено - - -
чтение портов #1FFD/#7FFD через регистр AY в данном случае не используется
Скрытый текст
https://drive.google.com/drive/folde...xZ83juCuaBe32I
Scorpion ZS 256 Turbo+/GMX 2MB/SMUC v1.3 OP/CF-IDE 2GB/TS ARM/Covox #DD/FDD 5'25/FDD 3'5/AT Kbrd & Mouse Ctrl v2.5/Universal PS/2 Kbrd Ctrl/ZX WiFi
Leningrad 1/Sega Joy Adapter
DivGMX
ZX Spectrum +2A
ZX Evolution rev. C
TCK Computer 486DX2-66/512K Tridend 9000i/8MB SIMM72/CF-IDE 512MB/ESS 1869/CNet CN200/FDD 5'25/FDD 3'5
[свернуть]
Нажатие NMI подразумевает переход на адрес #66 ПЗУ tr-dos, если принудительно не включена страница монитора. Соответственно в процедуре tr-dos в этой точке входа устанавливается номер ROM. Тоже самое происходит если в момент нажатия NMI в область ROM включена страница с монитором(что вообщем то маловероятно).
Точности тут никакой, если входим в монитор через TR-DOS значит ставим ROM1(basic48k), если входим в монитор через страницу монитора значит ставим ROM0(basic128k) . Спасает одно, мало какая программа использует ПЗУ Basic128
- - - Добавлено - - -
Тут на самом деле много вопросов.
Почему бы не использовать чтение портов через регистр AY. Хотя есть в ПЗУ такая процедура, но не используется.
Почему во все мануалах авторы пишут. что сервис-монитор использует страницу 8 и частично страницу 9, хотя страница 9 не используется вообще (разве что задел на будущее, и желание внедрить MagOS в ПЗУ/об этом говорит и сохранение снапов, игнорирующее 8ю и 9ю страницы/. MagOS таки скорее всего сидит в 9й странице, просто потому что места в 8й для неё просто нет)
Опять таки наличие некоторого количества неиспользуемых процедур, скорее всего заточенных под контроллер прерываний, которого опять таки мир не увидел.
Но это все в прошлом. Надо подстраиваться под текущие реалии.
LW (28.05.2022)
тады за коим чертом зарезервирована 9я страница... вопрос....
На древнем Скорпионе (ниже 2.95) в своё время проверял, очищая 9-ю страницу, и то ли после сброса, то ли после лазанья в теневике в неё какая-то фигня вносилась. Но на работу это не влияло (очистка, имею в виду). Аласм, например, по умолчанию начинает размещение текстов с 9-й страницы, и в процессе работы с компом исходник не портится, что подтверждает её неиспользование сервис-монитором.
Видимо, что-то туда писалось в ранних версиях ПЗУ.
LW (28.05.2022)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)