Author |
Message |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22827 Location: Silicon Valley
|
И всё-таки, где флаги посмотреть можно? Почему именно 7F (0111 1111) это включение нумерации?
|
06 Feb 2024 22:33 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 329 Location: Tashkent
|
Можно и FF - разницы нет. В строке #618 это происходит. Т.е. «GF000,» (с запятой), думаю, разрешит нумерацию строк (надо проверить)…
|
07 Feb 2024 03:08 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22827 Location: Silicon Valley
|
А поконкретенее? Какие ещё флаги могут быть и т.д.
|
07 Feb 2024 07:19 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 329 Location: Tashkent
|
Условно - это флаг, который Монитором обнуляется при чтении параметров директивы и при обнаружении Запятой «,» выставляет FF, чтобы сигнализировать директиве I о наличии второго параметра для изменения константы скорости ввода с магнитофона. «Победит» этим кодом маскирует все десятичные символы при отображении нумерации строк. Значит: - При 00/A0/60/20 вся нумерация отображается как символ 00h/20h
- При F0/70/30 вся нумерация строк отобразится символом 30h
- При FF (а также 7F/3F) нумерация строк отображается кодами 30h-39h
- При EF/6F/2F нумерация строк отобразится кодами 20h-29h
- При DF/5F/1F нумерация строк отобразится кодами 10h-19h
- При FE/7E/3E нумерация строк исказится с маскировкой до чётных цифр
То есть, это - просто маска для ASCII и больше нигде в редакторе не используется. В Emu80 в отладчике можно поиграться значениями и увидеть результат (но только при обновлении столбца строк).
|
07 Feb 2024 07:47 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22827 Location: Silicon Valley
|
А зачем? Нумерация она ведь либо есть, либо её нет - зачем остальные вариации?
|
07 Feb 2024 08:49 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 329 Location: Tashkent
|
Ну, дык, я и говорю, что всё происходит в строке #618: Если использовать именно один единственный бит, код станет таким: Что было бы универсальнее, но слишком громоздко (на целых 7 байтов) для ПЗУ в 2 Кб. К тому же, в редакторе не так уж много флагов и упаковывать их в один байт не имеет смысла. (Так же, как подпрограмма опроса клавиатуры Монитора F812 использует флаг 00 или FF в ячейке 7605, но реагирует лишь на 00 либо 01-FF в самом деле.)
|
07 Feb 2024 09:33 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22827 Location: Silicon Valley
|
А какие ещё есть флаги и как они используются?
|
07 Feb 2024 12:47 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 329 Location: Tashkent
|
Ну, тут уже всё описывалось и ничего нового я не скажу. Кроме того, что он сам передаёт флаги в PSW при вызове пользовательского кода. Редактор в этом плане работает как некая замкнутая среда, с вызовом пользовательского кода при нажатии управляющих комбинаций клавиш: - F1…F5 или УС+A…D (коды 00…04)
- УС+E…G (коды 05…07)
- УС+K (код 0B)
- УС+Т…W (коды 0E…17)
- АР2 или УС+[ (код 1B)
- УС+\]^ (коды 1С…1E)
То есть, при редактировании текста Музыкальных Партитур или Quick Basic управляющих комбинаций более, чем достаточно, для организации поиска по шаблону, компиляции, сохранения, копирования и т.д… Всё - под ответственность пользовательского кода. В качестве примера, именно пользовательский код по нажатию F1 переключает буферы текста (можно и страницы памяти просто переключать), скрывает/отображает нумерацию строк и боковые границы, а по УС+E удаляет целую строку.
|
07 Feb 2024 13:13 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22827 Location: Silicon Valley
|
А какие флаги то?
|
07 Feb 2024 14:10 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 329 Location: Tashkent
|
|
07 Feb 2024 14:42 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22827 Location: Silicon Valley
|
И с какой стороны тут присовокупляется нумерация строк?…
|
07 Feb 2024 16:25 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 329 Location: Tashkent
|
Нумерация строк - это «LDA 762D | CMA | STA 762D» в область служебных ячеек Монитора напрямую… И на обработке (компиляции) текста никак не сказывается - чисто декоративный элемент. Вы страницы памяти как-то переключаете? Применительно к 128 Кб, если служебная область 7600…76CF будет попадать под страничное переключение, нужно быть осторожным и дублировать все важные для редактора ячейки.
|
08 Feb 2024 02:44 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22827 Location: Silicon Valley
|
в других страницах монитором пользоваться будет нельзя
|
08 Feb 2024 02:47 |
|
|
Alikberov
Maniac
Joined: 14 Oct 2019 18:10 Posts: 329 Location: Tashkent
|
Т.е. регион F000-F7FF можно тоже переключать и, соответственно, выбирать нужное ПЗУ? Типа: - Страница #0 - под КНГМД
- Страница #1 - под ПобЭдит
- Страница #2 - под Yozh
- Страница #3 - под Паскаль или Форт (запускается из-под ПобЭдита, например)
|
08 Feb 2024 06:13 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22827 Location: Silicon Valley
|
Надо подумать - может быть в будущем надо сделать область переменных монитора (и экрана) опционально непереключаемой…
|
08 Feb 2024 09:50 |
|
|