Discussion:
Truly amazing
(too old to reply)
Robert Prins
2021-04-20 15:55:14 UTC
Permalink
Just came across this one:

C4 1C 9F AB 47 47 EB F9

Save as a .COM file and run it, even in DOSBox-X. (Do a CLS before you start it)

Comparable to a gem like "+[>,]+[<.-]" in that language that usually has an '*'
in it's name. ;)

Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather - https://prino.neocities.org/indez.html
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html
wolfgang kern
2021-04-20 14:52:58 UTC
Permalink
Post by Robert Prins
C4 1C 9F AB 47 47 EB F9
Save as a .COM file and run it, even in DOSBox-X. (Do a CLS before you start it)
Comparable to a gem like "+[>,]+[<.-]" in that language that usually has
an '*' in it's name. ;)
Robert
I can't recommend to do this!

endless:
LES BX,[SI] ;SI=?? may depend on environment
LAHF ;who knows what's in the flags ?
STOSW ;WRITE to ES:DI (try to use cc-flags for color)
INC DI dup2 ;stosw does this also
JMP $-7 ;endless or until crash

BX isn't used.
And if SI doesn't point to the screen-seg it writes to another 64KB block.
__
wolfgang
Kerr-Mudd,John
2021-04-21 11:12:28 UTC
Permalink
On Tue, 20 Apr 2021 14:52:58 GMT, wolfgang kern
Post by wolfgang kern
Post by Robert Prins
C4 1C 9F AB 47 47 EB F9
Save as a .COM file and run it, even in DOSBox-X. (Do a CLS before you start it)
Comparable to a gem like "+[>,]+[<.-]" in that language that usually
has an '*' in it's name. ;)
Robert
I can't recommend to do this!
LES BX,[SI] ;SI=?? may depend on environment
LAHF ;who knows what's in the flags ?
STOSW ;WRITE to ES:DI (try to use cc-flags for color)
INC DI dup2 ;stosw does this also
skips next scrn char
Post by wolfgang kern
JMP $-7 ;endless or until crash
BX isn't used.
except to set es.
Post by wolfgang kern
And if SI doesn't point to the screen-seg it writes to another 64KB
block. __
wolfgang
I presume it's meant to put stripes down the screen; but al is 0 at start;
aha! I see the jmp goes to 101, which becomes SBB al,9F

I thought a .COM file at startup has bx=0x0000,si=0x0100,di=0xFFFE,
es=ds=cs;
LES must somehow pick up the Screen seg.



OK it's a mini 'Matrix' tribute. Nice.
--
Bah, and indeed, Humbug.
wolfgang kern
2021-04-26 12:43:24 UTC
Permalink
Post by Kerr-Mudd,John
On Tue, 20 Apr 2021 14:52:58 GMT, wolfgang kern
Post by wolfgang kern
Post by Robert Prins
C4 1C 9F AB 47 47 EB F9
Save as a .COM file and run it, even in DOSBox-X. (Do a CLS before you start it)
Comparable to a gem like "+[>,]+[<.-]" in that language that usually
has an '*' in it's name. ;)
Robert
I can't recommend to do this!
LES BX,[SI] ;SI=?? may depend on environment
LAHF ;who knows what's in the flags ?
STOSW ;WRITE to ES:DI (try to use cc-flags for color)
INC DI dup2 ;stosw does this also
skips next scrn char
Post by wolfgang kern
JMP $-7 ;endless or until crash
BX isn't used.
except to set es.
Post by wolfgang kern
And if SI doesn't point to the screen-seg it writes to another 64KB block.
I presume it's meant to put stripes down the screen; but al is 0 at start;
aha! I see the jmp goes to 101, which becomes SBB al,9F
yeah, I saw it but forgot to mention where AL get its value.
Post by Kerr-Mudd,John
I thought a .COM file at startup has bx=0x0000,si=0x0100,di=0xFFFE,
es=ds=cs;
LES must somehow pick up the Screen seg.
if DS:SI points to CS:0100 then ES:BX read as AB9f:1cc4 which is at the
end of in the graphics-RAM range (nothing to see in text mode) but it
overwrites part of the VideoBIOS (it may be RAM-mapped and writable).
Post by Kerr-Mudd,John
OK it's a mini 'Matrix' tribute. Nice.
I cannot try such here.
__
wolfgang

Loading...