User Tag List

Страница 51 из 70 ПерваяПервая ... 474849505152535455 ... ПоследняяПоследняя
Показано с 501 по 510 из 699

Тема: SjASMPlus от z00m

  1. #501

    Регистрация
    10.01.2010
    Адрес
    Смоленская обл.
    Сообщений
    556
    Спасибо Благодарностей отдано 
    187
    Спасибо Благодарностей получено 
    198
    Поблагодарили
    100 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    there is more labels but i see only this
    Попробовал компильнуть, (не для запуска естественно) - закомментил incbin ввиду отсутствия и пути залокалил.
    В labelslist файле полный набор меток.

    Код:
    05:3FF1 starter
    07:070D no_decrb
    07:0707 no_decrg
    07:0701 decrg
    07:06F7 no_decrr
    07:06E6 fade_prep0
    07:06C9 fade_in0
    07:06A3 fade_out0
    07:06E2 fade_prep
    07:068B wait_press
    07:0695 fade_out
    07:0682 wait_key
    07:0000 pal_title_l
    07:0725 pal_title
    07:0668 loop
    07:061B init_ports
    07:0612 drop_title
    07:0609 drop_sprite
    07:0600 drop_pal
    07:0400 sprites
    07:0200 palette
    07:00FF frameint
    07:00FD lineint
    07:0101 emptyint
    07:00FB dmaint
    07:0065 clear
    07:005D drop_tsports0
    07:005B drop_tsports
    07:06BB fade_in
    07:0646 start
    02:0000 stek
    07:2AAF INTMask
    07:27AF DMAStatus
    07:28AF DMANum
    07:27AF DMACtrl
    07:26AF DMALen
    07:25AF INTVect
    07:24AF VSINTH
    07:23AF VSINTL
    07:22AF HSINT
    07:21AF MemConfig
    07:20AF SysConfig
    07:1FAF DMADAddrX
    07:1EAF DMADAddrH
    07:1DAF DMADAddrL
    07:1CAF DMASAddrX
    07:1BAF DMASAddrH
    07:1AAF DMASAddrL
    07:19AF SGPage
    07:18AF T1GPage
    07:17AF T0GPage
    07:16AF TMPage
    07:15AF FMAddr
    07:14AF NWRAddr
    07:13AF Page3
    07:12AF Page2
    07:11AF Page1
    07:10AF Page0
    07:00AF Status
    05:07AF T1YOffsH
    05:06AF T1YOffsL
    05:05AF T1XOffsH
    05:04AF T1XOffsL
    05:03AF T0YOffsH
    05:02AF T0YOffsL
    07:29AF FDDVirt
    05:01AF T0XOffsH
    05:00AF T0XOffsL
    07:0FAF Border
    07:07AF PalSel
    07:06AF TSConfig
    07:05AF GYOffsH
    07:04AF GYOffsL
    07:03AF GXOffsH
    07:02AF GXOffsL
    07:01AF VPage
    07:00AF VConfig
    07:0010 title_page
    07:00A0 map_page
    07:0098 sprite_page
    07:0090 tile_page
    07:0080 bg_page

  2. #502

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    there is more labels but i see only this
    The ROM-area labels were not exported in older versions of sjasmplus (you are using some older version or different fork).
    Can't remember when I did change it, but in latest 1.18.3 version the ROM area labels are exported in LABELSLIST

    But they will export as Bank7 "07:00FD lineint" because the bank7 is mapped in bottom area. sjasmplus has no "ROM" bank at this moment.

    If you want just regular address values for visual check, I would rather suggest --lst --lstlab=sort options to get full listing with symbol table at end of it.

    If you need it for emulator's debugger, I have no idea how the ROM area labels needs to be exported, but I guess some search+replace on "^07:" regex may fix that easily... (ie. `sed "s/^07:/something:/" user.l > romarea.l` to get "something:00FD lineint").
    (if you have "sed" in your OS, if you have windows, then I guess you want to use some text editor anyway and you don't mind to do it in laborious manual way, like everything else...)

    - - - Updated - - -

    Цитата Сообщение от zebest Посмотреть сообщение
    Объясните, как для bbb, как правильно пользоваться ключами директивы SAVETAP в последних версиях?
    http://z00m128.github.io/sjasmplus/d...tml#po_savetap

    I guess you are using the snapshot-like variant, so sjasmplus does add also it's own loader and does guess how big snapshot is needed? I don't maintain that feature, I don't know how it exactly works and I don't care about it much. (it's doing lot of automatic stuff including some hard-coded loader and you have minimal control over it, so I don't find that option attractive, I want my TAP files to be exactly as I want them, down to last byte, with no magic)
    (but feel free to create pull request with improvements if you have some idea how it can be improved)

    You can check the "examples/TapLib" for one of possible ways how to build TAP file from sjasmplus from specific blocks, including own BASIC loader, etc.. (or you can even use the library from the example, if it suits your needs).
    https://github.com/z00m128/sjasmplus...xamples/TapLib

    (edit: or you can also kill the default device memory init to clear sysvars/stack ...
    Код:
      DEVICE ZXSPECTRUM48
      ORG $5B00 : DS $10000-$,0   ; clear the unwanted sysvars/stack
      ORG ...
    start:
      ; your code...
      SAVETAP "tapsnap.tap", start
    ^^ I didn't try it, so not sure if it works, or if it helps, but you can try and let me know, if it does help or make it worse)
    Последний раз редактировалось Ped7g; 25.09.2021 в 00:22.

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

    zebest(25.09.2021)

  3. #503

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Как говорится - Найдите различия.
    Well, I see only the difference in the BASIC state after return? Which is "by design" with the snapshot TAP, it does put the loader and RAMTOP so low that it is unable to return to BASIC correctly, it's for asm-only, to give it maximum room.

    The loader in 1.07RC8 probably leaves less room for asm code and preserves more of BASIC state.

    Anyway, I really don't think using the snapshot format for releasing SW is good idea, I use snapshots during development a lot as I can load them quicker into emulator, but for final release you should produce correct TAP, not the snapshot one.

    BTW, is this the new emulator-test from Mark Woodmass? I didn't check its source, but I believe this is one of those where you can use DEVICE with RAMTOP argument, and example/TapLib to produce that simple valid loader with valid sysvars. Should require minimal changes to source.

    The question is, how should one know about this... and I have no good answer for this, ZX development always has a bit of "everybody knows this" parts, which may be surprising if you are not experienced with the platform and you don't know how it works.
    Последний раз редактировалось Ped7g; 25.09.2021 в 10:34.

  4. #504

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    yeah.

    I don't have that version of test, but I have seen some halt2int.v1 zip recently, which looks quite similar (is also from Woody), but it has GPL license.
    (MIT is more permissive, as you can distribute the binary-only and keep your changes secret, GPL requires you to provide also source with all your changes, if you distribute the binary)
    (both licenses are very convenient for this kind of stuff, like tests/tutorials, as you can easily modify and publish it under the same license)

    So checking the halt2int source, there's no BASIC loader, I guess pasmo could create TAP with loader, similar to what sjasmplus SAVETAP does, but the loaders differ a bit. The `SAVETAP "file",start` **is** like snapshot. You give the assembler task to produce own loader, which will restore the memory to the current "DEVICE" state in assembler, and start like that, letting all the work on the assembler (so the sjasmplus will also include loading-screen, if you modify the ULA screen area before SAVETAP, if I remember it correctly).

    With test like this, it is IMO better to use own tape loader and keep BASIC state valid, or reuse the example TapLib macro directly.

    If you will upload somewhere your sjasmplus-version of that test, I can try to modify it to use the TapLib example, so you can see how many changes are required to achieve that, and how-to do it.

  5. #505

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    @zebest: version modified for sj

    the ".sj.asm" files are modified, ".asm" are original
    you can diff them to see my changes

    As far as I can tell, the machine code is identical, only the tap loader is not provided by original author and the sjasmplus default loader for auto-savetap is not a good choice for calling small asm from basic and return back to it.
    Вложения Вложения

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

    zebest(27.09.2021)

  6. #506

    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    810
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    59 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я извиняюсь (на самом деле нет), вам делать нечего, как грузить других бредом?
    Если интересно копаться в чужих глюках то копайтесь, если есть проблема сделайте синтетический тест и покажите.
    Подобные кейсы возникают от непонимания того что вы делаете, и очень жаль что с такими тут продолжают сюсюкаться.

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

    zebest(27.09.2021)

  7. #507

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Или спишем на особенность?
    sorry, I didn't pay attention to the numbers in the screenshot... next time rather put at least one example in the text...

    seems like pasmo feature. It's the `ld de,-10000+38` line (line 93 in original source), which pasmo assembles as `11 ca d8` and sjasmplus as `11 16 d9`

    According to my calculator -10000+38 is -9962, and that is in 16bit integer encoding $D916

    Why pasmo does produce $D8CA instead.... I have no idea. ... oh, that's -10038 ... so it does evaluate it as -10000-38`?
    Don't know, consult this feature of pasmo with authors of pasmo. Maybe it's intentional. I prefer regular math evaluation instead....

    Anyway, so the sjasmplus version of that test does need `ld de,-10038` to get the same machine code as from pasmo.
    Последний раз редактировалось Ped7g; 27.09.2021 в 10:49.

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

    zebest(27.09.2021)

  8. #508

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    It's math, not opinions.

    -10000+38 is -9962 and that's 0xd916

    If pasmo wants 2+2 equal to 5, it's their choice. sjasmplus will not evaluate math like that, until I'm contributing to it, you would need to fork it yourself and add bugs to the evaluator, if you need wrong math.

    edit: I did ask Woody about it... he simply adjusted the numbers in source until the result of test was what he expected, so he was not aware of how the pasmo evaluates that, and that he wrote -10038 constant in the end. In later version he changed the code to not have this expression, and do `sbc` in the code instead.

    edit2: https://pasmo.speccy.org/pasmodoc.html#opertable
    and it's not a bug, just incompatible feature. Unary minus has lower precedence than binary plus in pasmo, so it does assemble the source as documented.
    (and yes, I find this strange, but I would assume the original author had some good reasons why to do this... but I personally prefer the sjasmplus way ... and I should remember this whenever somebody has issues migrating from pasmo to sjasmplus, or the other way)
    Последний раз редактировалось Ped7g; 27.09.2021 в 15:06.

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

    zebest(27.09.2021)

  9. #509

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    you are welcome to point out any issues/bugs or differences. It could have been also issue with sjasmplus, and then I would be glad you did post it.

    (considering how bugged sjasmplus was in older versions, I wouldn't be shocked if you found out some another bug... even now with 1.18.3 I had two bug reports on github already)

  10. #510

    Регистрация
    18.07.2021
    Адрес
    г. Хмельницкий, Украина
    Сообщений
    105
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Из мануала SjasmPlus по структурам:
    Warning
    Do not use the offset labels in indirections like:

    LD A,(SDOT.X)
    This will conflict with futher 'improvements' ;-)

    If this is absolutely necessary (why?) use something like this:

    LD A,(+SDOT.X)
    Вот тут не понял. Почему do not use, и чем конструкция LD A,(SDOT.X) отличается от описанного в том же мануале чуть выше примера ld a,(COLOR.GREEN)?

Страница 51 из 70 ПерваяПервая ... 474849505152535455 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. SjASMPlus Z80 кросс ассемблер
    от Aprisobal в разделе Программирование
    Ответов: 1663
    Последнее: 19.06.2021, 01:36
  2. Исходники TR-DOS для SjASMPlus
    от Keeper в разделе Программирование
    Ответов: 20
    Последнее: 11.02.2011, 11:57
  3. Запуск STS из .sna, сгенерированного sjasmplus.
    от siril в разделе Программирование
    Ответов: 7
    Последнее: 11.10.2010, 21:33
  4. Breakpoints в связке Sjasmplus+UnrealSpeccy
    от Kurles в разделе Программирование
    Ответов: 19
    Последнее: 26.01.2009, 12:36
  5. Disturbed COverMAnia ( music disk with z00m music collection)
    от kyv в разделе Музыка
    Ответов: 10
    Последнее: 27.03.2008, 10:01

Ваши права

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