#04-整个字节不足... | 以牛角骑BK

上周= R MDA =为传奇的苏联计算机BK-0011M发布了第一个版本我想告诉您一些细节。这是作品本身:礼物2020

图片

这份礼物是这种问候介绍,通常专门用于生日。碰巧的是,当工作完成时,两位俄罗斯名人中的著名人物已经过了一个生日,我们决定将这个版本重新格式化为GIFT,以便每个人都满意。否则,我们将获得通常的介绍/演示,而绝不与大小限制相关。

与任何其他设备相比,在BC上编程并不困难,也不容易。您将使用开发工具,手册,现成的代码库,将所有内容放在一起并为其添加一个想法。BC有很多开发工具,还有更多参考信息。实际上,直到1997年在BC省所做的所有工作都是连续的参考信息层。甚至有一个非常不错的模拟器,尽管严格在Windows下,但它会定期定期更新。

问题是什么?技术挑战是什么?特别是如果我们为新平台编写平凡的HELLO WORLD?


在演示场景中通常会向发布版本提供.NFO文件,在其中简要描述了发生的所有详细信息。实际上,如果您可以阅读.NFO,则无需撰写有关Habr的文章:

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

作为有关哈布雷的系列文章的一部分,我们当然追求教育目标。我们告诉您有关场景的信息,但我们没有设定目标来教您如何在汇编器中进行编程。上面的作品只是更改为音乐的三张幻灯片。这非常非常简单,但是让我们看一下代码:

	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

重要!不要尝试从本文中编译代码!它经过专门还原和格式化,可在Habré上正常读取。如果您想自己收集作品,请使用Pouet上的原始存档/ source文件夹。值得立即认识到它-远不是一项荣誉,但是对于在以前未知的计算机上的第一次体验来说,一切都还不错。也许在Revision Online 2020之后,我们将制作此礼物的更高级的最终版本。也许…

我们从卑诗省的项目中得出了什么结论?一方面,一切都很好,有开发工具,有文档。我们已经知道,BC是一个可怕的体系结构。但是,在ZX和PC之后,没有人期望面对最基本的程序和库的TOTAL LACK的情况。例如,我们完全不准备为播放用Vortex Tracker写的成品Chiptune轨道(警笛)这一事实,我们需要自己的帮助Manwe_sands。并不是说在AY中您需要将反相的值发送到声音芯片AY的端口,这是麻烦的一半。 20年来,人们只是没有普通的PT3播放器,尽管在90年代,通过单击几下鼠标,来自ZX Spectrum的大量音乐就转移到了BC。因此,在长达20年的不活动状态下,传奇的苏联计算机完全失去了灵性。

没什么,= RMDA =帮助!

对于其余的人,卑诗省很有趣,令人着迷!随意选择卑诗省吧!谢谢。

--- EOF --- #

FF-而且整个字节还不够... |飞行员)
#00-ICBM ... |邀请参加在线修订版2020
#01-IBMP ... |什么是简介?
#02-MBM ... |变化的十字架
#03-IBMP ... | 2B还是不2B
#04-IBMP ... |以牛角骑BK
#05-MBM ... | 动漫
#06-IBMP ... | 气象
#07-MBM ... | 修订在线

祖父电报娱乐频道:teleg.run/bornded

频道旁有个聊天室。在其中,您可以尝试对演示场景,汇编器,像素图,跟踪器音乐和其他过程方面提出问题。您可以被回答或发送给其他更具主题的聊天。

他们赢了-我们赢了!

All Articles