Ladies and gentlemen, how pep?On behalf of = R MDA = I invite you to Revision Online 2020 . As you well know, the coronavirus is bustling, not only large world conferences have been canceled, but even tiny events around the demoscene throughout Europe (Forever, Speccy.pl and many others). The guys from the Revision team fought for two weeks with the municipality of the microscopic town in Germany, but could not defend the right to hold a demopat. They decided to make the event online.From April 10-14, 72 hours of continuous online flow across all platforms and aspects of the demo scene are waiting for you! Everyone is here:2020.revision-party.netWe are actively involved in the organization ofRevision Online 2020and have already released the first work on the topic: Revitro , 256 bytes intro, PC, x86This is a 256 byte intro for a PC that uses both a speaker and a midi interface to output sound. See for yourself:Here is the source code:TEXT_WIDTH = 15
TEXT_LINES = 6
FAST_APPEAR = 0 ; for debug
org 100h
; ax = 0, bx = 0, cx = 0FFh, si = 100h, bp = 9??h, di = sp, word [sp] = 0
db 4,5,2,9,0E4h,5,2,0,4,5,2,9,4,0C5h,2,7 ; notes: A A# G d A+g A# G ~ A A# G d A A#+f G c
; al = undefined, other are unchanged
; Video mode, font, text, palette
mov al,13h
int 10h ; 320x200, 256 color
mov ax,1122h
int 10h ; set font size 8x14
xchg ax,bp
mov dx,text
int 21h ; output text on top left line
push 0A000h
pop ds
mov dx,3C9h
xor al,al
@@: out dx,al ; red = gradient
out dx,al ; green = gradient
outsb ; blue = 0
cmp cl,0C1h
sbb al,0 ; black for first 64 colors, gradient for next 192 colors
loop @B
; Scale text
next:
salc
mov di,bx
shr di,1
jc @F
mov al,[di - (((7-TEXT_LINES)*7+1)*320 + (20-TEXT_WIDTH)*4)]
@@: mov [bx],al
dec bx
jnz next
; Text appearance
appear:
shl byte [bx],4
; in al,60h
; dec ax
; jz exit
if ~ defined FAST_APPEAR | ~ FAST_APPEAR
test bl,dh
jnz @F
mov ah,86h
int 15h
end if
;@@: mov al,bh
; out 61h,al ; more lite sounds of horror :)
@@: imul bx,-103 ; interesting sounds on: 125;113;73;53;25;-27;-39;-55;-75;-103;-107;-123
inc bx
mov al,bh
out 61h,al ; sounds of horror (use this block or above)
jnz appear
; Flashlight
flashlight:
pixel:
mov ax,0CCCDh
mul di ; dl = X (0..255), dh = Y
xchg ax,dx
sub al,ch
@@: neg al
jl @B ; dl = abs(dl)
cmp al,48
jbe @F
mov al,48
@@: and byte [di],0C0h
or [di],al
inc di
jnz pixel
; Music
mov dx,330h
add ch,dh
test cl,dh
jnz skip
and si,10Fh
mov bl,[es:si]
inc si
@@: test bl,bl
jz skip
mov ax,3F90h ; note on command (90h to 330h) and enter UART mode (3Fh to 331h)
out dx,ax
mov al,bl
and al,0Fh
add al,65 ; note
out dx,al
mov al,7Fh ; volume (max)
out dx,al
shr bl,4 ; high nibble
jmp @B
skip:
inc cx
hlt ; delay
; Check Esc key
in al,60h
dec al
jnz flashlight
exit:
ret
text db 'Revision Online',13,10
db ' ',196,205,196,13,10
db ' HEAR & OBEY',13,10
db 'HTTPS://RMDA.SU',13,10
db 'come, taste the',13,10
db 'REAL demoscene!'
db '$'
If you understand this cultural code, if you do not need to translate the term demoscene into Russian, we are waiting for you!You know how to contact us! RMDA 2020 Russians are coming ... UPD: Our new job. She has not yet been honored with honor, we are waiting for the video. We publish the source itself, if you want = you can assemble it and see for yourself. This is PC 128 bytes intro, an invitation to Chaos Constructions 2020 in St. Petersburg (August):
; CC2k2o (c) IlII / RMDA / 2020
; FASM, recommended to run via DOSBox
WIDTH = 21
HEIGHT = 21
BLOCK = 6
org 100h
; ax=bx=0, cx=0FFh, si=100h, df=0
; Init
mov dx,3C9h ; this opcode will be also palette :)
mov al,13h
int 10h ; 320x200, 256 colors
rep outsb ; r,g,b = 58,9,3 for color #0
les bp,[bx] ; es = 9FFFh (DOSBox; different systems may contain 0A000h, 9F80h and other)
; Draw QR code
drawqr:
mov si,qr
mov di,(200-HEIGHT*BLOCK)/2*320 + (320-WIDTH*BLOCK)/2 + 10h ; top left corver address (10h is compensation of inaccurate video segment value)
mov dl,1
mov cl,HEIGHT
continue:
mov ch,WIDTH
next:
out 61h,al ; sound of crackle
ror dl,1 ; set carry flag 1 time in 8 rotations
jnc pixel
lodsb
xchg bp,ax
pixel:
shr bp,1 ; extract next bit
sbb ax,ax ; ax = 0 or 0FFFFh
cmp ch,dh
jne @F
mov al,0D0h ; noise effect color
@@:
mov bl,BLOCK
@@:
repeat BLOCK / 2
stosw
end repeat
repeat BLOCK mod 2
stosb
end repeat
add di,320-BLOCK ; first move vertically
dec bx
jnz @B
dec ch
jnz next
sub di,(320*HEIGHT-1)*BLOCK ; then move horizontally
loop continue
; Final
imul dx,77 ; random number generator
; shr dh,1 ; more often noise
hlt ; delay
in al,60h
dec ax
jnz drawqr ; loop if no Esc key is pressed
ret
; Data
qr db 127,195,63,232,9,118,109,221,174,171,219,165,116,131,172,224
db 95,245,7,96,0,93,45,222,67,109,177,101,116,156,175,143
db 29,227,1,90,237,31,4,15,114,40,93,243,169,235,19,119
db 13,214,32,71,240,119,145;,0
cc2020inv , 128 bytes intro, PC, x86And as a small bonus, our work is for Apple iidae353b
--- EOF ---#FF - And a whole byte is not enough ... | Pilot)# 00 - ICBM ... | Invitation to Revision Online 2020# 01 - IBMP ... | What are intro?# 02 - The MBM ... | The Cross of Changes# 03 - IBMP ... | 2B or not 2B# 04 - IBMP ... | We take BC by the horns# 05 - ICBM ... | Anime# 06 - IBMP ... | Meteorisms# 07 - The MBM ... | Revision Online# 08 - IBMP ... | We vote on the RevisionGrandfather's Entertainment Channel in Telegram:teleg.run/borndedThere is a chat next to the channel. In it, you can try to raise questions for the demoscene, assembler, pixel art, tracker music and other aspects of the processes. You can be answered or sent to other, more thematic chats.So they won - so we win!