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

User Tag List

Страница 18 из 18 ПерваяПервая ... 1415161718
Показано с 171 по 173 из 173

Тема: Разработка программ и игр для ZX Spectrum на языках Оберон-семейства

  1. #171
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В Unreal Spectrum этот trd не грузится.

  2. #172
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,752
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    279
    Поблагодарили
    207 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Oleg N. Cher, адрес на экране из hl принципиально забирать?

    ---------- Post added at 22:57 ---------- Previous post was at 22:55 ----------

    PUSH IX
    LD IX,#0
    ADD IX,SP
    #endif
    LD A,#0x1E
    CP A,4(IX) ; x
    RET C ; IF x <= 30 THEN RETURN
    LD C,5(IX) ; y
    CP A,C
    RET C ; IF y
    в ix обработка ошибок?

    ---------- Post added at 23:04 ---------- Previous post was at 22:57 ----------

    я бы перепахал таблицу

    ld a,(ix+4)
    add a,(hl)
    ld c,a
    inc l
    ld b,(hl)
    inc hl

    ld a,(de)
    ld (bc),a
    inc de
    inc c
    ld a,(de)
    ld (bc),a
    inc de
    ускорил бы на 48 тактов
    С уважением,
    Jerri / Red Triangle.

  3. #173
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,610
    Спасибо Благодарностей отдано 
    2,182
    Спасибо Благодарностей получено 
    140
    Поблагодарили
    106 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    В Unreal Spectrum этот trd не грузится.
    А я проверил в Spectaculator 6, и тоже не грузится. В принципе, trd-шник создан старой ещё досовской утилитой Медноногова bin2trd, от которой я давно хочу избавиться. Однако сгенеренные ею trd-шки открываются в, начиная со старинного же Шалаева и заканчивая FUSE и EmuZWin. Исходников bin2trd у меня нет, и с форматом я не знаком. Надо разбираться.

    Зато данный казус простимулировал работу над моей собственной утилитой MakeZX. Планирую скоро зарелизить первую версию. Вероятно, поддержки формата TRD в версии 1.0 не будет, а может и вообще не будет. Разве что мне поможет кто-то более опытный, ведь утилита будет полезна не только для ZXDev, но и для SDCC (а может и ещё применения найдутся).

    Интерфейс для работы с TRD будет выглядеть, скорее всего, так:
    Код:
    DEFINITION DiskTRD;
    
    TYPE
      DiskFile = RECORD (* OBJECT *)
        error-: BOOLEAN; (* Is error after ReCreate, SaveBasic, SaveCode or Finalize? *)
      END;
    
    PROCEDURE (VAR trd: DiskFile) ReCreate (diskName: STRING);
    PROCEDURE (VAR trd: DiskFile) SaveBasic (
      name: STRING; startLine, dataLength: INTEGER; VAR data: ARRAY OF BYTE);
    PROCEDURE (VAR trd: DiskFile) SaveCode (
      name: STRING; startAddr, dataLength: INTEGER; VAR data: ARRAY OF BYTE);
    PROCEDURE (VAR trd: DiskFile) Finalize;
    
    END DiskTRD.
    Работа с диском будет осуществляться так (с лентой аналогично):
    Код:
    PROCEDURE CreateTrdDisk;
    VAR
      trd: DiskTRD.DiskFile; data: ARRAY 2 OF BYTE;
    BEGIN
      data[0] := CHR(243); data[1] := CHR(175); (* First 2 bytes of ROM. *)
      trd.ReCreate("mydisk.trd");
      trd.SaveCode("ROM", 0, 2, data);
      trd.Finalize;
      IF trd.error THEN IO.WriteStr("Disk creating error") END;
    END CreateTrdDisk;
    Цитата Сообщение от jerri Посмотреть сообщение
    Oleg N. Cher, адрес на экране из hl принципиально забирать?
    Конечно же непринципиально, можно забирать из любой пары.
    Цитата Сообщение от jerri Посмотреть сообщение
    в ix обработка ошибок?
    Не совсем. IX в начале процедуры мы настраиваем чтобы таскать параметры из стека, которые были положены туда примерно так:
    Код:
      LD HL, tileAddr
      PUSH HL
      LD HL, tileCoords
      PUSH HL
      CALL _GrTiles_PutTile
    Но мы проверяем не вышли ли координаты за пределы экрана. В конце работы над игрой эти проверки, если понадобится, можно убрать.
    Цитата Сообщение от jerri Посмотреть сообщение
    я бы перепахал таблицу
    jerri, интересная мысль! Благодарю.

Страница 18 из 18 ПерваяПервая ... 1415161718

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

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

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

Похожие темы

  1. Разработка ZXOOM
    от Andrew771 в разделе Игры
    Ответов: 666
    Последнее: 16.08.2011, 17:22
  2. Разработка ZXOOM
    от Andrew771 в разделе Графика
    Ответов: 666
    Последнее: 16.08.2011, 17:22
  3. Разработка БК-0101-10
    от CodeMaster в разделе БК-0010/0011
    Ответов: 61
    Последнее: 21.04.2011, 21:13
  4. Подскажите пожалуйста, На каких языках пишутся игры.
    от sevol в разделе Программирование
    Ответов: 168
    Последнее: 14.01.2011, 15:42

Ваши права

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