Hozzászólások
-
SzerzőBejegyzés
-
Hali!
Ezt még régebben követtem el, win alatt A’rpi basspasc fordítójával:
Code:.386#INITGR()
.asm
mov ax, 13h
sub al, 1
int 10h
mov dx, 03CEh
mov ax, 0305h
out dx, ax
mov cx, 639
mov dx, 479
xor ax, ax
mov bl, 0Fh
mov [GColor], bl
push 0A000h
pop es
mov ax, -1
mov cx, 19200
push 0
call setgcolor
xor di, di
rep stosw
push bx
call setgcolor
.bap
endm#CLOSEGR()
mov ax, 03h
int 10h
endmvar ora,perc,sec:DB
{var
szog DW ?
szogek DW 60,30,0,330,300,270,240,210,180,150,120,90,60
GColor DB 0
szamstr DW 0,0
jelstr DB ”,0
}initgr
push 320,240,60,0,360//!arc
FOR BX=0 to 12 do push(all)//!szamokrepeat
!dido
ax:=2//!delay
!cido
until keypressedclosegr
exitszamok:
<>BX,1
AL:=BL//++AL//AH:=0
if AL>9 do AH+=31h//AL-=10
AL+=30h
if AH!=0 do AHAL
szamstr:=AX
ax:=szog
push 315,238,70,ax
!getvect
push ax,bx,ofs szamstr
!outstr
ax:=szog
push 317,237,55,ax
!getvect
push ax,bx,ofs jelstr
!outstr
retdora:
push CX
if AX>12 do AX-=12
–AL
BX:=AX
<9 then
AH:=0
AL:=CL//>>AL,1
if DX=0 do DX:=350//else DX-=AX
endif
push 320,240,30,dx
!vect
push 320,240,5,0,360
!arc
retdperc:
BL:=5
div BL
BL:=AL//BH:=0
<mutatodido::
push 0Fh
!setgcolor
DOS 2Ch
ora:=CH
perc:=CL
sec:=DH
DL:=0
mutato:
push DX
push(all) ax:=ch//!dora
ax:=cl//!dperc
pop DX
if DL==0 do push 0Ah//!setgcolor
ax:=dh//!dperc
retdelay::
CX:=AX
CX:=2
DX:=0
AH:=86h
INT 15h
ret.bap
setgcolor::
.asm
setgcolor proc near
push bp
mov bp, sp
pusha
mov ah, [bp+4]
mov [GColor], ah
xor al, al
mov dx, 03CEh
out dx, ax
popa
pop bp
ret 2
setgcolor endp.bap
putpix::
.asm
putpix proc nearpush bp
mov bp, sp
push es
pushamov ax, [bp+6]
mov bx, [bp+4]
cmp ax, 0
jl putpix_3
cmp ax, 639
jg putpix_3
cmp bx, 0
jl putpix_3
cmp bx, 479
jg putpix_3
push 0A000h
pop es
mov cx, bx
shl bx, 2
add bx, cx
shl bx, 4
mov cx, ax
shr ax, 3
add bx, ax
mov al, 80h
ror al, clputpix_2: xchg es:[bx], al
putpix_3: popa
pop es
pop bp
ret 4putpix endp
.bap
getpix::
.asm
getpix proc nearpush bp
mov bp, sp
push es
pushamov ax, [bp+6]
mov bx, [bp+4]
push 0A000h
pop es
mov cx, bx
shl bx, 2
add bx, cx
shl bx, 4
mov cx, ax
shr ax, 3
add bx, ax
mov si, bx
xor bh, bh
mov dx, 03CEh
mov ax, 0304h
getpix_1: out dx, ax
mov bl, es:[si]
or bl, es:[si]
rol bl, cl
shl bx, 1
dec ah
jnl getpix_1
mov al, bh
xor ah, ah
mov es, axpopa
mov ax, es
pop es
pop bp
ret 4getpix endp
.bap
line::
.asm
line proc nearenter 4, 0
pushamov ax, [bp+10]
mov bx, [bp+8]
mov cx, [bp+6]
mov dx, [bp+4]
mov si, cx
sub si, ax
jge line_1
neg si
line_1: mov di, dx
sub di, bx
jge line_2
neg di
line_2: mov [bp-2], si
mov [bp-4], di
cmp si, di
jle line_6
cmp ax, cx
jle line_3
xchg ax, cx
xchg bx, dx
line_3: xchg ax, dx
sub cx, dx
inc cx
sub ax, bx
sar ax, 16
add ax, ax
inc ax
shr si, 1
sub di, si
mov si, di
line_4: push dx
push bx
call putpix
test si, si
jl line_5
add bx, ax
sub si, [bp-2]
line_5: inc dx
add si, [bp-4]
loop line_4
jmp short line_10
line_6: cmp bx, dx
jle line_7
xchg ax, cx
xchg bx, dx
line_7: xchg ax, cx
sub dx, bx
xchg cx, dx
inc cx
sub ax, dx
sar ax, 16
add ax, ax
inc ax
shr di, 1
sub si, di
line_8: push dx
push bx
call putpix
test si, si
jl line_9
add dx, ax
sub si, [bp-4]
line_9: inc bx
add si, [bp-2]
loop line_8line_10: popa
leave
ret 8line endp
.bap
triplus::
.asm
triplus proc near
push bp
mov bp, sp
push bx
mov ax, [bp+8]
mov bx, [bp+6]
mov cx, [bp+4]
.bap
VAR TRI_DAT:DW
TRI_DAT:=AX
finit
fild TRI_DAT
fldpi
fdiv 180.0
fmul st(0),st(1)
if CX==0 do fsin // else fcos
TRI_DAT:=BX
fild TRI_DAT
fmul st(0),st(1)
fistp TRI_DAT
ax:=TRI_DAT
.asm
pop bx
pop bp
ret 6
triplus endp.bap
getvect::
.asm
getvect proc near
push bp
mov bp, sp
pushamov bx, word ptr [bp+4]
mov ax, 360
sub ax, bx
mov bx, ax ; DEG
push bx
push word ptr [bp+6]
push 0
call triplus
add ax, word ptr [bp+8]
mov word ptr [getvec_y], ax
push bx
push word ptr [bp+6]
push -1
call triplus
add ax, word ptr [bp+0Ah]
mov word ptr [getvec_x], axpopa
mov ax, word ptr [getvec_x]
mov bx, word ptr [getvec_y]
pop bp
ret 8getvec_x: DW 0
getvec_y: DW 0getvect endp
.bap
vect::
.asm
vect proc near
push bp
mov bp, sp
pushapush word ptr [bp+0Ah]
push word ptr [bp+8]
push word ptr [bp+6]
push word ptr [bp+4]
call getvect
push word ptr [bp+0Ah]
push word ptr [bp+8]
push word ptr ax
push word ptr bx
call linepopa
pop bp
ret 8vect endp
.bap
arc::
.asm
arc proc near
push bp
mov bp, sp
pushamov ax, word ptr [bp+6]
cmp word ptr [bp+4], ax
jg arc_0
add word ptr [bp+4], 360
arc_0:
push word ptr [bp+0Ch]
push word ptr [bp+0Ah]
push word ptr [bp+8]
push ax
mov [arc_a1], ax
call getvect
mov [arc_x1], ax
mov [arc_y1], bx
mov cx, word ptr [bp+8]
xor dx, dx
mov ax, 360
div cx
mov dx, ax
arc_loop:
add [arc_a1], dx
mov ax, word ptr [bp+4]
cmp ax, [arc_a1]
jg arc_skip
mov [arc_a1], ax
arc_skip:
push word ptr [bp+0Ch]
push word ptr [bp+0Ah]
push word ptr [bp+8]
push word ptr [arc_a1]
call getvect
mov [arc_x2], ax
mov [arc_y2], bx
push word ptr [arc_x1]
push word ptr [arc_y1]
push word ptr [arc_x2]
push word ptr [arc_y2]
call line
mov ax, [arc_x2]
mov [arc_x1], ax
mov ax, [arc_y2]
mov [arc_y1], ax
mov ax, word ptr [bp+4]
cmp ax, [arc_a1]
jg arc_loop
arc_end:
popa
pop bp
ret 0Aharc_a1 dw 0
arc_x1 dw 0
arc_y1 dw 0
arc_x2 dw 0
arc_y2 dw 0arc endp
.bap
outstr::
.asm
outstr proc nearpush bp
mov bp, sp
push es
pushapush bp
mov ax, 1130h
mov bh, 3
int 10h
mov di, bp
pop bpmov si, [bp+4]
mov cx, [bp+8]
mov dx, [bp+6]outstr_1: lodsb
test al, al
jz outstr_5
mov bl, al
xor bh, bh
shl bx, 3outstr_2: mov al, es:[bx+di]
mov ah, 8outstr_3: add al, al
jnc outstr_4
push cx
push dx
call putpix
outstr_4: inc cx
dec ah
jnz outstr_3sub cx, 8
inc dx
inc bx
test bx, 7
jnz outstr_2sub dx, 8
add cx, 8
jmp short outstr_1outstr_5: popa
pop es
pop bp
ret 6outstr endp
Analóg órát mûködtet VGA monitoron, a lefordított kód kisebb, mint 1k!
PcZolee wrote:Nem tudnád nekem a javított forrást becsomagolni, vagy egy patch-et adni a file-hoz?A fájl, ahol nekem elakadt a fordítás: rhide/librhgdb/gdbinter.c
447.sor: create_breakpoint_hook = CreateBreakPointHook;
455.sor: create_breakpoint_hook = NULL;Mivel a neki adott érték egy függvény:
void CreateBreakPointHook(struct breakpoint *b)ezért én egyszerûen a fájl elejére beírtam ezt:
void *create_breakpoint_hook;így már definiált a változó, és lefordul.
Egyébként kell még a fordításhoz (a rhtvision, setedit, gdb-n kívül) az aalib könyvtár.
Ha jól emlékszem, akkor így csináltam:
./configure –prefix=/usr –without-imgdb
Win98 alatt írok most, lehet, hogy nem pontosan így!Ezek szerint nem UHU alá kell. Sok sikert!
PcZolee wrote:Hello.El tudnád küldeni a forrásokat, amik neked lefordultak, vagy linket dobni rá? Mert már egy jópárat megpróbáltam, és nem nagyon doldogulok, minden lefordult, csak a rhide nem :(! Próbáltam uhu, breezy, és drapper alatt is, különbözõ gcc-kel, de nem akarja! Nekem Breezy alá kéne!
Köszi
Hali! a HUP-on már ott volt az info:
http://rhide.sourceforge.net/snapshots/rhide-for-tv2-snapshot.tar.gz
kellenek hozzá:
http://tvision.sourceforge.net/snapshots/rhtvision-2.1.0.src.tar.gz
http://setedit.sourceforge.net/snapshots/setedit-0.5.5.tar.gzVan egy definiálatlan változó (hosszú nevû, nem jut eszembe hirtelen, de a fordítás csak ott akad el), a típusa void * (valamire mutató). Ezt kell az adott file-ban definiálni és így már lefordul.
A tegnapi (2006.05.24.) snapshot-ból fordított binárisokat becsomagoltam UHU alá (dev!). Ha érdekel valakit:
http://begyu.uw.hu/dev/rhide_1.5.0~2006.05.24-1_i386.uhu
http://begyu.uw.hu/dev/rhtvision_2.1.0-3_i386.uhu
http://begyu.uw.hu/dev/setedit_0.5.5-6_i386.uhu116ea5c7742fb50953b3fedccc4d10e2 rhide_1.5.0~2006.05.24-1_i386.uhu
350e42e432e930676893d798c8cf1177 rhtvision_2.1.0-3_i386.uhu
eab648950102c86d2ac8591e1d81558f setedit_0.5.5-6_i386.uhuNem volt még meg a GDB 6.4-es forrása, ezért a 6.3-al fordítottam.
begyu wrote:BeeTm wrote:AMD486 wrote:igen, mkbootdisk lesz.
Különben valaki elmagyarázza nekem, mi a különbség a (fõleg floppykra használt) disk és a (inkább optikai korongokra) disc szó jelentése között?Sztem semmi különbség,csak vhogy meg kellett különböztetni (ugyanis mindkettön lemezen van az adat)a két adathordozót, és ez az irásforma terjedt el…….
Szerintem meg valószínûleg a „diskette” szóból ered.
Esetleg próbáld meg ezt a progit:
http://prdownloads.sourceforge.net/statifier/statifier-1.6.8.tar.gzEzt a forrást elõbb le kell fordítani, majd ráereszteni így: statifier erdetiprogneve statikusneve
Lehet, hogy ezzel menni fog, de nem biztos.MD5SUMS összeget ellenõrizted?
Nem ide tartozik, de errõl eszembe jutott, hogy egy wines ismerõsömnek ajánlottam egy live-CD-t a neten, próbálja ki a Linuxot.
Használd a „-static” opciót a fordításnál, vagy: „./configure –enable-static”
Hali, itt:
http://cs.mipt.ru/docs/comp/eng/os/linux/howto/howto_english/elf/elf-howto-3.html
találtam ezt:
gcc -fPIC -c *.c
gcc -shared -Wl,-soname,libfoo.so.1 -o libfoo.so.1.0 *.oH Miki wrote:Az lenne a kérdésem, hogy tudtok-e olyan live-linuxot ajánlani, amelyiken csak kissebb igényû graf felület van (pl.:Blackbox) vagy teljesen karakteres…Csak azért kérdem, mert miótta megint elszállt két gép a itt könyvtárba azótta be lehet azon a kettõn boot-olni. A rendszergazdi így hagyta… A gépek viszont nem bírják valami jól a KDE és Gnome felületeket…
Hi! ez a három mind egyflopis!
kisebb igényû graf.felület:
http://www.modest-proposals.com/Hacklin.htmkarakteres, 2.6.16-os kernel:
ftp://ftp.tux.org/people/kent-robotti/looplinux/rip/RIP-1440.imgkarakteres, mc-vel:
http://paud.sourceforge.net/ -
SzerzőBejegyzés
legutóbbi hsz