nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 12:26



Reply to topic  [ 39 posts ]  Go to page Previous  1, 2, 3  Next
"Специалист" в собственном соку 
Author Message
Novelist

Joined: 26 Mar 2008 23:21
Posts: 40
Location: Serbia
Reply with quote
Post 
shoorick : Можете ли вы дать нам копию вашего пзу ? (Для Специалист и Согдианы )


16 Jul 2008 03:10
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
ну, если это будет полезно, то вот ПЗУ от Специалиста:

http://www.rapidshare.ru/731889
ld - загрузчик
mon - монитор
disk - ROM-диск программа (нач. адрес 0E800h)

отличия загрузчика и монитора от оригинальных я описал выше.

ПЗУ "disk" содержала подпрограммы записи байта и блока данных в электронный диск и обратно, а также программу "ROM COMPLEX" - для нее с магнитофона загружался блок 16 кб, содержавший редактор текста "Микрон", ассемблер, дизассемблер, корректор дампа, программатор и отладчик, расположенных по фиксированным адресам, соответствующих таблице в ПЗУ.
Сам блок сейчас дать не могу - он есть только на кассете, а считать их у меня сейчас нет возможности, да и врядли это нужно воспроизводить в эмуляторе - это единичный нестандартный случай.
по этой же причине нет исходника программы ROM COMPLEX, но ее можно дизассемблировать - она не сложна.

"диск" представлял собой верхние 16кб ОЗУ, которые не использовались в стандартной конфигурации. диск подключался сигналом НП стандартного Специалиста (сам сигнал НП фиксировался дополнительным RS-триггером на микросхеме 7400 (155ЛА3), так как нужен был только один раз после сброса ПК). при появлении уровня "1" сигнала НП основная память RAM 48 кб отключалась и вместо нее подключалась дополнительная 16 кб (поэтому диском нельзя было управлять из основной памяти), появление сигнала "0" возвращало обычную конфигурацию.

также диск имел аппаратную блокировку от записи (была выведена кнопка). в связи с тем, что в ПК Специалист сигнал "сброс" не нарушал регенерацию памяти, записанные в электронный диск данные после блокировки записи могли быть повреждены только сбоем по питанию. но это всё равно разовый случай :)


16 Jul 2008 04:14
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
пзу Согдианы - думаю, одинаков со стандартным РК для 16кБ. это пзу запаяно в плату, а чтобы получить его "программно" нужно запустить ПК, а я не уверен, что он работает :)


16 Jul 2008 04:20
Profile WWW
Novelist

Joined: 26 Mar 2008 23:21
Posts: 40
Location: Serbia
Reply with quote
Post 
Спасибо за это. Я должен поставить это в MESS эмулятор.


16 Jul 2008 04:35
Profile
Novelist

Joined: 26 Mar 2008 23:21
Posts: 40
Location: Serbia
Reply with quote
Post 
Here is first screenshoot.

Image

I have placed now image on better location.


Last edited by micko on 16 Jul 2008 05:22, edited 2 times in total.



16 Jul 2008 04:52
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
micko wrote:
Here is first screenshoot.

I have placed now image on better location.


:kruto: !

here is "disk" disasmed:
Code:
    ORG 0E800H
COMPLEX:            
    LXI   SP, 7FFFH
    LXI   H, MENU
    CALL   0C818H
K_LOOP:            
    CALL   0C803H
    CPI   45H         ; "E"
    JZ   0C800H      ; МОНИТОР
    CPI   31H         ; "1"
    JZ   L_EDIT
    CPI   32H ; "2"
    JZ   L_ASSM
    CPI   33H ; "3"
    JZ   L_DASM
    CPI   34H ; "4"
    JZ   L_DUMP
    CPI   35H ; "5"
    JZ   L_DEBG
    CPI   36H ; "6"
    JZ   L_PROM
    JMP   K_LOOP
GOOD:            
    LXI   H, OK      
    CALL   0C818H
G_LOOP:            
    CALL    0C803H
    CPI   45H ; "E"
    JZ   0C800H
    CPI   20H ; SPACE
    JZ   COMPLEX
    CPI   0DH ; ENTER
    JNZ   G_LOOP
    LHLD   0A800H
    PCHL
L_EDIT:            
    MVI   C, 0 ; БЛОК 0
    CALL    L_BLOK
    MVI   C, 1 ; БЛОК 1
    CALL    L_BLOK
    JMP   GOOD
L_ASSM:            
    MVI   C, 2 ; БЛОК 2
    CALL   L_BLOK
    MVI   C, 0 ; БЛОК 0
    CALL   L_BLOK
    MVI   C, 1 ; БЛОК 1
    CALL   L_BLOK
    JMP   GOOD
L_DASM:            
    MVI   C, 0 ; БЛОК 0
    CALL   L_BLOK
    MVI   C, 1 ; БЛОК 1
    CALL   L_BLOK
    MVI   C, 3 ; БЛОК 3
    CALL   L_BLOK
    JMP   GOOD
L_DUMP:            
    MVI   C, 4 ; БЛОК 4
    CALL   L_BLOK
    JMP   GOOD
L_DEBG:            
    MVI   C, 5 ; БЛОК 5
    CALL   L_BLOK
    JMP   GOOD
L_PROM:            
    MVI   C, 6 ; БЛОК 6
    CALL   L_BLOK
    JMP   GOOD
TO_DSK:            
    PUSH   H
    LXI   H, 0FF03H
T_LOOP:            
    LDAX   B
    MVI   M, 9
    STAX   D
    MVI   M, 8
    INX   B
    INX   D
    XTHL
    DCX   H
    MOV   A, H
    ORA   L
    XTHL
    JNZ   T_LOOP
    POP   H
    RET
FRMDSK:            
    PUSH   H
    LXI   H, 0FF03H ; РЕГИСТР УПРАВЛЕНИЯ ВВ55
D_LOOP:            
    MVI   M, 9    ; НП=1
    LDAX    B   ; СЧИТАЛИ БАЙТ
    MVI   M, 8    ; НП=0
    STAX    D   ; ЗАПИСАЛИ БАЙТ
    INX   B
    INX   D
    XTHL
    DCX   H
    MOV   A, H
    ORA   L
    XTHL
    JNZ   D_LOOP
    POP   H
    RET
L_BLOK:            
    XRA   A
    MOV   H, A
    MOV   L, C
    DAD   H
    DAD   H
    DAD   H
    MOV   C, L
    MOV   B, H
    LXI   H, TAB
    DAD   B   ; HL - СМЕЩЕНИЕ БЛОКА В ТАБЛ
    MOV   C, M
    INX   H
    MOV   B, M
    INX   H
    MOV   E, M
    INX   H
    MOV   D, M
    INX   H
    MOV   A, M
    INX   H
    MOV   H, M
    MOV   L, A
    XCHG
    SHLD   0A800H ; ХРАНЕНИЕ АДРЕСА ЗАПУСКА В ВИДЕОПАМЯТИ
    XCHG
    JMP   FRMDSK
DB    0
DB    0
TAB:   
    DW 1800H,1000H,0200H,0000H      
    DW 0000H,0000H,0800H,0000H
    DW 0800H,0800H,0800H,0800H
    DW 1000H,0800H,0800H,0000H
    DW 1A00H,8200H,0200H,0000H
    DW 2000H,6100H,1300H,0000H
    DW 1C00H,7000H,0300H,0000H
CHKDSK:            
    MVI   A, 9
    STA   0FF03H
    LDA   3FFFH
    MOV   D, A
    LDA   0BFFFH
    MOV   B, A
    CMA
    MOV   C, A
    STA   0BFFFH
    LDA   3FFFH
    MOV   E, A
    LDA   0BFFFH
    CMP   C
    MOV   A, B
    STA   0BFFFH
    MVI   A, 8
    STA   0FF03H
    JNZ   L_ERR1
    MOV   A, D
    CMP   E
    JZ   L_ERR2
    RET
L_ERR1:            
    LXI   H, ERR1      
    JMP   L_ERRX
L_ERR2:            
    LXI   H, ERR2      
L_ERRX:            
    CALL   0C818H
    CALL   0C803H
    CPI   45H ; "E"
    JZ   0C800H
    POP   H
    JMP   LD_DSK
ERR1:   DB 0AH," ОШИБКА: ЗАПИСЬ ЗАПРЕЩЕНА"
        DB 0AH,"  ВЫХОД: E"
        DB 0AH
        DB 0
ERR2:   DB 0AH," ОШИБКА: ДИСК ОТКЛЮЧЕН"
        DB 0AH,"  ВЫХОД: E"
        DB 0AH
        DB 0
MENU:   DB  1FH      
        DB 0AH," =========== ROM VERSION"
        DB 0AH," =========== "
        DB 0AH," CONTROL COMPLEX  V. 2.4"
        DB 0AH," ^^^^^^^ ^^^^^^^  ^^ ^^^"
        DB 0AH," ЗАГРУЗКА:              "
        DB 0AH," РЕДАКТОРА          - 1 "
        DB 0AH," АССЕМБЛЕРА         - 2 "
        DB 0AH," ДИЗАССЕМБЛЕРА      - 3 "
        DB 0AH," КОРРЕКТОРА ДАМПА   - 4 "
        DB 0AH," ОТЛАДЧИКА          - 5 "
        DB 0AH," ПРОГРАММАТОРА      - 6 "
        DB 0AH," ВЫХОД              - E "
        DB 0AH," -----------------------"
        DB 0AH
        DB 0
OK:     DB     " -- O.K. ---------------"
        DB 0AH," -----------------------"
        DB 0AH," ЗАПУСК     -  ENTER    "
        DB 0AH," МЕНЮ       -  SPACE    "
        DB 0AH," ВЫХОД      -  E        "
        DB 0AH," -----------------------"
        DB 0AH
        DB 0
LD_DSK:            
        CALL   CHKDSK
        LXI   H, 4000H
        LXI   B, 1000H
        LXI   D, 0
        LXI   SP, 7FFFH
        CALL   TO_DSK
        JMP   COMPLEX
        DB " * SHOORICK"


16 Jul 2008 07:03
Profile WWW
Novelist

Joined: 26 Mar 2008 23:21
Posts: 40
Location: Serbia
Reply with quote
Post 
Thanks for this. I am very busy these days, but will see to support your computer as soon as possible. Can you also upload somewhere dump of ROM disk that is called from disk.rom , since this is only menu.

And also is there any name of this clone (I saw some Super Specialist name on your site, but not sure if this is for it)

Here is how it looks when disk is called.

Image

I have used G E800 command, is there any other way ?

Thanks once more.


16 Jul 2008 07:32
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
it was ram-disk, loaded from tape, not rom-disk. "rom" means "control program is in rom". if i will not be able to read "complex" from tape, it is possible to rebuild it manually, but generally it has no sense. it had sense when i had no other pc only this one and tape recorder as mass storage :) there was no other software to support for this disk.

"super specialist" - extended version, similar to basic, but has additional DRAM, swapped with main, additional CMOS RAM, swapped with existing ROM, and additional 8255 ports, to where was transferred control of memory configuration from basic 8255. it also had no sufficient software to support, and unfortunately dead in 1994 (2 years old) - it was broken while i was returning home from university after study with lot of other things. it's only mine memory :) btw, it had "RAM" version of "COMPLEX" to support similar "disk" as it had CMOS RAM in ROM address area.

these two modifications had preferences against basic when they were hardware, in emulator there is no any profit to emulate them against basic models. finally, they were not known to anybody at all until i have posted their photos :) so, do not see any reason to emulate them (except if will be very easy ;) )
------
yes, it was called with GE800
block on tape had only jump to EB80 to initiate transfer loaded data from main memory to disk.


16 Jul 2008 07:58
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
HardWareMan wrote:
Фигассе.... :o


развязка от сети:

Image


18 Jul 2008 03:56
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
здесь еще кое-что "по нашему" есть: http://shoorick.ho.ua/ir/ ;)


18 Jul 2008 05:39
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
micko
i've inspected my Sogdiana yesterday - it has usual Radio-86RK 16kb version rom. original rom i've extracted by cutting pins from chip, then solder out pins one-by-one, and, finally, solder a rom socket there. i made it that way to be more safe for the board, but i have no soldering iron with vacuum suck that time :) seems, original rom was similar, just text "Radio-86RK" was replaced with "Sogdiana"


20 Jul 2008 22:01
Profile WWW
Novelist

Joined: 26 Mar 2008 23:21
Posts: 40
Location: Serbia
Reply with quote
Post 
Thanks shoorick.

So it is same thing as with Spektr-001, just a name change.


21 Jul 2008 00:08
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
HardWareMan wrote:
Byte-to-Byte comparing (load into RAM original monitor and run comparing program)?

нет, это мое предположение. чтобы сберечь плату я выкусил пзу-ху из нее (керамика, запаянная под самые нихачу), а в панельку вставил РК-шный монитор, который купил на рынке. "родная" пзу-ха не сохранилась - это было 100 лет назад, не думал я тогда, что это будет такая ценность :)

Quote:
just a name change.

i think "yes"


21 Jul 2008 00:54
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
с прошедшими всех праздничками!

для меня они не прошли зря - сбылась давняя "мечта идиота" :) считал файлы со своей кассеты, на которой были исходники форта, который я писал. а заодно и ROM COMPLEX, о котором я упоминал :) задача оказалась нетривиальная - с утилитами rrkwin и lptutils у меня ничего не вышло, правда, до девайса с компаратором руки не дошли - стало жалко кассету :roll:

в результате я все файлы посчитывал в вавы, и написал небольшую программку, которая их лопатит :rotate: в общем, из 63 файлов с кассеты 54 прочитались нормально, даже портировал, собрал и запустил на эмуляторе свой недоделаный форт.

на все можно посмотреть здесь и здесь

Image


07 Jan 2009 23:18
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
HardWareMan wrote:
Давно надо было так сделать.
да в том то и дело - все времени нет :( вот, празднечками воспользовался :)


08 Jan 2009 02:22
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 39 posts ]  Go to page Previous  1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.