Нет звука вообщеLavr wrote:А попробуйте всё же - как звук из-под ассемблерной программы?Code: Select all
10 REM ASSM PROGRAM 15 TEXT : HOME : PRINT " SOUND TEST: " 20 FOR LOC = 768 TO 786 30 READ BYTE 40 POKE LOC,BYTE 50 NEXT LOC 60 DATA 162,0,32,30,251,141,48,192,162,1,32,30,251,141,48,192,76,0,3 70 CALL 768 : REM ORG $300
Micro-Professor MPF-II Assembler
Moderator: Lavr
-
- Senior
- Posts: 136
- Joined: 17 Sep 2019 09:34
- Location: Finland
Re: 6502 Assembler in BASIC
You do not have the required permissions to view the files attached to this post.
-
- Senior
- Posts: 136
- Joined: 17 Sep 2019 09:34
- Location: Finland
Re: 6502 Assembler in BASIC
Да, когда я подавал +5 вольт проводом на STROBE, то светодиод горел.Lavr wrote:А светодиод у вас точно - на землю? Чтобы уж быть уверенным на 100% - а то что-тоvitali wrote:А со Стробом в мануале не опечатка, случаем? Запись в 58 помечена как LOW
многовато опечаток в мануале...
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: 6502 Assembler in BASIC
Васик очень... очень медленный... что, собственно, и ожидалось... Хотя была маленькая надежда, что он чуть побыстрее - но нет...Lavr wrote:Даааа...vitali wrote:Я записал звук с динамика, файл тут. Не очень высокая частота.частота под Васиком очень мала... придется "hands shake" написать...

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Senior
- Posts: 136
- Joined: 17 Sep 2019 09:34
- Location: Finland
Re: 6502 Assembler in BASIC
Угу, в Микропрофессоре очень медленный Васик. Я, вроде, тест 8 ферзей когда-то прогонял - очень тормоз
-
- Senior
- Posts: 136
- Joined: 17 Sep 2019 09:34
- Location: Finland
Re: 6502 Assembler in BASIC
Кстати, прежде чем писать полноценные утилиты, было бы здорово попробовать простейший Хэлловорлд на Асме. У меня так и не получилось вывести строку в экран
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: 6502 Assembler in BASIC
Использует подпрограмму из ПЗУ Эппл-][, видимо, ПЗУ не совместимы...vitali wrote:Нет звука вообщеLavr wrote:А попробуйте всё же - как звук из-под ассемблерной программы?Code: Select all
10 REM ASSM PROGRAM 15 TEXT : HOME : PRINT " SOUND TEST: " 20 FOR LOC = 768 TO 786 30 READ BYTE 40 POKE LOC,BYTE 50 NEXT LOC 60 DATA 162,0,32,30,251,141,48,192,162,1,32,30,251,141,48,192,76,0,3 70 CALL 768 : REM ORG $300

Это пробовать можно - загрузчик в программе выше правильный.vitali wrote:Кстати, прежде чем писать полноценные утилиты, было бы здорово попробовать простейший Хэлловорлд на Асме. У меня так и не получилось вывести строку в экран
Грузит на адрес 300Н и вызывает с этого адреса.
iLavr
-
- Senior
- Posts: 136
- Joined: 17 Sep 2019 09:34
- Location: Finland
Re: 6502 Assembler in BASIC
Скорее всего да, вызов сработает, но тут что-то с видеопамятью, помните, в другой ветке я пытался в видеопамять писать? БезуспешноLavr wrote:Это пробовать можно - загрузчик в программе выше правильный.vitali wrote:Кстати, прежде чем писать полноценные утилиты, было бы здорово попробовать простейший Хэлловорлд на Асме. У меня так и не получилось вывести строку в экран
Грузит на адрес 300Н и вызывает с этого адреса.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: 6502 Assembler in BASIC
С видеопамятью, я так думал, что мы ещё тогда всё выяснили - нет у MPF-II текстового буфера, как такового.vitali wrote:...тут что-то с видеопамятью, помните, в другой ветке я пытался в видеопамять писать? Безуспешно
Текстовые режимы он эмулирует графически.
Поэтому на ассемблере имеет смысл выводить сообщение как-то так:
Code: Select all
COUT gequ $FDED ;The Apple II character output func.
keep HelloWorld
main start
ldx #0 ;Offset to the first character
loop lda msg,x ;Get the next character
cmp #0 ;End of the string?
beq done ;->Yes!
jsr COUT ;Print it out
inx ;Move on to the next character
jmp loop ;And continue printing
done rts ;All finished!
msg dc c'Hello world.'
dc h'0D'
dc h'00'
end

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: 6502 Assembler in BASIC
Нашел я другой эмулятор Apple-][: https://virtualconsoles.com/online-emulators/apple-ii/Lavr wrote:Функцию COUT equ $FDED MPF-II поддерживает.
Вот только я это проверить не могу, т.к. здесь: https://www.calormen.com/jsbasic/ машинный код не поддерживается.
И он у меня следующий код на экран-таки выводит!

Code: Select all
10 TEXT : HOME
20 FOR LOC = 768 TO 806
30 READ BYTE
40 POKE LOC,BYTE
50 NEXT LOC
60 DATA 162,0,189,17,3,201,255,208
65 DATA 1,96,32,237,253,232,76,2,3
70 DATA 72,69,76,76,79,33,32,65,80
75 DATA 80,76,69,45,93,91,32,33,13
80 DATA 32,13,255,255
85 CALL 768
90 END
Code: Select all
;--- Hello.asm ------------------
ldx #$00 ; index
loop: lda messg,x ; get symbol
cmp #$ff ; it's END?
bne here ; No, continue
rts ; return
here:
jsr $FDED ; send byte
inx ; inc index
jmp loop
messg:
dcb $48,$45,$4C,$4C,$4F,$21,$20
dcb $41,$50,$50,$4C,$45,$2D,$5D
dcb $5B,$20,$21,$0D,$20,$0D,$FF
Какая-то ошибочка выскакивает... но искать неохота: в принципе - работоспособно.
P.S. Код $0D = 13 эмулятор по-своему понял, почему-то как М. В остальном - всё путём!
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Senior
- Posts: 136
- Joined: 17 Sep 2019 09:34
- Location: Finland
Re: 6502 Assembler in BASIC
Да, в Apple-II это таки работает.
В Микропрофессоре эта программка крашится с выводом регистров Монитором.
Надо курить в подпрограммы Монитора для вывода текста в экран
В Микропрофессоре эта программка крашится с выводом регистров Монитором.
Надо курить в подпрограммы Монитора для вывода текста в экран
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: 6502 Assembler in BASIC
Насколько я всё прочитал - есть возможность выйти в Монитор-отладчик с весьма приличнымиvitali wrote:В Микропрофессоре эта программка крашится с выводом регистров Монитором.
Надо курить в подпрограммы Монитора для вывода текста в экран
возможностями - даже дизассемблировать умеет, и всё остальное - тоже.
И "курить" уже под отладкой непосредственно в самом MPF-II.
Я уже даже оффлайн эмулятор Apple-][ скачал, и под ним код работает идентично! Насчет текстового буфера: в MPF-II всё работает несколько иначе, судя по мануалу.
MPF-II записывает в текстовый буфер то, что уже вывел графически на экран.
Я так полагаю - упростили задачу чтения символа в позиции курсора.
"Специалист" - тоже с чисто графическим выводом, в нем текстовый буфер не организовали,
поэтому при необходимости чтения символа в позиции курсора он его графически по байтам
с экрана и распознаёт, что очень медленно и порой довольно неточно.
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Senior
- Posts: 136
- Joined: 17 Sep 2019 09:34
- Location: Finland
Re: Micro-Professor MPF-II Assembler
Что-то я потерялся в мозгах этого Недопрофессора...
Взял пример из Мануала, где Монитором выводят 26 букв алфавита через ту самую подпрограмму COUT и оставил только одну букву, убрав цикл.
Почему загружает код буквы "А"? C1 (193) ведь не ASCII код буквы "А".
С другой стороны, если оставить 7 бит, то превращается в , а это уже ASCII "A".
У Недопрофессора 7-битная кодовая таблица? В мануале что-то не нашел об этом
Взял пример из Мануала, где Монитором выводят 26 букв алфавита через ту самую подпрограмму COUT
Code: Select all
FDEDH
Почему
Code: Select all
LDA #$C1
С другой стороны, если оставить 7 бит, то
Code: Select all
11000001
Code: Select all
1000001 = 65
У Недопрофессора 7-битная кодовая таблица? В мануале что-то не нашел об этом
You do not have the required permissions to view the files attached to this post.
-
- Senior
- Posts: 136
- Joined: 17 Sep 2019 09:34
- Location: Finland
Re: Micro-Professor MPF-II Assembler
Вот оно что...
You do not have the required permissions to view the files attached to this post.
-
- Senior
- Posts: 136
- Joined: 17 Sep 2019 09:34
- Location: Finland
Re: Micro-Professor MPF-II Assembler
В общем, не все так просто с мануалом. Кодовая таблица, похоже, совпадает с заглавными буквами, остальное непонятно. Видимо, прошивка моего Недопрофессора отличается от общепринятых:
You do not have the required permissions to view the files attached to this post.
-
- Senior
- Posts: 136
- Joined: 17 Sep 2019 09:34
- Location: Finland
Re: Micro-Professor MPF-II Assembler
В общем, итог сегодняшних страданий: работающий код Хэлловорлда большими буквами:
Скриншот из Васика ниже
Code: Select all
;.org $400
ldx #$00 ; index
loop: lda messg,x ; get symbol
cmp #$ff ; it's END?
bne here ; No, continue
rts ; return
here:
jsr $FDED ; send byte
inx ; inc index
jmp loop
messg:
dcb $A2,$00,$BD,$11,$04,$C9,$FF
....
dcb $CF,$D2,$CC,$C4,$8D,$FF
Code: Select all
10 REM HELLO ASM
11 TEXT : HOME
20 FOR LOC = 1024 TO 1054
30 READ BYTE
40 POKE LOC,BYTE
50 NEXT LOC
60 DATA 162,0,189,17,4,201,255,208
65 DATA 1,96,32,237,253,232,76,2
70 DATA 4,200,197,204,204,207,160
75 DATA 215,207,210,204,196,141
80 DATA 255,255
85 CALL 1024
90 END
You do not have the required permissions to view the files attached to this post.