256-Byte-Compo-Entry 'p3000sse.com' - "plattenbau 3000 SSE" - A 256 Byte DOS intro by Kümmel for Revision 2020
- Needs to run on plain FreeDOS (tested on latest ersion 1.2)
- Uses a resolution of 1024x768x8Bit
- Has no sound
- Exits on 'ESC'
Please let it run for about 1 minute to show all effects :-)
A video (p3000sse.avi) and screen shot (p3000sse.png) are supplied for you to see how it should look like
Cheers,
Michael aka Kümmel
__________________________________________________________
'plattenbau 3000 sse' =>
a 256 byte intro by Kuemmel for Revision 2020
__________________________________________________________
'to AND or NOT to AND'...a binary raycasting rhapsody at
1024x768 with brute force SSE code showing 16 variations
of binary object combinations.
Some history on this...
...I'm experimenting with SSE instructions within tiny
intros for a long time, but didn't release much as it's
hard to find a proper visual idea to compensate for those
long instructions (usually 3,4,or even more bytes). Just
when I saw HellMood's 'Essence 64b' I thought that this
this could be done in highres with the help of pure SSE
speed. And here we go...the geometry isn't that special
but it's a start. More to come in the future hopefully...
...so special thanks to HellMood for his 64 Byte intro,
which provided the basic idea. But of course there were
a lot of similar intros in the last 2 decades with that
kind of binary raycasting algorithm.
'plattenbau' is german, in english it's something like
a word for those ugly big block appartment buildings :-)
- runs on FreeDOS
- needs high spec CPU with SSE level 4.1
- can benefit on integrated CPU graphics core
- uses a resolution of 1024x768x8Bits
- assembles with Flat Assembler
- play with the commented parameters
Check out the two other folders also:
'extra'
- p2a_sync...a special version with 16 instead of
8 pixels calculation at once & early raycasting exit.
Can be much faster, check out the timing folder for
results.
- p2b_sync...a speical version with 16 instead of
8 pxiels calculation and got rid of all mul's in the
main loop. Also uses an early exit. Can be much
faster, check out the timing folder.
'timing'
all versions here don't use vsync and stop after
rendering 1024 frames to benchmark the code
- p0 ... 8 pixel calc/mul's inside loop, no early exit
- p1 ... 8 pixel calc/mul's inside loop, early exit
when all 8 pixels got a 'hit'
- p2a...16 pixel calc/mul's inside loop, early exit
when all 8 pixels got a 'hit'
- p2b...16 pixel calc/no mul's inside loop, early exit
when all 8 pixels got a 'hit'
all the faster versions just take up too much bytes ;-)
Cheers,
Kuemmel
Greetings to sensenstahl,hellmood,gentlemen,t$,bartman,
andy,hardy,gargaj,tomcatabaddon,harekiet,britelite,xq,
dojoe,saga musix,kaomau and all the tiny intro coders
__________________________________________________________
.
s
: ,$
% dS'
&ยà¸S;_
$ "s,
; *,_ ,
'~+
_________________
kuemmel
__________________________________________________________
e-mail: michael.kuebel@googlemail.com
web...: www.mikusite.de
__________________________________________________________