Micro-Professor MPF-II Assembler

MOS Technology / Commodore / Apple II / NES etc.

Moderator: Lavr

User avatar
vitali
Senior
Posts: 136
Joined: 17 Sep 2019 09:34
Location: Finland

Re: Micro-Professor MPF-II Assembler

Post by vitali »

Lavr wrote:Я не знаю реальной скорости вашего Micro-Professor MPF-II, поэтому вставки на ассемблере
мне написать удалённо - очень затруднительно.
Не, я не имел в виду делать вставки на ассемблере, а только упростить до предела вариант на Бейсике, чтобы он принимал только байт или два. Для отладки с серверной частью на Ардуине.
Lavr wrote: P.S. В принципе есть и другой вариант, я посмотрел, у Apple-][ интерфейс RS-232 реализован
аппаратно на отдельной плате. Если существует плата расширения RS-232 под системный
разъём Micro-Professor MPF-II, можно купить и использовать её.
Мне, кроме той странной платы с eBay, не попадалось в гугле ничего. Только фотки существования адаптера флоппи-дисковода и программных картриджей.
Для Apple-II, несомненно, куча периферии.

Интересно, а как RS-232 поддержан в прошивке Apple? Тут никаких намеков нет что в ПЗУ что-то есть, кроме флоппи и принтера.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Micro-Professor MPF-II Assembler

Post by Lavr »

vitali wrote:Не, я не имел в виду делать вставки на ассемблере, а только упростить до предела вариант на Бейсике,
чтобы он принимал только байт или два. Для отладки с серверной частью на Ардуине.
Так всё - в ваших руках!
Код открытый, код на элементарном Бейсике - упрощайте, если хотите...
vitali wrote:Интересно, а как RS-232 поддержан в прошивке Apple?
Если я не ошибаюсь, то на плате интерфейса RS-232 есть ПЗУ с софтом.
iLavr
User avatar
vitali
Senior
Posts: 136
Joined: 17 Sep 2019 09:34
Location: Finland

Re: Micro-Professor MPF-II Assembler

Post by vitali »

Lavr wrote:
vitali wrote:Не, я не имел в виду делать вставки на ассемблере, а только упростить до предела вариант на Бейсике,
чтобы он принимал только байт или два. Для отладки с серверной частью на Ардуине.
Так всё - в ваших руках!
Код открытый, код на элементарном Бейсике - упрощайте, если хотите...
Да, так и собираюсь. Хотя элементарным сложно назвать - я такой Бейсик 100 лет не трогал за жабры :)
Lavr wrote:
vitali wrote:Интересно, а как RS-232 поддержан в прошивке Apple?
Если я не ошибаюсь, то на плате интерфейса RS-232 есть ПЗУ с софтом.
В таком случае да, всё понятно, по включении питания код из платы запускается.

А мне ответил продавец с eBay по поводу той странной платы:
Hello, i got the item from my technical friend and no schematic diagram. For assembling the board, you can refer to the marking on PCB and the assembled photo, it is a simple board to build.

Yes, MPF-II ROM support it. As the orginal Floppy controller card is rare and not easy to buy(please see attached photo for reference), so many people use this board to allow MPF-II to use general apple floppy controller.
При этом на фотке платы оригинального контроллера тоже нет выреза под ключ на коннекторе.
You do not have the required permissions to view the files attached to this post.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Micro-Professor MPF-II Assembler

Post by Lavr »

vitali wrote:
Lavr wrote:Код открытый, код на элементарном Бейсике - упрощайте, если хотите...
Да, так и собираюсь. Хотя элементарным сложно назвать - я такой Бейсик 100 лет не трогал за жабры :)
Ну вы, видимо, думаете, что я такой Бейсик хранил у себя под подушкой? :lol:
Нет... почитал разные хелпы и мануалы... сам по себе Бейсик тех лет для 8-разрядок очень простой.
iLavr
User avatar
vitali
Senior
Posts: 136
Joined: 17 Sep 2019 09:34
Location: Finland

Re: Micro-Professor MPF-II Assembler

Post by vitali »

Lavr wrote:
vitali wrote:
Lavr wrote:Код открытый, код на элементарном Бейсике - упрощайте, если хотите...
Да, так и собираюсь. Хотя элементарным сложно назвать - я такой Бейсик 100 лет не трогал за жабры :)
Ну вы, видимо, думаете, что я такой Бейсик хранил у себя под подушкой? :lol:
Нет... почитал разные хелпы и мануалы... сам по себе Бейсик тех лет для 8-разрядок очень простой.
:lol:
User avatar
vitali
Senior
Posts: 136
Joined: 17 Sep 2019 09:34
Location: Finland

Re: Micro-Professor MPF-II Assembler

Post by vitali »

А что делает чтение из $C010?

Code: Select all

1900 BX = PEEK($C010): N = 256 : REM TEST BIT6
1910 FOR I = 7 TO 6 STEP -1
1920 N = N/2
1930 B(I) = INT(BX/N): BX = BX - (B(I)*N)
1940 NEXT I
1950 RETURN
P.S. Если я не накосячил где-то с вводом кода, тогда отличие железа MPF-II от симулятора AppleBasic-а может стать еще тем челленджем отладки.
You do not have the required permissions to view the files attached to this post.
User avatar
vitali
Senior
Posts: 136
Joined: 17 Sep 2019 09:34
Location: Finland

Re: Micro-Professor MPF-II Assembler

Post by vitali »

А вообще чем больше задумываюсь о том, как надо делать, тем больше прихожу к мысли, что нужно писать утилиту - конвертер binary data to WAV файл. Для Apple-II такое на Гитхабе лежит:
https://github.com/datajerk/c2t
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Micro-Professor MPF-II Assembler

Post by Lavr »

Задумываться и писать - это два довольно разных направления деятельности... :wink:
vitali wrote:А что делает чтение из $C010?
В первой же строчке написано, что делает чтение из $C010:
1900 BX = PEEK($C010): N = 256 : REM TEST BIT6
Или вы по-английски не читаете? :roll:
Если вы подзабыли Васик, то REM - это комментарий...
iLavr
User avatar
vitali
Senior
Posts: 136
Joined: 17 Sep 2019 09:34
Location: Finland

Re: Micro-Professor MPF-II Assembler

Post by vitali »

Lavr wrote:Задумываться и писать - это два довольно разных направления деятельности... :wink:
vitali wrote:А что делает чтение из $C010?
В первой же строчке написано, что делает чтение из $C010:
1900 BX = PEEK($C010): N = 256 : REM TEST BIT6
Или вы по-английски не читаете? :roll:
Если вы подзабыли Васик, то REM - это комментарий...
Не, я подзабыл, что это за порт - C010 :) но нашел его в Мануале (DATA INPUT) и в раннем BUSY.BAS тестере.

Однако где-то что-то валится в программе с ошибкой. Буду очень признателен проверке "дополнительными глазами" PDF листинга программы с MPF с кодом в Гитлабе на предмет моих косяков при вводе.

P.S. Косяк #1 в строке 40
Косяк #2 в строке 280
User avatar
vitali
Senior
Posts: 136
Joined: 17 Sep 2019 09:34
Location: Finland

Re: Micro-Professor MPF-II Assembler

Post by vitali »

Исправление строк 40 и 280 привнесло некий прогресс. Запуск программы с нажатой кнопкой BUSY на плате ("0") - программа ждет "1" на линии BUSY.
При отпускании кнопки BUSY на плате ("1) программа вываливается в ошибку.

Видимо, настала пора написать серверную часть для ардуины
You do not have the required permissions to view the files attached to this post.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Micro-Professor MPF-II Assembler

Post by Lavr »

vitali wrote:Видимо, настала пора написать серверную часть для ардуины
Ну так я на это с самого начала и рассчитывал:
Lavr wrote:Ну что ж... пора приступить к отладке клиента для MPF-II на реальном железе?
Нажимая кнопки, тестировать всё довольно муторно. :-?
Но по скриншоту вижу - стартовый бит "1" программа успешно поймала.
iLavr
User avatar
vitali
Senior
Posts: 136
Joined: 17 Sep 2019 09:34
Location: Finland

Re: Micro-Professor MPF-II Assembler

Post by vitali »

Lavr wrote:
vitali wrote:Видимо, настала пора написать серверную часть для ардуины
Ну так я на это с самого начала и рассчитывал:
Lavr wrote:Ну что ж... пора приступить к отладке клиента для MPF-II на реальном железе?
Нажимая кнопки, тестировать всё довольно муторно. :-?
Да, но, как обычно, всё занимает больше времени, чем рассчитываешь :(
Lavr wrote: Но по скриншоту вижу - стартовый бит "1" программа успешно поймала.
Похоже на то. Начинаю собирать железку Ардуины для порта
User avatar
vitali
Senior
Posts: 136
Joined: 17 Sep 2019 09:34
Location: Finland

Re: Micro-Professor MPF-II Assembler

Post by vitali »

За отчетный период:
1. Железка сервера готова (BUSY выставляет правильно, STROBE еще не пробовал из-за недоступности MPF).
You do not have the required permissions to view the files attached to this post.
User avatar
vitali
Senior
Posts: 136
Joined: 17 Sep 2019 09:34
Location: Finland

Re: Micro-Professor MPF-II Assembler

Post by vitali »

2. По фирмвари хотелось бы уточнить. Я начал рисовать "Алгоритм обмена MPF-II и PC по линиям STROBE и BUSY" в виде sequence diagram, на застрял на месте:
"MPF-II выставляет "1" по линии STROBE, и начинает цикл из 10 чтений линии BUSY."
...
После цикла из 10 чтений линии BUSY, MPF-II выставляет "0" по линии STROBE, что значит, что он считал линию BUSY и начинает пустой цикл из 10 тактов, чтобы дать время PC для его действий по программе."
Это фиксированное чтение линии BUSY (одного и того же бита) 10 раз? Следующий бит будет читаться в следующие 10 раз?
You do not have the required permissions to view the files attached to this post.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Micro-Professor MPF-II Assembler

Post by Lavr »

vitali wrote:2. По фирмвари хотелось бы уточнить. ...
"MPF-II выставляет "1" по линии STROBE, и начинает цикл из 10 чтений линии BUSY."
...
После цикла из 10 чтений линии BUSY, MPF-II выставляет "0" по линии STROBE, что значит, что он считал линию BUSY и начинает пустой цикл из 10 тактов, чтобы дать время PC для его действий по программе."
Это фиксированное чтение линии BUSY (одного и того же бита) 10 раз? Следующий бит будет читаться в следующие 10 раз?
"фирмвари", как вы говорите, ищет не биты, а переходы 0->1, 1->0. Такой переход может быть, а может и не быть.
тогда "фирмвари" отщелкал 10 чтений линии BUSY и перехода не зафиксировал!
Но искать-то он его обязан!

Я что-то смотрю, вы как-то так любите всё усложнить! :roll:
То открываете что-то там такое на Гитхабе... то вдруг...
vitali wrote:Я начал рисовать "Алгоритм обмена MPF-II и PC по линиям STROBE и BUSY" в виде sequence diagram, ...
Если так дальше пойдёт, вы ещё что-то типа такого нарисуете... :wink:
Image
Были бы эти железки у меня под руками, вопрос бы решился за пару выходных без напряга... :-?
iLavr