Дамы, господа, как бодрость духа?

От лица RMDA приглашаю вас на Revision Online 2020. Как вы отлично знаете, коронавирус лютует, отменены не только крупные мировые конференции, но даже крошечные мероприятия вокруг демосцены по всей Европе (Forever, Speccy.pl и многие другие). Ребята из команды Revision две недели боролись с муниципалитетом микроскопического городка в Германии, но не смогли отстоять право на проведение демопати. Они решили сделать мероприятие онлайн.

С 10 по 14 апреля, 72 часа непрерывного онлайн-потока по всем платформам и аспектам демосцены ждут вас! Все тут: 2020.revision-party.net

Мы активно участвуем в организации Revision Online 2020 и уже выпустили первую работу по теме: Revitro, 256 bytes intro, PC, x86

Это интро на 256 байт для PC которое использует для вывода звука как спикер, так и midi-интерфейс. Посмотрите сами:



Вот исходный код:

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 '$'

Если вы понимаете этот культурный код, если вам не требуется перевода на русский язык термина demoscene — мы ждем вас!

Вы знаете как с нами связаться!

image

RMDA 2020
русские идут...

UPD: Наша новая работа. Она пока не зарелижена честь по чести, мы ждем видео. Публикуем сам исходник, если захотите = сможете сами ее собрать и посмотреть. Это PC 128 bytes intro, приглашение на Chaos Constructions 2020 в Питере (август):

; 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, x86



И в качестве небольшого бонуса, наша работа для Apple ii

dae353b