User Tag List

Страница 36 из 73 ПерваяПервая ... 323334353637383940 ... ПоследняяПоследняя
Показано с 351 по 360 из 727

Тема: Аюша-Z80 - СР/М-совместимый компьютер

  1. #351

    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    931
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    168
    Поблагодарили
    81 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А хорошие машинки как правило делаются для себя. А потом уже получают общественное признание.

  2. #352

    Регистрация
    14.03.2017
    Адрес
    г. Ставрополь
    Сообщений
    106
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от worker_vl Посмотреть сообщение
    P.S. Коллеги, пока буду развлекаться с приборами..., я тут прочитал упоминание о связке WinHEX+Steinblume, так есть просьба: если кто-то с этой связкой разобрался, напишите, пожалуйста, краткую инструкцию... а-то там не всё очевидно, начиная с того, что WinHEX не сохраняет RAW в тех форматах, которые понимает Steinblume, ну и как быть с размерами считываемых данных, читать весь диск, или только данные логического диска? Буду сильно признателен, возможно не я один...
    Вобщем, отвечаю сам себе, ну и может кому ещё потребуется для быстрой заливки софта.
    1. Дампим, любым удобным способом, флэшку в файл.
    2. Пилим, опять-же любым удобно-доступным способом, полученный в первом пункте файл, на куски. Размер всех кусков, за исключением последнего 8192 кБ, а последний - что останется.
    3. Кускам даём имена с номером, чтоб потом не перепутать при сборке. Расширение .xdi, чтоб Штейнблюмом открыть.
    4. Запускаем Штейнблюм. Жмём открыть образ, выбираем интересующий кусок, распиленного образа. Говорим открыть.
    5. Теперь Штейнблюм попросит поправить параметры .xdi. Прикрепляю здесь содержимое .ini файла для второго, и далее до предпоследнего, дисков. Для первого и последнего потребуются изменения, опишу ниже. Содержимое сохраняем в файл <любое имя файла>.ini

    Скрытый текст

    Код:
    [main]
    format_id=""	;additional format specification string
    skew_factor=0	;sector skew factor or sector order
    date_stamp=2		;date stamps format. (0=>none, 1=>CP/M standart, 2=>non standart (used in Z80DOS and DOS+ for example))
    ver=0			;version of ini-file format
    
    [xdi]
    len=00		;Sector length = 80h shl len. (0=>128, 1=>256, 2=>512, 3=>1024)
    den=01		;Heads number - 1
    sec=0080	;Sectors per Track
    trk=0100	;Tracks number
    spt=0080	;logical Sectors (128-byte records) per track. (Not used in SteinBlume)
    bsh=05		;Block shift. Block size = 80h shl bsh. (3=>1k, 4=>2k, 5=>4k...). (Not used in SteinBlume)
    blm=1F		;Block mask. Block size = 80h * (blm + 1). (7=>1k, 0Fh=>2k, 1Fh=>4k...)
    exm=01		;Extent mask. Extent size = 4000h * (exm + 1). (0=>16k, 1=>32k, 3=>64k, 7=>128k)
    dsm=07FB	;Blocks number (without) directory. dsm = (tracks_number - off) * spt * 80h / block_size - 1. (dsm = (tracks_number - off) * spt * 80h - (drm + 1) * 20h) / block_size). (Not used in SteinBlume)
    drm=01FF	;(no. of directory entries)-1
    al=00F0		;Directory allocation bitmap. (Not used in SteinBlume)
    cks=0080	;Directory size in 128-bytes records
    off=0000	;Offset, number of reserved tracks
    [свернуть]

    6. Жмем кнопку "загрузить" и выбираем сохранённый перед этим файл. После этого можно смело жать кнопку "ОК".
    7. Теперь исправления для первого и последнего кусков. Дело в том, что в начале первого файла нужно учесть системную область, а в последнем - его размер. Для первого, параметр в последней строчке "off=0001", для последнего, меняем "trk=" по правилу: CF 32 MB -> 00E0, 64 MB -> 00A0, 128 MB -> 0040.
    8. Собственно, всё... единственное наблюдение, если диск CР/M был только отформатирован и туда ещё ничего не писали на Аюше, нужно выбрать все файлы, они отображаются с вопросительным знаком, и удалить их. Иначе програмка считает, что нет свободного места. Ну, а вобщем, с этого места уже "интуитивно понятно". Скорость заправки прибора софтом увеличивается в десятки раз!
    9. Чуть совсем не забыл... склеиваем куски в соответствии с нумерацией, опять-же любым доступным образом, ну и заливаем обратно на флэшку.

  3. #353

    Регистрация
    14.03.2017
    Адрес
    г. Ставрополь
    Сообщений
    106
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Доброго всем дня!
    Решил немного вернуться к теме и обратиться к автору, как к авторитету, но если кто-нибудь другой ответит, я тоже не обижусь:
    поскольку меня CP/M задела своим крылом только чуть, да и то в качестве студента, работающего в терминальном классе, и, скорее всего, это была MP/M, то можно сказать, что я с нею совершенно не знаком. Поэтому вопрос: каким образом запускаются или адаптируются программы для этой ОСи, чтоб ввод-вывод ориентировался не на терминальный порт, а на видеоконсоль, состоящую из AVR и PIC контроллеров? Безусловно, сама ОСь работает с ними отлично, а вот прикладной софт так и норовит вывести всё куда-то в сторону.
    Заранее благодарен!

  4. #354

    Регистрация
    18.07.2010
    Адрес
    Ульяновск
    Сообщений
    852
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А прикладной софт работает через ОСь.
    Т. Е. весь ввод|вывод идёт через стандартные вызовы СР/М. А сама же ОСь работает через "BIOS", который пишется уже под конкретное железо...
    А если софт лезет "налево", значит он уже написан под конкретное железо, например игры, которые работают напрямую с экраном...
    Последний раз редактировалось alx32; 26.06.2019 в 15:10.

  5. #355

    Регистрация
    14.03.2017
    Адрес
    г. Ставрополь
    Сообщений
    106
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alx32 Посмотреть сообщение
    А прикладной софт работает через ОСь.
    Т. Е. весь ввод|вывод идёт через стандартные вызовы СР/М. А сама же ОСь работает через "BIOS", который пишется уже под конкретное железо...
    К сожалению, такими теоретическими предпосылками я тоже обладаю Но практика не в курсе Пробовал запускать WS, DBASEII, ещё что-то уже не помню. При подключении через COM наблюдаю рабочую обстановку, вывод текстов и пр. а через видеотерминал - только "нирвану".

  6. #356

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от worker_vl Посмотреть сообщение
    Доброго всем дня!
    Решил немного вернуться к теме и обратиться к автору, как к авторитету, но если кто-нибудь другой ответит, я тоже не обижусь:
    поскольку меня CP/M задела своим крылом только чуть, да и то в качестве студента, работающего в терминальном классе, и, скорее всего, это была MP/M, то можно сказать, что я с нею совершенно не знаком. Поэтому вопрос: каким образом запускаются или адаптируются программы для этой ОСи, чтоб ввод-вывод ориентировался не на терминальный порт, а на видеоконсоль, состоящую из AVR и PIC контроллеров? Безусловно, сама ОСь работает с ними отлично, а вот прикладной софт так и норовит вывести всё куда-то в сторону.
    Заранее благодарен!
    Пишу по памяти.
    Стандартное приложение CP/M не оперирует понятиями RS-232, оно пишет/читает консоль (есть разновидности консолей, об этом ниже), а также в ряд устройств - Printer/LPT (запись символа и чтение статуса), Puncher (только вывод), Reader (только чтение).
    - Про Puncher/Reader (те самые бумажные карточки) сразу забудем, аппаратно их уже нет, остались только вектора BIOS как напоминание (к слову их использование под что-то другое не принято, тупо пропадает место в таблице векторов BIOS).
    - Printer в BIOS встречается реализованным, и с ним всё понятно: байт туда, байт оттуда.
    - С консолью (условно, экран+клавиатура) чуть сложнее это посимвольное устройство (тоже на запись/чтение байта) в CPM2.2 делится/переназначается на несколько подвидов в зависимости от того как установлен байт по адресу 3 (IOBYTE, он состоит из четырех 2-битных величин):
    Код:
    ;The IOBYTE lives at address 3 (in the Zero Page) and should be changed using 
    ;BDOS calls 7 and 8 (get/set IOBYTE). The value is bitmapped:
    ;
    ;     Bits      Bits 6,7    Bits 4,5    Bits 2,3    Bits 0,1
    ;     Device    LIST        PUNCH       READER      CONSOLE
    ;
    ;     Value
    ;	00      TTY:        TTY:        TTY:        TTY:
    ;	01      CRT:        PTP:        PTR:        CRT:
    ;	10      LPT:        UP1:        UR1:        BAT:
    ;	11      UL1:        UP2:        UR2:        UC1:
    ;
    ;* BAT = batch mode. Use the current Reader for console input, and the current 
    ;  List (printer) device as the console output. 
    ;
    ;  * CRT = Standard console (keyboard and terminal screen). 
    ;  * LPT = Standard line printer. 
    ;  * PTP = Standard Paper Tape Punch. 
    ;  * PTR = Standard Paper Tape Reader. 
    ;  * TTY = Teletype device, eg a serial port. 
    ;  * UC1 = User defined (ie implementation dependent) console device. 
    ;  * UL1 = User defined (ie implementation dependent) printer device. 
    ;  * UPn = User defined (ie implementation dependent) output device. 
    ; * URn = User defined (ie implementation dependent) input device.
    Соответственно, если пользовательское приложение хочет писать на экран (CRT) и читать какую-то физически подключенную клавиатуру, оно кладет в ячейку (3) значение 149, и весь дальнейший ввод-вывод в консоль (подпрограммы CONOUT/CONIN/CONST BIOS) идет на устройство CRT(TV). Для переключения вывода/чтения на TTY(RS232) нужно в ячеку (3) положить значение 148.

    В свою очередь подпрограммы CONOUT/CONIN/CONST BIOS должны содержать код switch по значению ячейки (3) - в зависимости от ее содежримого гнать выводимый пользователем символ либо на TV, либо на RS232. Сделано ли это в BIOS Аюши - вопрос к авторам, в принципе оно просто делается (при наличии подпрограмм для устройств). Я у себя в клоне CP/M такое делал, и очень понравилось: чудесным образом начинают работать всякие терминальные вещи типа Кермита (который издревле имеет режим сборки под управление потоками через IOBYTE).

    - - - Добавлено - - -

    Штатно переключить iobyte можно классической утилиой STAT:

    STAT DEV: - текущие назначения устройств
    STAT CON:=CRT: - ввод/вывод с теминала CRT (TV)
    STAT CON:=TTY: - система переключается на ввод/вывод по RS-232.

    - - - Добавлено - - -

    Вот тут еще обсуждали, читать начиная с этого поста:
    https://zx-pk.ru/threads/12367-zhele...l=1#post537195
    Последний раз редактировалось Error404; 26.06.2019 в 17:10. Причина: очепятки
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  7. #357

    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,158
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если косяк с последней версией платы, то беру паузу для взгляда на сорцы биоса. Не должно было бы так работать, ибо Error404 правильно про iobyte написал...
    Отличие последней версии платы от первоначальной в том, что на декодер порта вывода видеоадаптера заведена линия А0, которая должна быть в "нуле" при обращении. Ранее эта линия игнорировалась и запись в порт вывода был возможен по любому доступному адресу ( у мну мож поэтому всё норм работает, и WS, и DBASE - последняя пока без перекодировки вывода под VT100). Вот и гляну, мож я где-то переменную укосяпорил неверно...

    Вывод и ввод в СР/М исключительно "терминальный"...

  8. #358

    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,951
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    125 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Наконец получил плату, готовлюсь к сборке. С вашего позволения, пара ламерских вопросов:
    1) Что происходит вокруг D17.2, почему у нее 5 нога торчит в воздухе? Здесь вот:



    В принципе, тот же вопрос и по D17.1.

    2) Как думаете, возможно ли вместо 580ВВ51 (нету у меня) вкорячить некую Motorolla MC68661? Картинки издалека похожи -) Вдруг кто сталкивался?

    3) Будет ли Аюша стартовать без атмеги и пика? С целью потыкать в нее палочкой через RS-232 в мониторе...

  9. #359

    Регистрация
    09.04.2019
    Адрес
    г. Дмитров
    Сообщений
    62
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    1. По D17. Неподключенный вход в 155 серии должен восприниматься как "1", и ИСКЛ.ИЛИ должен работать как инвертор. Я не пробовал, в моей разводке печатной платы все свободные входы на +5в через 2кОм.
    2. Без pic и atmega будет работать с перемычкой на 27-28 нога атмеги (уже об этом писали).

  10. #360

    Регистрация
    14.03.2017
    Адрес
    г. Ставрополь
    Сообщений
    106
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    TTL микросхемы воспринимают висящий вход, однозначно, как единицу, но так поступают только в любительских конструкциях. В коммерческих всё должно быть однозначно. А вот в МОП сериях висящие входы дают такие чудеса, что даже в "мигалке лампочкой" такое не позволяют


    Отправлено с моего iPad используя Tapatalk

Страница 36 из 73 ПерваяПервая ... 323334353637383940 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Самодельный компьютер на Z80 и не только
    от KeKc в разделе Разработка электроники
    Ответов: 1332
    Последнее: 19.01.2025, 20:45
  2. М.Бун "Spectrum" совместимый компьютер. Архив из журналов "Радио".
    от PATHNK в разделе Несортированное железо
    Ответов: 1
    Последнее: 18.08.2016, 04:00
  3. Аюша-80 - компьютер на процессоре 580ВМ80
    от rw6hrm в разделе Разработка электроники
    Ответов: 0
    Последнее: 29.04.2016, 16:15
  4. Куплю ZX совместимый компьютер.
    от billgilbert81 в разделе Барахолка (архив)
    Ответов: 19
    Последнее: 05.12.2008, 20:33
  5. Ответов: 17
    Последнее: 05.11.2008, 05:21

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •