NEO SPECTRUMAN, так а где сама игрушка/демка то с рейкастом?
NEO SPECTRUMAN, так а где сама игрушка/демка то с рейкастом?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
нету и долго не будет
старую версию под 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.
About {} ... if you would read the sources (that's how I found it)...(I think it was added already by Aprisobal back around first sjasmplus release)
About jp/Jp/jP/JP ... that's intentional choice of sjasmplus (I think it was decided maybe in original sjasm by Sj.M. himself)
instruction/directive must be all of the same case.
Labels/macros/defines are case sentitive.
I actually like it, because I use CamelCase for labels, so I have ~zero risk the assembler will pick one of them as instruction by accident.
But even if I would not like it, I don't think I would change one of the base choices of original sjasmplus, I don't "own" this project enough to introduce such massive change in behaviour.
в нашей отечественной ветке
https://github.com/sjasmplus/sjasmplus
уже пофикшено?
- - - Добавлено - - -
но когда правишь чужой код
у тебя появляются дополнительные проблемы
и это неудобно и раздражает
- - - Добавлено - - -
Код:SjASMPlus Z80 Cross-Assembler v.20190306.1 Pass 1 complete (0 errors) Pass 2 complete (0 errors) Pass 3 complete Errors: 0, warnings: 0, compiled: 16 linesдля меток это может и нужно (Label labeL LabEL)Код:04 0000 org $8000 05 8000 06 8000 07 8000 C3 0C 80 jp l1 08 8003 C3 0C 80 jP l1 09 8006 C3 0C 80 Jp l1 10 8009 C3 0C 80 JP l1 11 800C 12 800C 13 800C 00 l1 nop
но не для инструкций явно нет
- - - Добавлено - - -
попробуй сгенерировать контрольную сумму для 2-х 3-х байт ($1,$2,$4)
и посмотри что не так
просмотри значения на каждом шаге
Последний раз редактировалось NEO SPECTRUMAN; 01.06.2019 в 03:34.
Код: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 display .SUM ENDM org $8000 l0 db $FF db $01 db $02 CHK l0Код:21 8000 01 db $01 22 8001 02 db $02 23 8002 04 db $04 24 8003 25 8003 26 8003 27 8003 28 8003 CHK l0 28 8003 07 > DB .SUMКод:21 8000 FF db $FF 22 8001 01 db $01 23 8002 00 db $00 24 8003 25 8003 26 8003 CHK l0 26 8003 00 > DB .SUMвполне себе правильно работаетКод:21 8000 FF db $FF 22 8001 01 db $01 23 8002 02 db $02 24 8003 25 8003 26 8003 CHK l0 26 8003 02 > DB .SUM
Ok, in future release (or you can already build from github current master) this will come:
"--syntax=i" to make instructions/directives case insensitive ... I was hoping to add also "I" option to uppercase all labels, but that's not possible without finally rewriting the labels implementation, would be too much mess and work in current source.
(BTW, I still think you should rather reformat the old source, shouldn't be that much hard... but the option will be available too)
"opt" will get two more commands "listoff, liston" to suspend listing file from source (for macros like CHKXOR to not fill listing with useless DUP looping)
"{address}" is now "official" (in documentation), and I added "{b address}" variant to read only BYTE.
(I have no idea yet, when "1.13.2" will happen, the 13.1 was just released, so I'm in no hurry, will give it probably 2-4 weeks = so this is just early-access info)
Последний раз редактировалось Ped7g; 02.06.2019 в 20:54.
лично мне в sjasm/sjasmplus всегда не хватало библиотек, как это было, к примеру, у M80. Т.е. код чтобы собрать не в бинарь, а в некую либу, по мотивам всяких компиляторов си или тот же M80. А потом можно было бы прилинковывать из этой библиотеки функции/процедуры. Было бы удобно очень.
Код:org $8000 l0 call dup3 call dup2 l1 di halt ifused dup3 dup3 dup 3 ld a,a ret edup endif ifused dup2 dup2 dup 2 ld b,b ret edup endif ifused dup1 dup1 dup 5 ld c,c ret edup endifКод:17 0000 org $8000 18 8000 19 8000 l0 20 8000 21 8000 CD 08 80 call dup3 22 8003 CD 0E 80 call dup2 23 8006 24 8006 25 8006 F3 l1 di 26 8007 76 halt 27 8008 28 8008 29 8008 ifused dup3 30 8008 dup3 31 8008 dup 3 32 8008 7F > ld a,a 33 8009 C9 > ret 32 800A 7F > ld a,a 33 800B C9 > ret 32 800C 7F > ld a,a 33 800D C9 > ret 35 800E endif 36 800E 37 800E ifused dup2 38 800E dup2 39 800E dup 2 40 800E 40 > ld b,b 41 800F C9 > ret 40 8010 40 > ld b,b 41 8011 C9 > ret 43 8012 endif 44 8012 45 8012 ifused dup1 46 8012~ dup1 47 8012~ dup 5 48 8012~ ld c,c 49 8012~ ret 50 8012~ edup 51 8012 endif
Последний раз редактировалось NEO SPECTRUMAN; 04.06.2019 в 12:04.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)