Difference between revisions of "Indian Spirit"

From SizeCoding
Jump to: navigation, search
(Created page with "{{Tinyprog|title=Indian Spirit|author=Hellmood|bsize=32|link=http://www.pouet.net/prod.php?which=80341}} Category:Case Study Indian Spirit implements a 640x400 American In...")
 
Line 22: Line 22:
  
 
<syntaxhighlight lang=nasm>
 
<syntaxhighlight lang=nasm>
pop ds
+
        pop     ds
cwd
+
        cwd
 
Y:
 
Y:
xor al,0x69
+
        xor     al,0x69
int 0x10
+
        int     0x10
mov dl,cl
+
        mov     dl,cl
mov al,[0x46C]
+
        mov     al,[0x46C]
neg al
+
        neg     al
xor dl,al
+
        xor     dl,al
and al,32+16+4+2
+
        and     al,32+16+4+2
or al,0x41
+
        or     al,0x41
out 0x42,al
+
        out     0x42,al
out 0x61,al
+
        out     0x61,al
mov ah,12
+
        mov     ah,12
loop Y
+
        loop   Y
inc bl
+
        inc     bl
jmp short Y
+
        jmp short Y
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 12:35, 8 April 2019

Indian Spirit was created by Hellmood and is 32 bytes in size. Indian Spirit implements a 640x400 American Indian cloth tapestry while playing music inspired by that culture. Original Readme:

"Indian Spirit" - HellMood / DSR
released just for fun 02/2019

DOSBOX - 32 bytes - PC Speaker

Somewhat inspired by Adoks "Indian" Series
i coded for one hour to see what i can come up
with, but in 32 bytes, and with sound. At the
same time i exploited the "secret mode" 0x69
which switches to 640x400 in 256 colors, but
without using the size-unfriendly VESA functions.
For that reason, this demo only works in DOSBOX
or on a computer which as the EXACT graphic card
dosbox emulates. 

Youtube Capture :
https://www.youtube.com/watch?v=TeIkW31Blf0
        pop     ds
        cwd
Y:
        xor     al,0x69
        int     0x10
        mov     dl,cl
        mov     al,[0x46C]	
        neg     al
        xor     dl,al
        and     al,32+16+4+2
        or      al,0x41
        out     0x42,al			
        out     0x61,al			
        mov     ah,12
        loop    Y		
        inc     bl	
        jmp short Y