Просмотр полной версии : Вертикальный скроллинг УКНЦ
Подскажите (на пальцах) правильный алгоритм вертикального скроллинга. (или если есть исходник.. только ПЗУ не нужно), заранее спасибо :)
Oleg N. Cher
14.03.2020, 17:47
Я не особый знаток PDP-шного асма, но рискну подать идею. Вычислить начальный адрес в экранной памяти области скроллинга, получить ширину в байтах и организовать цикл скроллинга, который будет перебрасывать байты линий двух планов с линии N в линию 0, потом с линии N+1 в линию 1 и так до конца. Потом нижние линии почистить по CLR. У меня есть исходник скроллинга для CGA-экрана на Турбо Си: https://github.com/Oleg-N-Cher/Dash/blob/master/DOS/C/GrApp.c
Там примерно так. Но там без битпланов. Ещё я это переписывал под Спектрум: https://github.com/Oleg-N-Cher/Dash/blob/master/ZX/C/GrApp.c
Ни разу не попал :)
- - - Добавлено - - -
Таблица строк показывает на адреса, а как их крутить - вот в чем вопрос...
Oleg N. Cher
14.03.2020, 19:37
Ну, хочешь аппаратный скроллинг - меняй адреса старта экранной памяти, вроде УКНЦ это умеет ;-)
Пожалуйста, не говори о том, о чем не имеешь ни малейшего представления. Неужели ты думаешь, что я у же не первый год разбирающийся в УКНЦ, вот так вот просто -тупо задал риторический вопрос? И ждал, что именно ты мне дашь риторический ответ? Как так-то блин... что с этим миром не так? ГУРУ УКНЦ ПРОСНИТЕСЬ НАКОНЕЦ КОНЧАЙТЕ ФИГНЕЙ МАЯТСЯ.... ААААААААААААААА
- - - Добавлено - - -
Встречный вопрос к "просветленным", как как скроллинг организован в ""примитивной" БК, одной ячейкой..? Не отменяющий первого :)
Что тут морочиться. Переписываешь список строк экрана со смещением на одну, и все. Вот тебе циклический скроллинг.
Не совсем циклический.. переписываешь же указатели на память, в итоге они уедут.. где ж тут цикл
- - - Добавлено - - -
Получается что видеопамять мы переписываем линейно (построчно), а таблицу строк крутим по кругу?
Oleg N. Cher
15.03.2020, 08:24
Кстати, меня тоже интересует скроллинг экрана и графических окон в УКНЦ - вертикальный, горизонтальный, циклический и нет. На 1, 2, 4 и 8 пикселей. Аналог функционала из Laser Basic. Это нужно для задуманной игры. Есть что-то подобное готовое?
SuperMax
15.03.2020, 10:49
Встречный вопрос к "просветленным", как как скроллинг организован в ""примитивной" БК, одной ячейкой..? Не отменяющий первого :)
https://forum.maxiol.com/index.php?showtopic=5068
смотри 177664
разве в УКНЦ не что-то подобное ?
разве в УКНЦ не что-то подобное ?
Нет, таблица строк всем управляет.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot