580ВМ1

Советские программируемые калькуляторы, микрокомпьютеры и большие ЭВМ, не попавшие в другие разделы

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 580ВМ1

Post by Shaos »

Mondx wrote:Ну а что в реале? Проверил как то?
Ну я не такой метеор - просто с работы пришёл и посылку обнаружил ещё…

P.S. Кот проверил лапкой - твёрдое :lol:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 580ВМ1

Post by Shaos »

Проверить можно воткнув в плату для 580ВМ80А - только ноги питания дополнительного подменить ибо питается оно одним +5В (и на одну из ног подать земплю, чтобы включить режим совместимости с ВМ80):
Дополнение по процессору ВМ1

Установка процессора ВМ1 очень проста, для это-
го необходимо:
1. Выпаять старый процессор
2. Впаять кроватку (панельку)
3. Отогнуть у ВМ1 3 ножки
4. Вставить ВМ1 в кроватку
5. На одну из отогнутых ног подать 0В
6. Ножку одного из резисторов отпаять
и подать на нее +5В

Что же мы получили? Процессор, который при ра-
боте практически не греется (даже в течении 12 ча-
сов), имеет целый набор дополнительных команд и
регистровую пару H1 и L1.
P.S. По видимому тут речь идёт вот об этих трёх ногах:
580VM1.gif
Нога 11 (C0) будучи подключенной к земле включает режим совместимости с ВМ80, а если на неё подать +5В, то должен включится расширенный ВМ1.
Нога 15 (IO/M) выдаёт 0 при обращении к памяти и 1 при обращении к адресному пространству ввода-вывода.
Нога 28 (EXM) это 16й бит адреса (в режиме совместимости переводится в третье состояние).
И ещё похоже нога 16 (INTA) превращается во вход подтверждения прерывания - видимо как раз его надо через резистор подключать к +5В.

P.P.S. Оказывается в режиме совместимости с ВМ80 остаются работать все новые команды ВМ1 (ну кроме команд обращения в расширенное адресное пространство т.к. бит EXM не выдаётся)
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re:

Post by Shaos »

Shaos wrote: и ещё: http://sensi.org/scalar/ware/582/
В архиве находится описание системы команд процессора КР580ВМ1 и краткая инструкция по его установке в Вектор от Masterpiece. На векторе есть по крайней мере одна программа, использующая возможности КР580ВМ1 — intro к игре Колобиха от SES. Дополнительная информация по программному определению типа процессора приведена в Scaner №5.
Процессор КР580ВМ1 поддерживается в Эмулятор «Virtual Vector» начиная с версии 5.58.

В архиве представлена таблица для ассемблера The Telemark Assembler (TASM) Version 3.2 (автор Thomas N. Anderson), позволяющая компилировать программы для процессора КР580ВМ1 (подготовил Иван Городецкий).

Cм. также:
«Точность эмуляции КР580ВМ1» http://zx.pk.ru/showthread.php?t=11062
«Загадочный проц КР580ВМ1» http://zx.pk.ru/showthread.php?t=310

Автор: Masterpiece
Имя файла: vm1

Файл: 580vm1.zip (806 Кб)
Вот вытащил из этого архива список новых команд 580ВМ1 - они подменяют "дырки" в таблице инструкций ВМ80 плюс код #28 и #38 является префиксами CS и RS, второй из которых заменяет в далее идущей команде H,L,M на H1,L1,M1:

Code: Select all

ADC  H1    8C38 
ADC  L1    8D38 
ADC  M1    8E38 
ADD  H1    8438 
ADD  L1    8538 
ADD  M1    8638 
ANA  H1    A438 
ANA  L1    A538 
ANA  M1    A638 
ANX        10
CMP  H1    BC38 
CMP  L1    BD38 
CMP  M1    BE38
CS         28 // PREFIX CS
DAD  H1    2938 
DCMP B     CB
DCMP D     DD
DCR  H1    2538 
DCR  L1    2D38 
DCR  M1    3538 
DCX  H1    2B38 
DSUB B     08
DSUB D     18
INR  H1    2438 
INR  L1    2C38 
INR  M1    3438 
INX  H1    2338 
JOF  *     FD
LH1L1D **  2A38
LH1L1X     ED38 
LHLX       ED
LXI  H1,** 2138
MB         28 // PREFIX MB
MOV  B,H1  4438 
MOV  B,L1  4538 
MOV  B,M1  4638 
MOV  C,H1  4C38 
MOV  C,L1  4D38 
MOV  C,M1  4E38 
MOV  D,H1  5438 
MOV  D,L1  5538 
MOV  D,M1  5638 
MOV  E,H1  5C38 
MOV  E,L1  5D38 
MOV  E,M1  5E38 
MOV  H1,B  6038 
MOV  H1,C  6138 
MOV  H1,D  6238 
MOV  H1,E  6338 
MOV  H1,H1 6438 
MOV  H1,L1 6538 
MOV  H1,M1 6638 
MOV  H1,A  6738 
MOV  L1,B  6838 
MOV  L1,C  6938 
MOV  L1,D  6A38 
MOV  L1,E  6B38 
MOV  L1,H1 6C38 
MOV  L1,L1 6D38 
MOV  L1,M1 6E38 
MOV  L1,A  6F38 
MOV  M1,B  7038 
MOV  M1,C  7138 
MOV  M1,D  7238 
MOV  M1,E  7338 
MOV  M1,H1 7438 
MOV  M1,L1 7538 
MOV  M1,A  7738 
MOV  A,H1  7C38 
MOV  A,L1  7D38 
MOV  A,M1  7E38 
MVI  H1,*  2638
MVI  L1,*  2E38
MVI  M1,*  3638
ORA  H1    B438 
ORA  L1    B538 
ORA  M1    B638 
ORX        20
PCH1L1     E938 
POP  H1    E138 
PUSH H1    E538 
RS         38 // PREFIX RS
SBB  H1    9C38 
SBB  L1    9D38 
SBB  M1    9E38 
SH1L1D **  2238
SH1L1X     D938 
SHLX       D9
SMF0       0028 
SMF1       7F28 
SPH1L1     F938 
SUB  H1    9438 
SUB  L1    9538 
SUB  M1    9638 
XRA  H1    AC38 
XRA  L1    AD38 
XRA  M1    AE38 
XRX        30
XTH1L1     E338 
P.S. Судя по примерам из архива возможно одновременное использование префиксов CS и RS:

Code: Select all

	cs

	dad	h1		;H1L1=H1L1+H1L1
	rs\ dad b		;H1L1=H1L1+BC
	rs\ dad d		;H1L1=H1L1+DE
	rs\ dad sp		;H1L1=H1L1+SP
	cs\ dad b		;HL=HL+BC+CY
	cs\ dad d		;HL=HL+DE+CY
	cs\ dad h1		;H1L1=H1L1+H1L1+CY
	cs\ dad sp		;HL=HL+SP+CY
	cs\ rs\ dad b	;H1L1=H1L1+BC+CY
	cs\ rs\ dad d	;H1L1=H1L1+DE+CY
	cs\ rs\ dad sp	;H1L1=H1L1+SP+CY

	dcmp	b
	rs\ dcmp b		;H1L1-BC
	cs\ dcmp b		;HL-BC-CY
	cs\ rs\ dcmp b	;H1L1-BC-CY
	dcmp	d
	rs\ dcmp d		;H1L1-DE
	cs\ dcmp d		;HL-DE-CY
	cs\ rs\ dcmp d	;H1L1-DE-CY

	dcr	h1
	dcr	l1
	dcr	m1

	dcx	h1

	dsub	b		;HL=HL-BC
	rs\ dsub b		;H1L1=H1L1-BC
	cs\ rs\ dsub b	;H1L1=H1L1-DE-CY
	dsub	d		;HL=HL-DE
	rs\ dsub d		;H1L1=H1L1-DE
	cs\ rs\ dsub d	;H1L1=H1L1-DE-CY
Получается префикс CS включает использование флага CY в далее идущей 2-байтовой арифметической операции!

P.P.S. Тут как-то странно - код #28 (префикс CS) ещё приписан опкоду MB, который судя по описанию является префиксом дополнительного адресного пространства - меняет бит MF (D3 во флагах) на противоположный на время выполнения следующей команды), а так MF можно установить командами SMF0 и SMF1. Также судя по описанию префикс CS воздействует только на команды DAD, DSUB и DCMP, т.е. во всех остальных случаях он определяется как префикс MB.

P.P.P.S. Судя по всему автор таблицы доп.инструкций Иван Городецкий неправильно указал M1 в наименованиях некоторых команд т.к. по коду там обращение к [H1L1], а по доке M1 это обращение в "теневую" память, т.е. по тому же самому адресу [HL], что и в случае M, но с инвертированным старшим адресом памяти MF - т.е. использование префикса MB (#28), а не префикса RS (#38)...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 580ВМ1

Post by Shaos »

Вобщем план такой:
- сначала проверяем в режиме совместимости с ВМ80 (нопами);
- потом проверяем в расширенном режиме ВМ1 (тут более сложно).
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Black_Cat
Doomed
Posts: 455
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: 580ВМ1

Post by Black_Cat »

Shaos wrote:Снизу на двух микрухах написано 1855, а ещё на двух - 1857
Включал уже? Это действительно реальные 580ВМ1?
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
Mondx
Doomed
Posts: 500
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: 580ВМ1

Post by Mondx »

А даже если и 580ВМ1 и что? Ладно, какой нибудь табличный Асм ещё можно приспособить, а компилятор? Писать самому? Тогда в чём фишка? Или я что то не понимаю?
User avatar
Black_Cat
Doomed
Posts: 455
Joined: 23 Nov 2007 15:53
Location: Saint Petersburg, Russia

Re: 580ВМ1

Post by Black_Cat »

Mondx wrote:А даже если и 580ВМ1 и что? Ладно, какой нибудь табличный Асм ещё можно приспособить, а компилятор? Писать самому? Тогда в чём фишка? Или я что то не понимаю?

Ну, народ апгрейтит машины на ВМ80 как минимум, а там уже и софт какой подтянется. А можно ещё в ПЛИС загнать. Полюбому, чтоб что-то написать под ВМ1, нужен оригинал чтоб проверять совместимость.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 580ВМ1

Post by Shaos »

Mondx wrote:А даже если и 580ВМ1 и что? Ладно, какой нибудь табличный Асм ещё можно приспособить, а компилятор? Писать самому? Тогда в чём фишка? Или я что то не понимаю?
Ну я могу адаптировать nedoPC SDK (aka RW1P2) если уж на то пошло, а так конечно же ассемблер (табличку для своего RASM я уже сделал, правда придётся переделать из-за недоразумения с M1)

P.S. А идея заиметь ВМ1 корку для FPGA вполне здравая :)
Можно взять какую-то легковесную реализацию 8080 на верилоге и расширить ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
Sancho45
Junior
Posts: 7
Joined: 17 Jul 2023 11:16

Re: 580ВМ1

Post by Sancho45 »

Чем дело закончилось ?)
Sancho45
Junior
Posts: 7
Joined: 17 Jul 2023 11:16

Re: 580ВМ1

Post by Sancho45 »

Удалось проверить камень?
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 580ВМ1

Post by Shaos »

Уже почти начал проверять :oops:
Пункт 0 ещё должен быть - подключаем питание к нужным ногам через амперметр и смотрим, что ничего не заискрило :roll:
Shaos wrote:Вобщем план такой:
- сначала проверяем в режиме совместимости с ВМ80 (нопами);
- потом проверяем в расширенном режиме ВМ1 (тут более сложно).
Я тут за главного - если что шлите мыло на me собака shaos точка net
Sancho45
Junior
Posts: 7
Joined: 17 Jul 2023 11:16

Re: 580ВМ1

Post by Sancho45 »

Я подключал вм1 к реальному компу, вместо вм80, орион-128 и корвет. Так что, если будут вопросы, подскажу...
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 580ВМ1

Post by Shaos »

Sancho45 wrote:Я подключал вм1 к реальному компу, вместо вм80, орион-128 и корвет. Так что, если будут вопросы, подскажу...
Нужна конкретика по вот этому описанию - по ногам я угадал или не очень?
Shaos wrote:Проверить можно воткнув в плату для 580ВМ80А - только ноги питания дополнительного подменить ибо питается оно одним +5В (и на одну из ног подать земплю, чтобы включить режим совместимости с ВМ80):
Дополнение по процессору ВМ1

Установка процессора ВМ1 очень проста, для это-
го необходимо:
1. Выпаять старый процессор
2. Впаять кроватку (панельку)
3. Отогнуть у ВМ1 3 ножки
4. Вставить ВМ1 в кроватку
5. На одну из отогнутых ног подать 0В
6. Ножку одного из резисторов отпаять
и подать на нее +5В

Что же мы получили? Процессор, который при ра-
боте практически не греется (даже в течении 12 ча-
сов), имеет целый набор дополнительных команд и
регистровую пару H1 и L1.
P.S. По видимому тут речь идёт вот об этих трёх ногах:
...
Нога 11 (C0) будучи подключенной к земле включает режим совместимости с ВМ80, а если на неё подать +5В, то должен включится расширенный ВМ1.
Нога 15 (IO/M) выдаёт 0 при обращении к памяти и 1 при обращении к адресному пространству ввода-вывода.
Нога 28 (EXM) это 16й бит адреса (в режиме совместимости переводится в третье состояние).
И ещё похоже нога 16 (INTA) превращается во вход подтверждения прерывания - видимо как раз его надо через резистор подключать к +5В.
Я тут за главного - если что шлите мыло на me собака shaos точка net
Sancho45
Junior
Posts: 7
Joined: 17 Jul 2023 11:16

Re: 580ВМ1

Post by Sancho45 »

INTA это выход в расширенном режиме. В обычном подключать не надо

надо сначала включить в стандартном режиме, если от 5в с одним тактовым и на 5 МГц заведется, то скорее всего это уже не вм80)))
В расширеном логика управляющих сигналов меняется
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 580ВМ1

Post by Shaos »

Ну дык какие конкретно ножки надо подогнуть, какие отогнуть, чтобы можно было воткнуть на место ВМ80?
Я тут за главного - если что шлите мыло на me собака shaos точка net