Важная информация

User Tag List

Страница 1 из 31 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 304

Тема: Программирование

  1. #1
    Activist
    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    369
    Спасибо Благодарностей отдано 
    425
    Спасибо Благодарностей получено 
    241
    Поблагодарили
    88 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Программирование

    Привет!

    Полезные ссылки по программированию под Вектор 06ц.

    Документация

    Скрытый текст


    Описание архитекстуры и общие сведения:
    http://emuverse.ru/wiki/%D0%92%D0%B5...D1%80-06%D0%A6

    Секреты "Вектора"-1992г. Лебедев А.
    https://raw.githubusercontent.com/wi..._by_Lebedev.md

    ТЕХНИЧЕСКОЕ ОПИСАНИЕ ПК "ВЕКТОР-06Ц"
    https://github.com/svofski/vector06c...al_Description

    Справка по командам i8080 (теже что у Вектора06ц)
    https://pmd85.borik.net/instrset/instuction-set.html

    Тайминги команд процессора КР580ВМ80

    Скрытый текст


    Код:
    MOV         8
    MVI R,_     8
    MVI M,_     12
    LDAX / STAX 8
    LDA / STA   16
    LXI         12
    LHLD / SHLD 20
    SHLD        20
    POP         12
    PUSH        16
    SPHL        8
    XCHG        4
    XTHL        24
    
    CMC / STC / CMA / DAA   4
    RRC / RLC / RAL	/ RAR   4
    
    INR/INX/DCR/DCX R   8
    INR/DCR MOV         12
    
    ADD / SUB / ADC / SBB / ANA / ORA / XRA / CMP R     4
    ADD / SUB / ADC / SBB / ANA / ORA / XRA / CMP M     8
    ADI / SUI / ACI / SBI / ANI / ORI / XRI / CPI R     8
    
    DAD         12
    
    NOP         4
    EI / DI     4
    HLT         8
    
    IN / OUT    12
    
    PCHL        8
    JMP / J*    12
    
    CALL        24
    C*      /Y  24
    C*      /N  16
    RET         12
    R*      /Y  16
    R*      /N  8
    
    RST         16
    http://emuverse.ru/wiki/%D0%92%D0%B5...uction_Timings
    https://github.com/svofski/vector06c...uction_Timings
    [свернуть]

    [свернуть]


    Среды разработки

    Настройка среды программирования и запуск примера
    TASM ассемблер + Visual Studio Code среда разработки, Emu80 эмулятор
    Retro Assembler + Visual Studiop Code, v06x эмулятор
    https://github.com/parallelno/Vector06c
    https://enginedesigns.net/download/r...html#Assembler

    Pretty Assembler.
    Online редактор и примеры
    https://zx-pk.ru/threads/29144-progr...=1#post1068781

    Программы, игры и сканы старых журналов

    Скрытый текст


    Каталог програм и игр
    http://sensi.org/scalar/categories/all/
    Категория sourcecode
    http://sensi.org/scalar/categories/37/
    Дополнительная документация
    http://sensi.org/scalar/categories/41/
    Копия сайта sensi.org
    http://tenroom.ru/scalar/recent20/index.html
    [свернуть]


    Советы по программированию и примеры

    Современный биперный движок phaser1
    https://zx-pk.ru/threads/28132-biper...=1#post1130092

    Про палитры

    Скрытый текст


    Самая быстрая установка палитры по версии ivagor
    https://zx-pk.ru/threads/29144-progr...=1#post1136880

    Самая быстрая установка палитры по версии Improver
    https://zx-pk.ru/threads/29144-progr...ml#post1136855

    Установка палитры читаемой с квазидиска при разрешенных прерываниях
    https://zx-pk.ru/threads/29144-progr...=1#post1160854

    Совет по установке палитр
    https://zx-pk.ru/threads/29144-progr...ml#post1119119
    [свернуть]


    Про мультиколор
    https://zx-pk.ru/threads/31954-pishu...ml#post1069994

    квазидиск

    Скрытый текст


    Квазидиск имеет объем 256kB который разбит на 4 банка по 64kB.
    включение:
    Код:
    mvi a, CODE
    out $10
    отключение:
    Код:
    xra a
    out $10
    CODE это управляющий байт с битами E8ASXXYY.
    bitS=1 включить квазидиск как стек. Операции со стеком будут использовать банк xx квазидиска. bitS=0 отключить.
    bitsXX, номер банка для доступа через стек.
    bitA=1 включить квазидиск как ОЗУ. Операции с памятью (не операции со стеком) будут использовать область $A000-$BFFF банка yy квазидиска. bitA=0 отключить.
    bit8=1 включить квазидиск как ОЗУ. Операции с памятью (не операции со стеком) будут использовать область $8000-$9FFF банка yy квазидиска. bit8=0 отключить.
    bitE=1 включить квазидиск как ОЗУ. Операции с памятью (не операции со стеком) будут использовать область $E000-$FFFF банка yy квазидиска. bitE=0 отключить.
    bitsYY - номер банка для использования квазидиска как ОЗУ.

    Управляющие биты bit8, bitE работают только с квазидиском с модификацией А.Баркаря.
    https://www.radioman-portal.ru/magaz...el/1995/11.php

    Интересная особенность. Если квазидиск включить как ОЗУ, и выключить как как стек, то он будет включен как ОЗУ и как стек на банк указаный битами для ОЗУ для адресов которые замаплены как ОЗУ. То есть если адреса стека совпадают с адресами для ОЗУ то стековые операции будут обращаться к квазидиску несмотря на то что квазидиск выключен как стек.

    [свернуть]


    Прерывания

    Скрытый текст


    Перед возвратом из
    подпрограммы необходимо обратно восстановить дисплейный режим и значения
    портов, определяющих номер верхней строки, цвет рамки, режим 256*256 или
    512*256 и т.п. Также необходимо разрешить прерывание, т.к. аппаратное
    прерывание сбрасывает программный триггер.

    Прерывания происходят 50 раз в секунду. Между прерываниями 59904 такта процессора. В течение этого времени растеризатор линию за линией отрисовывает фрейм на экране монитора начиная с левого верхнего угла.
    Фрейм включает в себя видимую область (данные из видеопамяти) окруженную областью бордюра. Верхние 22 линии бордюра включает в себя область сихнхронихации.
    Всего фрейм содержит 312 строк. В каждой строке первые 64 пикселя это бордюр. Затем отображаются 256 пикселей из видео озу, и завершается строка 64 пикселями бордюра. Для режима 512 значения удроенные. Таким образом 40 строк * 192 = 7680 такта до начала рисования первой видимой строки.
    // 312 scanlines:
    // vsync: 22 lines
    // vblank (top): 18 lines
    // vertical resolution: 256 lines
    // vblank (bottom): 16 lines

    // 384 pxls (192 cpu cycles / 768 clock cycles of 12 Mhz) per scanline
    // hblank (left): 64 pxls
    // horizontal resolution : 256 pxls
    // hblank (right): 64 pxls

    На бордюре удобно оборажать длительность процедуры. Это работает только если основной цикл приложения уладывается в длительность фрейма.
    https://zx-pk.ru/threads/34480-progr...=1#post1159402

    [свернуть]


    Вывод спрайта


    Музыка и звуковые эффекты

    Скрытый текст



    плеер gigachad16 нужен буфер чуть меньше 4К (14 буферов распаковщика + 14 стеков). perf 1,6% - 8%
    https://zx-pk.ru/threads/29679-szhat...=1#post1159612
    https://svofski.github.io/pretty-808...gigachad16.asm

    плеер из "Полета навигатора" STC формат perf 11,9% - 16%
    https://zx-pk.ru/threads/34480-progr...=1#post1159770
    [url]https://svofski.github.io/pretty-8080-assembler/?https://gist.githubusercontent.com/svofski/19aeb8641cbcce4fa56fa79f3400fca4/raw/309a487e1dd20ae1f782706a54e307a06441792f/p4kplayer.asm[.url]

    плеер от DemonId7 STC формат
    https://zx-pk.ru/threads/8378-pk8000...l=1#post938887

    плеер от DemonId7 STC формат оптимизированный svofski. perf в среднем ~ 9,6%, периодически проседает до 14,4%, а один раз поймал на 18,6%."
    https://svofski.github.io/pretty-808...y-demonid7.asm

    плеер от Mick STC формат
    https://zx-pk.ru/threads/8374-pk8000...l=1#post150239

    конвертирование музыки для плеера gigachad16
    1. скачать музыку в например от сюда
    https://zxart.ee/spa/music/top-100/
    2. скачать
    Ay Emulator v2.9
    https://vtrd.in/pcutilz/AYEM2932.zip
    3. открыть в ней плейлист по кнеопке PL
    4. сохранить в пормате AY6
    5. прогнатать через скрипт
    https://github.com/svofski/v06c-arza...ls/ym6break.py

    описание фомата AY6
    https://documentation.help/AY-3-8910...m/ay_e04vt.htm

    Описание музыкального сопроцессора AY-3-8910 "R-SOUND"
    http://tenroom.ru/scalar/ware/766/index.html

    Описание трех-канального таймера встроенного в Вектор
    Начинается раздел со строки: "Теперь о программировании звука:"
    https://raw.githubusercontent.com/wi..._by_Lebedev.md

    база музыки для AY-3-8910 sound chip
    https://zxart.ee/spa/music/top-100/

    Мелодия из игры Arkanoid на Векторе-06ц без AY-3-8910 sound chip
    ; Тонгенератор: Иван Городецкий, Уфа
    ; Мелодия: Вячеслав Славинский, С.-Петербург
    ; 2019

    https://svofski.github.io/pretty-8080-assembler/?arkmus

    Редактор звуковых эффектов AY Sound FX Editor + примеры взуковых эффектов для AY-3-8910 sound chip
    https://github.com/Threetwosevensixs...xedit-improved
    web версия с чуть меньшим функционалосм
    http://<a href="https://github.com/T...t-improved</a>

    [свернуть]


    Псевдо случайное число
    https://zx-pk.ru/threads/31954-pishu...ml#post1076189

    PrettyAsm в Tasm
    https://zx-pk.ru/threads/29144-progr...ml#post1068786

    Отладка

    Скрытый текст


    Отладка в VVector эмуляторе
    https://zx-pk.ru/threads/31954-pishu...ml#post1072925

    Отладка в Emu, Emu80 эмуляторе
    https://zx-pk.ru/threads/31954-pishu...ml#post1075182
    [свернуть]


    TASM

    Скрытый текст


    Передача параметром в TASM через макросы
    https://zx-pk.ru/threads/31954-pishu...=1#post1157180

    Линковка файлов данных к коду)
    https://zx-pk.ru/threads/31954-pishu...=1#post1157162
    [свернуть]
    Последний раз редактировалось parallelno; 02.01.2024 в 11:44.

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

    Black Cat / Era CG (30.06.2022), Improver (30.06.2022), KTSerg (30.06.2022), lafromm31 (30.06.2022), mastermind (01.07.2022), metamorpho (01.07.2022), nzeemin (30.06.2022), Oleg N. Cher (30.06.2022), Pyk (01.07.2022), Stl75 (26.06.2023), svofski (30.06.2022), xelby (03.08.2022)

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

  4. #2
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,844
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,821
    Поблагодарили
    1,045 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    как приложить файл к сообщению
    Расширенный режим -> Управление вложениями

    Цитата Сообщение от parallelno Посмотреть сообщение
    Справка по командам i8080 (теже что у Вектора06ц)
    Альтернативный вариант
    И для 8085 (для ПК-6128Ц)

  5. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    parallelno (01.07.2022)

  6. #3
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,999
    Спасибо Благодарностей отдано 
    1,063
    Спасибо Благодарностей получено 
    1,235
    Поблагодарили
    479 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На emuverse есть также Техническое описание двух версий, инфа про джойстики, тайминги: http://emuverse.ru/wiki/%D0%9A%D0%B0...D1%80-06%D0%A6

    Для тех кто предпочитает нотацию Z80, могу показать как подружить TASM и pasmo в одном проекте, например: https://github.com/nzeemin/vector06c-asteroids
    В параметрах pasmo нужно указывать опцию --w8080, чтобы команды недоступные для ВМ80А давали варнинги.

    Стоит упомянуть "прекрасный ассемблер" от @svofski - для тех кому нравятся онлайн-редакторы - http://sensi.org/~svo/i8080/

  7. Этот пользователь поблагодарил nzeemin за это полезное сообщение:

    parallelno (01.07.2022)

  8. #4
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    795
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Стоит упомянуть "прекрасный ассемблер" от @svofski - для тех кому нравятся онлайн-редакторы - http://sensi.org/~svo/i8080/
    Это старый ассемблер, он уже не такой прекрасный. Лучше пользоваться вот этой ссылкой:
    https://svofski.github.io/pretty-8080-assembler/
    Больше игр нет

  9. Этот пользователь поблагодарил svofski за это полезное сообщение:

    parallelno (01.07.2022)

  10. #5
    Activist
    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    369
    Спасибо Благодарностей отдано 
    425
    Спасибо Благодарностей получено 
    241
    Поблагодарили
    88 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за ссылки!

    Дополнил первый пост и залил на гитхад примеры.
    Последний раз редактировалось parallelno; 30.06.2022 в 21:24.

  11. #6
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,999
    Спасибо Благодарностей отдано 
    1,063
    Спасибо Благодарностей получено 
    1,235
    Поблагодарили
    479 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Эмуляторы:


    - - - Updated - - -

    Алгоритмы сжатия - вообще, тема https://zx-pk.ru/threads/29679-szhatie-dannykh.html

    В частности - можно использовать LZSA, упаковщик тут: https://github.com/emmanuel-marty/lzsa, распаковщики тут: https://github.com/ivagorRetrocomp/D...tree/main/8080

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

    Oleg N. Cher (01.07.2022), parallelno (01.07.2022)

  13. #7
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    795
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати о примерах. В Прекрасме, если кликнуть на рыбу, можно выбрать заготовки примеров рисования мандрилла, линии, окружности, дуги, эллипса и музона из Арканоида.
    Больше игр нет

  14. #8
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    265
    Спасибо Благодарностей получено 
    457
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Лучше пользоваться вот этой ссылкой:
    https://svofski.github.io/pretty-8080-assembler/
    Смотрю, у тебя там мой PR уже почти 3 года висит. Прими плиз или сам поправь, если будет будет время, а то слегка битые wav-файлы формируются и с обрезанными последними сэмплами (хотя тем не менее много где успешно грузятся). Не помню уже подробности, но при необходимости постараюсь вспомнить, в чем там проблема...

  15. #9
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    795
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Pyk, извини, я не со зла. Просто перенести фокус внимания в старый код бывает тяжело. Спасибо, что напомнил.
    Больше игр нет

  16. #10
    Activist
    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    369
    Спасибо Благодарностей отдано 
    425
    Спасибо Благодарностей получено 
    241
    Поблагодарили
    88 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Кстати о примерах. В Прекрасме, если кликнуть на рыбу, можно выбрать заготовки примеров рисования мандрилла, линии, окружности, дуги, эллипса и музона из Арканоида.
    A есть консольная версия прекрасма? И где почитать его документацию? Поделись пожалуйста.

Страница 1 из 31 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на ассемблере
    от shuran33 в разделе Вектор
    Ответов: 311
    Последнее: 23.02.2024, 17:00
  2. Программирование графики MSX
    от CityAceE в разделе MSX
    Ответов: 56
    Последнее: 26.11.2021, 21:47
  3. Программирование на ассемблере
    от tnt23 в разделе Океан-240
    Ответов: 3
    Последнее: 24.01.2019, 00:12
  4. Программирование NES
    от Tronix в разделе Nintendo
    Ответов: 6
    Последнее: 08.07.2015, 21:21
  5. Программирование на пентеве.
    от Kakos_nonos в разделе Программирование
    Ответов: 2
    Последнее: 23.03.2013, 14:08

Ваши права

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