# 04 - Und ein ganzes Byte reicht nicht ... | Nimm BK bei den Hörnern

Letzte Woche hat = R MDA = seine erste Veröffentlichung für den legendären sowjetischen Computer Electronics BK-0011M veröffentlicht, und ich möchte Ihnen einige Details mitteilen. Hier ist die Arbeit selbst: Geschenk 2020

Bild

Dieses Geschenk ist eine Art Begrüßungs-Intro, das normalerweise Geburtstagen gewidmet ist. Es kam vor, dass bis zum Abschluss der Arbeiten zwei prominente Persönlichkeiten der russischen Demoszene einen synchronen Geburtstag hatten, und wir beschlossen, diese Version ein wenig in GIFT umzuformatieren, damit alle zufrieden waren. Ansonsten haben wir das übliche Intro / Demo vor uns, das in keiner Weise mit Größenbeschränkungen verbunden ist.

Die Programmierung auf dem BC ist nicht schwieriger und nicht einfacher als auf jedem anderen Gerät. Sie nehmen Entwicklungstools, Handbücher und vorgefertigte Codebibliotheken, stellen alles zusammen und fügen eine Idee hinzu. Es gibt viele Entwicklungswerkzeuge für den BC, es gibt noch mehr Referenzinformationen. Tatsächlich ist alles, was bis 1997 auf dem BC gemacht wurde, eine kontinuierliche Schicht von Referenzinformationen. Es gibt sogar einen sehr anständigen Emulator, der regelmäßig aktualisiert wird, obwohl er ausschließlich unter Windows ausgeführt wird.

Was ist das Problem? Was ist die technologische Herausforderung? Vor allem, wenn wir banale HALLO WORLD für eine neue Plattform schreiben?


In der Demoszene ist es üblich, Releases mit einer .NFO-Datei zu versehen , in der alle Details des Geschehens kurz, aber ausführlich beschrieben werden. Tatsächlich wird ein Artikel über Habr nicht benötigt, wenn Sie .NFO lesen können:

         ________    ___  ____    _______    ________
       __\       \ _/   \/    \ _/       \ __\       \__
       \__   __   \\     \     \\   __    \\__   __   _/
        /    |/ __/           _/_   |/   _/_/    |/  /_
        \    /    \_           /    /      \          \
         \____\___//___\  /___/____________/\_____\___/
                        \/   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...

Im Rahmen dieser Artikelserie über Habré verfolgen wir natürlich Bildungsziele . Wir erzählen Ihnen von der Demoszene, setzen uns aber keine Ziele, um Ihnen das Programmieren in Assembler beizubringen. Die obige Arbeit besteht nur aus drei Folien, die zu Musik wechseln. Es ist sehr, sehr einfach, aber schauen wir uns den Code an:

	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

WICHTIG! Versuchen Sie nicht, Code aus dem Artikel zu kompilieren! Es ist speziell für die normale Lesbarkeit auf Habré verkleinert und formatiert. Wenn Sie die Arbeit selbst sammeln möchten, verwenden Sie das Originalarchiv auf Pouet und den Ordner / source . Es lohnt sich, es sofort zu erkennen - es ist alles andere als eine Ehre, aber für die erste Erfahrung auf einem bisher unbekannten Computer ist alles ziemlich anständig. Vielleicht werden wir nach Revision Online 2020 eine fortgeschrittenere, endgültige Version dieses Geschenks erstellen. Könnte sein…

Welche Schlussfolgerungen haben wir aus dem Projekt in BC gezogen? Einerseits ist alles in Ordnung, es gibt Entwicklungswerkzeuge, es gibt Dokumentation. Die Tatsache, dass BC eine schreckliche Architektur ist, wussten wir bereits. Nach ZX und PC hat jedoch niemand damit gerechnet, sich der Situation von TOTAL LACK mit den grundlegendsten Prozeduren und Bibliotheken zu stellen. Zum Beispiel waren wir völlig unvorbereitet, dass wir die Hilfe von uns selbst brauchen , um den fertigen Chiptune-Track (Sirene) zu spielen, der in Vortex Tracker geschrieben wurdeManwe_sands. Und es ist nicht so, dass Sie im AY invertierte Werte an die Ports des Soundchips AY senden müssen, das ist die halbe Mühe. 20 Jahre lang hatten die Leute einfach keinen banalen PT3-Player, obwohl in den 90er Jahren eine große Menge Musik vom ZX Spectrum mit wenigen Mausklicks auf den BC übertragen wurde. Für 20 Jahre Inaktivität verlor die Szene des legendären sowjetischen Computers ihre Spiritualität vollständig.

Nichts, = RMDA = Hilfe!

Im Übrigen macht BC Spaß und ist provokativ! Fühlen Sie sich frei, den BC bei den Hörnern zu nehmen! Danke.

--- EOF ---

#FF - Und ein ganzes Byte reicht nicht aus ... | Pilot)
# 00 - ICBM ... | Einladung zur Online-Revision 2020
# 01 - IBMP ... | Was sind Intro?
# 02 - Das MBM ... | Das Kreuz der Veränderungen
# 03 - IBMP ... | 2B oder nicht 2B
# 04 - IBMP ... | Nimm BK bei den Hörnern
# 05 - Das MBM ... | Anime
# 06 - IBMP ... | Meteorismen
# 07 - Das MBM ... | Revision Online

Telegramm-Unterhaltungskanal des Großvaters:teleg.run/bornded

Neben dem Kanal befindet sich ein Chat. Darin können Sie versuchen, Fragen für die Demoszene, Assembler, Pixel Art, Tracker-Musik und andere Aspekte der Prozesse zu stellen. Sie können beantwortet oder an andere, thematischere Chats gesendet werden.

Also haben sie gewonnen - also gewinnen wir!

All Articles