О, нет :v2_dizzy_no:
Короче, вроде стабильно теперь в обоих.
Ушёл настраивать Unreal (вот зачем мне это нужно, блин) :v2_dizzy_tired2:
Вид для печати
Итак, вроде в анриле пашет. Если я конечно его правильно победил :)
Проверьте кто нибудь ещё плиз.
Запускать по USR 32768
DenisGrachev, ну ништяк! пашет как надо
unreal 0.38
DenisGrachev, мда а ты чем исходничек то компилишь?
---------- Post added at 14:55 ---------- Previous post was at 14:54 ----------
дельты это смещения в том безумном наборе байтов который выводит аттрибуты
так что если ничего не трогал то трогать и не надо
а вот изменить адрес следующей строки придется.
EmuzWin встроенный асм :) Я оллдскульный чувак, вообще не использовал никаких сверх возможностей разный асмов. Но тут немножко пришлось. Первые свои проги в 1999 году вообще писал в тетрадке, и вручную, по книжке, переводил в hex. Ну не было у меня вообще никаких асмов - только одна книжка с ошибками (редакторы ГОРИТЕ в АДУ):)
Как раз безумный код и трогал :)
+6 байтов +46 тактов, чтобы он на Пентагоне выполнялся 448 Тактов.
Надо менять дельты и attribs.
Код:
race_raster:
ROWREPT = 0
N=0
dup TOTAL_ROWS
dup 4
ld sp, 22562+ROWREPT*32+5 ; reference columns 5 and 6
ld hl, 256*N+N ; columns 27 and 28(*)
ld de, 256*N+N ; columns 7 and 8(*)
ld bc, 256*N+N ; columns 9 and 10(*)
exx
ld hl, 256*N+N ; columns 11 and 12(*)
ld de, 256*N+N ; columns 19 and 20(*)
ld bc, 256*N+N ; columns 3 and 4(*)
ld ix, 256*N+N ; columns 1 and 2(*)
ld iy, 256*N+N ; columns 5 and 6 (*)
ld (22560+ROWREPT*32+1), ix ; columns 1 and 2
push iy ; columns 5 and 6
push bc ; columns 3 and 4
ld sp, 22562+ROWREPT*32+19 ; reference columns 19 and 20
ld ix, 256*N+N ; columns 17 and 18(*)
push de ; columns 19 and 20
ld de, 256*N+N ; columns 13 and 14(*)
ld bc, 256*N+N ; columns 15 and 16(*)
push ix ; columns 17 and 18
push bc ; columns 15 and 16
push de ; columns 13 and 14
push hl ; columns 11 and 12
exx
push bc ; columns 9 and 10
push de ; columns 7 and 8
ld sp, 22562+ROWREPT*32+27 ; reference columns 27 and 28
push hl ; columns 27 and 28
ld hl, 256*N+N ; columns 21 and 22(*)
ld de, 256*N+N ; columns 23 and 24(*)
ld bc, 256*N+N ; columns 25 and 26(*)
push bc ; columns 25 and 26
push de ; columns 23 and 24
push hl ; columns 21 and 22
ld hl, 256*N+N ; columns 29 and 30(*)
ld (22560+ROWREPT*32+29), hl ; columns 29 and 30
sbc hl, hl ; extra delay
;extra pentagon delay
sbc hl,hl ;15t (2b)
sbc hl,hl ;15t (2b)
sla a ;8t (1b)
sla a ;8t (1b)
;+6 bytes +46 Tstates
N=N+8
IF N=128 then N=0 ENDIF
edup
ROWREPT = ROWREPT+1
edup
DenisGrachev, маньяк же :)
вот тут слегка причесал исходник товарища Эйнара.
он теперь хотя бы в сжасме компилится.
но поддержку пентагона надо делать отдельно
у Эйнара всё идет байт в байт
DenisGrachev,
убью нафиг
Код:sbc hl,hl ;15t (2b)
sbc hl,hl ;15t (2b)
sla a ;8t (2b)
sla a ;8t (2b)
;+8 bytes +46 Tstates
DenisGrachev, http://clrhome.org/table/