Hello world!

Микропроцессоры и микроконтроллеры от фирмы Zilog, а также компьютеры на них построенные

Moderator: Shaos

Post Reply
Mondx
Doomed
Posts: 449
Joined: 10 Aug 2022 14:27

Re: Hello world!

Post by Mondx »

Большой файл может быть только при загрузке/выгрузке всего диска, а это 256КБ всего, что даже при 9600 будет около 5-ти минут. А com файлы они и того короче. Но всегда хочется быстрее.)
Mondx
Doomed
Posts: 449
Joined: 10 Aug 2022 14:27

Re: Hello world!

Post by Mondx »

Shaos wrote:на каких скоростях успеваешь работать?
38400 уже работает на 4 мгц-ах.) В принципе, частоту можно поднять до 20-ти даже - только Flash нужна на 50ns (у меня 120 сейчас). А тогда можно и 115200 организовать. Ну и Z80 нужен на 20, которого нет.(
Mondx
Doomed
Posts: 449
Joined: 10 Aug 2022 14:27

Re: Hello world!

Post by Mondx »

Просто поменял кварц на 12 и проц на 6 - вывод на 115200 ОК, но со вводом как то не стабильно...
Но это так, баловство. Но идея, думаю, понятна.)
Mondx
Doomed
Posts: 449
Joined: 10 Aug 2022 14:27

Re: Hello world!

Post by Mondx »

Примерно так.

boot.jpg
boot.jpg (28.56 KiB) Viewed 4494 times

Attachments

mondx.jpg
mondx.jpg (82.83 KiB) Viewed 4458 times

Last edited by Mondx on 05 Apr 2023 05:47, edited 1 time in total.
User avatar
Shaos
Admin
Posts: 23657
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: Hello world!

Post by Shaos »

А чего левый край картинок какой-то скушамшишный?
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16622
Joined: 21 Oct 2009 15:08
Location: Россия

Re: Hello world!

Post by Lavr »

:question:
А что за софт uCon?
iLavr
b2m
Devil
Posts: 894
Joined: 26 May 2003 13:57
Contact:

Re: Hello world!

Post by b2m »

What is uCon?
Its simply a terminal emulator, like HyperTerminal, but with a lot of interesting/unusual added capabilities aimed at the needs of embedded systems users and/or developers (but certainly not limited to that space).
http://www.umonfw.com/ucon/htmlhelp/ucon_faq.html
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
Mondx
Doomed
Posts: 449
Joined: 10 Aug 2022 14:27

Re: Hello world!

Post by Mondx »

Перемещу ка я сюда схему ел диска через стек для z80, а то в теме РК-строения она, как то, не совсем.

Z80_el_disk.jpg
Z80_el_disk.jpg (61.3 KiB) Viewed 3335 times

Ну и пример чтения.

Code: Select all

; Read el disk sector
; inp:  bc - sector address
;       de - dma address
; used: hl,de,bc,af

read:   ld      hl,0
        add     hl,sp
        ld      (stk),hl        ;сохранили sp

        ld      hl,128
        add     hl,bc
        di
        ld      sp,hl           ;sp на верхушку сектора

        ld      hl,128
        add     hl,de           ;hl на верхушку dma

        ld      a,1
        out     (port),a        ;разрешили диск

         rept   128/2           ;пересылка
        pop     bc              ;10
        dec     hl              ;6
        ld      (hl),b          ;7
        dec     hl              ;6
        ld      (hl),c          ;7 = 36 / 2 = 18T/byte
         endm

        ld      a,0
        out     (port),a        ;запретили диск

        ld      sp,0
stk     equ     $-2             ;восстановили стек
        ei
        ret
User avatar
Shaos
Admin
Posts: 23657
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: Hello world!

Post by Shaos »

А словами можно объяснить чего это тут происходит? :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 449
Joined: 10 Aug 2022 14:27

Re: Hello world!

Post by Mondx »

Так камменты на русском же.) Обычная пересылка из стека, в основную память. Дисковая память выбирается через команды работающие со стеком. А схема для декодирования обращения к стеку, т.к. Z80 не выдаёт статус операции наружу, в отличие от 8080.
Mondx
Doomed
Posts: 449
Joined: 10 Aug 2022 14:27

Re: Hello world!

Post by Mondx »

Оказывается, в дизассемблере у меня недокументированные команды поддерживаются.) И даже такие накрученные:

Code: Select all

0000: dd cb 05 40       bit     0,(ix+05h),b    ;* 
Вот только ассемблер подобного не понимает.( Только так:

Code: Select all

0004: dd cb 05 46       bit     0,(ix+05h)
User avatar
Shaos
Admin
Posts: 23657
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: Hello world!

Post by Shaos »

Mondx wrote:А схема для декодирования обращения к стеку, т.к. Z80 не выдаёт статус операции наружу, в отличие от 8080.
Всё равно нифига не понятно...
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 449
Joined: 10 Aug 2022 14:27

Re: Hello world!

Post by Mondx »

На пальцах). Доступ к диску (/CS1) осуществляется только при разрешении (EN) и только через операции со стеком (с помощью PUSH/POP). Это скорость, т.к. эти команды наиболее шустро работают с памятью (2 байта на чтение/запись, автоинкремент/автодекремент). Плюс не нужно организовывать окно в адресном пространстве для диска. Здесь страницы диска по 64к - на всё адресное пространство. У 8080 слово состояния процессора позволяет идентифицировать операции со стеком - там проще. У Z80 такой возможности нет - приходилось городить схему выше.
User avatar
Shaos
Admin
Posts: 23657
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: Hello world!

Post by Shaos »

А откуда EN идёт?
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 449
Joined: 10 Aug 2022 14:27

Re: Hello world!

Post by Mondx »

С порта какого нибудь. Что бы последующие push/pop-ы включали дисковую память /CS1, вместо основной /CS0. Т.е. читаем код команды push/pop и в следующем цикле выполнения записи/чтения переключаемся на диск. Записали/прочли и по /М1 опять вернулись в основную.
Post Reply