User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 22

Тема: Небольшая демка на ассемблере

  1. #11

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,456
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    173
    Поблагодарили
    121 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BelaLugoci Посмотреть сообщение
    Shiny, полезно подглядеть у вас в коде некоторые реализации копирования, у меня это громоздко сделано очень, пока голова не начнёт мыслить категориями 6502 это неизбежно.

    Это sizecoding с другими трюками и приемчиками(:

  2. #12

    Регистрация
    13.01.2022
    Адрес
    г. Новосибирск
    Сообщений
    103
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    10 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiny Посмотреть сообщение
    Это sizecoding с другими трюками и приемчиками
    и есть где почитать про такое? я конечно нашел массу ресурсов, но это 1976-1982 в основном и там скорее какие-то общие приёмы.

    я кстати вашу демку собрать не смог на atasm переделав, видимо что-то специфичное для вашего asm там используется или, что более вероятно, перевёл неправильно.
    upd: всё собрал, всё работает )
    Последний раз редактировалось BelaLugoci; 22.10.2024 в 12:30.
    Atari 65XE / Atari XEGS / Commodore 64C

  3. #13

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,456
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    173
    Поблагодарили
    121 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Часть тут:
    http://www.sizecoding.org/wiki/6502
    https://www.nesdev.org/wiki/Synthetic_instructions
    https://g0blinish.ucoz.ru/forblog_6502/eorFF.zip
    https://g0blinish.ucoz.ru/forblog_65...2tricks_V2.zip

    Для компиляции нужен xasm. Я на него пересел, потому что пришлось кодить 16K intro, раньше использовал atasm.

    - - - Добавлено - - -

    под atasm
    Код:
    ;batch for compile
    ;set nam=gens
    ;atasm.exe -s %nam%.asm
    ;rename %nam%.65o %nam%.xex
    
    	*=$8000
    start
    ;	lda #0	  ; open graphics 0 mode
    ;	jsr $ef9c ; openmode=$ef9c
    
    ; setup font
    	lda #$20
    	sta 756
    istart	ldx #0
    	stx 755 ; inverse off
    ; delay
    RTCLOK=$0012
    
    dl	ldy #0
    ; roll
    rolld	lda font_data,y
    	asl a
    	adc #0
    	sta font_data,y
    	iny
    	cpy #(spr_e-font_data)
    	bne rolld
    	ldy #5
    dlay
    	lda RTCLOK+2
    wait
    	cmp RTCLOK+2
    	beq wait
    	dey
    	bne dlay
    
    copyd	lda font_data,x
    	sta $2000,y
    	iny
    	inx
    	cpy #8
    	bne copyd
    	cpx #(spr_e-font_data)
    	beq istart
    	bne dl
    font_data
    ; sprites 0
    	  .byte ~00001000
    	  .byte ~00001000
    	  .byte ~00001000
    	  .byte ~11111000
    	  .byte ~00011111
    	  .byte ~00010000
    	  .byte ~00010000
    	  .byte ~00010000
    
    ; sprites 1
    	  .byte ~00001000
    	  .byte ~00001000
    	  .byte ~00011000
    	  .byte ~11100100
    	  .byte ~00100111
    	  .byte ~00011000
    	  .byte ~00010000
    	  .byte ~00010000
    
    ; sprites 2
    	  .byte ~00001000
    	  .byte ~00011000
    	  .byte ~01100100
    	  .byte ~10000010
    	  .byte ~01000001
    	  .byte ~00100110
    	  .byte ~00011000
    	  .byte ~00010000
    
    ; sprites 3
    	  .byte ~00011000
    	  .byte ~01100100
    	  .byte ~10000010
    	  .byte ~00000001
    	  .byte ~10000000
    	  .byte ~01000001
    	  .byte ~00100110
    	  .byte ~00011000
    
    ; sprites 4
    	  .byte ~01110010
    	  .byte ~10000001
    	  .byte ~00000001
    	  .byte ~00000001
    	  .byte ~10000000
    	  .byte ~10000000
    	  .byte ~10000001
    	  .byte ~01001110
    
    ; sprites 5
    	  .byte ~11110001
    	  .byte ~00000001
    	  .byte ~00000001
    	  .byte ~00000001
    	  .byte ~10000000
    	  .byte ~10000000
    	  .byte ~10000000
    	  .byte ~10001111
    
    ; sprites 6
    	  .byte ~00010100
    	  .byte ~01100010
    	  .byte ~10000001
    	  .byte ~00000001
    	  .byte ~10000000
    	  .byte ~10000001
    	  .byte ~01000110
    	  .byte ~00101000
    
    ; sprites 7
    	  .byte ~00001000
    	  .byte ~00010100
    	  .byte ~01100010
    	  .byte ~10000001
    	  .byte ~10000001
    	  .byte ~01000110
    	  .byte ~00101000
    	  .byte ~00010000
    spr_e
    ;    run start

  4. #14

    Регистрация
    13.01.2022
    Адрес
    г. Новосибирск
    Сообщений
    103
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    10 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiny Посмотреть сообщение
    Часть тут
    спасибо

    Цитата Сообщение от Shiny Посмотреть сообщение
    Для компиляции нужен xasm. Я на него пересел, потому что пришлось кодить 16K intro, раньше использовал atasm.
    я изучал немного код в основном для mads, а как начал сам что-то пробовать писать, то постоянно какие-то проблемы, то там то сям что-то не работает, пересел на atasm как неделю назад, всё вроде бы получается, я в том смысле что компилируется и работает, а с mads как-то не заладилось.
    а xasm какие плюшки даёт и почему с интро это стало решающим?
    Atari 65XE / Atari XEGS / Commodore 64C

  5. #15

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,456
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    173
    Поблагодарили
    121 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BelaLugoci Посмотреть сообщение
    а xasm какие плюшки даёт и почему с интро это стало решающим?
    только xasm скомпилировал исходники RMT player.
    Подробно написано в документации на github. Например:
    Код:
    :23	dta $2
    повтор 23 раза, причем счетчик можно использовать:
    Код:
    :16 dta l(dither+8*#),h(dither+8*#) ; #-repeater
    Еще один плюс - вставка бинарного файла:
    Код:
    	ins "plasmfnt.pck",2
    Здесь пропускается два байта, что для меня важно для сжатия pucrunch, который дописывает лишние данные.

    Аналог .SBYTE из atasm:
    Код:
    dta d" remember:"

  6. #16

    Регистрация
    13.01.2022
    Адрес
    г. Новосибирск
    Сообщений
    103
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    10 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiny Посмотреть сообщение
    :23 dta $2
    угу, понял, в mads мне такое нравилось, а atasm правда конструкция чуть иная, там .REPT/.ENDR кажется, но тоже можно использовать счётчик. Да, в инструкции раздел "3.17 .REPT <word>, .ENDR"

    Я RMT собирать не пробовал, только видел в архиве mads'а кажется он был, ну или по крайней мере RMT плейер, во вложении добавил
    rmt_player_relocator.zip
    Atari 65XE / Atari XEGS / Commodore 64C

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

  8. #17

    Регистрация
    13.01.2022
    Адрес
    г. Новосибирск
    Сообщений
    103
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    10 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiny Посмотреть сообщение
    pucrunch
    вы наверняка знакомы с этой статьёй Интроспека
    скажите как вам кажется pucrunch или aplib имеет смысл брать на вооружение? интересует конкурсный вариант Game 4K или 16K
    например у ZX0 очевидная проблема с сжатием - требуется последовательное размещение данных одним монолитным блоком, типично ли это для pucrunch и aplib?
    в общем ваше мнение по сжатию.
    еще, тут pucrunch который вы использовали для 6502 можете сюда выложить, чтобы уже понимать что это рабочий вариант
    Последний раз редактировалось BelaLugoci; 23.10.2024 в 14:54.
    Atari 65XE / Atari XEGS / Commodore 64C

  9. #18

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,456
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    173
    Поблагодарили
    121 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нет, я не читал статью интроспека - много воды и ничего полезного.
    Я стал использовать pucrunch, потому что сжимает неплохо и скорость распаковки приемлемая. Но zx7 сжал хуже. Пару раз использовал zx7, файлы сжались на отлично, но распаковывалось долго:
    Картинка: https://www.pouet.net/prod.php?which=80700
    psg dump:https://www.pouet.net/prod.php?which=79828

    Примеры использования:
    https://g0blinish.ucoz.ru/forblog_zx/pucrunch8bit.zip
    или в 16K intro:
    https://g0blinish.ucoz.ru/demo3/sv24se/ol_src.7z
    .pck - сжатые файлы

    - - - Добавлено - - -

    Кстати, на AtariAge упаковщики обсуждают:
    https://forums.atariage.com/topic/26...crunch-megalz/

    для разных версий ZX7-ZX5 добавлены исходники распаковки:
    https://forums.atariage.com/topic/31...-atari/page/4/

    - - - Добавлено - - -

    Забыл добавить список утилит:
    https://madteam.atari8.info/index.php?prod=uzytki

    В старое время использовал только Super Packer, хватило и этого.

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

    BelaLugoci(23.10.2024)

  10. #19

    Регистрация
    13.01.2022
    Адрес
    г. Новосибирск
    Сообщений
    103
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    10 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiny Посмотреть сообщение
    https://g0blinish.ucoz.ru/demo3/sv24se/ol_src.7z
    я правильно понимаю что цветная спираль это эффект из-за манипуляции с палитрой? то есть спираль нарисована вся в 4 цвета и вы по кругу меняете оттенки отчего создаётся ощущение словно крутится спираль?
    Atari 65XE / Atari XEGS / Commodore 64C

  11. #20

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,456
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    173
    Поблагодарили
    121 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BelaLugoci Посмотреть сообщение
    я правильно понимаю что цветная спираль это эффект из-за манипуляции с палитрой? то есть спираль нарисована вся в 4 цвета и вы по кругу меняете оттенки отчего создаётся ощущение словно крутится спираль?
    Нет, трюк со шрифтом

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

    BelaLugoci(24.10.2024)

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Небольшая коллекция из 22 дискет
    от Eltaron в разделе Софт
    Ответов: 5
    Последнее: 22.01.2021, 23:21
  2. Словоблудие + небольшая программа
    от Dwa83 в разделе Разный софт
    Ответов: 0
    Последнее: 06.01.2018, 18:54
  3. Ответов: 32
    Последнее: 21.01.2014, 23:18

Ваши права

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