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

User Tag List

Страница 6 из 6 ПерваяПервая ... 23456
Показано с 51 по 60 из 60

Тема: Ретро-ЯП Millfork для Atari, Apple II, ZX Spectrum, MSX, CP/M, NES, Game Boy и MS-DOS

  1. #51
    Guru Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,721
    Спасибо Благодарностей отдано 
    44
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    35 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andrews Посмотреть сообщение
    1)вертолет при движении вправо не разворачивается на экране.
    Ну в оригинале (AirWolf II) он и летит в одну сторону только


    Цитата Сообщение от andrews Посмотреть сообщение
    2)Какая кнопка fire на клавиатуре в Altirra?
    Вообще надо смотреть настройки, у меня выбран в качестве управления блок на цифровой клавиатуре 8,4,6,2 и 0 огонь

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

    Цитата Сообщение от Shiny Посмотреть сообщение
    Вообще это годный пример, но было б неплохо добавить несколько снарядов, как в SuperCobra
    Ну если вдохновения хватит, то можно прикрутить, и 2 ракеты и что бы враги отстреливались

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

    Цитата Сообщение от andrews Посмотреть сообщение
    Ну даже без фона вполне себе миниGame. Только пару-тройку звуков добавить( при попадании во врага и при гибели вертолетика и звук вращающихся лопастей). Как там с поддержкой звуков в этом софте?
    Так же как и со спрайтами Пишите свои процедуры и дрюкайте 4х канальный синтезатор

    Цитата Сообщение от andrews Посмотреть сообщение
    Хорошо бы конечно и чтобы "рожа" периодически отпулькивалась.
    Сделаю ещё одного врага, стреляющего

    Цитата Сообщение от andrews Посмотреть сообщение
    Ну и текст сделать размером поменьше никак нельзя?
    Текст стандартный шрифт 8x8.

  2. #52
    Guru Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,745
    Спасибо Благодарностей отдано 
    444
    Спасибо Благодарностей получено 
    213
    Поблагодарили
    191 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от breeze Посмотреть сообщение
    Вообще надо смотреть настройки, у меня выбран в качестве управления блок на цифровой клавиатуре 8,4,6,2 и 0 огонь
    0 при установках по умолчанию не работает, а Ctrl работает.

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

    Цитата Сообщение от breeze Посмотреть сообщение
    Ну в оригинале (AirWolf II) он и летит в одну сторону только
    просто хвостом вперед летать как-то не айс

  3. #53
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,321
    Спасибо Благодарностей отдано 
    204
    Спасибо Благодарностей получено 
    228
    Поблагодарили
    197 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andrews Посмотреть сообщение
    просто хвостом вперед летать как-то не айс
    Вертолёты так могут.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  4. #54
    Guru Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,721
    Спасибо Благодарностей отдано 
    44
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    35 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    Wink

    Цитата Сообщение от andrews Посмотреть сообщение
    просто хвостом вперед летать как-то не айс
    Блин Вы это сейчас серьёзно?

    Не верю, что никогда не видели AirWolf 2 на спектруме o_O



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

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Вертолёты так могут.
    А в военное время число пи достигает четырёх! ©

  5. #55
    Guru Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,745
    Спасибо Благодарностей отдано 
    444
    Спасибо Благодарностей получено 
    213
    Поблагодарили
    191 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от breeze Посмотреть сообщение
    Вы это сейчас серьёзно?
    здесь у противника цели прикреплены. А если цель летающая и может появится в 2d мире слева и справа, то и разворачивать вертолету хвост логично. Впрочем если Вашей целью было приблизится к прототипу - тогда да.

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

    Цитата Сообщение от breeze Посмотреть сообщение
    А в военное время число пи достигает четырёх!
    это скорее у альпинистов "Мой дорогой сэр, абсолютно перпендикулярно-- 65°, нависающе -- 70°"

  6. #56
    Guru Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,721
    Спасибо Благодарностей отдано 
    44
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    35 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Поковырял я тут опрос клавиатуры для ATARI.
    В принципе можно напрямую опрашивать кнопки напрямую из порта.



    Есть статусный порт 753, если значение там не 0, то значит что-то было нажато и последний код читаем из 53279.
    Есть пару нюансов, опрашиваются в принципе все кнопки за исключением Start, Select, Option - они другим портом читаются (53279) причём биты ещё и инвертированы (0=если нажата)
    Второй момент это повтор, как видно из скриншота, даже кратковременное нажатие дублит кнопку и тут уж надо думать как реализовать логику автоповтора.

    Но как для теста пойдёт.

    kbd.mfk:

    Код:
    import stdio
    
    
    noinline asm void wait(byte register(a) f) {
    	clc
    	adc os_RTCLOK.b2
    	.rt_check:
    	cmp os_RTCLOK.b2
    	bne .rt_check
    	rts
    }
    
    
    void printHex(byte val) {
    	byte c
    	c = (val >> 4)
    	if (c > 9) {
    		c = c - 10 + $41
    	} else {
    		c = c + $30
    	}
    	putchar(c)
    	c = (val & $0f)
    	if (c > 9) {
    		c = c - 10 + $41
    	} else {
    		c = c + $30
    	}
    	putchar(c)
    	
    }
    
    
    void main() {
    	byte kbd, kbd2, kbd3, keyDel
    
    
    	putstrz("Key Test:"z)
    	new_line()
    
    
    	while (true) {
    		wait(1)
    		keyDel = peek(753)
    		if (keyDel != 0) {
    			kbd = peek(53769)
    			putword(kbd)
    			putstrz("($"z)
    			printHex(kbd)
    			putstrz(")"z)
    			new_line()
    			poke(53769, 0)
    		}
    		kbd2 = peek(53279)
    		if (kbd2 & %00000001 == 0) {
    			putstrz("Start"z)
    			new_line()
    		}
    		if (kbd2 & %00000010 == 0) {
    			putstrz("Select"z)
    			new_line()
    		}
    		if (kbd2 & %00000100 == 0) {
    			putstrz("Option"z)
    			new_line()
    		}
    	}
    
    
    }
    Вложения Вложения
    • Тип файла: zip kbd.zip (1.2 Кб, Просмотров: 10)

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

    Oleg N. Cher (11.09.2024)

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

    По умолчанию

    хм
    Код:
    import stdio
    array hn="0123456789ABCDEF"
    byte i
    
    
    void main() {
    
    	for i,0,to,255
    	{
    	putchar(hn[i>>4])
    	putchar(hn[i&15])
    	putchar(32)
    	}
    
        while(true){}
    }

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

    breeze (12.09.2024)

  10. #58
    Guru Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,721
    Спасибо Благодарностей отдано 
    44
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    35 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiny Посмотреть сообщение
    хм
    Ну я взял асмовскую процедуру и попытался её натянуть на millfork XD
    Поскольку в оригинале она как бы работала, но в купе с mf не очень, пришлось извещениями страдать.

    Код:
    ;  A = entry value
    
      sed        ;2  @2
      tax        ;2  @4
      and #$0F   ;2  @6
      cmp #9+1   ;2  @8
      adc #$30   ;2  @10
      tay        ;2  @12
      txa        ;2  @14
      lsr        ;2  @16
      lsr        ;2  @18
      lsr        ;2  @20
      lsr        ;2  @22
      cmp #9+1   ;2  @24
      adc #$30   ;2  @26
      cld        ;2  @28
    
    ;  A = MSN ASCII char
    ;  Y = LSN ASCII char
    Вот не совсем понятно что делает «cmp #9+1»

    выставляет флаг, а потом ADC его учитывает при сложении?
    Последний раз редактировалось breeze; 12.09.2024 в 10:38.

  11. #59
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,299
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    105
    Поблагодарили
    77 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от breeze Посмотреть сообщение
    Вот не совсем понятно что делает «cmp #9+1»

    выставляет флаг, а потом ADC его учитывает при сложении?

    https://www.c64os.com/post/6502instructions
    CMP Compare Accumulator
    Compare sets processor flags as if a subtraction had been carried out.

    If the accumulator and the compared value are equal, the result of the subtraction is zero and the Zero (Z) flag is set. If the accumulator is equal or greater than the compared value, the Carry (C) flag is set.

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

    breeze (12.09.2024)

  13. #60
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,299
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    105
    Поблагодарили
    77 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Неофициальное обновление
    https://t.me/VintageSoftwareDevelopment/5/86844

    к сожалению нет, но (по памяти)
    - поправил генерацию asm (убрал лишнее, что не давала потом асм компилить в sjasm)
    - поправил расчет переходов JR, было сломано
    - поправил некоторые команды (редкие, неправильные опкоды были)
    - из крупного, для asm макросов добавил форму типа DUP EDUP
    asm macro aaa { ... }
    +4 aaa()
    развернет макрос 4 раза
    Запасайтесь(:

Страница 6 из 6 ПерваяПервая ... 23456

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

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

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

Похожие темы

  1. Ответов: 11
    Последнее: 08.12.2023, 17:18
  2. Bad Apple для MSX/MSX2
    от Pyhesty в разделе MSX
    Ответов: 4
    Последнее: 31.05.2021, 21:45
  3. Перенос игр с Game Boy на ZX Spectrum
    от CityAceE в разделе Программирование
    Ответов: 104
    Последнее: 14.02.2019, 10:56
  4. Game Boy Advance
    от megabyte в разделе Nintendo
    Ответов: 8
    Последнее: 22.05.2006, 14:48
  5. Game Boy Advance в Питере.
    от Surfin_Bird в разделе Nintendo
    Ответов: 10
    Последнее: 21.08.2005, 09:50

Ваши права

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