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

User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 13 из 13

Тема: Christmas Tree Event - рисуем елочку =)

  1. #11
    Activist
    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    кстати, если не сильно центрировать, можно и в 30 байт сделать

    Код:
    	org	-14*256+1+#10000
    
    x equ 3
    	defb	-3-x,-3-x,-23-x,-17-x,-11-x,-5-x,-15-x,-11-x,-7-x,-3-x,-7-x,-5-x,-3-x,-1-x
    
    start
    	ld	a,23	;set coords via ROM procedure
    	rst	16
    
    	dec	c
    	jr	z,$	;stop when finished
    ; ret z
    
    	ld	a,(bc)	;line len in negative format
    	ld	e,a
    print
    	inc	e
    	jr	z,start
    
    	rra
    	sub	b	;centering
    	rst	16
    
    	jr	print
    еще, скажем, можно подумать насчет ret z, с вызовом программы через print usr ...

  2. #12
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от char Посмотреть сообщение
    если не сильно центрировать, можно и в 30 байт сделать
    Да, рыл в этом направлении, но в условиях указано про центровку. Так что делал "как положено"
    Считаю, что дальнейшая оптимизация, если и возможна, то за счёт игры входными данными.
    Самое сложным было убедить "буржуя", что бейсик-загрузчик не даёт каких-либо преимуществ.
    В том смысле, что лишь загружает и запускает код, и не содержит скрытых доп. данных.
    По сути, он и не нужен, в описании чётко указано, с какого адреса запускать код.
    Вся проблема лишь в несовпадении адресов загрузки и запуска, как "обычно" делается.
    В принципе, подобрав адрес запуска и переместив данные в конец, можно уйти от этого, но выгоды не будет.

  3. #13
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    905
    Спасибо Благодарностей отдано 
    76
    Спасибо Благодарностей получено 
    205
    Поблагодарили
    153 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от char
    еще, скажем, можно подумать насчет ret z, с вызовом программы через print usr ...
    Да, только вместо Print поставить оператор Pause =) Собственно, почти так и делал в процессе отладки кода, но даже не помышлял об использовании такого варианта в готовой программе, поскольку считаю это помощью со стороны Бейсика: мы как бы заменяем кусочек кода бейсик-оператором.
    При отладке вызывал код конструкцией Randomize usr 61455: Pause 0 - можно так и оставить, но вход и выход в машкоды передаёт параметр через рег. пару BC, а она перед выходом равна 61440, то есть при вызове через Pause usr 61455 получится команда Pause 61440 - бесконечная пауза, по сути. Условно программа сократится ещё на байт, но почему б тогда и ещё чего-нибудь в бейсик-часть не напихать?

Страница 2 из 2 ПерваяПервая 12

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

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

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

Похожие темы

  1. Russian Demoscene Winter Event 2016
    от TmK в разделе События
    Ответов: 36
    Последнее: 04.12.2015, 16:50
  2. 30th Anniversary Event
    от SaintTurnip в разделе Amiga
    Ответов: 0
    Последнее: 13.08.2015, 17:58
  3. Ответов: 3
    Последнее: 10.05.2012, 09:06
  4. Рисуем на BORDER
    от breeze в разделе Программирование
    Ответов: 42
    Последнее: 19.03.2009, 09:56
  5. рисуем круги
    от jim в разделе Программирование
    Ответов: 1
    Последнее: 07.10.2006, 10:09

Ваши права

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