IS-DOS
______
(C) 1998 M.M.A aka UnBELIEVER / XTM
IS-DOS with pictures!?
In ancient days of old, I used to read
a magazine devoted to the pC. The magazine was
is aimed at users from page to page, like a red thread was a
theme of Christmas Gifts - buy it, buy it, best gift for New
Year, etc. Among prodavaemogo stuff was what that CD, which is
buying, you're bound to learn modern multimedia technology,
without getting up from a warm seat. "As an example of"
development multimedia technologies, "suggested to decorate
your WINDOWS, using pictures recorded on the disk, in
accordance with nastuayuschim New Year. Slightly below
Operation screen wIN'95 where crowds frolicked snowmen, Santas
and other winter attributes.
"That's fatcat capitalists!" - I thought then. This is what
poluchaetsya, they can decorate their windows for the holiday
all kinds of pictures out there, and we should rot on the
background of the blue panels odoobraznogo IS-DOS'a?? No
disorder!
It is well conceived that same file
start.com, which you can find on the disc with the magazine.
Copying it to the IS-DOS boot disk, calling start.com and
prescribing it to the end of the autoexec.bat, you can safely
reboot your system and enjoy rulez'om. But for those who wonder
how it all works, is devoted to the following information.
Not having any idea about vutrennem device is-dos'a and even
more so without knowing all the intricacies of programming
under him, I acted purely intuitive.
Address assembly was taken by analogy
with the first got the arm. com file,
all registers preserved on the stack before
start and retrieved back when you return. Oddly, but all this
design to work.
However, ignorance is-dos'a came to fruition: if, when you
first start it all goes smoothly, then when you try to run
start.com from an already loaded is-dos lead to a slight
glitch. For the system itself is not scary - I can guarantee
that the spreading weighed on the is-dos do not spoil data on
your disk.
Below is the source start.com with comments on the text.
Source has been written in ALASM'e and according to this
ispolzuyutsya spetseficheskie to the editor and DISP commands
INCLUDE. Three effects were screen-saver taken me from the
ZX-REVIEW (long ago it was - with barely remember). That is why
I do not has lead to them kommentarii.Da themselves the effects
of treatment, you can easily substitute your own.
Sort it out and enjoy ....
ORG 30000
DISP 24,000
XOR A
OUT (# FE), A
PUSH AF; Save
PUSH BC; everything
PUSH DE; registers on
PUSH HL; stack
EXX; exclusively
PUSH HL; the case
PUSH DE; nuclear
PUSH BC; war!
EX AF, AF ';
PUSH AF;
PUSH IX;
PUSH IY;
CALL EFFECT; Call Samu
; Procedure .....
POP IY; Well, once we
POP IX; kept on
POP AF; stack all
EX AF, AF '; registers
POP BC; is not a sin
POP DE; them out
POP HL; and remove before
EXX; quitting!
POP HL;
POP DE;
POP BC;
POP AF;
RET
EFFECT DI;
LD HL, # 5800; "Zachernyaem"
LD DE, # 5801; screen
LD BC, 767;
LD (HL), L;
LDIR;
LD A, R; Using
AND # 1, register R
CP 0; choose
CALL Z, PICTUR1; one of the two
CP 1; packed
CALL Z, PICTUR2; screens.
LD HL, 0; This sly
PUSH HL; design
PUSH HL; designed
POP DE; provide
POP BC; necessary
LDIR; delay
LDIR; for successful
LDIR; review
LDIR; appeared
LDIR; on the screen
LDIR; pictures ....
EI
NETO LD A, R; Again using
AND # 03; R we "accidentally"
CP 3, choose one
JR Z, NETO; option
CP 0; screen-saver
JP Z, TERM1; and go to
CP 1; selected
JP Z, POGAS; procedure.
JP RADUGA;
POGAS CALL C4
LD DE, 0
LD B, # 14
C2 PUSH BC
LD HL, # 4000
C3 LD A, (DE)
AND (HL)
LD (HL), A
INC DE
INC HL
LD A, H
CP # 58
JR NZ, C3
EX DE, HL
LD BC, # 1770
AND A
SBC HL, BC
EX DE, HL
POP BC
DJNZ C2
LD C, 7
CALL C6
RET
C4 LD HL, # 5800
C5 LD (HL), 6
INC HL
LD A, H
CP # 5B
JR NZ, C5
RET
C6 LD HL, # 5800
C7 LD (HL), C
INC HL
LD A, H
CP # 5B
JR NZ, C7
RET
;----------------------------------------; CLS SCREEN LIKE
RADUGA - RADUGA ;----------------------------------------
RADUGA LD E, # F8 L6375 CALL L6380
HALT
INC E
LD A, E
CP # 78
JR NZ, L6375
RET
L6380 PUSH DE
PUSH AF
LD D, # 00
L6384 PUSH DE
LD A, # 47
L6387 CALL L639C
DEC E
DEC A
CP # 3F
JP NZ, L6387
POP DE
DEC E
INC D
LD A, D
CP 1924
JR NZ, L6384
POP AF
POP DE
RET
L639C EX AF, AF '
LD A, E
CP 1932
JR NC, L63BD
LD A, D
CP # 18
JR NC, L63BD
PUSH HL
LD HL, # 5800
SRL D
RR L
SRL D
RR L
SRL D
RR L
ADD HL, DE
LD D, A
EX AF, AF '
LD (HL), A
POP HL
RET
L63BD EX AF, AF '
RET
;----------------------------------------; CLS SCREEN FROM
TERMINATOR2 ;---------------------------------------- TERM1 LD
B, 7 L4 HALT
LD HL, 15000
L0 DEC HL
LD A, L
OR H
JR NZ, L0
LD HL, 22528
L3 LD A, (HL)
AND 56
JR Z, L1
SUB 8
L1 LD C, A
LD A, (HL)
AND 7
JR Z, L2
DEC A
L2 OR C
LD (HL), A
INC HL
LD A, H
CP 1991
JR NZ, L3
DJNZ L4
RET
PICTUR1 INCBIN "scr1"
PICTUR2 INCBIN "scr2"
P.S. Completely forgot! In the is-dos have a buffer to
how dozens of keystrokes. In
while enjoying the color and Kartika
protsessom her disappearance, you can press
a series of keys, which will act immediately
after returning to the system. For example
I udaetsya "blindly" call polzovatelskoe menu (2), select
"Vosstanovit RAM disk" (five times "the cursor
down "+ ENTER) and after unfolding RAM
CD to move to another panel (the cursor
left). In fact, clicks may
be more and they all zapomnyatsya!