#00 — И целого байта мало… | Приглашение на Revision Online 2020

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

    От лица =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



    ---EOF---

    #FF — И целого байта мало… | Пилот)
    #00 — ИЦБМ… | Приглашение на Revision Online 2020
    #01 — ИЦБМ… | Какими бывают intro?
    #02 — ИЦБМ… | The Cross of Changes
    #03 — ИЦБМ… | 2B or not 2B
    #04 — ИЦБМ… | Берем БК за рога
    #05 — ИЦБМ… | Анимэ
    #06 — ИЦБМ… | Метеоризмы
    #07 — ИЦБМ… | Revision Online
    #08 — ИЦБМ… | Голосуем на Revision

    Развлекательный канал деда в Телеграм: teleg.run/bornded

    Рядом с каналом есть чат. В нем можно попробовать поднять вопросы за демосцену, ассемблер, пиксель-арт, трекерную музыку и другие аспекты процессы. Вам могут ответить либо отправят в другие, более тематические чаты.

    ТАК ПОБЕЖДАЛИ — ТАК ПОБЕДИМ!

    Комментарии 6

      +2
      Извините, Максим, вы рекламируете какой-то ресурс, который толком ничего не содержит.

      Трансляция пройдет в Twich канале самого мероприятия: www.twitch.tv/revisionparty
      А официальный сайт события тоже совсем иной: 2020.revision-party.net

        0
        Катя, ну что вы как в первый раз то… :-)
        +1
        Точно знаю, что из-за смены формата на онлайн одна мощная работа перенесена авторами аж на следующий год.
        0
        Как вы отлично знаете, коронавирус лютует

        Нет, не знаю.
        Паранойя — да,
        Некомпетентность и страх — таки да.
        Вирус — сомневаюсь.
          0
          программируйте на ассемблере, БРАТЬЯ!

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое