User Tag List

Страница 34 из 35 ПерваяПервая ... 303132333435 ПоследняяПоследняя
Показано с 331 по 340 из 445

Тема: Пишем игры под РК подобные

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сквош для журнального РК, для РК SRAM версии Киселёва, для Апогея и Пальмиры.

    Жизнь восстанавливается, если набрать 100 очков.

    Вложения Вложения
    • Тип файла: zip squash.zip (14.2 Кб, Просмотров: 67)
    Последний раз редактировалось Hammer; 28.04.2024 в 09:18.

    Эти 11 пользователя(ей) поблагодарили Hammer за это полезное сообщение:

    Alikberov(27.04.2024), anarchyman(03.05.2024), Beaver(26.04.2024), Fishbone(29.04.2024), Oleg N. Cher(27.04.2024), Pyk(29.04.2024), s1nka(27.04.2024), SegaBoy(27.04.2024), Shaos(28.04.2024), tnt23(28.04.2024), Zidane(03.05.2024)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,159
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    26 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я на апогее делал через ei/di, работало в эмуляторе b2m.

  4. #3

    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    206
    Спасибо Благодарностей отдано 
    47
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    29 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насчет самой идеи написания игр: было бы весьма неплохо собрать справочные материалы в одном месте. Особенно по работе с экраном и псевдографикой. Набросал под стандартный режим расчет байта атрибутов, расчет адреса для него и настройку видеоконтроллера. Может кому и пригодится. Лично мне бы было весьма интересно узнать, как скрывать байты атрибутов с экрана. Но это просто для справки, едва ли я что-то хоть сколько-нибудь серьезное буду писать для РК...

  5. #4

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я так примерно и собираю материалы и куски кода. Получается некий движок. Вывод спрайтов, звук на ВИ53, расчёт ячейки видеопамяти по координатам, ГПСЧ, сканирование клавиатуры, инициализация видео, коллизии и другой код - собрано в кучку и описано обильно текстом. Всё в группе ТГ, если нужно, пишите в ЛС, дам ссылку.

  6. #5

    Регистрация
    01.06.2005
    Адрес
    Москва
    Сообщений
    229
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну, раз пошла такая пьянка, может будет полезна моя новогодняя ёлка для изучения атрибутов -- https://github.com/radio-86rk/tree2025.rk

    Эти 2 пользователя(ей) поблагодарили Vital72 за это полезное сообщение:

    Oleg N. Cher(02.09.2025), Pyk(04.09.2025)

  7. #6

    Регистрация
    26.11.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    192
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    133
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Народ, может есть у кого? Ищу реализацию рисования линий алгоритмом брезенхема на ассемблере 8080. Рисование точки сам вроде справился - а здесь как то затык, для меня сложно. Может кто уже проходил это?
    Радио86 рк (Пальмира), Электроника кр04, Поиск 1

  8. #7

    Регистрация
    11.04.2023
    Адрес
    г. Ташкент, Узбекистан
    Сообщений
    183
    Спасибо Благодарностей отдано 
    57
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Post

    Цитата Сообщение от Ведущий_специалист Посмотреть сообщение
    Народ, может есть у кого? Ищу реализацию рисования линий алгоритмом брезенхема на ассемблере 8080. Рисование точки сам вроде справился - а здесь как то затык, для меня сложно. Может кто уже проходил это?
    Как-то вот так:
    Код:
            MVI     L,10    ; X1 = 10
            MVI     H,50    ; Y1 = 50
            MVI     E,60    ; X2 = 60
            MVI     D,30    ; Y2 = 30
            ;;;;;;;;;;;;;;;;;
            MOV     A,E
            SUB     L       ; DX = X2 - X1
            JNC     LDX
            CMA
            INR     A       ; DX = -DX
    LDX:    MOV     E,A
            SBB     A
            ORI     001H
            MOV     C,A     ; C = SGN(X2 - X1)
            ;;;;;;;;;;;;;;;;;
            MOV     A,D
            SUB     H       ; DY = Y2 - Y1
            JNC     LDY
            CMA
            INR     A       ; DY = -DY
    LDY:    MOV     D,A
            SBB     A
            ORI     001H
            MOV     B,A     ; B = SGN(Y2 - Y1)
            ;;;;;;;;;;;;;;;;;
            MOV     A,D
            CMP     E       ; IF DX < DY
            JC      L1
            MOV     D,E
            MOV     E,A     ; THEN SWAP DX,DY
            ;;;;;;;;;;;;;;;;;
    L1:     MOV     A,E
            ORA     A
            RAR             ; A = DX >> 1
            ;;;;;;;;;;;;;;;;;
    L2:     CALL    PUTDOT
            PUSH    PSW
            MOV     A,L
            ADD     C
            MOV     L,A     ; X += DX
            POP     PSW
            SUB     D       ; A -= DY
            JNC     L2      ; IF A >= 0 THEN GOTO L2
            PUSH    PSW
            MOV     A,H
            ADD     B
            MOV     H,A
            POP     PSW
            ADD     E       ; A += DX
            JMP     L2
    
    PUTDOT: PUSH    PSW
            PUSH    B
            MVI     C,00AH
            CALL    0F809H
            MVI     C,00DH
            CALL    0F809H
            CALL    0F815H
            MVI     C,02FH
            CALL    0F809H
            MOV     A,D
            CALL    0F815H
            MVI     C,020H
            CALL    0F809H
            MOV     A,H
            CALL    0F815H
            MOV     A,L
            CALL    0F815H
            CALL    0F803H
            POP     B
            POP     PSW
            RET
    Правда, здесь цикл бесконечный с пошаговым отображением координат.

    Онлайн демка с рисованием световым пером.
    Правда, там прорисовка не отдельными точками псевдографики, а блоками.
    Не удалось отладить: Некоторые линии выводятся идеально, другие - сильно глючат.
    Последний раз редактировалось Alikberov; 04.09.2025 в 14:36.
    Электроника КР-03; ZX-Spectrum "Ленинград-48"; Atari-130XE; Поиск-1...

  9. #8

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Брезенхем очень медленный для РК. И опять же, смотря для какого разрешения. Если ширина экрана больше 128 точек, то уже надо придумывать двухбайтовое знаковое сложение/вычитание, которого в 8080 нет. Тут надо что-то сильно проще использовать.

  10. #9

    Регистрация
    26.11.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    192
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    133
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    ...смотря для какого разрешения.
    При псевдографике 2х3 точки пальмира выжимает 140х120 точек. Функция на си выглядит вот так...
    Код:
    // Быстрый алгоритм Брезенхэма для линий
    void draw_line(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1) {
    int16_t dx;
    int8_t dy;
    char sx;
    char sy;
    int err;
    // Вычисляем dx = abs(x1 - x0)
        if(x1 >= x0) {
            dx = x1 - x0;
            sx = 1;
        } else {
            dx = x0 - x1;
            sx = -1;
        }
        
        // Вычисляем dy = -abs(y1 - y0)
        if(y1 >= y0) {
            dy = -(y1 - y0);
            sy = 1;
        } else {
            dy = -(y0 - y1);
            sy = -1;
        }
            err = dx + dy;
       while(1) {
            set_pixel_2x3(x0, y0); //  оптимизированная функция
            
            if(x0 == x1 && y0 == y1) break;
            
            int e2 = err<<1;
            if(e2 >= dy) {
                err += dy;
                x0 += sx;
            }
            if(e2 <= dx) {
                err += dx;
                y0 += sy;
            }
        }
    }
    Как видишь инт уже нужен для err и для вычисления dx. К тому же нужно понимание что есть знаковые переменные.
    Радио86 рк (Пальмира), Электроника кр04, Поиск 1

  11. #10

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ведущий_специалист Посмотреть сообщение
    выжимает 140х120 точек
    Ну и отлично, каждая координата значит занимает один байт. Но алгоритм чудовищно долгий.

Страница 34 из 35 ПерваяПервая ... 303132333435 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Игры под Spec256
    от Spectramine в разделе Игры
    Ответов: 184
    Последнее: 24.07.2025, 13:42
  2. Игры под джойстик
    от Underground1 в разделе PC-совместимые компьютеры
    Ответов: 4
    Последнее: 21.12.2022, 20:14
  3. Игры под ZX-Poly
    от Raydac в разделе Игры
    Ответов: 21
    Последнее: 16.11.2019, 16:52
  4. Пишем на ассемблере под эмулятором
    от GM BIT в разделе Для начинающих
    Ответов: 76
    Последнее: 15.07.2016, 20:04
  5. хорошие игры под 48k
    от шин в разделе Игры
    Ответов: 16
    Последнее: 23.12.2007, 08:25

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •