User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 41

Тема: Чем создать TZX файлы в режиме ТУРБО для прошивки 48turbo.rom?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    19.04.2019
    Адрес
    г. Сан-Хосе, США
    Сообщений
    44
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ZXMAK, спасибо. Я пользуюсь Pasmo в качестве ассемблера и Skoolkit в качестве дизассемблера, мне их пока хватает. В чём мне интересно разобраться, так это в таймингах и различных параметрах загрузчиков.

    Я поисследовал загрузчики в релизах от Элекс, Андрея Данилова, QuickSave v1.3 и Turbo Maker и вижу, что код процедуры LD_LOAD практически идентичный, но во всех из них разные значения временных констант. При этом у соответствующих TZX-файлов отличается длина импульса нуля, единицы и т.д. Как результат, разная скорость загрузки (от 1.7x до 4.2x). Вот хотелось бы понять, как одно из другого вычисляется.

    можно [...] скомпилить обратно в TZX
    Вот тут я не совсем понимаю. TZX после редактирования скомпилится с оригинальными таймингами? Я на программу пока не смотрел — ей нужен mono-runtime, а у меня пока есть только Python (шучу).
    Последний раз редактировалось morozov; 06.06.2025 в 01:53.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от morozov Посмотреть сообщение
    Вот тут я не совсем понимаю. TZX после редактирования скомпилится с оригинальными таймингами?
    да, после комплияции asm файла получите точно такой-же TZX со всеми деталями. Если сравнить по байтам отличаться может только поле с версией самого TZX формата, т.к. ассемблер пишет фиксированную версию TZX формата, которая может отличаться от версии исходного файла TZX. Если подправить текстовым редактором в ASM файле к примеру длительность какого-то импульса в каком-то блоке или байт с данными, то получите TZX с внесенными модификациями.

    Что касается ассемблера, если не хотите устанавливать - можно на веб странице загрузить asm файл, она скомпилит и выдаст ссылки на скачивание результата компиляции.

    Вот пример как выглядит результат декомпиляции TZX с защищенным загрузчиком speedlock в ASM (полный код не привожу, только первые блоки для примера):
    Код:
    ; https://k1.spdns.de/cgi-bin/zasm.cgi
    #target tzx
    
    ; TZX v1.12
    
    #tzx ARCHIVE-INFO
            defb    0,"Zorro"                      ; Full title
            defb    1,"Datasoft/U.S. Gold"         ; Publisher
            defb    2,"James Garon"                ; Author
            defb    3,"1985"                       ; Year
            defb    4,"English"                    ; Language
            defb    5,"Game/Strategy/Beat 'Em Up"  ; Type
            defb    6,"Full Price"                 ; Price
            defb    7,"Speedlock 1"                ; Protection
            defb    8,"Original Release"           ; Origin
            defb    255,"TZXed by Andrew Barker 04-08-1999"  ; Comment
    
    #tzx STANDARD, BLOCK2_HEADER, 0, 17, flag=$00, pause=1003
            defb    0               ; type
            defb    "Zorro     "    ; name
            defw    1562            ; length of block = length of basic program plus variables
            defw    0               ; line number for auto-start, 0x8000 if none
            defw    1154            ; length of the basic program without variables
    
    #tzx STANDARD, BLOCK3_DATA, 0, *, flag=$ff, pause=4571
            defm    $0000800020202020202020202020202020202020202020202020202020202020
            defm    $2020202020202020202020202020202020202020202020202020202020202020
            defm    $2020202020202020202020202020202020202020202020202020202020202020
            defm    $10071107ea1107100050726f7465637465642062792053504545444c4f434b10
            defm    $0711070d00003f0011071007e7300e00000000003ada300e00000000003ad930
            defm    $0e00000000003adc310e00000100003afb3af432333632340e0000485c002c30
            defm    $0e00000000000d0000800011071007f428be100732333634310e8f38b233332b
            defm    $3235360e00000001002abe100732333634320e8f38b4999a292cbe1007323336
            defm    $34390e8f38c266663af428be100732333634310e8f38b233332b3235360e0000
            defm    $0001002abe100732333634320e8f38b4999a292b310e00000100002cbe100732
            defm    $333635300e8f38c466660d0000800011071007f428be100732333633330e8f38
            defm    $7a33332b3235360e00000001002abe100732333633340e8f387c6666292cbe10
            defm    $0732333634370e8f3896999a3af428be100732333633330e8f387a33332b3235
            defm    $360e00000001002abe100732333633340e8f387c6666292b310e00000100002c
            defm    $be100732333634380e8f3898999a0d00005e0011071007f4100732333636320e
            defm    $8f38dc33332cbe100732333631380e8f388433333af4100732333636330e8f38
            defm    $de66662cbe100732333631390e8f388633333af4100732333636340e8f38e033
            defm    $332cbe100732333632310e8f388a33330d9c89809897bcbbc1aaa05889423ee3
            defm    $661c08f4d1896e945aec4691a4bbe2cff56cdc7197995ee269a636450fc2b865
            defm    $f379e4ef08fb0791c5d70ca71fd534a33f7e8abc79110bd0bae903f0cae9a761
            defm    $df7d33d0b48937123e03938f085cf3280d74765d07f313d0a1e907e82cb59b20
            defm    $161387e9084f20db1d02ed7ac497cbcf3f7276ef384716ef5d0aeeb2920249d0
            defm    $0726236a6ef7b6df1d45d6e75c46c343844838846b603953251cfcd223157dfb
            defm    $36e6228d884d924fc64ff2d63eedee51274541a8021e8b699aeb949f50070abe
            defm    $bec26f08558049e6671fca7fe643fc1a4a110c4deac6586ce708521fec1991f5
            defm    $5b070f118fec0a87bef3ec3ab6913e3f6d31f2f68db480db678402404478743c
            defm    $f3c05d233348c1a5c7eb9913658517eff4a47edc86c2e4aed78e074948cd84a2
            defm    $8378c9e5c3d034ae69de4152075e7607aa2ba21314f15b12227d414276c1edc4
            defm    $26555c5c6d433cb07d99b41b9f73adcef48b487658b375dea37b4ad13fecbb63
            defm    $eb78bac2d756d0fbff3fe1e195b7d94f0d5785409e489fa6462167ffc6e52e83
            defm    $1d20426586765478f3f7343cb9d46c691e601d18a3db8b328d98a3463c1e26ea
            defm    $3e153d8cd6baad18dacec841a20261761b491a1ae97b1a223c809f7775382e17
            defm    $f576abbcb51c46ad4e18c67af786b5d74c77e73f0e8c494a758c2b2db3502e42
            defm    $bb48db6117a06859c154b469d7b6b91a5b152182698158f1800146afefe87bba
            defm    $aa5663846fd74904260a3675dd72175f576c8bbc935214a08edfefe4b9fbb799
            defm    $4790c89f55b129aaaa53b962afe03f65285ebfd28aeac17ed2227bebedb06434
            defm    $d11d6d45407992ed57dd626453e0151552d9dd68aaed62abf36d7777fd84fdad
            defm    $39fd62dd54fdac7768fd6962fd63d9425547cb1c4f4646cb1d59d9a9594f55a8
            defm    $424947a757414c4c59dd54fd4ded4fdd7dfd4468596f7f6d4a40edb0fd26fb48
            defm    $4fee053b3b434d6ded52fd2e8355ed5ed9524f5dfde3414e44ed6afd54fd5deb
            defm    $427e5550ed524a7b594f5552535f7e44ed574de1527ce8e5ebe40830ed5fae77
            defm    $eda0e03b3be83b3becc7835f40ad4f043bd1e2b06453504545444c4f434b2050
            defm    $726f74656374696f6e2053797374656d205620332e31207f20444a4c20536f66
            defm    $7477617265202620446176696420417562726579204a6f6e6573203139383520
            defm    $2a20476f7665726e6d656e74204865616c7468205761726e696e67202d204174
            defm    $74656d7074696e6720746f20637261636b2053504545444c4f434b2063616e20
            defm    $64616d61676520796f75722073616e69747921202af352fdac214f7b0b62e0cc
            defm    $8f31e9722073616e69747921202af352fdac214f7b0b62e0cc8f31e9e921202a
            defm    $f352fdac214f7b0b62e0cc8f31e900000a000000000000000000
    
    #tzx GROUP-START, name="Speedlock 1 Block 1"
    
    #tzx LOOP-START, repetitions=7
    
    #tzx PURE-TONE, count=216, pulse=2165
    
    #tzx PULSES
            defw    714,714
    
    #tzx PURE-TONE, count=210, pulse=2165
    
    #tzx PULSES
            defw    714,714
    
    #tzx PURE-TONE, count=214, pulse=2165
    
    #tzx PULSES
            defw    714,714
    
    #tzx PURE-TONE, count=212, pulse=2165
    
    #tzx PULSES
            defw    714,714
    
    #tzx LOOP-END
    
    #tzx PURE-TONE, count=216, pulse=2165
    
    #tzx PULSES
            defw    714,714
    
    #tzx PURE-TONE, count=210, pulse=2165
    
    #tzx PULSES
            defw    714,714
    
    #tzx PURE-TONE, count=214, pulse=2165
    
    #tzx PULSES
            defw    714,714
    
    #tzx PURE-TONE, count=212, pulse=2165
    
    #tzx PULSES
            defw    3153,3153
    
    #tzx PURE-DATA, BLOCK23_DATA, 0, *, flag=none, checksum=none, lastbits=6, pause=0
            .tzx-data-sym   0,  564,564     ; symbol#0 for bit 0
            .tzx-data-sym   0, 1129,1129    ; symbol#1 for bit 1
            defm    $e8
    
    #tzx PURE-DATA, BLOCK24_DATA, 0, *, flag=$ff, pause=1765
            .tzx-data-sym   0,  564,564     ; symbol#0 for bit 0
            .tzx-data-sym   0, 1129,1129    ; symbol#1 for bit 1
            defm    $ffffff2a5d5c7ecd7d00d0cd740018f7ffffff
    
    #tzx GROUP-END
    ....
    ....
    ....
    Как видите, в ASM файле можно легко обычным текстовым редактором добавить/удалить какой-то блок, подправить тайминги, паузы, данные, словарь символов, длительности импульсов, флаговый байт, байт контрольной суммы и т.п.
    Последний раз редактировалось ZXMAK; 06.06.2025 в 04:01.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #3

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,085
    Спасибо Благодарностей отдано 
    101
    Спасибо Благодарностей получено 
    151
    Поблагодарили
    99 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, до сих пор нет нормального удобного браузер/конвертера/редактора tap/tzx. Ассемблерными блоками собирают все. И tapir советуют в котором интерфейс и возможности мягко говоря не очень. Позор же.
    Последний раз редактировалось Dexus; 06.06.2025 в 09:55.

  5. #4

    Регистрация
    28.02.2005
    Адрес
    Москва
    Сообщений
    2,242
    Спасибо Благодарностей отдано 
    993
    Спасибо Благодарностей получено 
    615
    Поблагодарили
    333 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    Да, до сих пор нет нормального удобного браузер/конвертера/редактора tap/tzx
    Чем ZX Blockeditor плох?

  6. #5

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,085
    Спасибо Благодарностей отдано 
    101
    Спасибо Благодарностей получено 
    151
    Поблагодарили
    99 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SoftLight Посмотреть сообщение
    Чем ZX Blockeditor плох?
    Может тем что о нем ничего неизвестно (я впервые о нем слышу)? Ни на vtrd.in ни на zxart ни на других наших ресурсах (и даже не нагугливается по словам «tap editor».
    Пока возможности проверить, насколько этот софт удобен у меня нет (и умеет ли он конвертировать tap в tzx со сменой скорости на turbo). За ссылку спасибо. Обязательно позже проверю.

    Наверное тут более актуальная ссылка https://worldofspectrum.net/zx-modules/2/index.html
    Последний раз редактировалось Dexus; 07.06.2025 в 07:32.

  7. #6

    Регистрация
    24.07.2018
    Адрес
    г. Москва
    Сообщений
    83
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    34 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    и умеет ли он конвертировать tap в tzx со сменой скорости на turbo). За ссылку спасибо. Обязательно позже проверю.

    Наверное тут более актуальная ссылка https://worldofspectrum.net/zx-modules/2/index.html
    Я посмотрел, да, умеет. Хоть немного и перегруженный не интуитивный интерфейс. И туповатый: у меня на двух мониторах все свои диалоговые окна показывает между экранами, причем старая версия справа, а новая - слева, видимо, "исправили". Ну не могут не налажать, но почему-то я всегда виноват, потому что душный... ) В целом, хорошая прога, много настроек, куча форматов. Но сразу ребяток расстрою, от заполнения параметров турбо-блока это не спасет. Это не турбо-комп-копи с тремя режимами. Формат предусматривает много чего, а значит вписать нужно много чего, уж извините, и им придется все же разбираться в предметной области. Но можно эти данные копировать туда-сюда.

    Нажмите на изображение для увеличения. 

Название:	638848799713342620.jpg 
Просмотров:	43 
Размер:	31.1 Кб 
ID:	82384

    Ну и скачал Тапир посмотреть. В Тапире можно сделать все то же самое, но процесс очевиднее и без кучи окон между двумя мониторами. Если у человека уже в нем были какие-то сложности, если ему проще грузить все в турбо-копи, потом сохранять WAV-файл, потом его переводить обратно в TZX, чем поменять две циферки в форме, то вряд ли можно чем-то помочь.
    Последний раз редактировалось cafedead; 07.06.2025 в 09:06.

  8. #7

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

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    Ни на vtrd.in
    ??????
    https://vtrd.in/pcutilz/ZX-BLOCK.zip

  9. #8

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,085
    Спасибо Благодарностей отдано 
    101
    Спасибо Благодарностей получено 
    151
    Поблагодарили
    99 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Со страницы pc тулзов:
    ZX Viewer v1.03 by Reanimator'18 - просмотрщик/редактор файлов форматов TRD и SCL (Windows)
    ZX-Blockeditor v2.4.3.1 by Claus Jahn'20 - редактор различных образов файлов (Windows)
    ZX-Dump v1.33 by Marcelo Lypez'99 - программа для работы с форматом OPU (DOS)
    «Различные образы» написано. А я ищу по контексту редакторы tap и tzx. По этому описанию вообще ничего непонятно и разумеется не находится ни Гуглом ни чем-то ещё. Просто все подряд брать, распаковывать, и изучать? Ну нет. Как оформили так и НЕ находится.

    Tapir кстати вообще неудобный. Если этот блок едитор ещё менее удобный, то тезис про «стыдно что нет нормального» остается на столе.
    Последний раз редактировалось Dexus; 07.06.2025 в 10:12.

  10. #9

    Регистрация
    28.02.2005
    Адрес
    Москва
    Сообщений
    2,242
    Спасибо Благодарностей отдано 
    993
    Спасибо Благодарностей получено 
    615
    Поблагодарили
    333 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    Может тем что о нем ничего неизвестно (я впервые о нем слышу)? Ни на vtrd.in ни на zxart ни на других наших ресурсах (и даже не нагугливается по словам «tap editor».
    Пока возможности проверить, насколько этот софт удобен у меня нет (и умеет ли он конвертировать tap в tzx со сменой скорости на turbo). За ссылку спасибо. Обязательно позже проверю.

    Наверное тут более актуальная ссылка https://worldofspectrum.net/zx-modules/2/index.html
    На vtrd версия 2.4.3.1 лежит, если что. Вкладка 'PC Utilz'. У автора (Claus Jahn) из Германии был сайт ZX Modules, но в один непрекрасный день 16 декабря 2017 г. автор решил закрыть проект.
    Последний раз редактировалось SoftLight; 07.06.2025 в 21:26.

  11. #10

    Регистрация
    24.07.2018
    Адрес
    г. Москва
    Сообщений
    83
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    34 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dexus Посмотреть сообщение
    Да, до сих пор нет нормального удобного браузер/конвертера/редактора tap/tzx. Ассемблерными блоками собирают все. И tapir советуют в котором интерфейс и возможности мягко говоря не очень. Позор же.
    Согласен. Позор... )) Пришлось самому себе сделать.

    Нажмите на изображение для увеличения. 

