User Tag List

Страница 6 из 16 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 151

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

  1. #51

    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,877
    Спасибо Благодарностей отдано 
    128
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    81 сообщений
    Mentioned
    4 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

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,870
    Спасибо Благодарностей отдано 
    521
    Спасибо Благодарностей получено 
    251
    Поблагодарили
    225 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

  3. #53

    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,480
    Спасибо Благодарностей отдано 
    310
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    217 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #54

    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,877
    Спасибо Благодарностей отдано 
    128
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    81 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    Wink

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

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



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

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

  5. #55

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,870
    Спасибо Благодарностей отдано 
    521
    Спасибо Благодарностей получено 
    251
    Поблагодарили
    225 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

  6. #56

    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,877
    Спасибо Благодарностей отдано 
    128
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    81 сообщений
    Mentioned
    4 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 Кб, Просмотров: 50)

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

    andrews(26.10.2024), Oleg N. Cher(11.09.2024)

  7. #57

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,450
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    119 сообщений
    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){}
    }

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

    breeze(12.09.2024)

  8. #58

    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,877
    Спасибо Благодарностей отдано 
    128
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    81 сообщений
    Mentioned
    4 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.

  9. #59

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,450
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    119 сообщений
    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.

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

    breeze(12.09.2024)

  10. #60

    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,450
    Записей в дневнике
    42
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    119 сообщений
    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 из 16 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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