User Tag List

Страница 6 из 7 ПерваяПервая ... 234567 ПоследняяПоследняя
Показано с 51 по 60 из 69

Тема: Редактирование карты Rex

  1. #51

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    Не хотелось бы отходить от схемы "1 игра - 1 бейсик загрузчик+несколько кодовых блоков".
    Тогда ассемблер
    Смотри. Все просто. Качаешь вот это:
    Sublime Text 3
    SjAsm plus
    Настраиваешь Sublime Text как написано в этой теме.
    Открываешь Sublime Text, создаешь в нем новый файл и сохраняешь под именем rst8.a80. Пишешь в нем такой код:
    Код:
    	DEVICE ZXSPECTRUM48
    
    	ORG #8000
    Start:
    	rst #08
    	db #08
    End:
    
    	EMPTYTRD "rst8.trd" 
    	SAVETRD	"rst8.trd", "rst8.C", Start, End - Start
    Выбираешь меню Z80Asm\Build. Получаешь файл rst8.trd рядом с rst8.a80. Открываешь его в эмуляторе, пишешь такой boot.B:
    Код:
    10 CLEAR 32767: RANDOMIZE USR 15619: REM: LOAD "rst8" CODE
    20 RANDOMIZE USR 32768
    Запускаешь командой RUN. Получаешь 9 STOP Statement. Ты писал STOP? Нет. Откуда сообщение? Это твоя первая программа на ассемблере его вывела. Как настроишь все - дальше будем писать патчер в кодах.

    ---------- Post added at 21:07 ---------- Previous post was at 20:52 ----------

    Если с Sublime Text все выглядит сложно, то тот же код можно написать в блокноте Windows, положить его рядом с SjAsm plus и выполнить в cmd.exe команду
    Код:
    sjasmplus.exe rst8.a80
    Получишь опять же rst8.trd

  2. #52

    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,605
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    187 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Тогда ассемблер
    Смотри. Все просто. Качаешь вот это:
    Sublime Text 3
    SjAsm plus
    Настраиваешь Sublime Text как написано в этой теме.
    Скачал, но как настроить я не понял, в той теме особо ничего не сказано про настройку.
    Открываешь Sublime Text, создаешь в нем новый файл и сохраняешь под именем rst8.a80. Пишешь в нем такой код:
    Код:
    	DEVICE ZXSPECTRUM48
    
    	ORG #8000
    Start:
    	rst #08
    	db #08
    End:
    
    	EMPTYTRD "rst8.trd" 
    	SAVETRD	"rst8.trd", "rst8.C", Start, End - Start
    Выбираешь меню Z80Asm\Build.
    Файл создать могу, но только методом копипасты из твоего поста. Потому как полнейшие непонятки со всякими там пробелами, отступами, табами. От руки повторить твой код не могу. Где искать "меню Z80Asm\Bulid" тоже не ясно.
    Если с Sublime Text все выглядит сложно, то тот же код можно написать в блокноте Windows, положить его рядом с SjAsm plus и выполнить в cmd.exe команду
    Код:
    sjasmplus.exe rst8.a80
    Получишь опять же rst8.trd
    Вот это сработало! (получился трд с кодовым блоком) Но опять-таки только копипастой, ибо не могу понять где в коде пробелы, где табы, где ентеры, где вообще что )))
    Как настроишь все - дальше будем писать патчер в кодах.
    Спасибо конечно за помощь, но я даже не представляю как должен выглядеть этот патчер. Что ты подразумеваешь под патчером? Что он будет делать? В аттаче трд с моим загрузчиком рекса, можно посмотреть что он делает. (Если грузить не из под boot'a, а напрямую, то можно даже выбрать вторую часть и она запустится, можно выбрать управление, но при старте будет сюрприз )) boot почему-то оказывает какое-то влияние, хотя не должен.) Если патчер в кодах должен будет делать всё то, что делает мой бейсик, то мы запаримся писать такой патчер )) Если он должен делать что-то меньшее, то тогда бейсик останется большим, а большой бейсик не даст ничего запустить..
    Вложения Вложения
    • Тип файла: zip rexx.zip (90.1 Кб, Просмотров: 64)
    Последний раз редактировалось ZX_NOVOSIB; 02.12.2014 в 21:07.
    ___________

  3. #53

    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,605
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    187 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eagle Посмотреть сообщение
    Не надо там всего делать, все красивости делаешь в васике, который подготавливает нужный код, а далее все красивости можно стирать и грузить остальное. Когда-то я так делал.
    Если честно, то я не понял о чем речь. Можешь привести простой пример? Вот я выложил свой загрузчик. Там есть "красивости", типа выбор нужной части, вызов нужных картинок, выбор читов под суровым взглядом рекса. И как потом стереть все эти красивости и грузить остальное? Что остальное?
    Последний раз редактировалось ZX_NOVOSIB; 02.12.2014 в 22:08.
    ___________

  4. #54

    Регистрация
    14.09.2014
    Адрес
    г. Гусь-Хрустальный
    Сообщений
    603
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    патчер в кодах должен будет делать всё то, что делает мой бейсик
    Вовсе не обязательно, меню с выбором чего пачтить оставить в бейсике, а в кодах достаточно только самих изменённых байт и их копирование в нужные ячейки.
    Что бы исключить из патчера не нужное — из бейсика править лишь несколько байт, которые например содержат "call addr", где addr адрес части патчера.
    Но самое красивое решение будет полностью все на ассемблере сделать.

    Скрытый текст

    ZX Spectrum +2 +divIDE + BDI
    Profi 1024k plus
    Scorpion ZS-256 Turbo+
    ZX Evolution rev.C2+NeoGS+SDCard HxC Floppy Emulator
    ZX Evolution rev.C2+ZXM-SoundCard Extreme+ZXM-MoonSound
    AVR ZX Spectrum V2.0
    Орион 128
    [свернуть]

  5. #55

    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,605
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    187 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eagle Посмотреть сообщение
    Но самое красивое решение будет полностью все на ассемблере сделать.
    Кто бы спорил ))
    Вовсе не обязательно, меню с выбором чего пачтить оставить в бейсике, а в кодах достаточно только самих изменённых байт и их копирование в нужные ячейки.
    Что бы исключить из патчера не нужное — из бейсика править лишь несколько байт, которые например содержат "call addr", где addr адрес части патчера.
    Даже простейшее меню с выбором части и выбором "чего патчить" не влезет. CLEAR 24599 - суровая штука, она не оставляет места ни для чего. А из-за обращений к тр-досу, места остается еще меньше.
    ___________

  6. #56

    Регистрация
    14.09.2014
    Адрес
    г. Гусь-Хрустальный
    Сообщений
    603
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Скрытый текст

    ZX Spectrum +2 +divIDE + BDI
    Profi 1024k plus
    Scorpion ZS-256 Turbo+
    ZX Evolution rev.C2+NeoGS+SDCard HxC Floppy Emulator
    ZX Evolution rev.C2+ZXM-SoundCard Extreme+ZXM-MoonSound
    AVR ZX Spectrum V2.0
    Орион 128
    [свернуть]

  7. #57

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    Скачал, но как настроить я не понял, в той теме особо ничего не сказано про настройку.
    Уже делаю нормальный пак софта для начала ассемблерного творчества.
    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    Потому как полнейшие непонятки со всякими там пробелами, отступами, табами. От руки повторить твой код не могу.
    Ассемблер не отличает Tab, один или несколько пробелов. Ему важно чтобы в нужном месте были разделители. Строки с двоеточиями (Start:, например) - это так называемые метки (см. раздел "Структура ассемблерной строки") должны начинаться с первого символа строки, остальное (команды, директивы) - хотя бы после одного пробела, лучше одного Tab'а для красоты.
    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    Где искать "меню Z80Asm\Bulid" тоже не ясно.
    Оно появляется когда ставишь плагин из темы, что писал выше. Ща сформирую набор софта и инструкцию куда положить чтобы появилось.
    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    Что ты подразумеваешь под патчером? Что он будет делать?
    Да, в общем-то, перепишем с тобой весь этот Бэйсик-загрузчик на ассемблер, сделаем целиком кодовый загрузчик. Заодно и поднатореешь в кодах, будешь потом сам менять игры как хочешь.
    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    Если патчер в кодах должен будет делать всё то, что делает мой бейсик, то мы запаримся писать такой патчер ))
    Ага Не все сразу. Зато научимся писать их какие хочешь. Или это не цель для тебя?

  8. #58

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итого.
    1. Нам еще пригодится для работы эмулятор Unreal Spectrum, ибо у него хороший отладчик. Распакуй скачанный архив (инсталляции нет), переименую в нем файл unreal-p4.exe в unreal.exe и положи рядом с ним (замени, если надо) unreal.ini из вложения.
    2. В папке установки Sublime Text 3 есть папка Data\Packages. В нее надо распаковать приложенный архив (так, чтобы там стало 2 папки - User z80asm) и - в Sumlime Text появится пункт меню z80asm. Внутри папки z80asm есть файлы run.bat и build.bat - в первом меняешь путь к unreal.exe на свой, во втором - к sjasmplus.exe. Тогда по командае z80asm\Build у тебя будет компилиться проект, по команде z80asm\Run будет подниматься эмулятор с собранным trd-образом.
    Вложения Вложения

  9. #59

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати, вот тебе для затравки еще один пример. С boot.B надо сделать те же манипуляции, что и с rst8.a80. Работают кнопки 1-4 и пробел. И не безумно оно сложно И размер тебя порадует, хотя при отказе от Basic'а на него в 99% плевать.
    Код:
    	DEVICE ZXSPECTRUM128
    
    cls = #0d6b
    chan_open = #1601
    print_string = #203c
    LAST_K = #5c08	
    
    	org #8000
    Start:
    	call cls
    	ld a,#02
    	call chan_open
    	call print_menu
    	res 5,(iy + #01)
    loop:	halt
    	bit 5,(iy + #01)
    	jr z,loop
    	res 5,(iy + #01)
    	ld a,(LAST_K)
    	cp " "
    	jr z,exit
    	sub "1"
    	jr c,loop
    	ld hl,item_1 + 1
    	jr z,switch
    	ld hl,item_2 + 1
    	dec a
    	jr z,switch
    	ld hl,item_3 + 1
    	dec a
    	jr z,switch
    	ld hl,item_4 + 1
    	dec a
    	jr nz,loop
    switch:
    	inc a
    	xor (hl)
    	ld (hl),a
    	ld a,#16
    	rst #10
    	xor a
    	rst #10
    	rst #10
    	call print_menu
    	jr loop
    
    print_menu:
    	ld de,menu_text
    	ld bc,end_menu_text - menu_text
    	jp print_string
    
    exit:
    	rst #08
    	db #08	
    
    
    menu_text:
    item_1:	
    	db #14, #01, "Item 1", #0d
    item_2:	
    	db #14, #00, "Item 2", #0d
    item_3:
    	db #14, #00, "Item 3", #0d
    item_4:	
    	db #14, #00, "Item 4", #0d
    end_menu_text:
    End:	
    
    	EMPTYTRD "menu.trd"
    	SAVETRD "menu.trd", "menu.C", Start, End - Start
    PS. У тебя в загрузчике используется RUN "что-то там"CODE. Не делай так. TR-DOS состоит из багов с небольшим вкраплением работоспособного кода, код команды RUN для кодового блока не попал в счастливую безбажную область. Если скомпилишь мой пример и запустишь его из BASIC по-человечески и через RUN "menu" CODE в TR-DOS и нажмешь пробел, почувствуешь разницу

  10. #60

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    В папке установки Sublime Text 3 есть папка Data\Packages. В нее надо распаковать приложенный архив и - в Sumlime Text появится пункт меню z80asm.
    спасибо за совет, а то в ReadMe написано "Copy the `z80asm` directory to the Sublime Text `Packages` directory. Installation is complete."

Страница 6 из 7 ПерваяПервая ... 234567 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Подключение SD карты
    от Lisitsin в разделе Внешние накопители
    Ответов: 16
    Последнее: 09.12.2013, 19:55
  2. Unreal,редактирование в BASIC 48
    от Felix_73 в разделе Эмуляторы
    Ответов: 1
    Последнее: 15.05.2013, 18:26
  3. Графические карты
    от dk_spb в разделе MSX
    Ответов: 2
    Последнее: 03.08.2011, 15:23
  4. Карты игр
    от Sergey Novikov в разделе Игры
    Ответов: 5
    Последнее: 23.12.2008, 16:50

Ваши права

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