home *** CD-ROM | disk | FTP | other *** search
- P286
- jumps
-
- Extrn Char:Far
-
- _Code segment para public 'Code'
- assume cs:_Code, ds:_Code, es:_Code, ss:_Stack
-
- ProgStart:
-
-
- cli
- call dosle
- mov ax,012h
- int 10h
- call initscr2
- call pcxki
- mov al,03h
- call setplane
- call logoki
- call bbsalk
- mov al,02h
- call setplane
- call bbski
- call setbo
- call initscr
- xor si,si
- cli
-
- Loop1: call retrace
- call bbski
- add si,80
- cmp si,80*82
- jne t1
- xor si,si
-
- t1: mov dx,060h
- in al,dx
- cmp al,80
- ja loop1
-
- mov ax,03h
- int 10h
- mov ax,_code
- mov ds,ax
- mov dx,offset endtxt
- mov ah,9
- int 21h
- sti
- mov ax, 4c00h
- int 21h
-
- retrace proc near
- MOV DX,03DAh
- @@Y1: IN AL,DX;
- TEST AL,8;
- Jne @@Y1;
- @@Y2: IN AL,DX;
- TEST AL,8;
- Je @@Y2;
- ret
- retrace endp
-
- initscr proc near
- push cs
- pop ds
- mov si,offset colors
- mov dx,3c8h
- xor al,al
- out dx,al
- mov cx,70
- inc dx
- rep outsb
- ret
- initscr endp
-
- initscr2 proc near
- push _fekete
- push _fekete
- pop es
- pop ds
- mov di,offset _fekete
- mov cx,70
- xor al,al
- rep stosb
-
- mov si,offset _fekete
- mov dx,3c8h
- xor al,al
- out dx,al
- mov cx,70
- inc dx
- rep outsb
- ret
- initscr2 endp
-
- pcxki proc near
- PUSHA;
- PUSH ES;
- PUSH DS;
-
- MOV AX,seg char
- MOV DS,AX;
- MOV AX,08000h
- MOV ES,AX;
- mov SI,offset char
- add si,128
- XOR DI,DI;
- XOR BX,BX;
- XOR CX,CX;
-
- @DataIn: XOR BX,BX;
- LODSB;
- TEST AL,128;
- JE @@AzAs1;
- INC BX;
- @@AzAs1: TEST AL,64;
- JE @@AzAs2;
- INC BX;
- @@AzAs2: CMP BX,2;
- JE @@Duplazas;
- STOSB;
- CMP DI,5*320;
- JA @@AzAs3;
- JMP @DataIn;
- @@AzAs3: CMP DI,64000;
- JA @@DispEnd;
- JMP @DataIn;
- @@Duplazas: AND AL,63;
- XOR AH,AH;
- MOV CX,AX;
- CMP CX,0;
- JNE @@Mehtt;
- INC CX;
- @@Mehtt: LODSB;
- REPNZ STOSB;
- CMP DI,64000;
- JA @@DispEnd;
- JMP @DataIn;
- @@DispEnd:
-
- POP DS;
- POP ES;
- POPA;
- RET
- pcxki endp
-
- logoki proc near
- push ds
- push es
- pusha
-
- push 08000h
- xor si,si
- pop ds
- push 0a000h
- mov di,640*40/8+3
- pop es
-
- mov cx,2600
- rep movsw
-
-
- mov si,15
- mov di,640*40/8+37
-
- mov cx,80
- q1: push cx
- mov cx,7
- rep movsb
- add di,73
- add si,73
- pop cx
- loop q1
-
- mov ax,_code
- mov ds,ax
- mov dx,offset text
- mov ah,9
- int 21h
-
- mov al,04h
- call setplane
-
- mov di,150*80+10
- mov ax,0ffffh
- mov cx,58
- rep stosb
-
- mov di,151*80+10
- mov cx,250
- c1: mov al,128
- stosb
- add di,56
- mov al,1
- stosb
- add di,22
- loop c1
-
- mov di,400*80+10
- mov ax,0ffffh
- mov cx,58
- rep stosb
-
- popa
- pop es
- pop ds
- ret
- logoki endp
-
- setplane proc near
- push dx
- push ax
- mov dx,03c4h
- mov al,02h
- out dx,al
- inc dx
- pop ax
- out dx,al
- pop dx
- ret
- setplane endp
-
- bbsal proc near
- push cx
- push di
-
- push 08000h
- mov si,5760
- add si,dx
- pop ds
- push 09000h
- pop es
-
- mov cx,37
- b1: push cx
- mov cx,14
- sub cx,bx
- rep movsb
- add di,66
- add si,66
- add di,bx
- add si,bx
- pop cx
- loop b1
- pop di
- pop cx
- ret
- bbsal endp
-
- setbo proc near
- mov ax,01001h
- mov bh,0eh
- int 10h
- ret
- setbo endp
-
- bbsalk proc near
- pusha
- push ds
- push es
-
- push 09000h
- pop es
- xor di,di
- xor ax,ax
- mov cx,22500
- rep stosw
-
- xor di,di
- mov cx,7
- b3: push cx
- mov cx,5
- b2: xor dx,dx
- xor bx,bx
- call bbsal
- add di,15
- loop b2
-
- mov dx,0
- mov bx,9
- call bbsal
- add di,3205
-
- mov dx,10
- mov bx,9
- call bbsal
- add di,5
-
- mov cx,5
- b4: xor dx,dx
- xor bx,bx
- call bbsal
- add di,15
- loop b4
- pop cx
- add di,3200
- loop b3
-
- pop es
- pop ds
- popa
- ret
- bbsalk endp
-
- bbski proc near
-
- push si
- push 09000h
- pop ds
- push 0a000h
- xor di,di
- pop es
- mov cx,19200
- rep movsw
- pop si
- ret
- bbski endp
-
- dosle proc near
-
- MOV AH,0fh
- INT 10h
- MOV AH,03h
- INT 10h
- OR CH,20h
- MOV AH,01h
- INT 10h
-
- ;{SEGINIT}
- PUSH 0B800h
- PUSH 0B800h
- POP DS
- POP ES
-
- MOV CX,80
- @@LOOPLE5: PUSH CX
- ;{WAIT}
- call retrace
- MOV SI,156
- MOV DI,158
- MOV CX,25
- @@LOOPLE2: PUSH CX
- MOV CX,79
- @@LOOPLE3: MOVSW
- SUB DI,4
- SUB SI,4
- LOOP @@LOOPLE3
- XOR AX,AX
- STOSW
- ADD DI,316
- ADD SI,318
- POP CX
- LOOP @@LOOPLE2
- POP CX
- LOOP @@LOOPLE5
- ret
- dosle endp
-
- Include color.inc
- text db 13,10,13,10,13,10,13,10,13,10,13,10,13,10,13,10,13,10,13,10
- db ' SYSOP : ZAX SCENE WAREZ',13,10
- db ' CO-SYSOP: FBi +(56) - 37-00-21 COOL MUZAXs',13,10
- db ' (Szolnok area) AMIGA PROGs',13,10
- db ' MODEM: 14.4k TRAINERs',13,10
- db ' OPEN HOURS: 22-07 KALL NOW! GUS, SB',13,10
- db ' ───────── CODEING',13,10
- db 13,10
- db 13,10
- db ' MURMIDONES DIST-SITE',13,10
- db ' MICROPYLE HHQ',13,10
- db ' NARCOTIX HHQ',13,10
- db 13,10,13,10
- db ' CrEDz: Code by TyRaNT / MURMIDONES$'
-
-
- endtxt db 'FRACTAL SKY BBS!',13,10
- db ' +(56)-370021',13,10,13,10
- db ' KALL NOW!',13,10,'$'
-
- _Code ends
- _Stack segment para stack 'stack'
- db 32 dup (0)
- _Stack ends
- _fekete segment para public 'Zdat'
- db 70 dup (0)
- _fekete ends
-
- End ProgStart
-