Название:	638848056257293230.jpg 
Просмотров:	62 
Размер:	18.7 Кб 
ID:	82378

    Возня с ассемблерными (ну они даже не ассемблерные, а просто файлы дампа по сути) файлами для такой прикладной задачи, с разведением подобного мусора на диске - такое себе. Действительно, воткнули бы в свои эмуляторы нормальный редактор, в тот же ZXMAK, да и все.

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

    Цитата Сообщение от morozov Посмотреть сообщение
    код процедуры LD_LOAD практически идентичный, но во всех из них разные значения временных констант. При этом у соответствующих TZX-файлов отличается длина импульса нуля, единицы и т.д. Как результат, разная скорость загрузки (от 1.7x до 4.2x). Вот хотелось бы понять, как одно из другого вычисляется.
    На константы еще может влиять всякая дополнительная логика, вроде счетчиков... Все, что запихивается в LD-EDGE, где мы типа ждем стабилизацию порта. Там автором может быть добавлена кастомная часть со счетчиком, которая будет по тактам дольше оригинального цикла стабилизации. Далее может быть улучшен в плане производительности код самого цикла, где мы считаем итерации до изменения порта. Соответственно, временные константы автору кастомного загрузчика приходится выбирать с учетом всех этих изменений, и поэтому, я боюсь, напрямую из временных констант вы ничего не вычислите.

    Нажмите на изображение для увеличения. 

Название:	638839356448906773.jpg 
Просмотров:	67 
Размер:	89.3 Кб 
ID:	82380

    Цитата Сообщение от morozov Посмотреть сообщение
    Как он сгенерировал TZX для своего загрузчика, не понятно.
    Цитата Сообщение от morozov Посмотреть сообщение
    Такое чувство, что я что-то очевидное не замечаю.
    Видимо, да. Я свой TZX сгенерировал вообще из TAP, который мне создал sjasm. Которым я сассемблировал свой код со своим загрузчиком. Для конвертации написал свою тулзу за вечер. Ничего сложного в этом нет, те же блоки, плюс небольшое оформление с их свойствами. Не вижу причин годами искать чей-то инструментарий, умеющий это делать, раз уж вы убеждены, что у вас достаточно компетенций, чтобы разбираться с чьими-то загрузчиками на ассемблере. Опенсорс же всем нужен для быстрых решений сложных задач, "чтобы не писать свои велосипеды", а не для поиска годами решения простой задачи, не так ли?! (сарказм)

    В принципе, для целей бережного ускорения загрузки игр с максимальным сохранением аутентичности их загрузки достаточно простой конвертации TAP (TZX) оригинала в TZX с изменением свойств блоков заставки и игры, и либо патчем временных констант в кастомном загрузчике при его наличии (просто несколько байтов в нем меняются, и контрольная сумма бейсика/лоадера, т.е. ксорим на нее старые значения этих байтов, и новые), или патченым ПЗУ Спектрума - при его отсутствии, но тогда меняем свойства всех блоков, даже заголовков. Можно скопировать эти байты и значения свойств из уже рабочего примера игры с турбозагрузкой. Вот и все решение. Инструментарий делается за вечер, модификация - в два клика мыши. Сложность представят сильно измененные кастомные загрузчики, где придется немного подумать, найти в коде нужную часть, посмотреть отладчиком, или защищенные зашифрованные блоки, с которых нужно будет снять защиту. И да, может хуже грузиться, если загрузчик располагается в медленной памяти, например, а константы выбраны с недостаточным запасом. Ну а как вы хотели?

    Upd: Прочитал тему... Зачем-то Турбо Копи достали из небытья, WAV-файлы гоняют туда-сюда... Мощно.
    Последний раз редактировалось cafedead; 06.06.2025 в 19:43.

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Муз. сопроцессор в турбо-режиме
    от KALDYH в разделе Звук
    Ответов: 13
    Последнее: 18.10.2021, 12:26
  2. Ответов: 25
    Последнее: 15.09.2019, 16:39
  3. Ответов: 5
    Последнее: 28.03.2016, 14:36
  4. tap или tzx файлы с компьютера на магнитофон
    от Subre Wulf в разделе Несортированное железо
    Ответов: 3
    Последнее: 16.11.2009, 15:00

Ваши права

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