Просмотр полной версии : Библиотека нужных процедур для написания демо
Предлагаю создать библиотеку наиболее нужных процедур часто используемых при написании демо. Таких как: расчеты адресов, вывод точки, линия, заливка, fade_in, fade_out и т.д.
Постите процедуры сюда, я их буду собирать в один файл в первом посте
Может потом кто и прикрутит её в текстовик, допустим пишешь down_hl и это компилится во всем известную процедуру.
Просьба тему не засорять рассуждениями
ИТОГО: 10 процедур
goblinish
27.07.2012, 07:12
Ротозумер с плазмой не постить, не?
;--------точка,построение по de(y,x)--------------------------
PLOTTBL EQU #A000
call FORMER
;-----------------------формируем адреса для точек-------------
FORMER LD DE,#4000,BC,#8000,L,E
FLP1 LD H,high PLOTTBL
LD (HL),D:INC H:LD (HL),E:INC H
LD (HL),C:INC H:LD (HL),B
RRC B
LD A,C:ADC A,0:LD C,A
FBR1 INC D:LD A,D:AND 7
JR NZ,FNXT:LD A,E:ADD A,32
LD E,A:JR C,FNXT
LD A,D:SUB 8:LD D,A
FNXT INC L:JR NZ,FLP1
LD HL,PLOTTBL+#C0,BC,#3F
LD DE,HL:INC E
LD (HL),0:LDIR
RET
;-----------ставим точку на DE------------------------
PLOT PUSH HL,BC:LD H,HIGH PLOTTBL,L,D,B,(HL):INC H
LD A,(HL),L,E:INC H:OR (HL)
INC H:LD C,A,A,(BC)
OR (HL):LD (BC),A
POP BC,HL:RET
Ротозумер с плазмой не постить, не?
Ну эт тогда библиотека исходников получится :)
Может я мысль неправильно донес, я про рутину по написанию этих маленьких процедур
goblinish
27.07.2012, 07:28
откуда этюд "бегущая строка", кстати?
откуда этюд "бегущая строка", кстати?
В библиотеке? или откуда взят?
Если про библиотеку пусть висит, она всем новичкам нужна
goblinish
27.07.2012, 07:34
окружность Брезенхэма, линию надо поискать бы..
device zxspectrum128
ORG 25000
PLOTTBL EQU #A000
begin
call FORMER
LOOP
ei:halt:di
radv1 ld a,#40:call circle
ld a,(radv1+1):inc a:ld (radv1+1),a
LD A,127:IN A,(#FE)
RRA:JR C,LOOP
EI:RET
xr db #80
yr db #60
rad db 0
circle
ld (rad),a;a=radius
ld d,a,e,0;x := 0,y := RADIUS
ld h,0,l,a
add hl,hl
ld bc,hl,hl,3
or a:sbc hl,bc;d := 3 - (2 * RADIUS)
clp1
ld a,e:cp d: jr z,nlp1
ret nc
nlp1
call plotall;PLOT
inc e
bit 7,h:jr z,else1;if (d<0)
;d := d + (4 * x) + 6
push hl
ld h,0,l,e
add hl,hl
add hl,hl
ld bc,6
add hl,bc
pop bc
add hl, bc
jp endif1
else1;d := d + 4 * (x - y) + 10
push hl
ld h,0,l,e
ld c,d,b,0
or a:sbc hl,bc
add hl,hl
add hl,hl
ld bc,10
add hl,bc
pop bc
add hl,bc
dec d;y := y - 1;
endif1
;inc e
jp clp1
plotall
;PutPixel(CenterX + X, Center Y + Y)/setPixel(xCenter+x,yCenter+y)
push de:ld a,(xr):add a,e:ld e,a
ld a,(yr):add a,d:ld d,a
call PLOT:pop de:push de;ok
;PutPixel(CenterX + X, Center Y - Y)/setPixel(xCenter+y,yCenter+x)
ld a,(xr):add a,d:ld c,e,e,a
ld a,(yr):add a,c:ld d,a
call PLOT:pop de:push de;ok
;PutPixel(CenterX - X, Center Y + Y)/setPixel(xCenter-x,yCenter+y)
ld a,(xr):sub e:ld e,a
ld a,(yr):add a,d:ld d,a
call PLOT:pop de:push de;ok
;PutPixel(CenterX - X, Center Y - Y)/setPixel(xCenter+y,yCenter-x)
ld a,(xr):add a,d:ld c,e,e,a
ld a,(yr):sub c:ld d,a
call PLOT:pop de:push de;ok
;PutPixel(CenterX + Y, Center Y + X)/setPixel(xCenter-x,yCenter-y)
ld a,(xr):sub e:ld e,a
ld a,(yr):sub d:ld d,a
call PLOT:pop de:push de;ok
;PutPixel(CenterX + Y, Center Y - X)/setPixel(xCenter-y,yCenter-x)
ld a,(xr):sub d:ld c,e,e,a
ld a,(yr):sub c:ld d,a
call PLOT:pop de:push de;ok
;PutPixel(CenterX - Y, Center Y + X)/setPixel(xCenter+x,yCenter-y)
ld a,(xr):add a,e:ld e,a
ld a,(yr):sub d:ld d,a
call PLOT:pop de:push de;ok
;PutPixel(CenterX - Y, Center Y - X)/setPixel(xCenter-y,yCenter+x)
ld a,(xr):sub d:ld c,e,e,a
ld a,(yr):add a,c:ld d,a
call PLOT:pop de
ret
FORMER LD DE,#4000,BC,#8000,L,E
FLP1 LD H,high PLOTTBL
LD (HL),D:INC H:LD (HL),E:INC H
LD (HL),C:INC H:LD (HL),B
RRC B
LD A,C:ADC A,0:LD C,A
FBR1 INC D:LD A,D:AND 7
JR NZ,FNXT:LD A,E:ADD A,32
LD E,A:JR C,FNXT
LD A,D:SUB 8:LD D,A
FNXT INC L:JR NZ,FLP1
LD HL,PLOTTBL+#C0,BC,#3F
LD DE,HL:INC E
LD (HL),0:LDIR
RET
;----------- plot DE=x.y------------------------
PLOT
PUSH HL,BC:LD H,HIGH PLOTTBL,L,D,B,(HL):INC H
LD A,(HL),L,E:INC H:OR (HL)
INC H:LD C,A,A,(BC)
OR (HL):LD (BC),A
POP BC,HL:RET
end
display /d,end-begin
savesna "test.sna",begin
---------- Post added at 07:32 ---------- Previous post was at 07:31 ----------
В библиотеке? или откуда взят?
Если про библиотеку пусть висит, она всем новичкам нужна
а попроще с комментариями написать религия не позволяет?)
---------- Post added at 07:34 ---------- Previous post was at 07:32 ----------
fade_in, fade_out и т.д.
общие процедуры для атрибутов?
пишите в "Библию.." табличный принцип тогда в целом. или все же процедуры?
Этюдных куча была, чтоб не вспоминать и не искать их
---------- Post added at 06:38 ---------- Previous post was at 06:38 ----------
а попроще с комментариями написать религия не позволяет?)
напиши попроще, проще у меня голова уже не соображает :)
goblinish
27.07.2012, 08:06
напиши попроще, проще у меня голова уже не соображает :)
Дода, ты математику добавь - деление, умножение там...
Линия, не знаю, насколько быстрая, автор Johny Coder/BMZ
PIX_TAB EQU #7C00
device zxspectrum128
ORG #6000
begin
CALL INIT
;HL=XY,BC=YX
ld BC,#bfff;bf
MAIN EI:HALT
LD A,0:OUT (#FE),A
push bc
LD HL,#0000
CALL DRAW
LD A,2:OUT (#FE),A
pop bc:dec c:jr z, wkey
jp MAIN
wkey
LD A,#7F:IN A,(#FE)
RRA:JR C,wkey;MAIN
EXX:LD HL,#2758:EXX
RET
;-------------------------------
DRAW LD (TEK_POI+1),HL,E,H
LD H,high PIX_TAB,A,(HL);[
INC H:LD D,(HL):INC H
LD L,E:OR (HL):LD E,A
INC H:LD A,(DE):OR (HL)
LD (DE),A
LD HL,(TEK_POI+1),DE,#FFFF
LD A,H:SUB C:JR NC,$+6
NEG:LD E,1,C,A
LD A,L:SUB B:JR NC,$+6
NEG:LD D,1,B,A
LD A,C:CP B:JR NC,L24C4
LD L,C:PUSH DE:XOR A
LD E,A:JR L24CB
L24C4 OR C:RET Z:LD L,B,B,C
PUSH DE:LD D,0
L24CB LD H,B,A,B
RRA
L24CE ADD A,L:JR C,L24D4
CP H:JR C,L24DB
L24D4 SUB H:LD C,A
EXX:POP BC:PUSH BC
JR TEK_POI
L24DB LD C,A:PUSH DE
EXX:POP BC
TEK_POI LD HL,0,A,C
ADD A,H
LD H,A,A,B
ADD A,L:LD L,A
LD (TEK_POI+1),HL
LD E,H,H,high PIX_TAB;[
LD A,(HL):INC H
LD D,(HL):INC H
LD L,E:OR (HL)
LD E,A:INC H
LD A,(DE):OR (HL):LD (DE),A
EXX:LD A,C:DJNZ L24CE
POP DE
RETURN RET
;ANY RET
INIT LD DE,#4000,L,E,BC,#8000;#C000
ILP1 LD H,high PIX_TAB,(HL),E:INC H;[
LD (HL),D:INC H
LD (HL),C:INC H
LD (HL),B
CALL DOWN_DE;,DOWN_DE
RRC B;,B
LD A,C:ADC A,0:LD C,A
INC L:JR NZ,ILP1
; LD HL,PIX_TAB+96;256+96
;ILP2 LD (HL),0:INC L:JR NZ,ILP2
RET
;-------------------------------
DOWN_DE INC D:LD A,D:AND 7:RET NZ
LD A,E:ADD A,32:LD E,A:RET C
LD A,D:SUB 8:LD D,A:RET
end
display /d,end-begin
savesna "test.sna",begin
[COLOR="Silver"]
Andrew771
27.07.2012, 10:00
Процедуры могут быть оптимизированы по быстродействию или по памяти - это надо указывать. А то не всегда подходит под текущий проект.
Вот список, что неплохо бы иметь: http://zx.pk.ru/showpost.php?p=356168&postcount=62
goblinish
27.07.2012, 10:13
Процедуры могут быть оптимизированы по быстродействию или по памяти - это надо указывать
и кто возьмется?))))
А чем http://zxdn.narod.ru/ не устраивает?
goblinish
27.07.2012, 10:48
А чем http://zxdn.narod.ru/ не устраивает?
Содержанием "Библии...", пожалуй
Содержанием "Библии...", пожалуй
То есть?
А чем http://zxdn.narod.ru/ не устраивает?
Устраивает, но там тоже искать долго! хочется чтоб вся мелочь была под рукой и 100 раз её не писать
Да как-то хочется это потом прикрутить к текстовику.
Чтоб команда down_hl заменялась при ассемблировании на конструкцию из 15 байт
Из своего опыта: у меня руки быстрее пишут чем голова думает, и тем более вспоминает. Если бы каждый день писал эти коротышки то от пальцев бы отлетали, а так блин вспоминать надо, да и зачем лишний раз писательством заниматься.
moroz1999
27.07.2012, 11:35
Нужна Wiki!
Министерство тяжелого велосипедостроения представляет...
А не смущает, что как только твоя "легкая в поиске" сборная солянка разрастется в объеме (если на нее раньше не забьют), в ней тоже станет резко сложно искать?
мне без разницы, забьют или нет. Для себя я её точно сделаю. Кстати солянка будет не из 1000 процедур а из самых постоянно используемых.
Это не мега проект! Как кто-то тут думает :)
goblinish
27.07.2012, 13:01
То есть?
в том, что ТС привел, процедуры проще. С комментариями тоже.
---------- Post added at 12:07 ---------- Previous post was at 12:06 ----------
Кстати, давно в голове моталась идея "энциклопедия демоэффектов".
черновик потерян, правда.
---------- Post added at 13:01 ---------- Previous post was at 12:07 ----------
старая,гл интересная процедура - вычисление синуса.
; Industrial Rotozoomer Intro: Nrrr-ka-rrrk
; by gasman / hooy-program
org 0x8000
out (254),a ; hope that a is 0 at this point
; make sinewave
stack_a equ 0x2d28
fp_to_a equ 0x2dd5
ld a,64
call stack_a
rst 0x28
db 0xc4 ;store 64 into mem 4
db 0xa3 ;push half-pi
db 0x01 ;exchange
db 0x05 ;divide (-> pi/128)
db 0xc3 ;store pi/128 into mem 3
; db 0x02 ;discard it (nice but unnecessary?)
db 0xa0 ;push 0
db 0x38 ;return
ld hl,sine
sinelp
push hl
rst 0x28
db 0xe3 ;recall pi/128
db 0x0f ;add
db 0x31 ;duplicate
db 0x1f ;sine
db 0xe4 ;recall 64 from mem 4
; db 0xa1 ;push 1
; db 0x03 ;subtract 1 to give 63
db 0x04 ;multiply
db 0xe4 ;recall 64 again
db 0x0f ;add again
db 0x38 ;return
call fp_to_a
sub 64
pop hl
ld (hl),a
inc l
jr nz,sinelp
moroz1999
27.07.2012, 13:36
ну мож и wikiЯ могу легко установить какой-нибудь вики-движок к себе на хостинг (туда же, где zx-art), но будет ли кто-нибудь туда писать?
Andrew771
27.07.2012, 13:39
Я могу легко установить какой-нибудь вики-движок к себе на хостинг (туда же, где zx-art), но будет ли кто-нибудь туда писать?
изредка, по возможности
первым делом надо всем вместе разработать структуру. делать это лучше в каком-нить редакторе (сервисе), где возможно одновременное редактирование. может, гуглодокс или другие какие (если надо, могу других примеров привести).
после этого можно ставить двиг и начинать (с готовым планом работ!). а без структуры точно ничего не получится...
goblinish
27.07.2012, 13:46
первым делом надо всем вместе разработать структуру. делать это лучше в каком-нить редакторе (сервисе), где возможно одновременное редактирование. может, гуглодокс или другие какие
гемор. хорош, когда совместно редактируют.
а так, что и в вики обсуждение в срач превратится
---------- Post added at 13:46 ---------- Previous post was at 13:45 ----------
Я могу легко установить какой-нибудь вики-движок к себе на хостинг (туда же, где zx-art), но будет ли кто-нибудь туда писать?
ты и на письмо-то не ответил) зачем писать?
а так, что и в вики обсуждение в срач превратится
надо пробовать и всё...
goblinish
27.07.2012, 15:21
надо пробовать и всё...
начни со структуры, попробуем...
moroz1999
27.07.2012, 15:52
ты и на письмо-то не ответил) зачем писать?Вот черт, точно, извиняюсь. Сейчас исправлюсь.
---------- Post added at 14:52 ---------- Previous post was at 14:51 ----------
первым делом надо всем вместе разработать структуру. делать это лучше в каком-нить редакторе (сервисе), где возможно одновременное редактирование. может, гуглодокс или другие какие (если надо, могу других примеров привести).Нужно, чтобы кто-то взял на себя эту минимальную организацию, а лично я обещаю от себя свои наработки опубликовать в том стандарте, в каком договоримся публиковать всё.
goblinish
27.07.2012, 16:40
Нужно, чтобы кто-то взял на себя эту минимальную организацию, а лично я обещаю от себя свои наработки опубликовать в том стандарте, в каком договоримся публиковать всё
лучше вики, тогда и можно заняться.
первый раз заюзал гуглодокс, вот ссылка на документ: https://docs.google.com/document/d/1CQZtruOB5aHPXkHbxmW_6UvoWmhzO3puyJDcny9x_uY/edit
пробуйте смотреть, редактировать, пишите сюда, если что не то...
goblinish
27.07.2012, 21:23
Что-то дописал. не знаю, кому как.
хм, интересно:) разрешил редактирование, надеюсь на всеобщую адекватность:)
просьбы:
1. дописывать пункты можно прямо в структуру, если точно уверены, что тут этим пунктам место
2. в чем не уверены - пишите коммент с вопросом
3. не удалять чужое (свое можно)
4. чатиться можно внизу
goblinish
28.07.2012, 06:57
гггг. осталось академикам наполнять контент..
goblinish
28.07.2012, 15:31
маленькая шпаргалка по z80.
NEO SPECTRUMAN
29.07.2012, 01:06
А заюзать ZXPKWIKI не?
goblinish
29.07.2012, 01:10
А заюзать ZXPKWIKI не?
не предлагали:v2_dizzy_step:
NEO SPECTRUMAN
29.07.2012, 01:11
ТАК БЕГОМ ТУДА!!!
усем.
goblinish
29.07.2012, 01:15
ТАК БЕГОМ ТУДА!!!
усем.
пока что "у нас своя атмосфера", хоть и малоактивная:v2_dizzy_coder:
Andrew771
29.07.2012, 12:55
По-моему, новую Вики не стоит делать, лучше или вклиниться в существующую (speccy.info), а еще лучше создать отдельный сайт на JavaScript например. Нужен только каталог процедур, с поиском по полям.
Каждая процедура должна содержать поля:
- название на русском и английском языках (хорошо бы, чтобы и названия меток внутри процедуры не совпадали с метками из других процедур);
- список входных параметров (регистров);
- список выходных параметров (регистров);
- какие регистры портятся;
- тип оптимизации (по быстродействию, по памяти, не оптимизирована);
- размер в байтах;
- время выполнения в тактах.
А описание железа вообще ни к чему.
goblinish
29.07.2012, 13:59
а еще лучше создать отдельный сайт на JavaScript например
лол, что не на CMS?
- название на русском и английском языках (хорошо бы, чтобы и названия меток внутри процедуры не совпадали с метками из других процедур);
это для ленивого поколения ЕГЭ? Busy в статьях себя вообще не утруждает.
- тип оптимизации (по быстродействию, по памяти, не оптимизирована);
шутите? кому оптимизация нужна? запилите отдельную статью проотсчет такотв и оптимизацию, будет достаточно.
- размер в байтах;
- время выполнения в тактах.
бугога. конструктор для школоты?
лучше или вклиниться в существующую (speccy.info)
никто не предложил, никто не обозначил заинтересованности.
goblinish
29.07.2012, 14:20
еще одна процедура построения окружности.
в приложении -статьи самого автора.
;circle Busy
device zxspectrum128
ORG #8000
tabbod = #6000
begin
run call mkbod
xor a
slucka push af
ld bc,#6080
call circle
pop af
add a,#03
cp #60
jr c,slucka
stu jr stu
ret
circle ld d,a
or a
jp z,bod
inc a
ld h,b
ld l,c
ld (xy14+1),hl
ld (xy15+1),hl
ld (xy16+1),hl
ld (xy17+1),hl
ld xl,a
dec a
ld e,a
ld a,d
add a,b
ld b,a
push de
call bod
pop de
ld a,b
sub d
sub d
ld b,a
push de
call bod
pop de
ld a,b
add a,d
ld b,a
ld a,c
add a,e
ld c,a
push de
call bod
pop de
ld a,c
sub e
sub e
ld c,a
call bod
ld d,#00
ld h,d
ld l,d
ld e,xl
ld ix,#ff
e130 inc d
ld c,d
ld b,#00
add hl,bc
ld a,h
add a,a
jr nz,e130
push hl
add hl,hl
add hl,hl
xor a
ld b,a
ld c,e
sbc hl,bc
pop hl
jr c,e130
ld b,#00
ld c,e
sbc hl,bc
dec e
push hl
call eelin
pop hl
ld xl,d
xor a
xor xh
jr z,e130
ret
eelin inc xl
ld a,xl
cp e
jr z,eeln1
ld a,e
cp d
jr nc,eeln1
ld xh,d
ret
eeln1 push de
push ix
xy14 ld bc,#5555
ld a,b
add a,e
ld b,a
push de
call ccnn1
pop de
xy15 ld bc,#5555
ld a,b
sub e
ld b,a
call ccnn1
pop ix
pop de
ld a,d
cp e
jr nz,eeln2
cp xl
ret z
eeln2 push de
push ix
xy16 ld bc,#5555
ld a,c
add a,e
ld c,a
push de
call ccnn2
pop de
xy17 ld bc,#5555
ld a,c
sub e
ld c,a
call ccnn2
pop ix
pop de
ret
ccnn1 push bc
push de
ld a,c
sub d
ex af,af
ld a,c
sub xl
ld d,a
ex af,af
ld c,a
call rovno
pop de
pop bc
ld a,c
add a,d
ld d,a
ld a,c
add a,xl
ld c,a
jp rovno
ccnn2 push bc
push de
ld a,b
sub d
ex af,af
ld a,b
sub xl
ld d,a
ex af,af
ld b,a
call zvislo
pop de
pop bc
ld a,b
add a,d
ld d,a
ld a,b
add a,xl
ld b,a
jp zvislo
;----------------------
bod ld h, high tabbod;>
ld l,b
ld d,(hl)
inc h
ld a,(hl)
inc h
ld l,c
or (hl)
ld e,a
inc h
ld a,(de)
bodset xor (hl)
ld (de),a
ret
;--------------------------
hitbod = high tabbod ;>
rovno ld a,d
cp c
jr nc,rov01
ld d,c
ld c,a
rov01 ld h,hitbod+2
ld l,c
ld a,(hl)
dec h
ld l,b
or (hl)
dec h
ld h,(hl)
ld l,a
ld a,c
and #f8
ld e,a
ld a,d
and #f8
cp e
jr nz,r2byte
ld a,c
and #07
ld b,a
ld a,#ff
jr z,rov02
rov03 srl a
djnz rov03
rov02 ld c,a
rov99 ld a,d
and #07
ld b,a
ld a,#80
jr z,rov04
rov05 scf
rra
djnz rov05
rov04 and c
ooset1 xor (hl)
ld (hl),a
ret
r2byte sub e
rrca
rrca
rrca
ld e,a
ld a,c
and #07
ld b,a
ld a,#ff
jr z,ooset2
rov06 srl a
djnz rov06
ooset2 xor (hl)
ld (hl),a
ld b,c
ld c,#ff
rov40 inc l
dec e
jr z,rov99
ld a,c
ooset3 xor (hl)
ld (hl),a
jr rov40
zvislo ld a,d
cp b
jr nc,zv2
ld d,b
ld b,a
zv2 ld a,d
sub b
ret c
inc a
ld d,a
ld h,hitbod+3
ld l,c
ld e,(hl)
dec h
ld a,(hl)
dec h
ld l,b
or (hl)
dec h
ld h,(hl)
ld l,a
ld a,b
zvis cpl
and #07
inc a
ld b,a
zv1 ld a,e
ooset4 xor (hl)
ld (hl),a
inc h
dec d
ret z
djnz zv1
ld b,#08
ld a,#20
add a,l
ld l,a
jr c,zv1
ld a,#f8
add a,h
ld h,a
jr zv1
;--------------------form
mkbod ld ix,tabbod
ld hl,#4000
mkbb1 ld (ix+#00),h
inc xh
ld (ix+#00),l
dec xh
call dole
inc xl
jr nz,mkbb1
inc xh
inc xh
mkbb2 ld a,xl
rrca
rrca
rrca
and #1f
ld (ix+#00),a
ld a,xl
cpl
add a,a
add a,a
add a,a
or #c7
ld (mkbb3+1),a
xor a
mkbb3 set 1,a
inc xh
ld (ix+#00),a
dec xh
inc xl
jr nz,mkbb2
ret
dole inc h
ld a,h
and #07
ret nz
ld a,#20
add a,l
ld l,a
ret c
ld a,#f8
add a,h
ld h,a
ret
end
display /d,end-begin
savesna "test.sna",begin
Andrew771
29.07.2012, 14:40
бугога. конструктор для школоты?
Ну дык смысл всей этой библиотеки, чтобы любой спектрумист любого уровня взял оттуда любую процедуру, вставил в свой проект как есть, без переделок, и всё заработало. Без всяких танцев с бубном и без поисков чужих глюков.
Кстати, нужен какой-то контроль процедур, помещаемых на сайт, на полность и работоспособность. А то в статьях авторы любят сокращать и ссылаться на какие-то якобы известные другие процедуры из другой прессы.
никто не предложил, никто не обозначил заинтересованности.
А чего, в Вики не всех допускают?
---------- Post added at 14:40 ---------- Previous post was at 14:31 ----------
Сообщение от Andrew771
- тип оптимизации (по быстродействию, по памяти, не оптимизирована);
шутите? кому оптимизация нужна? запилите отдельную статью проотсчет такотв и оптимизацию, будет достаточно.
это пусть тоже будет. Это же не принуждает ни к чему автора процедуры, а просто указывает для ее пользователя. Например, сейчас я в пошаговой стратегии и Эрудите пишу процедуры, оптимизированные по размеру, т.к. много всего нужно впихнуть, а быстродействие не важно (кроме алгоритма чтения словаря в Эрудите). А вот в ZXOOM наоборот, места не жалел ради быстродействия. В большинстве дем тоже нужна оптимизация по быстродействию.
goblinish
29.07.2012, 15:05
Кстати, нужен какой-то контроль процедур, помещаемых на сайт, на полность и работоспособность.
Да, вообще-то. появление процедуры - только без проверки на работоспособность.
Естественно, неплохо бы и более быстрых вариантов.
Ну дык смысл всей этой библиотеки, чтобы любой спектрумист любого уровня взял оттуда любую процедуру, вставил в свой проект как есть, без переделок, и всё заработало.
Вы о библиотеке или про подборку процедур говорите?
В большинстве дем тоже нужна оптимизация по быстродействию
Все это и сводится к "Библии демомейкера", где и должны описываться трюки и прочее - табличный подход, подсчет тактов, стековый доступ к памяти..
не вижу смысла, пока не готов черновик, который набросали и не наполнили.
туда, кстати, и математика нужна.
А чего, в Вики не всех допускают?
в той, что есть, мне не интересно.
в speccy.info я дописывал немного, и интерес пропал. нужен свой тупичок "Демо" и подопытные из начинающих, которые не задавали бы вопросов после прочтения.
Да и самому текстовка с процедурами поднадоела.
Andrew771
29.07.2012, 15:13
Вы о библиотеке или про подборку процедур говорите?
Подборка процедур на ассемблере. Один текстовый писишный файл - одна процедура.
Все это и сводится к "Библии демомейкера", где и должны описываться трюки и прочее - табличный подход, подсчет тактов, стековый доступ к памяти..
не вижу смысла, пока не готов черновик, который набросали и не наполнили.
туда, кстати, и математика нужна.
Ну тут у нас уже конечный результат, без всяких описаний. Тот, кто пользуется процедурами, может даже не вникать, как они устроены, а тупо брать к себе в текст программы и вызывать.
---------- Post added at 15:13 ---------- Previous post was at 15:12 ----------
Да, вообще-то. появление процедуры - только без проверки на работоспособность.
Естественно, неплохо бы и более быстрых вариантов.
Т.е., могут быть процедуры, делающие одно и то же, но первая оптимизирована по быстродействию, а вторая по размеру.
moroz1999
29.07.2012, 15:58
Вики хороши тем, что любые желающие могут вести их там, где захотят.
Кто сказал, что нам нужно ограничиваться только одной вики? Всегда можно всё продублировать хоть в миллион вики-проектов, были бы желающие.
Структура, набросанная в гуглодоке - отличная, на мой взгляд. Осталось договориться о формате исходников, изложу своё видение:
1. Нам нужен полный исходник прямо в тексте статьи? Имхо, в тексте статьи нужно набросать основные принципы работы с кусками кода.
2. Полный исходник можно приаттачить к статье в формате SJASM, чтобы его можно было легко запустить.
Нужны ли примеры? Например, к исходнику рисования линии можно приаттачить простой пример, рисующий одну простую линию и запускающийся через bat-файл - это было бы идеально для любых новичков, пробующих что-нибудь сделать.
Как описывать зависимости от библиотек? Например, процедурка, рисующая примитивный векторный 3d-кубик, наверняка будет использовать рисование линиями, и хорошо было бы его не копипейстить, а оформить как отдельный модуль и обозначить в статье и заголовке файла, что процедура его требует для работы.
Что думаете об этом?
Кратко говоря, имхо, все процедуры должны быть оформлены в MODULE, лежать в SJASM и иметь максимально краткий комментарий с описанием входных параметров и зависимостей.
goblinish
29.07.2012, 17:03
Как описывать зависимости от библиотек? Например, процедурка, рисующая примитивный векторный 3d-кубик, наверняка будет использовать рисование линиями, и хорошо было бы его не копипейстить, а оформить как отдельный модуль и обозначить в статье и заголовке файла, что процедура его требует для работы.
Что думаете об этом?
Думаю, что в моем исходнике, ни под Шторм, ни под cjASM никто без стакана не разберется:v2_dizzy_facepalm:
процедурки можно и позже после наполнения дополнять, я думаю.
---------- Post added at 17:03 ---------- Previous post was at 16:59 ----------
Нужны ли примеры? Например, к исходнику рисования линии можно приаттачить простой пример, рисующий одну простую линию и запускающийся через bat-файл - это было бы идеально для любых новичков, пробующих что-нибудь сделать.
аналогично, что делалось - скомпиленный snapshot, любой может проверить в работоспособности, да и пример вызова процедуры вряд ли вызвал вопросы.
с определенными оговорками можно собрать и кусочки кода, началось бы движение, наполнить Вики тем, что здесь мелькало.
но, снова повторюсь, я против библиотек, удобнее копипастнуть кусочек кода, до ума сам доведу.
аналогичное, кстати делал, но не в Вики, а как набор статей.
Нужен только каталог процедур, с поиском по полям.
ага, заходит чувак, ищет: вывод спрайта. качает, запускает, а оно не работает (не потому что код кривой). кто виноват? что делать? вот поэтому должны быть еще и описания использования, описание принципов работы. это немного больше, чем тупо сборник готовых процедур.
А описание железа вообще ни к чему.
всё к чему! если в одном месте будет всё собрано (описание + примеры программ), будет очень полезно всем.
А чего, в Вики не всех допускают?
я лишь предположу, что это просто отдельная от всех идея. лично мне бы хотелось это реализовать так, как оно видится, а уж потом где эта инфа будет (именно в задуманном виде) - не так важно.
Тот, кто пользуется процедурами, может даже не вникать, как они устроены, а тупо брать к себе в текст программы и вызывать.
это не всегда возможно - "тупо брать", могут быть сложные случаи. поэтому должны быть описания.
goblinish
29.07.2012, 17:19
кто виноват? что делать? вот поэтому должны быть еще и описания использования, описание принципов работы
выпрямлять кривые руки чувака. исходники без проверки не стоит публиковать
---------- Post added at 17:18 ---------- Previous post was at 17:17 ----------
всё к чему! если в одном месте будет всё собрано (описание + примеры программ), будет очень полезно всем.
отчасти - это зеркало zxpress/zxdn. по программированию железа было бы интересно, как я написал в коментарии, это по звуку.
---------- Post added at 17:19 ---------- Previous post was at 17:18 ----------
поэтому должны быть описания
описание постепенно вырисовывается, с чем я, поразмыслив, согласен.
но без оптимизации, не школа демомейкеров.
1. Нам нужен полный исходник прямо в тексте статьи? Имхо, в тексте статьи нужно набросать основные принципы работы с кусками кода.
2. Полный исходник можно приаттачить к статье в формате SJASM, чтобы его можно было легко запустить.
сложно сказать... с одной стороны, было бы удобно прямо там смотреть исходник, с другой - слишком длинные исходники - перебор (хотя, они в окошке с прокруткой будут? может тогда пофиг?).
но если хранить, в тексте можно приводить только саму функцию(-ии), а в виде файла прикреплять SjASM'овский исходник-пример, который делает снапшот.
думаю, как именно это оформлять - надо будет обязательно договориться, возможно через некоторое время после начала наполнения, но предлагаю формат исходников выбрать совместимый с SjASM и желательно более приближенный к обычному стандартному синтаксису (без ненужного задротства с макросами, псевдо-командами и т.д.). это надо будет потом в виде статьи описать.
Кратко говоря, имхо, все процедуры должны быть оформлены в MODULE, лежать в SJASM и иметь максимально краткий комментарий с описанием входных параметров и зависимостей.
хм.. наверное, это (module) имеет смысл для библиотек. а такие планируются? я про целые библиотеки как-то не думал...
Думаю, что в моем исходнике, ни под Шторм, ни под cjASM никто без стакана не разберется
поэтому, описание принципов - обязательно! будет куда проще понять, что автор хотел сделать и как.
---------- Post added at 19:25 ---------- Previous post was at 19:23 ----------
выпрямлять кривые руки чувака. исходники без проверки не стоит публиковать
исходники-то проверенные, просто может быть непонимание по неопытности... а если не объяснять, все будут бояться пользоваться.
goblinish
29.07.2012, 17:43
исходники-то проверенные, просто может быть непонимание по неопытности... а если не объяснять, все будут бояться пользоваться.
а зачем объяснять?
сомнение в работоспособности - вешайте плашку "не проверено", пока не подтвердят.
тупой пример: выводилка спрайтов, когда XY задаются не в пикселях, а в знакоместах. или X в знакоместах, а Y в пикселях. и вот берет Вася эту процедуду и выводит спрайт куда-то далеко за пределы экрана... на экране ничего, а что-то еще - глючит. ясно кто виноват, но ему ведь не объяснили доступным языком, как это работает и почему нельзя.
или формат спрайтов хитрый. или еще что-то такое... короче, я за описания!
goblinish
29.07.2012, 18:27
короче, я за описания!
как писал один из модераторов- хоть красным жирным пиши, читать не будут
наплюй. что я и сделал.
единственное что - разделять исходники на общий и отличный от sjasm, так доступнее. Если не работает, не наши проблемы, есть форум.
ближе к телу. когда вики готова и доступна будет?
Andrew771
29.07.2012, 18:31
но, снова повторюсь, я против библиотек, удобнее копипастнуть кусочек кода, до ума сам доведу.
аналогичное, кстати делал, но не в Вики, а как набор статей.
всё к чему! если в одном месте будет всё собрано (описание + примеры программ), будет очень полезно всем.
в таком случае пользуйтесь http://zxdn.narod.ru/ и не морочьте голову. А лучше, пополняйте его.
Я за библиотеку готовых процедур с краткими описаниями входных и выходных параметров, в стандартном спековском ассемблере без макросов и недокументированных команд, в текстовых файлах, подходящих для любых кросс-компиляторов, а не только SJASM.
в таком случае пользуйтесь http://zxdn.narod.ru/ и не морочьте голову. А лучше, пополняйте его.
ну уж нет уж! мы сделаем свой, с блэкджеком! :))) на zxdn только перепечатки статей из журналов, новичкам это не сильно помогает. про GS я там ваще не нашел ничего, зато про ультра-редкий DMAUSC что-то дофига статей.
наплюй. что я и сделал.
ну, если говорить только за себя, можно вообще наплевать на все это, мне когда что-то надо, я всегда раскопаю сам, как 100500 раз уже делал. просто в форуме часто возникают вопросы простые, вроде и знаешь что человеку нужно, а писать лень/долго, примеров кода под рукой нет.
goblinish
29.07.2012, 18:53
ну, если говорить только за себя, можно вообще наплевать на все это, мне когда что-то надо
а что это ТС молчит?:rolleyes_std:
по большому счету - да, у самомого исходники постепенно собираются, заодно рипнутые для себя, не с целью использовать, демоэффекты,
так что само обсуждать не особо интересно, если не будет ресурса.
NovaStorm
29.07.2012, 19:06
новичкам это не сильно помогает
Мне помогло. В том числе и потому, что алгоритмы полезнее кода, который для себя всё равно нужно ещё модифицировать, а то и переписывать.
moroz1999
29.07.2012, 19:16
Я считаю, что описание необязательно, его можно добавлять по факту возникновения проблемы или по личному желанию.
Чем меньше правил мы придумаем - тем больше желающих будет участвовать, а нас и так немного.
goblinish
29.07.2012, 20:16
Я считаю, что описание необязательно, его можно добавлять по факту возникновения проблемы или по личному желанию.
Чем меньше правил мы придумаем - тем больше желающих будет участвовать, а нас и так немного.
предлагаю попробовать начать с черновика, тем более, желание есть.
посмотрим, как получится.
в общем, глянул, вроде норм. раз все примерно согласны, давайте запиливать:)
moroz1999, запускай! :)
Как описывать зависимости от библиотек? Например, процедурка, рисующая примитивный векторный 3d-кубик, наверняка будет использовать рисование линиями, и хорошо было бы его не копипейстить, а оформить как отдельный модуль и обозначить в статье и заголовке файла, что процедура его требует для работы.
В статье в виде сносок надо указывать зависимости. К примеру - необходимы процедуры:
- adr_hl (Расчет адреса на экране по координатам)
- down_hl (Расчет адреса нижней строки на экране)
и пр.
И эти сноски оформить в виде ссылок на определенные статьи.
goblinish
30.07.2012, 08:58
- adr_hl (Расчет адреса на экране по координатам)
- down_hl (Расчет адреса нижней строки на экране)
мы так и обзывали -NBDE(next byte DE)
метки - не парился, обзывал m0,m1(loading:)),m2 и т.д.
это потом уже стал использовать lp1 или <процедура>lp1, например fadelp1
и смещения по условию.
названия имен не важны, если дело дойдет до библиотеки,метки обзовутся, как нужно.
NovaStorm
30.07.2012, 09:42
>названия имен не важны
Конечно, я вообще в 90% случаев пользуюсь метками-ссылками вперёд-назад.
goblinish
30.07.2012, 10:23
>названия имен не важны
Конечно, я вообще в 90% случаев пользуюсь метками-ссылками вперёд-назад.
тем более, что путный ассемблер на дублированные ссылки обругается.
если исходники собирать, а не либу тащить:rolleyes_std:
goblinish, путные ассемблеры понимают локальные метки, типа ".loop" и при использовании их дублей в большом проекте не вызовет ошибок.
moroz1999
30.07.2012, 11:37
Поставил на скорую руку:
http://wiki.maros.pri.ee - пока домен такой, если дело пойдет, то зарегистрируем что-нибудь попроще, но сейчас важно увидеть, что дело двинется с мертвой точки.
Выбрал при инсталляции лицензию Creative Commons ShareAlike на все материалы - надеюсь, все с этим согласны? Имхо, любое распространение материалов из вики по программированию должно приветствоваться, вплоть до банального передирания в любые другие ресурсы без упоминания источника. Вы согласны с этим?
Кстати, если чо, у хостера делается бэкап базы по нескольку раз в день.
NovaStorm
30.07.2012, 11:55
Выбрал при инсталляции лицензию Creative Commons ShareAlike на все материалы - надеюсь, все с этим согласны?
На наши материалы - хоть WTFPL =) CC-SA не обязательно, можно CC-BY, но вообще я заметил, что на сегодня люди пишут просто под public domain
Имхо, любое распространение материалов из вики по программированию должно приветствоваться, вплоть до банального передирания в любые другие ресурсы без упоминания источника. Вы согласны с этим?
Кстати, если чо, у хостера делается бэкап базы по нескольку раз в день.
Для свободной вики эти дампы(без юзеров конечно, только данные) должны быть доступны всем, как на википедии с энциклонгами.
goblinish
30.07.2012, 11:56
кому работа, кодеры?
процедура заливки floodfill вытащена из 1ddkit,естественно без комментариев.
оригинал, вроде бы в ZX Review, но с ошибкой, которую исправляли.
и один баг - если в исходнике построить окружность радиуса $58, то заливка кривая.
буду продолжать изыскания...
goblinish
30.07.2012, 11:58
goblinish, путные ассемблеры понимают локальные метки, типа ".loop" и при использовании их дублей в большом проекте не вызовет ошибок.
dup 7
xor a:jr nz,m1
m1
edup
ню-ню...
HLA много чего понимают тащемта.
NovaStorm
30.07.2012, 12:07
HLA много чего понимают тащемта.
Во! Хочу! Хочу знать, как от асма чуть ли не на машкоде макрами(или другими средствами асма) подниматься уровнем повыше. Очень нужен чужой опыт.
Имхо, любое распространение материалов из вики по программированию должно приветствоваться, вплоть до банального передирания в любые другие ресурсы без упоминания источника. Вы согласны с этим?
я согласен. но чужие статьи из журналов мы как бы не можем использовать как есть (если оно подходит по формату)? мало ли, авторы там обидятся или еще чего... или плевать?:)
goblinish
30.07.2012, 12:36
Во! Хочу! Хочу знать, как от асма чуть ли не на машкоде макрами(или другими средствами асма) подниматься уровнем повыше. Очень нужен чужой опыт.
Забей. от лукавого они, хотя и удобны в написании кода.
---------- Post added at 12:36 ---------- Previous post was at 12:29 ----------
мало ли, авторы там обидятся или еще чего... или плевать
спроси разрешения на публикацию)
или... если алгоритм, а не статья, написанный тобой, то ссылка обязательна.
moroz1999
30.07.2012, 13:36
я согласен. но чужие статьи из журналов мы как бы не можем использовать как есть (если оно подходит по формату)? мало ли, авторы там обидятся или еще чего... или плевать?:)Предлагаю действовать по факту:
1. Лицензию я, наверное, срублю на всякий случай.
2. В опубликованных статьях будем оставлять ссылки на первоисточники по мере обнаружения таковых.
3. Если авторы оригиналов будут против - снимаем статью, переписываем спорный код сами с нуля, д̶е̶л̶а̶е̶м̶ ̶ф̶а̶к̶т̶р̶о̶ ̶и̶ ̶ж̶е̶с̶т̶к̶о̶ ̶ф̶а̶ч̶и̶м̶ ̶к̶о̶п̶и̶р̶а̶с̶т̶о̶в̶ :)
goblinish
30.07.2012, 13:40
Если авторы оригиналов будут против - снимаем статью
валим, если возможно, то в архив, до доработки
д̶е̶л̶а̶е̶м̶ ̶ф̶а̶к̶т̶р̶о̶ ̶и̶ ̶ж̶е̶с̶т̶к̶о̶ ̶ф̶а̶ч̶и̶м̶ ̶к̶о̶п̶и̶р̶а̶с̶т̶о̶в̶
лехко! тем более, что материал накоплен:cool_std:
или плевать?
а на zxpress.ru как выложены статьи журналов? там у всех авторов разрешения получены на публикацию?
Не надо плодить новые вики по Спектруму. Уже есть SpeccyWiki. Думаете, легко было нам с ZXDN её поднять и раскрутить?
alone, надо, не надо, а мы попробуем. без обид.
как уже сказали, потом с контентом можно что-то еще придумать, может объединить, хз, но пока что меня zxdn не устраивает (лень формализовать причины).
в общем, кто не хочет, кто против, давайте просто подождем и посмотрим, покатит или нет.
NEO SPECTRUMAN
30.07.2012, 16:15
меня zxdn не устраивает (лень формализовать причины)
В 2-х словах.
Набор старья за 96-98 год.
А сейчас уже.
Да и мало.
На ZXPRESS намного больше.
moroz1999
30.07.2012, 16:21
Если я правильно понял, то alone предлагает не zxdn (http://zxdn.narod.ru/) развивать, а SpeccyWiki (http://speccy.info/).
Лично я не против - как скажете, так и сделаю.
goblinish
30.07.2012, 16:22
давайте просто подождем и посмотрим, покатит или нет
и когда начнется, пока время есть?
NEO SPECTRUMAN
30.07.2012, 16:29
ZXDN мертв.
---------- Post added at 15:29 ---------- Previous post was at 15:27 ----------
не zxdn развивать, а SpeccyWiki.
Гляньте дату последнего обновления и сразу ясно чего надо развивать.
Гляньте дату последнего обновления и сразу ясно чего надо развивать.
26 июля. С учетом летнего застоя и вышеупомянутого стремления поджедайствовать - весьма актуальные обновления.
moroz1999
30.07.2012, 16:32
Гляньте дату последнего обновления и сразу ясно чего надо развивать.4 дня назад (http://speccy.info/Служебная:RecentChanges) вроде как. Мы точно об одном и том же говорим?
goblinish
30.07.2012, 16:34
4 дня назад (http://speccy.info/Служебная:RecentChanges) вроде как. Мы точно об одном и том же говорим?
и какова ценность местечковой вики?
moroz1999
30.07.2012, 16:34
alone прав с той точки зрения, что, открыв новую вики, мы наступим на все те же грабли: установим с нуля всяких плагинов, поборемся со спамом, поприкручиваем отображение картинок. Нам это точно надо? Какие плюсы это принесет по сравнению с уже рабочим решением?
goblinish
30.07.2012, 16:35
alone прав с той точки зрения, что, открыв новую вики, мы наступим на все те же грабли: установим с нуля всяких плагинов, поборемся со спамом, поприкручиваем отображение картинок. Нам это точно надо? Какие плюсы это принесет по сравнению с уже рабочим решением?
Тогда - куда прилепить?
moroz1999
30.07.2012, 16:36
и какова ценность местечковой вики?
2937 статей, например.
NEO SPECTRUMAN
30.07.2012, 16:36
Мы точно об одном и том же говорим?
Об одном и том же.
Имел ввиду что ZXDN не обновлялся лет 5. и про него можно забыть.
А Speccy wiki постоянно обновляется и именно его нужно поддерживать.
А все к этой фразе
Если я правильно понял, то alone предлагает не zxdn развивать, а SpeccyWiki.
Хотя бы ближайщие 5 постов читайте при ответе.
goblinish
30.07.2012, 16:37
2937 статей, например.
как-то не коснулось.
работа - важная, да.
moroz1999
30.07.2012, 16:38
Тогда - куда прилепить?
Если не найдем никаких подводных камней, то можно развивать категорию "программирование" (http://speccy.info/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D 1%8F:%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0 %BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B 5), обосновав всю структуру категорий из гуглодока внутри неё.
goblinish
30.07.2012, 16:41
Если не найдем никаких подводных камней, то можно развивать категорию "программирование" (http://speccy.info/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D 1%8F:%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0 %BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B 5), обосновав всю структуру категорий из гуглодока внутри неё.
повторно - когда?
сейчас, до ЦЦ, есть время, чем заняться.
moroz1999
30.07.2012, 16:46
Предлагаю сделать так - если до завтрашнего вечера никто серьезных аргументов "против" не вбросить, то лично я бы не стал плодить клонов, а занялся бы развитием уже имеющейся базы в лице SpeccyWiki.
Начинать можем когда у кого время будет - можно для пробы какую-нибудь мелочь типа down hl закинуть - заодно увидим, можно ли в вики аттачить файлы.
Если будут проблемы - легко перекопируем всё в другую вики, формат-то тот же.
goblinish
30.07.2012, 16:53
если до завтрашнего вечера никто серьезных аргументов "против" не вбросить
чота я сомневаюсь, что появится. Подождем..
Если я правильно понял, то alone предлагает не zxdn развивать, а SpeccyWiki.
а я "как бы" против. в том плане, что в SpeccyWiki уже есть какая-то структура, нужно в нее вписываться. это может наложить свой отпечаток. а когда, скажем, у нас все будет готово, можно будет подумать как переезжать и надо ли это делать (может SpeccyWiki это не устроит в таком виде). так что я за свободу в песочнице:)
и когда начнется, пока время есть?
у меня вот-вот отпуск будет, думаю, уделить этому время:) а пока, у кого есть время, можно нашу структуру внести в вики.
ну и есть еще небольшой довод: у нас именно для разработчиков вики, ни больше, ни меньше, а там про всё в целом. в ту вики, например, могут пойти схемы девайсов, фотки, а у нас в разделе "девайсы" схем быть не должно, должны быть таблицы с портами, режимами и описание работы (на схемы и прочие доки можно ссылки давать в конце статей). это важно, чтобы разработчик не лез в схему, не читал маркетинговую/историческую хрень, а пользовался справочником для девелопера.
конечная цель, чтобы новички брали инструменты кросс-разработки и относительно просто собирали программы из кубиков. по тем же спрайтам часто возникают вопросы, надо их покрыть. а, например, к своему стыду я не знаю, как правильно компилировать пт3 модули, т.к. разные таблички, разные хер-пойми какие плееры, которые только в виде исходников под аласм, сколько они жрут и вообще. ясен пень, можно разобраться, но надо актуальную инфу делать, чтобы взял и заюзал. сейчас не то время, чтобы сидеть и ковырять дни напролет элементарные вещи, мотивации уже недостаточно.
goblinish
30.07.2012, 20:04
(на схемы и прочие доки можно ссылки давать в конце статей
а вот это, имхо, болезнь педивикии - большинство ссылок дохлые.
---------- Post added at 20:03 ---------- Previous post was at 20:01 ----------
как правильно компилировать пт3 модули, т.к. разные таблички, разные хер-пойми какие плееры
писал новую дему - сразу табличка была. но мне уже лень переделывать. компиляция -это не больно
---------- Post added at 20:04 ---------- Previous post was at 20:03 ----------
сейчас не то время, чтобы сидеть и ковырять дни напролет элементарные вещи, мотивации уже недостаточно
мне видится - есть уже мотивация для изучения процедур.
а вот это, имхо, болезнь педивикии - большинство ссылок дохлые.
а у нас есть доп. фича: мы напишем выпуск журнала со статьей:)
goblinish
30.07.2012, 20:21
а у нас есть доп. фича: мы напишем выпуск журнала со статьей
нууу.. я думал зеркалами сайтов обзаведемся)
а я "как бы" против. в том плане, что в SpeccyWiki уже есть какая-то структура, нужно в нее вписываться.
Портал в вики- вполне себе изолированное образование.
Портал в вики- вполне себе изолированное образование.
может быть. если бы кто-то взял на себя смелость и описал, как бы это могло выглядеть в итоге, может я бы передумал:)
отдельная вики типа zxdn.speccy.info может и покатила бы... я никогда настоящие вики не делал, хз какие там возможности.
и да, я согласен только в том случае, если в статьях не будет ужасного кошмара из макросов аласма;) что-то мне подсказывает, что в случае со SpeccyWiki есть такая опасность... это надо выяснить сразу:) короче, еще ничего нет, а я уже сильно придираюсь... вот поэтому я и хотел песочницу.
конечная цель, чтобы новички брали инструменты кросс-разработки и относительно просто собирали программы из кубиков.
сейчас не то время, чтобы сидеть и ковырять дни напролет элементарные вещи, мотивации уже недостаточно.
Может лучше сразу написать для них LaserBasic-2 или что-то в этом роде? :)
В принципе, все эти вещи, тем, кто их действительно желал знать, уже и так давным давно известны. А если кому нужна мотивация, то это не поможет, хоть им и готовые процедуры выложи.
Раздел в Вики дейстивтельно был бы полезен для разработчиков. Но, думаю, вряд ли это как-то повлияет на ситуацию с разработкой новых программ...
moroz1999
30.07.2012, 23:28
и да, я согласен только в том случае, если в статьях не будет ужасного кошмара из макросов аласма;) что-то мне подсказывает, что в случае со SpeccyWiki есть такая опасность... это надо выяснить сразу:)Жутким макросам место в отдельной статье со своими исходниками :)
---------- Post added at 22:28 ---------- Previous post was at 22:26 ----------
В принципе, все эти вещи, тем, кто их действительно желал знать, уже и так давным давно известныЭто заблуждение.
А если кому нужна мотивация, то это не поможет, хоть им и готовые процедуры выложи.
про мотивацию я сказал в том смысле, что лично меня такая простая вещь как компиляция музыки в новомодном протрекере напрягла, хотя я в курсе, что это простая вещь сама по себе. (да-да, и в т.ч. отсюда у меня нелюбовь к макросам в аласме). раньше было просто, загружаешь в редактор или компилятор, компилишь и всё. щас же хрен, она загрузится, но потом что-нить будет играть не так;) плеерами хз как пользоваться... описания есть, но они не для юзеров, скорее это заметки программистов, приложивших руку. и вот такая мелочь, которая раньше делалась незадумываясь, сейчас демотивирует. если есть возможности сделать хорошо и комфортно - надо делать.
Это заблуждение.
Было бы интересно узнать аргументацию. Сейчас любой пионер легко просмотрит любой код.
Сейчас любой пионер легко просмотрит любой код. Было бы интересно узнать аргументацию (с).
на форуме есть новички, которым не хватает как раз сборища полезной очищенной информации. ваши вот эти "да спрайт вывести очень просто", "да это давно всем известно как делать и везде описано" им не помогут. мне, далеко давно не новичку, тоже не хватает того же, но по более глубоким вопросам.
goblinish
31.07.2012, 08:56
продолжаем тему раскопок и кода.
floodfill с интересной идеей и быстрый, как мне видится.
Чтоб два раза не вставать.
Как all относится к идее на той же wiki организовать портал по форматам файлов? А то в силу ублюдской парольной политики хостера обновлять zxdocs.fatal.ru мне впадлу, а в вики статьи переносить смогу по необходимости.
goblinish
31.07.2012, 10:09
Как all относится к идее на той же wiki организовать портал по форматам файлов?
было бы неплохо к достоверной информации. я недавно с SoundTracker маялся(
А то в силу ублюдской парольной политики хостера обновлять zxdocs.fatal.ru мне впадлу
ССЗБ?
было бы неплохо к достоверной информации. я недавно с SoundTracker маялся(
Хех. Я его почти что реверсил, потом нашел доку чью-то и сверился- практически все совпало:)
ССЗБ?
Пароли на фтп одноразовые.
goblinish
31.07.2012, 10:48
Хех. Я его почти что реверсил, потом нашел доку чью-то и сверился- практически все совпало
Да, и у нас дизассемблер плейера с каментами куда-то затерялся.
Форматы нужны, на самом деле, мне ох как хочется старые исходники в текст перегнать, но ручками - лениво и муторно. было бы описание - я бы импорт написал.
Пароли на фтп одноразовые.
Думаю, был бы посещаем сайт, ты за него взялся, засучив рукава.
сам по себе сужу, когда сайт делал.
goblinish
31.07.2012, 10:51
Допилил, победил таки заливку. по сравнения с прошщлым примером работает. исходник не помещается, каменты излишни.
moroz1999
31.07.2012, 11:27
Было бы интересно узнать аргументацию. Сейчас любой пионер легко просмотрит любой код.Я очень извиняюсь, но расписывать подробно - банально лень. Кратко говоря, любая технология имеет порог вхождения, который можно понизить туториалами для начинающих, ясными изолированными примерами и подробно разжеванной документацией. Если мы хотим, чтобы кто-то из имеющихся новичков-середнячков (вроде меня) поднял свой уровень и сделал что-то занимательное, то, имхо, стоит этот самый порог вхождения максимально поопускать, где получится.
Говорю из личного опыта - в нашей деме на dihalt было бы разнообразнее и быстрее эффекты, если бы не пришлось убить титаническое количество времени на отлаживание банальных вещей.
С проигрыванием PT3 и то пришлось поковыряться - плэйеров уйма, но хрен поймешь, что именно и куда им подсовывать. Вот это тупое изобретание велосипеда ускорить - и будет проще. А то за 15 лет (!!!) с момента появления тех же банальных чанков нет ни единого запускаемого чанкового исходника, хотя бы самого примитивного. И мы хотим, чтобы кто-то новый бросился делать демы?
Чтоб два раза не вставать.
Как all относится к идее на той же wiki организовать портал по форматам файлов?Очень нужны, имхо.
goblinish
31.07.2012, 11:28
наберите RUN после загрузки
вчера смотрел, хитрая процедура для передачи параметров через USR, трудно разобраться без Родионовской книжки под рукой, уйма вызовов ПЗУ.
принцип тот же, процедура 7ef3, hl= адресу на экране, надо будет сверить..
мне интересно, предыдущий оригинал на минилабиринте не подавится?:v2_dizzy_coder:
Shadow Maker
31.07.2012, 11:32
Могу с сайтом помочь, если реально надо. Придумайте только какой хотите.
goblinish
31.07.2012, 11:35
Очень нужны, имхо
с оговоркой - нужны родные, остальное - разве для коллекции хранить.
Как all относится к идее на той же wiki организовать портал по форматам файлов?
всеми руками ЗА!!! :) если не сложно, добавь в структуру куда-нить этот раздел.
Очень нужны, имхо.
всеми руками ЗА!!! если не сложно, добавь в структуру куда-нить этот раздел.
Щаз проконсультируюсь на эту тему. Сразу давайте реквест:)
Как файл .H из alasm перевести в txt?
GM BIT, в аласме есть команда (плагин) Export, не знаю как ранние версии, но в последних я так делал.
в TC inALASM.wlx
вполне отличЬненЬко переводит...
goblinish
31.07.2012, 17:26
в TC inALASM.wlx
вполне отличЬненЬко переводит...
что еще для TC есть для ассемблеровских исходников?
вполне хватает, чтобы не пользоваться лишний раз ФАРом...
наоборот: фара вполне хватает, чтобы не пользоваться ТС...
наоборот: фара вполне хватает, чтобы не пользоваться ТС...
Все-таки досово-консольные программы морально устарели, только дело привычки.
goblinish
31.07.2012, 19:24
наоборот: фара вполне хватает, чтобы не пользоваться ТС...
LET HOLYWAR BEGIN!!111:cool_std:
---------- Post added at 19:24 ---------- Previous post was at 19:23 ----------
Все-таки досово-консольные программы морально устарели, только дело привычки.
да монопенисуально, тока в TC после подкрученных плагинов Shift+Enter нажимать..
только дело привычки.
я бы сказал: альтернатив и комфорта. привыкнуть можно к новому, если оно того стоит.
moroz1999
31.07.2012, 23:15
Только не холиварьте о коммандерах, умоляю вас - всё уже сказано до нас (https://www.google.ee/search?q=total+commander+vs.+far&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a) :)
goblinish
01.08.2012, 00:09
Только не холиварьте о коммандерах, умоляю вас - всё уже сказано до нас (https://www.google.ee/search?q=total+commander+vs.+far&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a) :)
а что, всяк кулик своё болото...
---------- Post added 01.08.2012 at 00:09 ---------- Previous post was 31.07.2012 at 23:53 ----------
кстати, о птичках...поп с колокольни навернулся, даже чирикнуть не успел...
как там с вики, и где разделы?
как там с вики, и где разделы?
http://speccy.info/Категория:Программировани
Пока небогато.
moroz1999
01.08.2012, 01:32
это не то совсем...А чего не хватает, например?
1. Разделы из гуглодока перенести очень несложно, сейчас их просто не добавлено
2. как пример статьи - DOWN HL (http://speccy.info/DOWN_HL):
- Не хватает и̶с̶х̶о̶д̶н̶и̶к̶а̶ скачиваемого архива(нужно курить, можно ли их добавлять и каким образом)
- Возможно, не хватает какой-то стандартизированной таблицы с параметрами
Я что-нибудь еще упустил?
goblinish
01.08.2012, 06:52
Я что-нибудь еще упустил?
и где я слоупок? процедуры на speccy.info пишутся?
cwerj, я акк позабыл(
- Не хватает исходника (нужно курить, можно ли их добавлять и каким образом)
Какого исходника не хватает? Процедуры?
goblinish
01.08.2012, 08:12
Не хватает исходника (нужно курить, можно ли их добавлять и каким образом)
Статей Busy мало? там не на английском, но вроде бы объяснено.
moroz1999
01.08.2012, 11:10
Какого исходника не хватает? Процедуры?
Неправильно выразился - не "исходника", а "приаттаченного файла". Мы планировали аттачить файлы, которые можно скачать, запустить и посмотреть.
На данный момент интересует самый что ни на есть практический вопрос - SpeccyWiki позволяет аттачить архивы к статьям? Если да, то как это делается и какие ограничения?
Извиняюсь, если вопрос тупой - сам я поискать это банально не успел.
---------- Post added at 10:09 ---------- Previous post was at 10:06 ----------
и где я слоупок? процедуры на speccy.info пишутся?Я так понял, что ZXDN и Vitamin сделали DownHL на speccy.info в качестве пробы, чтобы все смогли определиться, куда двигаться дальше.
---------- Post added at 10:10 ---------- Previous post was at 10:09 ----------
Статей Busy мало? там не на английском, но вроде бы объяснено.Я имел в виду не то, что мне непонятно, как оно работает, а то, что на примере статьи DOWNHL можно всё опробовать и определиться, в каком виде мы будем все оформлять, если будем пользоваться SpeccyWiki.
Andrew771
01.08.2012, 11:45
DOWN HL - что за название? Фиг кто поймет.
Нужно, ИМХО, называть прямо по-русски: "Расчет адреса следующей строки экрана"
---------- Post added at 11:45 ---------- Previous post was at 11:43 ----------
И хорошо бы указывать входные и выходные параметры.
Alex Rider
01.08.2012, 11:54
Нужно, ИМХО, называть прямо по-русски: "Расчет адреса следующей строки экрана"
И убрать оттуда UP HL и сделать отдельную статью про UP HL и сделать статью про DOWN DE, UP DE, DOWN BC, UP BC, DOWN IX, UP IX, DOWN IY, UP IY, и, для тех, кто не понял принцип рассчета, DOWN AF, UP AF, DOWN IR, UP IR...
Это я к чему? К тому, что надо статью про расчет адресов следующей/предыдущей линии экрана, полезность для оптимизации оформления этого расчета как макроса, а не как подпрограммы, пример пользительного использования... А не отдельную статью по способу перехода именно к следующей строке для адреса именно в HL. А также статью по формату экранного файла ZX, иначе все эти нидейские танцы будут впринципе не поняты, а демы сшиты белыми нитками без капли понимания и оптимизации. И получим мы по результатам не INSULT, а инсульт.
Я что-нибудь еще упустил?
одну маленькую деталь: структуру разделов. сейчас там хоть и три программки, но если так и продолжать - будет каша, в которой хрен че поймешь.
я специально предложил структуру, в которой все разделено и вроде бы логично. бахать всё подряд в один раздел "программирование" - это какая-то лажа.
бахать всю структуру в эту самую вики - тоже лажа (имхо), т.к. смотреться оно будет не очень адекватно (куча инфы примерно про одно и то же, но в разных разделах).
лучше сделать поддомен и начать с голой вики, если это возможно. именно такой структурой, как в документе.
DOWN HL - что за название? Фиг кто поймет.
ну, вообще-то это общепринятое название:) но терминологию надо вводить обязательно, как и, например, виды кодирования спрайтов, чтобы из описаний печаталок спрайтов можно было однозначно сослаться на формат.
п.с. я вижу, у нас до сих пор есть некоторое взаимонепонимание в этом вопросе, предлагаю не останавливаться и обсуждать все возражения дальше. лучше это сделать перед тем, как всё начнется:)
Andrew771
01.08.2012, 12:15
А внутри раздела "Программирование" нельзя сделать подразделы по структуре psb?
Можно конечно. Я просто до конца еще не разобрался как.
goblinish
01.08.2012, 12:31
А также статью по формату экранного файла ZX, иначе все эти нидейские танцы будут впринципе не поняты, а демы сшиты белыми нитками без капли понимания и оптимизации.
сшитое в прошлом пока что.Nibble Dreams, например.
сейчас - крео Микки маус - это да.
И получим мы по результатам не INSULT, а инсульт.
Дайте позанудничать...insult(инсалт) - это оскорбление, а инсульт -
stroke.
---------- Post added at 12:27 ---------- Previous post was at 12:25 ----------
DOWN HL - что за название? Фиг кто поймет.
Нужно, ИМХО, называть прямо по-русски: "Расчет адреса следующей строки экрана"
---------- Post added at 11:45 ---------- Previous post was at 11:43 ----------
И хорошо бы указывать входные и выходные параметры.
снова - в старых исходниках называлась как NBDE/NBHL
назовите как "Процедура перехода к следующей линии Экранной области".
расчетом тут и не пахнет, в гуглодоке прописано.
---------- Post added at 12:31 ---------- Previous post was at 12:27 ----------
Неправильно выразился - не "исходника", а "приаттаченного файла". Мы планировали аттачить файлы, которые можно скачать, запустить и посмотреть.
На данный момент интересует самый что ни на есть практический вопрос - SpeccyWiki позволяет аттачить архивы к статьям? Если да, то как это делается и какие ограничения?
Извиняюсь, если вопрос тупой - сам я поискать это банально не успел.
а зачем качать?
Я так понял, что ZXDN и Vitamin сделали DownHL на speccy.info в качестве пробы, чтобы все смогли определиться, куда двигаться дальше.
Мда, меня академический стиль смутил, подумал, что Вы писали.
Я имел в виду не то, что мне непонятно, как оно работает, а то, что на примере статьи DOWNHL можно всё опробовать и определиться, в каком виде мы будем все оформлять, если будем пользоваться SpeccyWiki.
странный факт, но я году в 1994 убедился, что работает.
И получим мы по результатам не INSULT, а инсульт.
ну на INSULT вообще глупо рассчитывать так-то...
Мда, меня академический стиль смутил, подумал, что Вы писали.
Четкость в выражении мыслей- залог успеха. А за всякими эмоциями получается многабукф и резко влом читать.
Можно конечно. Я просто до конца еще не разобрался как.
никого не смущает, что, грубо говоря, в википедии сделается специфический раздел по всем аспектам программирования чего-то? на мой взгляд, это выглядит неадекватно. специализированный ресурс не должен быть в энциклопедии.
разубедите меня.
goblinish
01.08.2012, 12:48
Четкость в выражении мыслей- залог успеха. А за всякими эмоциями получается многабукф и резко влом читать.
не пора ли мне демоэффектами заняться?
тем более, что алгоритмами пополнили
---------- Post added at 12:48 ---------- Previous post was at 12:46 ----------
ну на INSULT вообще глупо рассчитывать так-то...
а смысл? повторять амижные эффекты?
moroz1999
01.08.2012, 12:49
DOWN HL - что за название? Фиг кто поймет.
Нужно, ИМХО, называть прямо по-русски: "Расчет адреса следующей строки экрана"Перенес (http://speccy.info/%D0%A0%D0%B0%D1%81%D1%87%D0%B5%D1%82_%D0%B0%D0%B4% D1%80%D0%B5%D1%81%D0%B0_%D1%81%D0%BB%D0%B5%D0%B4%D 1%83%D1%8E%D1%89%D0%B5%D0%B9_%D1%81%D1%82%D1%80%D0 %BE%D0%BA%D0%B8_%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0% B0) и сделал перенаправление для старого адреса.
И хорошо бы указывать входные и выходные параметры.Нужна таблица входящих параметров.
goblinish
01.08.2012, 12:51
Нужна таблица входящих параметров.
hl=адрес экранной области, используется А.
очевидно же..
Перенес и сделал перенаправление для старого адреса.
КАКОЙ РАСЧЕТ??77777:v2_dizzy_facepalm:
moroz1999
01.08.2012, 12:52
одну маленькую деталь: структуру разделов. сейчас там хоть и три программки, но если так и продолжать - будет каша, в которой хрен че поймешь..
А внутри раздела "Программирование" нельзя сделать подразделы по структуре psb?
Можно конечно. Я просто до конца еще не разобрался как.
Я добавил подраздел Программирование Графики в Программирование. Вечером попробую для прикола попереношу остальное, хотя бы частично, чтобы был наглядный пример, как оно могло бы выглядеть.
Перенес и сделал перенаправление для старого адреса.
Тогда уже и предыдущей строки тоже.
---------- Post added at 12:54 ---------- Previous post was at 12:53 ----------
КАКОЙ РАСЧЕТ??77777
Обычный. Следующей строки. На основе входных данных. Что этими данными является (координаты или адрес) - не важно
moroz1999
01.08.2012, 12:54
И убрать оттуда UP HL и сделать отдельную статью про UP HL и сделать статью про DOWN DE, UP DE, DOWN BC, UP BC, DOWN IX, UP IX, DOWN IY, UP IY, и, для тех, кто не понял принцип рассчета, DOWN AF, UP AF, DOWN IR, UP IR...
Это я к чему? К тому, что надо статью про расчет адресов следующей/предыдущей линии экрана, полезность для оптимизации оформления этого расчета как макроса, а не как подпрограммы, пример пользительного использования... А не отдельную статью по способу перехода именно к следующей строке для адреса именно в HL. А также статью по формату экранного файла ZX, иначе все эти нидейские танцы будут впринципе не поняты, а демы сшиты белыми нитками без капли понимания и оптимизации. И получим мы по результатам не INSULT, а инсульт.Отлично, вики тем и хороша, что все могут участвовать, обсуждать полезность, разделять или укрупнять статьи, сшивать, удалять, делать перенаправление.
Важно только по каждой статье всё обсудить и прийти к компромиссу - имхо, это стоит делать прямо на вики в разделе по обсуждению у каждой отдельной статьи.
goblinish
01.08.2012, 12:55
Обычный. Следующей строки. На основе входных данных. Что этими данными является (координаты или адрес) - не важно
ок, называйте, как хотите.
moroz1999
01.08.2012, 13:00
а зачем качать?А если исходник будет на 10 страниц, то нет смысла его весь приводить в статье, имхо.
А еще скачка потребуется в статьях с примерами. Например, для той же Down HL можно по желанию добавить "подстатью" с примером использования, которую (опять же по чьему-либо желанию) можно дополнять отдельно.
Пример точно нужен отдельно в аттачах, так как пример частенько несет с собой бинарники.
Как, например, сделать пример вывода текстуры в полярных координатах, если к нему не приложена тестовая текстура в бинарнике?
---------- Post added at 12:00 ---------- Previous post was at 11:59 ----------
ок, называйте, как хотите.Для альтернативного названия можно сделать пустую статью с перенаправлением, и все будут счастливы.
goblinish
01.08.2012, 13:03
Как, например, сделать пример вывода текстуры в полярных координатах, если к нему не приложена тестовая текстура в бинарнике?
и в каком виде будет текстура? XOR-style, который процедура формирует?
Лучше уж *.sna+исходник+файлы с/без Хобеты.
moroz1999
01.08.2012, 13:09
hl=адрес экранной области, используется А.
очевидно же..Здесь это очевидно, а в крупном исходнике на пару десятков страниц это может стать проблематичным.
Например, можем разработать критерии хорошей, годной статьи по программированию, а все несоответствующие пометить плашками как незавершенные, пока не появится заинтересованный доброволец и не приведет их к общему стандарту.
Нужен стандарт, давайте обсудим его, и предлагаю это сделать отдельно!
Можно добавить служебную статью "стандарт оформления статей по программированию" и обсуждать непосредственно в вики.
---------- Post added at 12:05 ---------- Previous post was at 12:03 ----------
и в каком виде будет текстура? XOR-style, который процедура формирует?
Лучше уж *.sna+исходник+файлы с/без Хобеты.SNA легко получить с BAT файла. Плюс ко всему, SNA ограничиваться не хотелось бы, так как примеры для процедур загрузки с диска или ленты потребуют других форматов файлов.
SJASM этим хорош, так как сборщик файла можно настроить прямо в исходнике примера.
---------- Post added at 12:07 ---------- Previous post was at 12:05 ----------
никого не смущает, что, грубо говоря, в википедии сделается специфический раздел по всем аспектам программирования чего-то? на мой взгляд, это выглядит неадекватно. специализированный ресурс не должен быть в энциклопедии.
разубедите меня.Согласен, меня тоже смущает, но аргументов "против" я пока найти не смог.
Стартовую страницу сделать легко, список категорий в нужном нам виде - тоже никто не мешает.
---------- Post added at 12:09 ---------- Previous post was at 12:07 ----------
Тогда уже и предыдущей строки тоже.Их надо разделить на две статьи, но этим прямо сейчас у меня времени заняться нет.
Согласен, меня тоже смущает, но аргументов "против" я пока найти не смог.
аргумент против: не надо мешать всё в кучу:) я рад, что не один так думаю. может-таки можно попробовать сразу начать с отдельной вики (на поддомене)? у кого есть связь с держателями этой вики?
moroz1999
01.08.2012, 13:12
и в каком виде будет текстура? XOR-style, который процедура формирует?Зависит от примера, кому как больше нравится. Я прямо в бинарнике и храню, цепляю через INCBIN в SJASM. Таблицы с Javascript генерю в виде строк DB 0,0,0,1,2,3,4,5,5,5,6 и храню как ASM файл.
Всё зависит от конкретного примера или от стандарта, который мы договоримся использовать.
goblinish
01.08.2012, 13:40
SNA легко получить с BAT файла.
я бы не ограничился этим. любой исходник с примером хранит в себе запускаемый файл. не Паскаль, конечно же.
Зависит от примера, кому как больше нравится. Я прямо в бинарнике и храню, цепляю через INCBIN в SJASM.
вот мы и незаметно подошли к генерации текстур:v2_dizzy_coder:
---------- Post added at 13:40 ---------- Previous post was at 13:25 ----------
Здесь это очевидно, а в крупном исходнике на пару десятков страниц это может стать проблематичным.
для Вас
push hl,de
call proc1
pop de,hl
не является очевидным?
moroz1999
01.08.2012, 13:44
я бы не ограничился этим. любой исходник с примером хранит в себе запускаемый файл. не Паскаль, конечно же.
Согласен, это очень легко организовать. Главное, чтобы нам под эти дела дали место на сервере и саму возможность аттачить файлы.
для Вас
push hl,de
call proc1
pop de,hl
не является очевидным?Здесь очевидно, а кто-нибудь понаворотит, и будет неочевидно. Я не уверен, что нам действительно нужно расписывать все входящие параметры как таблицу, но и не уверен, что этого действительно не потребуется в случае со сложным кодом или неопытным читателем.
желательно, конечно, прикладывать некоторую табличку к коду:
+ входы
+ выходы
+ используемые регистры (портящиеся)
+ точное/примерное время работы (хоть в тактах, хоть в часах)
+ примечания (разрешены ли прерывания, портит ли/юзает какую память)
таблички заполнить не очень сложно, но для большого кода полезно без сомнений. это надо будет внести потом в соглашения по оформлению...
goblinish
01.08.2012, 14:02
Я не уверен, что нам действительно нужно расписывать все входящие параметры как таблицу, но и не уверен, что этого действительно не потребуется в случае со сложным кодом или неопытным читателем.
Вы обратили внимание, я приложил файлы с примерами использования?
пример проще расписать с комментариями. если неопытный читатель не поймет - ССЗБ значит.
---------- Post added at 14:02 ---------- Previous post was at 14:01 ----------
+ точное/примерное время работы (хоть в тактах, хоть в часах)
Вы возьмете на себя замер времени выполнения некоторых алгоритмов - линия, окружность, заливка?
Вы возьмете на себя замер времени выполнения некоторых алгоритмов - линия, окружность, заливка?
замерить в анриле не сложно так-то, если будет работающий пример. не обязательно все точно и сразу выкладывать, но это бы пригодилось. авторы хитрых алгоритмов (самая быстрая линия в мире и т.д.) сами могут добавлять эту инфу. я постараюсь это делать.
moroz1999
01.08.2012, 14:54
Согласен. Никакие из правил и стандартов не должны быть препятствием к опубликованию, но, если мы обговорим какой-то "идеал", то стремиться к нему можно будет для каждой статьи постепенно.
Andrew771
01.08.2012, 16:34
Перенес и сделал перенаправление для старого адреса.
Отлично!
Сообщение от moroz1999
Перенес и сделал перенаправление для старого адреса.
Тогда уже и предыдущей строки тоже.
И еще нужно добавить пиксельной строки, а то есть еще символьные. Это я не доработал сначала. Сам там зарегюсь, поредактирую тоже. :)
---------- Post added at 16:34 ---------- Previous post was at 16:32 ----------
желательно, конечно, прикладывать некоторую табличку к коду:
+ входы
+ выходы
+ используемые регистры (портящиеся)
+ точное/примерное время работы (хоть в тактах, хоть в часах)
+ примечания (разрешены ли прерывания, портит ли/юзает какую память)
таблички заполнить не очень сложно, но для большого кода полезно без сомнений. это надо будет внести потом в соглашения по оформлению...
во-во. Только поля можно по желанию заполнять.
goblinish
01.08.2012, 16:56
кстати, по поводу споров названия процедуры:
http://sysel.webz.cz/system/scroll_01.html
Andrew771
02.08.2012, 15:31
https://docs.google.com/document/d/1...Dcny9x_uY/edit
пробуйте смотреть, редактировать, пишите сюда, если что не то...
дополнил тоже :)
---------- Post added at 15:31 ---------- Previous post was at 15:30 ----------
https://docs.google.com/document/d/1CQZtruOB5aHPXkHbxmW_6UvoWmhzO3puyJDcny9x_uY/edit?pli=1
goblinish
02.08.2012, 15:55
дополнил тоже :)
---------- Post added at 15:31 ---------- Previous post was at 15:30 ----------
https://docs.google.com/document/d/1CQZtruOB5aHPXkHbxmW_6UvoWmhzO3puyJDcny9x_uY/edit?pli=1
посмотрим на дополнение..
goblinish
02.08.2012, 20:39
немного математики, не проверял, но алгоритмы похожи
http://map.grauw.nl/articles/mult_div_shifts.php
Square root routine
This is a faster square root routine than the one that was previously here, test results say that it’s 26% faster. It is written by Ricardo Bittencourt, so many thanks to him :).
;
;Square root of 16-bit value
;In: HL = value
;Out: D = result (rounded down)
;
Sqr16: ld de,#0040
ld a,l
ld l,h
ld h,d
or a
ld b,8
Sqr16_Loop:
sbc hl,de
jr nc,Sqr16_Skip
add hl,de
Sqr16_Skip:
ccf
rl d
add a,a
adc hl,hl
add a,a
adc hl,hl
djnz Sqr16_Loop
ret
кстати, по поводу споров названия процедуры:
http://sysel.webz.cz/system/scroll_01.html
Процедура, по-русски, называется "экранная формула". Ясно и понятно, для любого новичка. А вот откуда вы такие названия берёте...
goblinish
02.08.2012, 21:19
Процедура, по-русски, называется "экранная формула"
в Харькове великие знатоки русского?
в Харькове великие знатоки русского?
и не только русского..
да называй как хочешь! :)
goblinish
02.08.2012, 22:38
и не только русского..
да называй как хочешь! :)
Дода, я давно заметил в общине, что ни ухом ни рылом. такие вот принципиальные бендеровцы.
вот и тут рогом уперлись в набор кодов для перехода вниз по экранной области:v2_dizzy_facepalm:
Дода, я давно заметил в общине, что ни ухом ни рылом. такие вот принципиальные бендеровцы.
вот и тут рогом уперлись в набор кодов для перехода вниз по экранной области:v2_dizzy_facepalm:
ну ты и дурак...
goblinish
03.08.2012, 06:51
ну ты и дурак...
взаимно
Andrew771
03.08.2012, 10:31
И работа встала на этом :)
Прошу провалидировать и дополнить
http://speccy.info/Расчет_адреса_в_экране
а то давненько я не брал в руки шашек:)
Andrew771
03.08.2012, 11:36
По-моему, надо указывать, что расчет адреса знакоместа. А то "Расчет адреса в экране" - широкое понятие, включает в себя всё, в том числе и другую статью "Расчет адреса следующей строки экрана".
А на эту структуру (https://docs.google.com/document/d/1CQZtruOB5aHPXkHbxmW_6UvoWmhzO3puyJDcny9x_uY/edit?pli=1) забили?
А то "Расчет адреса в экране" - широкое понятие, включает в себя всё, в том числе и другую статью "Расчет адреса следующей строки экрана".
"Расчет адреса в экране по координатам" - так точнее будет.
А на эту структуру забили?
Подогнать готовое под структуру всяко проще, чем набить структуру данными
Andrew771
03.08.2012, 12:13
"Расчет адреса в экране по координатам" - так точнее будет.
Расчет адреса в экране по координатам знакоместа. А то еще есть по координатам точки. :)
---------- Post added at 12:13 ---------- Previous post was at 12:12 ----------
Подогнать готовое под структуру всяко проще, чем набить структуру данными
ок. Тогда пока набрасываем, что есть. Я тоже подмогу.
Расчет адреса в экране по координатам знакоместа. А то еще есть по координатам точки.
Все можно туда. Я еще не написал процедуру расчета для попиксельных ординат. Для случая точки должно быть всего лишь уточнение и ссылка на #22B0
ссылка на #22B0
это должна быть ссылка на раздел с описанием пзушных подпрограмм, если исходить из нашей структуры;)
это должна быть ссылка на раздел с описанием пзушных подпрограмм, если исходить из нашей структуры
Нахрен кому нужен километровый список подпрограмм? Здесь конкретная задача и конкретная процедура из пзу.
goblinish
03.08.2012, 13:22
напишу в Обсуждении попозже, что-то выглядит на первый взгляд подозрительно.
---------- Post added at 13:22 ---------- Previous post was at 13:21 ----------
А на эту структуру забили?
ога.
Vitamin, 22b0 не самая оптимальная процедура
были короче и компактнее
Vitamin, 22b0 не самая оптимальная процедура
были короче и компактнее
Короче 3 байт?
есть же codebase64, где я собсно когда для С64 кодю, то всю инфу и черпаю... Куча откомменченных примеров, на любой случай жизни... А также с64-wiki, там тоже просто кучища полезной инфы по кодингу на С64. Про Спектрум увы таких ресурсов нет.
goblinish
03.08.2012, 15:18
Про Спектрум увы таких ресурсов нет.
некому заняться. Ваш кэп.
---------- Post added at 15:18 ---------- Previous post was at 15:03 ----------
еще одна процедура - генератор случайных чисел.
; returns pseudo random 8 bit number in A. Only affects A.
; (r_seed) is the byte from which the number is generated and MUST be
; initialised to a non zero value or this function will always return
; zero. Also r_seed must be in RAM, you can see why......
rand_8:
LD A,(r_seed) ; get seed
AND #B8h ; mask non feedback bits
SCF ; set carry
JP PO,no_clr ; skip clear if odd
CCF ; complement carry (clear it)
no_clr:
LD A,(r_seed) ; get seed back
RLA ; rotate carry into byte
LD (r_seed),A ; save back for next prn
RET ; done
r_seed:
DB 1 ; prng seed byte (must not be zero)
Нахрен кому нужен километровый список подпрограмм?
если я хочу для 512 б. интро заюзать пзушную подпрограмму, чтобы место сократить, я буду искать где-то в части программ пзу. но никак не в алгоритмах, среди которых все "самопальные"/самые быстрые.
когда я был маленький и переводил первые свои программы с бейсика на асм, я именно так и делал - дергал всё пзушное, ибо аналогия там прямая. поэтому желательно всю эту инфу где-то иметь.
если я хочу для 512 б. интро заюзать пзушную подпрограмму, чтобы место сократить, я буду искать где-то в части программ пзу. но никак не в алгоритмах, среди которых все "самопальные"/самые быстрые.
когда я был маленький и переводил первые свои программы с бейсика на асм, я именно так и делал - дергал всё пзушное, ибо аналогия там прямая. поэтому желательно всю эту инфу где-то иметь.
Не надо путать кислое и длинное. Справочник для новичков- последнее место, куда полезет опытный кодер, возжелавший написать интру в 512 байт.
кто сказал, что интру будет опытный писать? но ладно, вот я типа опытный, но я не помню, в С передается Х или в А. и где мне эту инфу искать? не, ну я даже адрес 8880 помню, могу в эмуле посмотреть дизасм, и иначе - как?
и справочник надо делать не только для опытных или новичков, надо для всех делать. не стоит думать, что очевидные и известные вещи очевидны и известны всем:)
goblinish
03.08.2012, 16:30
если я хочу для 512 б. интро заюзать пзушную подпрограмму, чтобы место сократить, я буду искать где-то в части программ пзу. но никак не в алгоритмах, среди которых все "самопальные"/самые быстрые.
в 512 особо много ПЗУ процедур не надо. разве что калькулятор и сопутствующие.
отрывок из статьи Криса Касперски
Но мир на месте не стоял. К концу восьмидесятых ситуация стала меняться. С появлением BBS в компьютерном мире появилось такое неприятное явление, как плагиат. Стоило только скачать несколько демок, объединить их в одну, немного измененную под свой вкус, и, кончено же, вписать собственное имя такими большими буквами на переднем плане. Очень скоро появились мегабайты демок, на которые было противно смотреть - мало того, что они копировали уже приевшиеся фичи, но и сваливали в одну кучу все, что только попадалось автору под руку. От этой пестрой палитры только рябило в глазах. Никаких чувств ЭТО в душе не вызывало - автору (можно его так назвать?) было нечего сказать, он ничего не хотел выразить этой работой. И все затеяно-то было лишь ради желания показать всему миру собственное имя. Реальным программистам же в этом болоте день ото дня становилось невыносимо душно. Хорошие работы приходилось буквально "вылавливать" среди тысяч дерьмовеньких однодневок. А после появления различных редакторов и других тулзов для демо-мейкинга написание демки (состоящей, разумеется, из готовых "кубиков") занимало и вовсе пару-другую минут. И потекли гигабайтовые реки сорного мусора, в мутной воде которого задыхались действительно достойные работы. Задыхались потому, что любой юзер, заходя на BBS, видел громадный список демок. Скачивал несколько из них наугад и... Посмотрев эти потуги, уже не горел желанием смотреть ничего вообще. Даже телек.
NEO SPECTRUMAN
03.08.2012, 20:05
отрывок из статьи Криса Касперски
Мона саму статью?
Мона саму статью?
Хакер № 02/00 (14)
goblinish
04.08.2012, 05:26
С появлением BBS в компьютерном мире появилось такое неприятное явление, как плагиат. Стоило только скачать несколько демок, объединить их в одну, немного измененную под свой вкус, и, кончено же, вписать собственное имя такими большими буквами на переднем плане.
ерунда, исходники демоэффектов гуляли изредка, спасибо hornet'у и BBS.
в демках времени "с появлением BBS" похожих эффектов нет.
демки, видоизмененные - это местные "умельцы", или пародия на Future Screw.
да и защищали их порядочно, многие демы содержат приветы рипперам и ламерам.
так что, взять демки подряд - действительно смотреть не станешь, на Assembly еще есть на что посмотреть.
hardcode - неплохая подборка.
goblinish
04.08.2012, 14:49
http://speccy.info/Брезенхем:_Алгоритм_для_рис ования_линии
вписал статью. критикуйте.
вписал статью. критикуйте.
1) Распилить на несколько исходников и пример отдельно
2) Ссылка на алгоритм Брезенхема ("большую вики")
3) Разгребсти мешанину вида "тыща команд в строке"
4) По возможности отказаться от sjasm-specific вещей
goblinish
04.08.2012, 15:01
3) Разгребсти мешанину вида "тыща команд в строке"
Двоеточия убрать?
1) Распилить на несколько исходников и пример отдельно
как распилить лучше?
4) По возможности отказаться от sjasm-specific вещей
тогда ой. излишне имхо.
---------- Post added at 15:01 ---------- Previous post was at 14:59 ----------
теперь в именах подчеркивания посыпались:(
Двоеточия убрать?
Одна машинная команда в строке
как распилить лучше?
Пример, инициализация и сама функция рисования
goblinish
04.08.2012, 16:28
Vitamin, поправил.
---------- Post added at 16:28 ---------- Previous post was at 16:07 ----------
http://speccy.info/Брезенхем:_Алгоритм_постро ния_окружности
1) Табуляция есть хорошо, хотя бы для операций, для операндов не так важно
2) Если объявляешь переменную, опиши ее и юзай, а не комментом (а-ля high PIX_TAB)
3) Регистр тоже соблюдать надо. Большие или маленькие буквы- не суть важно, лишь бы единообразие было
goblinish
04.08.2012, 17:07
(а-ля high PIX_TAB)
4) По возможности отказаться от sjasm-specific вещей
мы так и не пришли к этому вопросу. есть различный синтаксис - [,>,high.
кстати, файлы вложить пробовали, или я упустил?
мы так и не пришли к этому вопросу. есть различный синтаксис - [,>,high.
А в каких асмах PIX_TAB/256 не поддержится?
goblinish
04.08.2012, 17:49
А в каких асмах PIX_TAB/256 не поддержится?
на Атари в xasm'e)
понятия не имею, привык к Storm,хотя и сейчас можно переделать, наверное.
может, и некрасиво сделал, но отметил в исходнике акцент.
а ты не возьмешься за статью MSB/LSB?
а ты не возьмешься за статью MSB/LSB?
А что там должно быть?
goblinish
04.08.2012, 18:06
А что там должно быть?
а как мне коментировать?
ld hl, #7c;#7c=MSB адреса таблицы?
ld hl, #7c;#7c=MSB адреса таблицы?
ld hl,TABLE/256
goblinish
04.08.2012, 18:59
Vitamin, хорошо, есть процедура заливки, статья с описанием и код.
код воспроизведен с помощью IDA. что с ним делать? навтыкать внятные комментарии?
код воспроизведен с помощью IDA. что с ним делать? навтыкать внятные комментарии?
Например. Поставь себя на место начинающего и сообщи все, чего бы тебе не хватало для понимания или, хотя бы, использования данных кусков кода.
goblinish
04.08.2012, 19:42
Например. Поставь себя на место начинающего и сообщи все, чего бы тебе не хватало для понимания или, хотя бы, использования данных кусков кода.
Боюсь, что внятного описания алгоритма от меня не дождешься. поставить себя на место начинающего? так он с кодингом и было - влезть в программу, разобраться, как работает.
Боюсь, что внятного описания алгоритма от меня не дождешься. поставить себя на место начинающего? так он с кодингом и было - влезть в программу, разобраться, как работает.
Для описания алгоритма надо ссылку на вики. Я про описание всяких тонкостей конкретной реализации.
Кстати о птичках, придумал как можно окрутить вопрос старших-младших байт:
SCREEN EQU #4000
SCREEN_HI EQU SCREEN/256
Чтоб в случае неподдерживания данной конкретной операции в данном конкретном ассемблере, фикс был в одной строке, а не по всему сорцу.
Vitamin, а как быть с dup/edup? их тоже не все асмы поддерживают, однако ж... имхо, надо чего-то конкретного придерживаться, в разумных рамках. например, в обработчике прерывания не писать push каждого регистра в отдельной строке, а просто через запятую, а кому важно - переделает, смысл-то ясен же. и sjasm - отличный выбор, на кого ориентироваться.
хотели же сделать табличку по асмам, где как старший байт получать, младший, edup'ы всякие и т.д. арифметика и то не всегда по правилам в асмах делается...
Vitamin, а как быть с dup/edup
В своей статье я комментом уточнил что это за фигня.
хотели же сделать табличку по асмам, где как старший байт получать, младший, edup'ы всякие и т.д. арифметика и то не всегда по правилам в асмах делается...
Вот и повод для еще одной статьи:)
goblinish
05.08.2012, 09:40
http://speccy.info/Floodfill
Andrew771
05.08.2012, 11:28
http://speccy.info/Floodfill
по-русски назови, как и все другие.
goblinish
05.08.2012, 11:55
по-русски назови, как и все другие.
предложи своё.
Andrew771
05.08.2012, 11:59
Заливка
goblinish
05.08.2012, 12:23
Заливка
http://www.discovery.com/stories/technology/fractals/create.html
с тобой плохо согласны. подождем Vitamin'a.
с тобой плохо согласны. подождем Vitamin'a.
А чего я-то?:)
Два названия у статьи- ничего страшного, даже очень хорошо - облегчается поиск.
goblinish
05.08.2012, 13:06
Два названия у статьи- ничего страшного, даже очень хорошо - облегчается поиск
а как заголовки подправить?
и как в Категорию подкатегории запихать?
а как заголовки подправить?
Название статьи? Никак. Создаешь статью с "правильным" названием и туда переносишь содержимое, а у статей с "неправильным" названием оставляешь редирект на "правильное".
и как в Категорию подкатегории запихать?
Ставь категорию только на свою статью. С группировкой потом разберутся.
А сюда можно всякие процедуры скидывать? У меня, например, есть немного для бордер мейкеров. Хочется поделиться. Такие нужны?
NovaStorm
05.08.2012, 14:24
Конечно нужны! Да и тему, я думаю, стоит расширить - не только для демок хочется решения видеть.
goblinish
05.08.2012, 14:27
не только для демок хочется решения видеть
в списке категорий были демоэффекты. постепенно дойдет до них черед.
Конечно нужны! Да и тему, я думаю, стоит расширить - не только для демок хочется решения видеть.
Ну, тебе-то я тебе скидывал.
в списке категорий были демоэффекты. постепенно дойдет до них черед.
Когда дойдёт - дай знать, плз.
goblinish
05.08.2012, 15:10
Когда дойдёт - дай знать, плз.
а когда, я не знаю, с вики шаг - как по минному полю. хотя, в планах есть кое-что.
goblinish
07.08.2012, 12:01
Стоит ли в качестве статьи о демоэффектах пример запиливать, или совсем ужасно?
NovaStorm
07.08.2012, 12:56
>ld hl,sintab,de,SINE,bc,#100
УБИВАТ! за такую запись, ладно после push/pop список(хотя я и это не одобряю), но это...
Как статью это видеть можно с описанием алгоритма, камментами и расчётом табличек.
goblinish
07.08.2012, 13:22
>ld hl,sintab,de,SINE,bc,#100
УБИВАТ! за такую запись, ладно после push/pop список(хотя я и это не одобряю), но это...
Как статью это видеть можно с описанием алгоритма, камментами и расчётом табличек.
а теперь вдохни глубоко и с чувством, толком, расстановкой.
---------- Post added at 13:22 ---------- Previous post was at 13:13 ----------
в смысле - чем не понравилось?
NovaStorm
07.08.2012, 13:38
Очень тяжело читается такая запись, путаются источник/приёмник.
А статьи такого рода будут бесспорно полезны. Но! В первую очередь они должны быть алгоритмическими, а уж потом давать примеры кода.
goblinish
07.08.2012, 13:49
Очень тяжело читается такая запись, путаются источник/приёмник
про регистр уже сказано было, поправлю.
Алгоритмическими? хмм.. сомневаюсь.
проще дать поначалу описание плазмы, потом пример кода.
NovaStorm
07.08.2012, 14:06
проще дать поначалу описание плазмы, потом пример кода.
Гм, я именно это и говорил вроде. Смысл в том, что реализовывать даже один алгоритм можно( и лучше) по разному.
Ну и в идеале должно быть всё из http://www.home.no/rudibs/dox/demoeffects%20list.txt и возможно больше =)
ЗЫ: А несколько команд через двоеточие имхо всё таки бывает оправданно, когда они образуют небольшой, но целостный логический блок, который чтению не мешает.
goblinish
07.08.2012, 14:19
Ну и в идеале должно быть всё из http://www.home.no/rudibs/dox/demoeffects%20list.txt и возможно больше =)
в идеале не будет. кодеры на Амиге владеют MadSkillz, разобраться в алгоритме иногда просто тяжело, взять, к примеру JelloCube, о других нескольких просто говорить не буду.я думаю, если объяснение выйдет слегка доходчиво, то проще будет остановиться на oldschool-эффектах.
goblinish
07.08.2012, 16:29
кто помнит, какие еще способы формирования шрифтов есть?
Andrew771
07.08.2012, 16:43
кто помнит, какие еще способы формирования шрифтов есть?
Как раз запилил в тему статью: http://speccy.info/%D0%9F%D0%B5%D1%87%D0%B0%D1%82%D1%8C_%D1%82%D0%B5% D0%BA%D1%81%D1%82%D0%B0_64_%D1%81%D0%B8%D0%BC%D0%B 2%D0%BE%D0%BB%D0%B0_%D0%B2_%D1%81%D1%82%D1%80%D0%B E%D0%BA%D0%B5
Разместил в категорию "Программирование", т.к. в "Программирование графики" не подходит.
goblinish
07.08.2012, 17:08
Как раз запилил в тему статью: http://speccy.info/%D0%9F%D0%B5%D1%8...BE%D0%BA%D0%B5
Разместил в категорию "Программирование", т.к. в "Программирование графики" не подходит.
экзотичная процедура.
Andrew771
07.08.2012, 17:16
экзотичная процедура.
сам писал и использую в своих играх. :)
сам писал и использую в своих играх.
Перекодировку лучше делать в процессе печати, а не при задании. Иначе получается маловразумительная мешанина вместо текста.
goblinish
07.08.2012, 17:23
сам писал и использую в своих играх.
вот немного из черновика:
для печати текста удобнее подготовить следующую структуру:
dw#4820;экранный адрес, где будет напечатан текст
db "текст",0
нулевой байт удобнее для определения длины сообщения, заодно позволит сэкономить регистры.
и далее, где константа svsk?
в общем, не наш метод. метод - в хранении шрифта и хитрой печати в win-кодировке.
завтра допишу, тут опубликую.
Перекодировку лучше делать в процессе печати, а не при задании. Иначе получается маловразумительная мешанина вместо текста.
Можно перекодировать перед сохранением объектника. А можно макросом.
Andrew771
07.08.2012, 20:15
Перекодировку лучше делать в процессе печати, а не при задании. Иначе получается маловразумительная мешанина вместо текста.
Ну там тока добавить sub a,n , чтобы перейти в стандартную кодировку ASCII. Я просто применял свою кодировку с только нужными символами, чтобы сэкономить память.
Andrew771
22.08.2012, 17:23
А вот как быть с процедурами вывода спрайтов? Уж больно много разных, с разными форматами и выводами. Даже если разделить по категориям, всё равно для одной категории (например, вывод познакоместного спрайта без атрибутов) много реализаций.
для начала предлагали форматы спрайтов как-то классифицировать, ибо тот же спрайт с аттрибутами можно хранить всяко разно.
но в целом, я думаю, что на каждый формат нужно не более 3х процедур, т.к. цель - не все выложить, что только можно придумать, а некую базу, чтобы стало понятно и можно было брать и юзать (это всегда будет не оптимальный вариант по скорости/размеру - это нормально!).
отдельно, наверное, надо в разделе о демах описать разные методы вывода спрайтов: стековые, стековые, стековые, через кучу LDI, стековые с маской и т.д.
стековые, стековые, стековые
а это все разные методы вывода?
ну два как минимум принципиально разные, 3й я могу придумать:) а еще можно добавить заливку экрана паттерном через стек (тоже как бы спрайты).
moroz1999
22.08.2012, 20:51
А вот как быть с процедурами вывода спрайтов? Уж больно много разных, с разными форматами и выводами. Даже если разделить по категориям, всё равно для одной категории (например, вывод познакоместного спрайта без атрибутов) много реализаций.Думаю, что будем их группировать.
Например, категория вывод спрайтов, к ней добавлено описание самой категории.
Внутри неё подкатегории - попиксельный вывод и поаттрибутный вывод. Внутри каждой - различные реализации. Если их становится много, сгруппируем дополнительно (для попиксельных, к примеру, вывод по стеку, вывод через таблицы, вывод со сдвигом на лету, вывод с предварительным сдвигом), внутри из каждой из которых был бы список вариантов исходников.
Названия категорий и принцип группировки взял от балды, просто для примера.
---------- Post added at 19:51 ---------- Previous post was at 19:49 ----------
но в целом, я думаю, что на каждый формат нужно не более 3х процедур, т.к. цель - не все выложить, что только можно придумать, а некую базу, чтобы стало понятно и можно было брать и юзать (это всегда будет не оптимальный вариант по скорости/размеру - это нормально!).Я думаю, что если будет больше трех процедур, то просто сделаем краткую таблицу сравнений с аннотацие к каждой из них. Довольно легко пометить в такой аннотации с чего лучше начинать новичку.
Andrew771
23.08.2012, 09:51
Просто, в итоге это всё превратится в сайт zxdn.narod.ru. А зачем его дублировать. :)
NovaStorm
23.08.2012, 10:14
Да и пускай превращается, я уже готов внимать, тема крайне интересная.
Andrew771
24.08.2012, 09:29
Думаю, что будем их группировать.
Например, категория вывод спрайтов, к ней добавлено описание самой категории.
Внутри неё подкатегории - попиксельный вывод и поаттрибутный вывод. Внутри каждой - различные реализации. Если их становится много, сгруппируем дополнительно (для попиксельных, к примеру, вывод по стеку, вывод через таблицы, вывод со сдвигом на лету, вывод с предварительным сдвигом), внутри из каждой из которых был бы список вариантов исходников.
А еще есть процедуры масштабирования, отзеркаливания спрайтов. Они тоже привязаны к определенному формату, как правило к тому же в одной программе, что и в процедурах вывода. Значит, их нужно тоже привязывать к процедурам вывода.
Alex Rider
02.09.2012, 14:28
Положите ссылку в первое сообщение темы.
какую именно ссылку? если речь про вики, то лучше сделать новую тему, куда постить и новости, и проблемы.
к слову, вики пополняется! написана даже куча примеров (готовые исходники), но нет пока возможности выложить архивы в статьи.
goblinish
02.09.2012, 17:14
к слову, вики пополняется! написана даже куча примеров (готовые исходники), но нет пока возможности выложить архивы в статьи
на чем разговор закончился, кстати?
на чем разговор закончился, кстати?
который терли в скайпе? по факту закончился на том, что...... продолжаем пока и похрен. а дальше решим, если будет все совсем не так.
доку (структуру) я пополняю, что написано, что нет.
Помогите!!!!
Имеем
В HL - адрес в экране
Нужно перейти на 3 знакоместа вниз и на 2 вправо
Вот в атрибутах легко:
LD DE,98
ADD HL,DE
А в экранных адресах не могу
---------- Post added at 09:23 ---------- Previous post was at 09:20 ----------
Через треть не получается!
Можно конечно перевести в атрибуты
сделать:
LD DE,98
ADD HL,DE
и обратно в экран
Shadow Maker
18.12.2012, 11:06
ну есть же Downhl? Добавь 2 в адрес, сделай downhl на 3 знакоместа вниз и всё. Или так медленно?
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot