User Tag List

Страница 7 из 70 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 699

Тема: SjASMPlus от z00m

  1. #61

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ped7g Посмотреть сообщение
    You can maybe get some boost from this to, keeping all rays calling next-other, and just modify/restore the start of ending-ray code with `jp raycast_end` and not doing `dec c + jp z,` test for every ray.
    да это не даст большего выигрыша
    ~500t +512байт памяти
    в принципе можно сделать

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

    +сам установщик jp raycast_end
    займет много памяти
    тк будет нужна таблица адресов куда его можно вставить

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

    да и тогда легко возможна такая ситуация

    casttay1
    ray1hit5
    push hl
    push hl
    push hl
    jp castray7


    castray2
    jp raycast_end ;skiped o_O

    а далее стек уничтожает все на своем пути
    Последний раз редактировалось NEO SPECTRUMAN; 31.05.2019 в 16:36.

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

  3. #62

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ага в принципе придумал как написать проверку схожести первых шагов в Lua
    Потом как нибудь напишу
    наверное выигрыш по скорости будет ощутимым

  4. #63

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    NEO SPECTRUMAN, так а где сама игрушка/демка то с рейкастом?
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  5. #64

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    NEO SPECTRUMAN, так а где сама игрушка/демка то с рейкастом?
    нету и долго не будет
    старую версию под 128к с измерителем расстояния на регистре R
    я пару раз уже вбрасывал

    новая еще не в запускаемом состоянии
    (я только недавно разобрал свой старый сорец и переписал под получение готовых значений расстояния вместо высчитывания)
    да и я не спешу ее делать
    и будет она под 16с пентевы наверно
    +только что придумал как сделать еще немного плавней


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

    В старой версии был такой рейкастер
    и несколько коррекций искажений
    в итоге было много артефактов
    и использовать полученный движок было нельзя

    да и сама концепция такого рейкастера подразумевает много артефактов



    мало того там я еще пытался сделать сглаживатель\улучшатель полученной картини
    но это сожрало всю память...
    ...а качество толком не улучшилось

    Код:
    1114   696A             castray21
    1114   696A 62          ld h,d
    1114   696B 6B          ld l,e
    1114   696C AF          xor a
    1114   696D ED 4F       ld r,a
    1114   696F 24          inc h
    1114   6970 B6          or (hl)
    1114   6971 20 71       jr nz,ray21hit
    1114   6973 2C          inc l
    1114   6974 24          inc h
    1114   6975 B6          or (hl)
    1114   6976 20 6C       jr nz,ray21hit
    1114   6978 24          inc h
    1114   6979 B6          or (hl)
    1114   697A 20 68       jr nz,ray21hit
    1114   697C 2C          inc l
    1114   697D 24          inc h
    1114   697E B6          or (hl)
    1114   697F 20 63       jr nz,ray21hit
    1114   6981 24          inc h
    1114   6982 B6          or (hl)
    1114   6983 20 5F       jr nz,ray21hit
    1114   6985 2C          inc l
    1114   6986 24          inc h
    1114   6987 B6          or (hl)
    1114   6988 20 5A       jr nz,ray21hit
    1114   698A 2C          inc l
    1114   698B 24          inc h
    1114   698C B6          or (hl)
    1114   698D 20 55       jr nz,ray21hit
    1114   698F 24          inc h
    1114   6990 B6          or (hl)
    1114   6991 20 51       jr nz,ray21hit
    1114   6993 2C          inc l
    1114   6994 24          inc h
    1114   6995 B6          or (hl)
    1114   6996 20 4C       jr nz,ray21hit
    1114   6998 24          inc h
    1114   6999 B6          or (hl)
    1114   699A 20 48       jr nz,ray21hit
    1114   699C 2C          inc l
    1114   699D 24          inc h
    1114   699E B6          or (hl)
    1114   699F 20 43       jr nz,ray21hit
    1114   69A1 2C          inc l
    1114   69A2 24          inc h
    1114   69A3 B6          or (hl)
    1114   69A4 20 3E       jr nz,ray21hit
    1114   69A6 24          inc h
    1114   69A7 B6          or (hl)
    1114   69A8 20 3A       jr nz,ray21hit
    1114   69AA 2C          inc l
    1114   69AB 24          inc h
    1114   69AC B6          or (hl)
    1114   69AD 20 35       jr nz,ray21hit
    1114   69AF 24          inc h
    1114   69B0 B6          or (hl)
    1114   69B1 20 31       jr nz,ray21hit
    1114   69B3 2C          inc l
    1114   69B4 24          inc h
    1114   69B5 B6          or (hl)
    1114   69B6 20 2C       jr nz,ray21hit
    1114   69B8 2C          inc l
    1114   69B9 24          inc h
    1114   69BA B6          or (hl)
    1114   69BB 20 27       jr nz,ray21hit
    1114   69BD 24          inc h
    1114   69BE B6          or (hl)
    1114   69BF 20 23       jr nz,ray21hit
    1114   69C1 2C          inc l
    1114   69C2 24          inc h
    1114   69C3 B6          or (hl)
    1114   69C4 20 1E       jr nz,ray21hit
    1114   69C6 24          inc h
    1114   69C7 B6          or (hl)
    1114   69C8 20 1A       jr nz,ray21hit
    1114   69CA 2C          inc l
    1114   69CB 24          inc h
    1114   69CC B6          or (hl)
    1114   69CD 20 15       jr nz,ray21hit
    1114   69CF 2C          inc l
    1114   69D0 24          inc h
    1114   69D1 B6          or (hl)
    1114   69D2 20 10       jr nz,ray21hit
    1114   69D4 24          inc h
    1114   69D5 B6          or (hl)
    1114   69D6 20 0C       jr nz,ray21hit
    1114   69D8 2C          inc l
    1114   69D9 24          inc h
    1114   69DA B6          or (hl)
    1114   69DB 20 07       jr nz,ray21hit
    1114   69DD 24          inc h
    1114   69DE B6          or (hl)
    1114   69DF 20 03       jr nz,ray21hit
    1114   69E1 2C          inc l
    1114   69E2 24          inc h
    1114   69E3 B6          or (hl)
    1114   69E4             ray21hit
    1114   69E4 67          ld h,a
    1114   69E5 ED 5F       ld a,r
    1114   69E7 6F          ld l,a
    1114   69E8 CB 3D       srl l
    1114   69EA CB 3D       srl l
    1114   69EC CB 3D       srl l
    1114   69EE CB 3D       srl l
    1114   69F0 CB 3D       srl l
    1114   69F2 CB 3D       srl l
    1114   69F4 95          sub l
    1114   69F5 CB 3D       srl l
    1114   69F7 95          sub l
    1114   69F8 CB 3D       srl l
    1114   69FA 95          sub l
    1114   69FB 6F          ld l,a
    1114   69FC E5          push hl
    1114   69FD 0D          dec c
    1114   69FE CA A5 A5    jp z,raycast_end
    1114   6A01             castray22
    1114   6A01 62          ld h,d
    1114   6A02 6B          ld l,e
    1114   6A03 AF          xor a
    1114   6A04 ED 4F       ld r,a
    1114   6A06 24          inc h
    1114   6A07 B6          or (hl)
    1114   6A08 20 6F       jr nz,ray22hit
    1114   6A0A 2C          inc l
    1114   6A0B 24          inc h
    1114   6A0C B6          or (hl)
    1114   6A0D 20 6A       jr nz,ray22hit
    1114   6A0F 24          inc h
    1114   6A10 B6          or (hl)
    1114   6A11 20 66       jr nz,ray22hit
    1114   6A13 2C          inc l
    1114   6A14 24          inc h
    1114   6A15 B6          or (hl)
    1114   6A16 20 61       jr nz,ray22hit
    1114   6A18 24          inc h
    1114   6A19 B6          or (hl)
    1114   6A1A 20 5D       jr nz,ray22hit
    1114   6A1C 2C          inc l
    1114   6A1D 24          inc h
    1114   6A1E B6          or (hl)
    1114   6A1F 20 58       jr nz,ray22hit
    1114   6A21 24          inc h
    1114   6A22 B6          or (hl)
    1114   6A23 20 54       jr nz,ray22hit
    1114   6A25 2C          inc l
    1114   6A26 24          inc h
    1114   6A27 B6          or (hl)
    1114   6A28 20 4F       jr nz,ray22hit
    1114   6A2A 24          inc h
    1114   6A2B B6          or (hl)
    1114   6A2C 20 4B       jr nz,ray22hit
    1114   6A2E 2C          inc l
    1114   6A2F 24          inc h
    1114   6A30 B6          or (hl)
    1114   6A31 20 46       jr nz,ray22hit
    1114   6A33 24          inc h
    1114   6A34 B6          or (hl)
    1114   6A35 20 42       jr nz,ray22hit
    1114   6A37 2C          inc l
    1114   6A38 24          inc h
    1114   6A39 B6          or (hl)
    1114   6A3A 20 3D       jr nz,ray22hit
    1114   6A3C 24          inc h
    1114   6A3D B6          or (hl)
    1114   6A3E 20 39       jr nz,ray22hit
    1114   6A40 2C          inc l
    1114   6A41 24          inc h
    1114   6A42 B6          or (hl)
    1114   6A43 20 34       jr nz,ray22hit
    1114   6A45 2C          inc l
    1114   6A46 24          inc h
    1114   6A47 B6          or (hl)
    1114   6A48 20 2F       jr nz,ray22hit
    1114   6A4A 24          inc h
    1114   6A4B B6          or (hl)
    1114   6A4C 20 2B       jr nz,ray22hit
    1114   6A4E 2C          inc l
    1114   6A4F 24          inc h
    1114   6A50 B6          or (hl)
    1114   6A51 20 26       jr nz,ray22hit
    1114   6A53 24          inc h
    1114   6A54 B6          or (hl)
    1114   6A55 20 22       jr nz,ray22hit
    1114   6A57 2C          inc l
    1114   6A58 24          inc h
    1114   6A59 B6          or (hl)
    1114   6A5A 20 1D       jr nz,ray22hit
    1114   6A5C 24          inc h
    1114   6A5D B6          or (hl)
    1114   6A5E 20 19       jr nz,ray22hit
    1114   6A60 2C          inc l
    1114   6A61 24          inc h
    1114   6A62 B6          or (hl)
    1114   6A63 20 14       jr nz,ray22hit
    1114   6A65 24          inc h
    1114   6A66 B6          or (hl)
    1114   6A67 20 10       jr nz,ray22hit
    1114   6A69 2C          inc l
    1114   6A6A 24          inc h
    1114   6A6B B6          or (hl)
    1114   6A6C 20 0B       jr nz,ray22hit
    1114   6A6E 24          inc h
    1114   6A6F B6          or (hl)
    1114   6A70 20 07       jr nz,ray22hit
    1114   6A72 2C          inc l
    1114   6A73 24          inc h
    1114   6A74 B6          or (hl)
    1114   6A75 20 02       jr nz,ray22hit
    1114   6A77 24          inc h
    1114   6A78 B6          or (hl)
    1114   6A79             ray22hit
    1114   6A79 67          ld h,a
    1114   6A7A ED 5F       ld a,r
    1114   6A7C 6F          ld l,a
    1114   6A7D CB 3D       srl l
    1114   6A7F CB 3D       srl l
    1114   6A81 CB 3D       srl l
    1114   6A83 CB 3D       srl l
    1114   6A85 CB 3D       srl l
    1114   6A87 95          sub l
    1114   6A88 CB 3D       srl l
    1114   6A8A CB 3D       srl l
    1114   6A8C CB 3D       srl l
    1114   6A8E 95          sub l
    1114   6A8F 6F          ld l,a
    1114   6A90 E5          push hl
    1114   6A91 0D          dec c
    1114   6A92 CA A5 A5    jp z,raycast_end
    - - - Добавлено - - -

    Вот приатачил старую глючную версию
    Последний раз редактировалось NEO SPECTRUMAN; 31.05.2019 в 20:45.

  6. #65

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    inc hl ; hl = hl + 1
    да, это я смачно накосил про 256

  7. #66

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    да, это я смачно накосил про 256
    там даже add hl,xx вместо 2-х inc h inc l ничего не ускорит
    наверное только пропуск испускания некоторых лучей
    спасет fps отца русской демократии

  8. #67

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ped7g, возможно ли сделать такой псевдооперанд
    Код:
    CHK
    
    
    The CHK directive causes a checksum to be computed and deposited at the current location. The starting point of the checksum calculation is indicated as an argument. Here is the format:
        [label]    .CHK    starting_addr
    Here is an example:
        start: NOP
               LDA #1
               .CHK start
    The checksum is calculated as the simple arithmetic sum of all bytes starting at the starting_addr up to but not including the address of the CHK directive. The least significant byte is all that is used.
    который есть в других, хороших, асемблерах?)
    Конечно, проггеры 80lvl могут и в LUA посчитать, но вот все же иногда КС нужен бывает и обычным "чайникам"
    Profi v3.2 -=- Speccy2010,r2

  9. #68

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Конечно, проггеры 80lvl могут и в LUA посчитать, но вот все же иногда КС нужен бывает и обычным "чайникам"
    непонел чего ты хош
    но первое что пришло в голову это вот что то такое
    или что то в этом роде
    при необходимости расставить -1 +1 там где надо

    codestart
    nop
    nop
    codesize = $-codestart

    cnt = 0
    chksum = 0
    dup codesize
    chksum = chksum + {codestart + cnt}
    cnt = cnt + 1
    edup
    Последний раз редактировалось NEO SPECTRUMAN; 01.06.2019 в 01:51.

  10. #69

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

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Ped7g, возможно ли сделать такой псевдооперанд..
    well, it's a possibility, then again the current macros allow you to create such functionality like this (with undocumented "read word" feature):
    ( tests/macro_examples/sum_checksum.asm ):

    Код:
    ; The CHK macro causes a checksum to be computed and deposited at the current location.
    ; The starting point of the checksum calculation is indicated as an argument.
    ;
    ; The checksum is calculated as the simple arithmetic sum of all bytes starting
    ; at the provided address up to but not including the address of the CHK macro instance.
    ; The least significant byte is all that is used.
    ;
    ; The macro requires the virtual DEVICE memory (checksum needs access to previously
    ; defined machine code bytes).
    
    ; CHK macro definition
        MACRO .CHK address?
    .SUM = 0                        ; init values for checksumming
    .ADR = address? ASSERT address? < $   ; starting address must be below current
            DUP $ - address?        ; do simple sum of all bytes
    .SUM = (.SUM + {.ADR})&$FF
    .ADR = .ADR + 1
            EDUP
            DB      .SUM
        ENDM
    
    ; Examples and verification (ZX Spectrum 48 virtual device is used for the test)
    
        DEVICE ZXSPECTRUM48 : OUTPUT "sum_checksum.bin"
    TEST1   DB      'A'
            .CHK    TEST1           ; expected 'A'
    
    TEST2   DS      300, 'b'
            DB      'B' - ((300*'b')&$FF)   ; adjust checksum to become 'B'
            .CHK    TEST2           ; expected 'B'
    
    TEST3   inc     hl              ; $23
            inc     h               ; $24
            .CHK    TEST3           ; expected 'G' ($47)
    ... so I'm rather thinking about documenting the `{}` operator finally, to make it official, as it can cover many similar cases.

    The advantage of this solution is, that you can copy/paste it into your source now, and use it (no need to wait for new exe).

    The disadvantage of this solution is, that it sort of destroys listing file (too much noise from DUP-EDUP).

    Somebody can maybe provide also LUA version, which would be more kind to the listing, but I did want to verify that even macro-only solution is possible.

    The native version in sjasmplus exe would be faster and preserve the listing file, but I'm not sure if it's worth of it (it feels a bit too specialized, it's not even very good checksum algorithm, although probably quite standard on ZX).

    Is this macro sufficient solution for your needs? Or would LUA version suffice?

  11. #70

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ped7g Посмотреть сообщение
    so I'm rather thinking about documenting the `{}` operator finally, to make it official, as it can cover many similar cases.
    да это очень полезная вещь
    ее всегда не хватало
    теперь буду использовать повсеместно

    печально что открытие {} произошло сразу после того
    как я притулил {} себе для сворачиваемых комментариев в notepad++...

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

    крайне неприятная особеность
    Код:
    	jp l1
    	jP l1
    	Jp l1
    	JP l1
    
    
    l1	nop
    SjASMPlus Z80 Cross-Assembler v1.13.1 (https://github.com/z00m128/sjasmplus)
    Pass 1 complete (0 errors)
    Pass 2 complete (0 errors)
    1.asm(8): error: Unrecognized instruction: jP l1
    1.asm(9): error: Unrecognized instruction: Jp l1
    Pass 3 complete
    Errors: 2, warnings: 0, compiled: 16 lines, work time: 0.000 seconds
    Код:
     7    8000 C3 06 80     	jp l1
    1.asm(8): error: Unrecognized instruction: jP l1
     8    8003              	jP l1
    1.asm(9): error: Unrecognized instruction: Jp l1
     9    8003              	Jp l1
    10    8003 C3 06 80     	JP l1
    11    8006
    12    8006
    13    8006 00           l1	nop
    Последний раз редактировалось NEO SPECTRUMAN; 01.06.2019 в 02:04.

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

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

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

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

Ваши права

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