Speccy - наш выбор!  
ZXPRESS
ZXTUNES
Virtual TR-DOS
World of Spectrum
ZX Spectrum Old Demos •

Go Back   Speccy - наш выбор! > Отечественные компьютеры > БК-0010/0011

Reply
 
Thread Tools Display Modes
Old 6th March 2012, 16:24   #1
Veteran
 
Join Date: 1st December 2010
Location: Архангельск
Posts: 1,597
Thanks: 512
Thanked 1,173 Times in 556 Posts
vinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud of
Default

А я игрушку для БК написал.



ROM-файл
Исходники на ассемблере (О системе команд 1801ВМ1 узнал только два дня назад, поэтому стиль такой)

...

И еще написал компилятор PDP11 => ROM-файл, по образу sjasm. Который и скомпилировал эту игру. Но компилятор еще надо допиливать. Там есть ляпы и макросов нет. Потом выложу, а пока только кусочек исходников.

Last edited by vinxru; 6th March 2012 at 16:30.
vinxru is offline   Reply With Quote
The Following 13 Users Say Thank You to vinxru For This Useful Post:
13joe (7th March 2012), BYTEMAN (8th March 2012), CodeMaster (6th March 2012), DATAsoft (7th March 2012), Doronetty (6th March 2012), hobot (20th April 2012), KokaF77 (6th March 2012), Mad Killer/PG (7th March 2012), Murzik (7th March 2012), Slava95 (24th November 2014), svofski (8th March 2012), Titus (6th March 2012), Woland (7th March 2012)
Old 6th March 2012, 22:28   #2
Veteran
 
Join Date: 1st December 2010
Location: Архангельск
Posts: 1,597
Thanks: 512
Thanked 1,173 Times in 556 Posts
vinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud of
Default

На плате БК0010 (не -01) то же есть цветной видеовыход? Только не впаяны детали, да?

UPD: Точнее... существуют ли платы без цветного выхода вообще?

Last edited by vinxru; 7th March 2012 at 15:38.
vinxru is offline   Reply With Quote
Old 7th March 2012, 20:15   #3
Member
 
Join Date: 10th February 2012
Location: г. Челябинск
Posts: 92
Thanks: 45
Thanked 20 Times in 14 Posts
dmluk is on a distinguished road
Default

Quote:
Originally Posted by vinxru View Post
На плате БК0010 (не -01) то же есть цветной видеовыход? Только не впаяны детали, да?

UPD: Точнее... существуют ли платы без цветного выхода вообще?
да.

в одном из номеров "В помощь радиолюбителю" №108 доработка описана.

Last edited by dmluk; 8th March 2012 at 16:44.
dmluk is offline   Reply With Quote
The Following User Says Thank You to dmluk For This Useful Post:
vinxru (7th March 2012)
Old 7th March 2012, 15:36   #4
Veteran
 
Join Date: 1st December 2010
Location: Архангельск
Posts: 1,597
Thanks: 512
Thanked 1,173 Times in 556 Posts
vinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud of
Default

Еще есть идея оконный интерфейс с мышкой на БК сделать. Воссоздать Windows 3 (возможно с панелью ПУСК от Windows 95+) на БК0010/11.

P.S. У меня еще висит проект переноса Zeliard на Радио-86РК, но это дизассемблирование - это такая скучная задача, что я засыпаю. Меня никто не торопит, до смерти успею

Last edited by vinxru; 7th March 2012 at 15:41.
vinxru is offline   Reply With Quote
The Following User Says Thank You to vinxru For This Useful Post:
Mad Killer/PG (7th March 2012)
Old 8th March 2012, 18:42   #5
Veteran
 
svofski's Avatar
 
Join Date: 20th June 2007
Location: С.-Петербург
Posts: 1,224
Thanks: 434
Thanked 264 Times in 163 Posts
svofski is a jewel in the roughsvofski is a jewel in the roughsvofski is a jewel in the roughsvofski is a jewel in the rough
Default

vinxru, ты в курсе, что есть pdp11-gcc, который работает и которым можно писать для БК? Это, конечно, не так компактно, как на ассемблере, но имеет свои преимущества. Если у тебя есть что-то юниксоподобное, то все тулзы собираются одним скриптом.
__________________
Больше игр нет
svofski is offline   Reply With Quote
Old 8th March 2012, 18:59   #6
Veteran
 
Join Date: 1st December 2010
Location: Архангельск
Posts: 1,597
Thanks: 512
Thanked 1,173 Times in 556 Posts
vinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud of
Default

Я подозреваю, что существуют компиляторы для PDP-11. Лично я искал компиляторы ассемблера. (В компьютере всего 16 Кб ОЗУ, не разбежишься).
Компилятор Си мне лениво писать (хотя реально).

Найденные мной компиляторы создавали OBJ файлы (в лучшем случае). И я не нашел линкера, для превращения OBJ в ROM (или что то подобное).

Я спрашивал фанатов, как мне поступить, и все они говорили пиши прямо на PDP-11 в эмуляторе, там софт есть.

---------- Post added at 16:59 ---------- Previous post was at 16:55 ----------

У меня есть идея, добавить в ассемблер конструкции

if(R0>R4) {
..do {
..} while(--R4>0)
}

Строка "} while(--R4>0)" это команда SOB R4, ptr
Строка "if(R0>R4) {" это команды CMP R0, R4 / BGT ptr
vinxru is offline   Reply With Quote
Old 10th March 2012, 13:47   #7
Guru
 
Join Date: 11th September 2009
Location: Москва
Posts: 2,976
Thanks: 60
Thanked 1,785 Times in 1,099 Posts
Patron has a brilliant futurePatron has a brilliant futurePatron has a brilliant futurePatron has a brilliant futurePatron has a brilliant futurePatron has a brilliant futurePatron has a brilliant futurePatron has a brilliant futurePatron has a brilliant futurePatron has a brilliant futurePatron has a brilliant future
Default

Quote:
Originally Posted by vinxru View Post
У меня есть идея, добавить в ассемблер конструкции

if(R0>R4) {
..do {
..} while(--R4>0)
}
Обычный макроассемблер RT-11 ( MACRO-11 ) позволяет модифицировать синтаксические конструкции при помощи макросов.

Вот пример реализации конструкций IF, CASE и других:
Code:
.MACRO MACSP L,I
.IF B,I
	.MCALL IF,IFB,IFC,ELSE,FI,CALL,PROC,BEGIN,END
	.MCALL LOOP,LOOPB,EXLOOP,REPEAT,CASE
	.MCALL $20,$22,$90,$91,$92,$93,$94
	$10=0
	.IIF NB,L,$10=1
	$11=1000
.ENDC
$0=20
$1=1
$2=0
$3=0
$4=0
$8=0
$9=1
$12=77777
.ENDM
.MACRO IF S,Q,D,T
$20 ,<S>,<Q>,<D>
IFC <Q>,<T>
.ENDM
.MACRO IFB S,Q,D,T       
$20 B,<S>,<Q>,<D>
IFC <Q>,<T>
.ENDM
.MACRO $20  V,S,Q,D
.IF DIF,<Q>,<IN>
        .IF DIF,<Q>,<NI>
		.IF IDN,<D>,<#0>
                	$93 <TST'V S>
		.IFF
			$93 <CMP'V S,D>
		.ENDC
		.MEXIT
	.ENDC
.ENDC
$93 <BIT'V S,D>
.ENDM
.MACRO IFC Q,T
.IF IDN,<T>,<THEN>
	.IIF NE,$4,.ERROR ;U
	.IIF EQ,$2,$92 $2
	$90 $2*2,4,\$0
	$22 F,<Q>,\$2
	$2=0
	.IIF NE,$3,$94 \$3,$:
	$3=0
	.MEXIT		 		                	       
.ENDC
.IF B,T
	.IIF EQ,$4,.ERROR ;U
	$4=0
	$22 ,<Q>,\$3
	$3=0
	.IIF NE,$2,$94 \$2,$:
	$2=0
	.MEXIT
.ENDC
.IF IDN <T>,<AND>
	.IIF EQ,$2,$92 $2
	$22 F,<Q>,\$2
	.MEXIT
.ENDC
.IF IDN,<T>,<OR>
	.IIF EQ,$3,$92 $3
	$22 ,<Q>,\$3
	.MEXIT
.ENDC
.ERROR ;U
.ENDM
.MACRO $22 F,Q,L
$6=0
.IIF IDN,<Q>,<SLT>,$6=BLT
.IIF IDN,<Q>,<SLE>,$6=BLE
.IIF IDN,<Q>,<SGE>,$6=BGE
.IIF IDN,<Q>,<SGT>,$6=BGT
.IIF IDN,<Q>,<ULT>,$6=BLO
.IIF IDN,<Q>,<ULE>,$6=BLOS
.IIF IDN,<Q>,<UGE>,$6=BHIS
.IIF IDN,<Q>,<UGT>,$6=BHI
.IIF IDN,<Q>,<IN>,$6=BNE
.IIF IDN,<Q>,<NI>,$6=BEQ
.IIF EQ,$6,$6=B'Q
.IIF NE,$6&74377,.ERROR ;U
$6=$6/400&377
.IIF NB,F,$6=$6!1-<$6&1>
$93 BR,L
$94 .=.-1
$93 <.BYTE $6>
.ENDM
.MACRO ELSE
$91 $6,4,\$0-1
.IIF NE,$6&1,.ERROR ;N
$93 BR,\$1
$90 $1*2+1,4,\$0
$92
$94 \$6/2,$:
.ENDM
.MACRO FI
$91 $6,4,\$0-1
$94 \$6/2,$:
.ENDM
.MACRO CALL L
$93 <JSR %7,L>
.ENDM
.MACRO PROC L,S,B,C,T
;IF 'T' BLANK - FOR PDP-11, IF 'T' LSI - FOR LSI-11 
$6=0
.IF NB,L
	.IIF NE,$0-20,.ERROR ;N
	MACSP ,I
	$6=4
	$90 7,0,\$0
	$94 L:
.ENDC
$5=-1
.IRP R,<S>
	.NTYPE $5,R
	.IIF GT,$5-5,.ERROR ;T
	$6=$6+4
	$90 $5,0,\$0
	$93 <MOV R,-(%6)>
.ENDR
.IF NB,B
	.IIF LT,$5,.ERROR ;P
	.IIF LE,B,.ERROR ;V
	$7=B+1/2*2
	.IIF GT,$7-7776,.ERROR ;V
        $93 <SUB #$7,%6>
	$93\10600+$5
	$90 $7,0,\$0
	$6=$6+2
.ENDC
.IF NB,C
	.IIF DIF,<C>,<CRITICAL>,.ERROR ;U
	$6=$6+1
	.IF B,T
	$93 <MOV @#-2,-(%6)>
	$93 <MOV #340,@#-2>
	$13=0
	.IFF
		.IIF DIF,<T>,<LSI>,.ERROR ;U
	$93 <MFPS -(%6)>
	$93 <MTPS #340>
	$13=1
	.ENDC
.ENDC
$90 $6,1,\$0
$9=$9+1
.ENDM
.MACRO BEGIN S,B,C
PROC ,<S>,<B>,<C>
.ENDM
.MACRO END
$9=$9-1
$91 $6,1,\$0-1
;.IIF NE,$6&1,$93 <MOV (%6)+,@#-2>
.IF NE,$6&1
.IF EQ,$13
	$93 <MOV (%6)+,@#-2>
.IFF
	$93 <MTPS (%6)+>
.ENDC
.ENDC
.IF NE,$6&2
	$91 $7,0,\$0-1
	$93 <ADD #$7,%6>
.ENDC
.REPT $6/4
	$91 $5,0,\$0-1
	$93 \12600+$5
.ENDR
.ENDM
.MACRO LOOP S
$90 $8,0,\$0
$8=0
$90 $9,0,\$0
$9=0
$5=0
.IF NB,S
	.NTYPE $5,S
	.IF EQ,$5-26
		$93 <TST @%6>
	.IFF
		.IIF NE,$5-47,$93 <MOV S,-(%6)>
	.ENDC
	.IF EQ,$5-27
		$94 <$94 $5=,^>,S,#
		.IIF EQ,$5,.ERROR ;Z
	.IFF
		$92 $8
		$93 BEQ,\$8
	.ENDC
	$5=1
.ENDC
$90 $1*2+$5,2,\$0
$94 \$1,$:
$92
.ENDM
.MACRO LOOPB S
.NTYPE $5,S
.IF EQ,$5&7-6
	.IIF NE,$5-26,$93 <MOVB S,-(%6)>
	$93 <BIC #177400,@%6>
.IFF
	$93 <CLR -(%6)>
	$93 <MOVB S,@%6>
.ENDC
LOOP -(%7)
.ENDM
.MACRO EXLOOP I,S,Q,D,T
.IIF NE,$9,.ERROR ;N
.IIF EQ,$8,$92 $8
.IF B,I
	$93 BR,\$8
.IFF
	$4=1
	$3=$8
	I S Q D T
.ENDC
.ENDM
.MACRO REPEAT
$91 $6,2,\$0-1
.IF NE,$6&1
	$93 <DEC @%6>
	$93 BNE,\$6/2
.IFF
	$93 BR,\$6/2
.IFTF
	.IIF NE,$8,$94 \$8,$:
.IFT
	$93 <TST (%6)+>
.ENDC
$91 $9,0,\$0-1
$91 $8,0,\$0-1
.ENDM
.MACRO CASE R,L,P
.MCALL $24,VALUE,CASEND
$24 <R>,<L>,<P>
.ENDM
.MACRO $24 R,L,P
.IIF LE,L,.ERROR ;V
.IIF GT,L-7777,.ERROR ;V
$93 <CMP R,#L>
$5=$11*2
.IF B,P
	.IF LE,L-172
		$93 <BHI L+6*2+.>
	.IFF
		$93 <BLOS .+6>
		$93 <JMP L+7*2+.>
	.ENDC
	$93 <ASL R>
	$93 <ADD %7,R>
	$93 <ADD 4(R),%7>
	$94 $,\$11,=.
	$94 $6=$,\$11+1,-.
	.REPT L+1
		$93 <.WORD $6>
	.ENDR
.IFF
	.IIF DIF,<P>,<PACKED>,.ERROR ;U
	.IF LE,L-357
		$93 <BHI L/2+11*2+.>
	.IFF
		$93 <BLOS .+6>
		$93 <JMP L/2+12*2+.>
	.ENDC
	$93 <ADD %7,R>
	$93 <MOVB 14(R),R>
	$93 <BIC #177400,R>
	$93 <ASL R>
	$93 <ADD R,%7>
	$94 $,\$11,=.
	$94 $6=$,\$11+1,-.
	.REPT L+1
		$93 <.BYTE $6/2>
	.ENDR
	.EVEN
	$5=$5+1
.ENDC
$94 $,\$11+1,=.
$90 <L>,0,\$0
$90 $5,3,\$0
$11=$11+3
.ENDM
.MACRO VALUE L
$91 $5,3,\$0-1
$94 $6=$,\$5/2+2
$93 <JMP $6>
.IF IDN,<L>,<>
	$0=$0+1
	$94 $,\$5/2+1,=.
.IFF
	$91 $7,0,\$0-1
	$0=$0+2
	$94 $6=.-$,\$5/2
	.IRP V,<L>
		.IF GE,V
			.IIF GT,V-$7,.ERROR ;R
			.IF EQ,$5&1
				$94 .=V*2+$,\$5/2
				$93 <.WORD $6>
			.IFF
				$94 .=V+$,\$5/2
				$93 <.BYTE $6/2>
			.ENDC
			$12=V
		.IFF
			.IIF GT,-<V>-$7,.ERROR ;R
			.IIF LE,-<V>-$12,.ERROR ;R
			.REPT -<V>-$12
				.IF EQ,$5&1
					$93 <.WORD $6>
				.IFF
					$93 <.BYTE $6/2>
				.ENDC
			.ENDR
			$12=77777
		.ENDC
	.ENDR
	$12=77777
	$94 .=$6+$,\$5/2
.ENDC
.ENDM
.MACRO CASEND
$91 $5,3,\$0-1
$94 $,\$5/2+2,=.
$0=$0-1
.ENDM		
.MACRO $90 V,T,X
$'X=V*10+T
$0=$0+1
.ENDM
.MACRO $91 V,T,X
$0=$0-1
.IIF LT,$0-20,.ERROR ;N
.IIF NE,$'X&7-T,.ERROR ;N
V=$'X/10
.ENDM
.MACRO $92 D
.IIF NB,D,D=$1
$1=$1+1
.ENDM
.MACRO $93 I,L
.IIF NE,$10,.LIST MEB
.IF B,L
						I
.IFF
						I L'$
.ENDC
.IIF NE,$10,.NLIST MEB
.ENDM
.MACRO $94 L,M,R
						.IIF NE,$10,.LIST ME
				L''M''R
.IIF NE,$10,.NLIST ME
.ENDM
Patron is online now   Reply With Quote
The Following User Says Thank You to Patron For This Useful Post:
hobot (20th April 2012)
Old 8th March 2012, 19:01   #8
Veteran
 
svofski's Avatar
 
Join Date: 20th June 2007
Location: С.-Петербург
Posts: 1,224
Thanks: 434
Thanked 264 Times in 163 Posts
svofski is a jewel in the roughsvofski is a jewel in the roughsvofski is a jewel in the roughsvofski is a jewel in the rough
Default

Я говорю про кросс-компиляторы, ибо иначе практичность под вопросом. Их существует не так много. Один —*pcc, которым vak делал bkunix. Им же я пользовался для биоса своего БК-ФПГА. Он работает но безбожно глючный и ему нужна 32-битная система, на 64 не соберется. И есть pdp11-gcc, который стараниями felix-а снова генерит вполне адекватный код. И то и другое может делать bin-ы пригодные для БК.
__________________
Больше игр нет
svofski is offline   Reply With Quote
The Following User Says Thank You to svofski For This Useful Post:
vinxru (8th March 2012)
Old 8th March 2012, 19:08   #9
Veteran
 
Join Date: 1st December 2010
Location: Архангельск
Posts: 1,597
Thanks: 512
Thanked 1,173 Times in 556 Posts
vinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud ofvinxru has much to be proud of
Default

А что именно делать переносимым?
vinxru is offline   Reply With Quote
Old 8th March 2012, 19:10   #10
Veteran
 
svofski's Avatar
 
Join Date: 20th June 2007
Location: С.-Петербург
Posts: 1,224
Thanks: 434
Thanked 264 Times in 163 Posts
svofski is a jewel in the roughsvofski is a jewel in the roughsvofski is a jewel in the roughsvofski is a jewel in the rough
Default

Прости, не понял вопрос?
__________________
Больше игр нет
svofski is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +4. The time now is 02:35.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Map Яндекс.Метрика