Semana passada = R MDA = lançou seu primeiro lançamento para o lendário computador soviético , Electronics BK-0011M, e quero lhe contar alguns detalhes. Aqui está o trabalho em si: Presente 2020
Este presente é um tipo de introdução de saudação, geralmente dedicada a aniversários. Aconteceu que, quando o trabalho foi concluído, duas figuras proeminentes no demosceno russo tiveram um aniversário síncrono, e decidimos reformatar esse lançamento um pouco para a GIFT, para que todos ficassem satisfeitos. Caso contrário, temos diante de nós a introdução / demonstração usual, de forma alguma associada a restrições de tamanho.Programar no BC não é mais difícil e fácil do que em qualquer outro dispositivo. Você pega ferramentas de desenvolvimento, manuais, bibliotecas de códigos prontas, reúne tudo e acrescenta uma ideia a ele. Existem muitas ferramentas de desenvolvimento para o BC, há ainda mais informações de referência. De fato, tudo o que foi feito no BC até 1997 é uma camada contínua de informações de referência. Existe até um emulador muito decente que continua a ser atualizado periodicamente, embora seja estritamente no Windows.Qual é o problema? Qual é o desafio tecnológico? Especialmente se escrevermos o HELLO WORLD banal para uma nova plataforma?Na demoscene, é habitual fornecer versões com um arquivo .NFO , onde são descritas, resumidamente, mas com capacidade, todos os detalhes do que está acontecendo. De fato, um artigo sobre Habr não é necessário se você puder ler .NFO: ________ ___ ____ _______ ________
__\ \ _/ \/ \ _/ \ __\ \__
\__ __ \\ \ \\ __ \\__ __ _/
/ |/ __/ _/_ |/ _/_/ |/ /_
\ / \_ / / \ \
\____\___//___\ /___/____________/\_____\___/
\/ redefine the future!
gift 2020
demo, Elektronika BK0011M + AY-8910
code - siniy
alarm - okin
farted by ded
YouTube: sorry, no YouTube, BK is too hard even for RMDA
HowTO:
1) Download emulator here http://gid.pdp-11.ru
2) Install it and find installation directory
3) Replace /image/MKDOS513.IMG with file from our release
4) Launch emulator
5) In NC-style enviroment navigate up, change dir/disk
6) Find gft2o2o.com file and press Enter
7) AY-8910 must be enabled
8) Assembler+devtools also available at http://gid.pdp-11.ru
BK - shit na veka!
RMDA 2020 @ https://rmda.su
02/04/2020
russkie idut...
Como parte dessa série de artigos sobre Habré, é claro que buscamos objetivos educacionais . Falamos sobre o demosceno, mas não estabelecemos metas para ensinar como programar no assembler. O trabalho acima é apenas três slides mudando para música. É muito, muito simples, mas vamos dar uma olhada no código: CALL CLS
MOV #msg3,R5
MOV #40000+4.+0x1B00,R0
CALL PRT
MOV #8.,R0 ;
CLR R1
L1: SOB R1,L1
SOB R0,L1
MOV #32768.,R0
MOV R0,COL
;setup timer
START:
MOV #TICK,@#100
MOV #2,@#102
CLR @#177662 ; , 0
SSH:
;load picture
MOV #File_002,R1
EMT 36
MOV #msg1,R5
MOV #40000+27.,R0
ADD #0x3600,R0
CALL PRT
;play song
MOV #1,R0
MOV R0,PSGPA
MOV #SONG+16.,R0
MOV R0,PSGPO
CALL PL
CALL CLS
MOV #File_001,R1
EMT 36
MOV #msg2,R5
MOV #40000+16.,R0
ADD #0x3600,R0
CALL PRT
;play song
MOV #1,R0
MOV R0,PSGPA
MOV #SONG+16.,R0
MOV R0,PSGPO
CALL PL
CALL CLS
JMP SSH
CLS:
MOV #40000,R0
CL:
CLR (R0)+
TST R0
BPL CL
RET
;**************************************************************************************
;play song
PL: WAIT
MOV PSGPA,R0
TST R0
BEQ PSGA
DEC R0
MOV R0,PSGPA
BR PL
PSGA:
MOV PSGPO,R0
dumpreg:
MOVB (R0)+,R1
BIC #0xFF00,R1
CMP #0xFF,R1
BEQ stoplay
CMP #0xFE,R1
BNE nogetwait
MOVB (R0)+,R2
BIC #0xFF00,R2
ASL R2
ASL R2
MOV R2,PSGPA
BR stoplay
nogetwait:
CMP #0xFD,R1
BEQ stoplay2
COMB R1
MOV R1,@#177714
MOVB (R0)+,R1
BIC #0xFF00,R1
COMB R1
MOVB R1,@#177714
BR dumpreg
stoplay2:
RET ;MOV #SONG+16.,R0
stoplay:
MOV R0,PSGPO
JMP PL
;**************************************************************************************
TICK:
RTI
PSGPA: .WORD 1
PSGPO: .WORD SONG+16.
SONG:
.byte 0x50,0x53,0x47,0x1A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
---- ,
.byte 0x0F,0x09,0x10,0x0A,0x0F,0x0B,0x46,0x0D,0x0C,0xFE,0x01,0x00,0xA1,0x04,0x16,0x0B
.byte 0xFD ; end of song
.EVEN
;--------------------------------------------------------------
COL: .WORD 49152.;32768.
PRT:
tout:
MOVB (R5)+,R3
SUB #32.,R3
BIC #0xFF00,R3
;*10
ADD R3,R3;*2
MOV R3,R1
ADD R3,R3;*4
ADD R3,R3;*8
ADD R3,R1;*10
ADD #112276,R1
MOV R0,-(SP)
MOVB #10.,4(SP)
cf:
MOVB (R1)+,R2
;make for standart
MOVB #8.,6(R6)
MOV #0,R3
m2:
ASR R2
BCC m3
BIS @#COL,R3
m3:
CLC
ROR R3
ROR R3
DECB 6(R6)
BNE m2
MOV R3,(R0);+
ADD #64.,R0
DECB 4(SP)
BNE cf
MOV (SP)+,R0
INC R0
INC R0
TSTB (R5)
BNE tout
RET
;--------------------------------------------------------------
msg1: .ascii /2 may 1945/
.byte 0
msg2: .ascii /Russkie idut.../
.byte 0,0
msg3: .ascii /Happy birthday Tim & Random!/
.byte 0,0
File_001:
.WORD 3,0,0 ; 1= , , (0! )
.ASCII "PO1 " ; 16
.BYTE 5,6 ; 40-100, 100-140 ( WORD -1., )
.BLKB 20. ;
File_002:
.WORD 3,0,0 ; 1= , , (0! )
.ASCII "PO2 " ; 16
.BYTE 5,6 ; 40-100, 100-140 ( WORD -1., )
.BLKB 20. ;
.EVEN
.END
IMPORTANTE! Não tente compilar o código do artigo! É especialmente reduzido e formatado para facilitar a leitura em Habré. Se você deseja coletar o trabalho você mesmo - use o arquivo original em Pouet e a pasta / source . Vale a pena reconhecê-lo imediatamente - está longe de ser uma honra, mas para a primeira experiência em um computador anteriormente desconhecido, tudo é bastante decente. Talvez após a Revisão Online 2020 , faremos uma versão final mais avançada deste presente. Talvez…Que conclusões tiramos do projeto no BC? Por um lado, está tudo bem, existem ferramentas de desenvolvimento, há documentação. O fato de o BC ser uma arquitetura terrível, já sabíamos. No entanto, ninguém esperava que o ZX e o PC enfrentassem a situação de TOTAL LACK dos procedimentos e bibliotecas mais básicos. Por exemplo, estávamos totalmente despreparados para o fato de que, para tocar a faixa de chiptune (sirene), escrita no Vortex Tracker , precisamos da nossa ajuda.Manwe_sands. E não é que no AY você precise enviar valores invertidos para as portas do chip de som AY, isso é metade do problema. Por 20 anos, as pessoas simplesmente não tinham um tocador de PT3 banal, embora nos anos 90 uma grande quantidade de música do ZX Spectrum tenha sido transferida para o BC com apenas alguns cliques do mouse. Assim, durante 20 anos de inatividade, a cena do lendário computador soviético perdeu completamente sua espiritualidade.Nada, = RMDA = ajuda!Quanto ao resto, BC é divertido e provocador! Sinta-se livre para pegar o BC pelos chifres! Obrigado.--- EOF ---#FF - E um byte inteiro não é suficiente ... | Piloto)# 00 - ICBM ... | Convite para Revisão Online 2020# 01 - IBMP ... | O que são introduções?# 02 - O MBM ... | A cruz das mudanças# 03 - IBMP ... | 2B ou não 2B# 04 - IBMP ... | Tome BK pelos chifres# 05 - O MBM ... | Anime# 06 - IBMP ... | Meteorismos# 07 - O MBM ... | Revisão OnlineCanal de Entretenimento Telegrama do Avô:teleg.run/borndedHá um bate-papo ao lado do canal. Nele, você pode tentar levantar questões para o demosceno, montador, pixel art, música do rastreador e outros aspectos dos processos. Você pode ser respondido ou enviado para outros chats mais temáticos.Então eles venceram - então nós vencemos!