It's a Dos, Dos, Dos!
DOS SOFTWARE


TVEDIT ITALIANO
Versione italiana (ricompilata) del programma TVedit fornito come esempio assieme ai compilatori Borland C/C++ per DOS. E' un editor multifinestra molto comodo. Virus-free, secondo una scansione effettuata con ClamAV.
TVEDIT.EXE (341.08 Kb)


I CHING
Indeciso?
Undecided?
ICHING.EXE (32.46 Kb)

'
' Programma oracolo per I CHING
' (PD) 1996 Marcello Magnifico
'
RANDOMIZE TIMER
FOR i=0 to int(rnd(.)*64+1)
READ a$,b$
NEXT
PRINT a$
PRINT b$
'
' Messaggi dell'oracolo
'
Data "RICETTIVITA'"
Data "Successo con l'obbedienza."
Data "SGRETOLAMENTO"
Data "Cerca di non muoverti."
Data "UNIONE"
Data "Hai davvero fiducia in te?"
Data "CONTEMPLAZIONE"
Data "Lo scopo non e' raggiunto."
Data "ARMONIA"
Data "Il rispetto genera il rispetto."
Data "PROGRESSO"
Data "Esibisci le tue qualita'."
Data "ASSEMBRAMENTO"
Data "Il piccolo e' aiutato dal grande."
Data "STASI"
Data "Manca la comunicazione."
Data "MODESTIA"
Data "Brillare ma senza abbagliare."
Data "LA MONTAGNA"
Data "Concentrazione e riposo."
Data "ARRESTO RAPIDO"
Data "Coltivare un talento."
Data "CRESCITA"
Data "Occorre fermezza e correzione."
Data "PICCOLI ECCESSI"
Data "Successo, ma nelle piccole cose."
Data "IL VIAGGIATORE"
Data "Ricerca di un accordo."
Data "INFLUENZA"
Data "Sagacia in molte opinioni."
Data "RITIRATA"
Data "La dignita' prima di tutto."
Data "COORDINAZIONE"
Data "Saggezza della esperienza."
Data "INESPERIENZA"
Data "Inutile fare, si deve ripetere."
Data "L'ABISSO"
Data "La sincerita' e' da preferirsi."
Data "DISPERSIONE"
Data "Coordinazione delle idee."
Data "VIA LIBERA"
Data "Tornate ai modi antichi."
Data "VERSO LA FINE"
Data "I guai sono finiti."
Data "OPPRESSIONE"
Data "Perche' tante parole?"
Data "CONFLITTO"
Data "Bisogna sapersi fermare in tempo."
Data "ASCESA"
Data "Lo scaltro coglie l'occasione."
Data "PURIFICAZIONE"
Data "Le conseguenze vanno esaminate."
Data "IL POZZO"
Data "Aiuto reciproco e comprensione."
Data "INSERIMENTO"
Data "Tentare e ritentare."
Data "PERSEVERANZA"
Data "Tutte le strade sono aperte."
Data "FERMEZZA"
Data "Occhi e orecchie aperti."
Data "GRANDI ECCESSI"
Data "Indifferenza ai commenti."
Data "INCONTRO"
Data "Diffidare dei piu' forti."
Data "RITORNO"
Data "L'ostacolo non e' poi cosi' importante."
Data "ALIMENTO"
Data "Il pensiero accresce l'azione."
Data "INIZIO DIFFICILE"
Data "Troppa speranza inganna."
Data "ACCRESCIMENTO"
Data "Avanzare senza esitazioni."
Data "IL TUONO"
Data "Non cercare le apprensioni."
Data "LA PENETRAZIONE"
Data "Il saggio e' protetto dalla legge."
Data "DISCIPLINA"
Data "Un grande protetto dai piccoli."
Data "INNOCENZA"
Data "La scorrettezza porta al disastro."
Data "OSCURAMENTO"
Data "Perche' attirare l'attenzione?"
Data "AVVENENZA"
Data "A volte le apparenze non tradiscono."
Data "SUCCESSO"
Data "Finire e' la parte ardua."
Data "LA FAMIGLIA"
Data "Ogni cosa al suo posto."
Data "ABBONDANZA"
Data "Il mezzo successo non basta."
Data "CHIAREZZA"
Data "Bisogna fare il necessario."
Data "RIVOLUZIONE"
Data "Prima agire dopo pensare."
Data "COMPAGNIA"
Data "Non mescolare cio' che non si mescola."
Data "AVVICINAMENTO"
Data "Il successo puo' essere provvisorio."
Data "MINORAZIONE"
Data "Si stabilira' un certo equilibrio."
Data "RESTRIZIONE"
Data "Freno allentato prima o poi."
Data "SINCERITA'"
Data "Il saggio crede a colui che crede."
Data "LA COMPAGNA"
Data "Virtu' dell'astinenza."
Data "SEPARAZIONE"
Data "La previsione avversa e' sbagliata."
Data "GIOIA"
Data "Non dimenticare anche il piacere."
Data "PRUDENZA"
Data "Ma forse la tigre non morde."
Data "PACE"
Data "Fine delle cose piccole e inizio delle grandi."
Data "DOMARE"
Data "Ispirarsi agli altri."
Data "ATTESA"
Data "Non farsi trascinare."
Data "RINSAVIMENTO"
Data "Forse la nube non scoppiera'."
Data "POTENZA"
Data "La fermezza trionfa."
Data "POSSESSO"
Data "Tenere bene i fili in mano."
Data "APERTURA"
Data "Sparpagliare, non ammassare."
Data "IL CREATIVO"
Data "Un cambiamento e' salutare."



LNG.INI italiano per il progetto SEAL
lng.ini (13.91 Kb)
Localizzazione italiana del file INI dell'interfaccia grafica libera SEAL (oggi XSeal) per Dos. Provate l'originale scaricandolo da http://sourceforge.net/projects/sealsystem/ ,


ROT13.COM
Versione DOS della famosa trasposizione monoalfabetica. Scritto per un esame di Assembly al Politecnico. Tramite il comando DEBUG inserire questo listato
DOS version of the famous monoalphabetic transposition. Written for an Assembly exam. Via the DEBUG command instert this listing

N ROT13.COM
E 0100 B4 06 B2 FF CD 21 75 01 C3 3C 41 72 1F 3C 5A 77
E 0110 0B 2C 0D 3C 41 73 15 04 1A EB 11 90 3C 61 72 0C
E 0120 3C 7A 77 08 2C 0D 3C 61 73 02 04 1A 8A D0 CD 21
E 0130 EB D0
RCX
0032
W
Q

oppure scaricare la versione su file gia' pronta.
or just download the ready-made file.
ROT13.COM (50 b)
Seguono esempi d'uso
Usage examples follow

TYPE TEXT.TXT | ROT13
TYPE TEXT.TXT | ROT13 >TEXT2.R13



SILENZIO.COM
Zittisce quanto possibile l'altoparlante sotto Dos; esempio di programmazione a basso livello intercettando un timer di sistema.
SILENZIO.COM (470 b)

title SILENZIO.COM System Silent Routine 20-10-1995rdo
name dev
page 60,132
;
;
CR equ 0dH
LF equ 0aH
;
;---------------+
;Name: SILENZIO V1.00
;Purpose: Stop that ugly dirty little rotten stupid continuous beeping
; from that 1981 ugly dirty... ...speaker-buzzer !!!
;
; Written especially for The Mega teacher
;
; This one shouldn't slow much your PC, because the silence routine is
; ran only 18 times per second. If your speeeeker is very loud, this
; kludge will only attenuate the effect (the duration, in reality) of
; your beeping. |
; |
;
;---------------+

CODE SEGMENT
ASSUME CS:CODE,DS:CODE

; Program Segment Prefix
ORG 80H
NUM_CHARS db ? ; number of characters in argument
db ? ; leading blank
ARGTX db ? ; start of text (after leading blank)
;
; Program Area
;
ORG 100H
begin: jmp start
db 'Copyright 1995, R. Damon Osborne'
;
; Interrupt Service Routine
; This routine will kill any Pc-Speaker sound every system clock tick
; 18 times per second. All memory references must use the CS segment prefix
; because that is the only segment setup by the INT call. I am using a
; method of Intercept routine ID somewhat like that done in CPMPLUS RSX's
; to prevent any conflict of this routine with any others that might
; intercept the interrupt I am using.
;
intvec dd ? ; next interrupt routine in sequence
loopcnt db ?
db 'SILENZIO' ; Interrupt Intercept ID
tickint: pushf ; save flags
push ax ; save our useful reg
mov al,176d
out 67,al
pop ax ; restore reg
popf ; restore flags
jmp cs:[intvec] ; go to next routine in chain

saveaddr label byte ; used as last location to keep in mem
;
; Start of main routine to process the command line.
;
start:
mov dx,offset signon
mov ah,9
int 21H
mov bx,offset argtx ; point to start of text argument
mov cl,num_chars ; set cx to number of chars in argument
xor ch,ch ; "
sub cx,1 ; discount char count for leading blank
ja parse_arg ; if so, handle w/termination routine

error: mov dx,offset errmsg ; if a problem give user help
error2: mov ah,9
int 21h
mov ax,4c01h ; terminate
int 21h
;
; Parse the numeric argument
; If the number is greater than 99 then we will error out with usage.
; If argument is zero, we will "unload" the interrupt service routine.
;
parse_arg: mov al,0 ; initialize char value to 0
mov dh,10d ; digit multiplier
getdigit: mov dl,[bx] ; get char code into dl
sub dl,'0' ; convert digit code to value
jb error ; error checks
cmp dl,'9' ;
ja error ; must be a digit
mul dh ; mult. char value (in al) by 10
add al,dl ; add digit value to char value
inc bx ; skip to next char
dec cx ; "
jnz getdigit ; exit if at end of text (cx = 0)
cmp al,99 ; if over 99, error
ja error
mov loopcnt,al ; save our loop counter
mov ah,35h ; get old tick interrupt
mov al,0Ah
int 21h
sub bx,8 ; check for interrupt already alive
mov ax,word ptr es:[bx] ; get first 2 chars
cmp ax,'IS' ; if SI, already exists
je exists ; do mod of routine
cmp loopcnt,0 ; if zero, jump to removal routine
jnz chgint
mov dx,offset notresmsg
jmp error2
chgint: add bx,8 ; get intvec back to normal
mov word ptr intvec,bx
mov word ptr intvec+2,es
mov ah,25h ; save new int vector
mov al,0Ah
mov dx,offset tickint
int 21h
;
; Done with loading and initialize
; Print out a message to say we did it and leave
;
complete: mov dx,offset byemsg ; point to completion message
mov ah,9 ; code for dos display string function
int 21h ; display message via dos function call
mov ah,31h ; keep program in memory for int vector
mov al,0
mov dx,offset saveaddr
int 21h ; bye bye
notresmsg: db 'SILENZIO not resident$'
byemsg: db 'SILENZIO loaded$'

exists: mov al,loopcnt ; get specified loopcnt
cmp al,0 ; if we are removing
jz rmvint
dec bx ; point int copy of loopcnt
mov byte ptr es:[bx],al ; save percentile
mov dx,offset existmsg
jmp goodret
existmsg: db 'SILENZIO was yet resident$'

rmvint: sub bx,5 ; point to old intvec
push ds
cli
lds dx,es:[bx] ; get old int vector
mov ah,25h ; restore old int vector
mov al,0Ah
int 21h
sti
pop ds
mov dx,offset rmvmsg
jmp goodret
rmvmsg: db 'SILENZIO removed$'

goodret: mov ah,9
int 21h
mov ax,4c00h ; terminate
int 21h

signon: db 'SILENZIO v1.01 20.10.95.rdo',CR,LF,'$'
errmsg: db CR,LF
db 'usage: SILENZIO <number>',CR,LF
db ' where <number> is any 0 thru 99',CR,LF
db ' if <number> is 0, remove silent interrupt',CR,LF db '$'

code ends

end begin



1CRYPT
E' un semplice wrapper attorno alla funzione DES Crypt. Il sorgente di quest'ultima viene da GNU/Linux. L'eseguibile DOS e' stato compilato sotto Borland C 3.1. Prende come input una password sulla prima linea e i due caratteri di "salt" sulla seconda, restitiusce l'hash.
Just a wrapper around DES Crypt function. Source of it comes from GNU/Linux. DOS executable was compiled under Borland C 3.1. Takes as input a password on the first line and the two-characters salt on the second one, gives as output the hash.
1CRYPT.ZIP (23.61 Kb)


Created by rdo. Last Modification: Sunday 13 Gennaio, 2008 22:18:42 CET by rdo.
The original document is available at http://yashi.ma.cx/wiki/tiki-index.php?page=tech_dosware