nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 24 Sep 2018 15:01



Reply to topic  [ 290 posts ]  Go to page Previous  1 ... 16, 17, 18, 19, 20  Next
Galaksija 
Author Message
Maniac

Joined: 12 Feb 2016 14:39
Posts: 295
Reply with quote
Сейчас проверил на своем реале работу прошивки из этого поста совместно с AY и плеерами, все отлично!
fifan wrote:
Я вот думаю генератор звука сделать в виде эмулятора AY на атмеге8 или достаточно AY?

не очень понял вопрос, вместо реального AY на плату поставить его эмулятор на атмеге? это, можно, конечно, а что значит 'достаточно AY'?. Я прикупил AY на Ali, правда не AY3-8910, а ее аналог YM2149F, там предложений масса, а по цене дешевле чем атмега8 (у нас :) ).
У меня в голове крутится мысль сделать SD интерфейс n8vem на IO портах AY, они в Галаксии совсем не используются, будет медленно, но а куда нам спешить с несколькими то десятками файлов на пару-тройку килобайт? :). 5-10 секунд подождать загрузку файла вполне можно. Так что из этих соображений лучше не эмулятор на атмеге, а реал.


05 Jul 2018 13:45
Profile
Doomed

Joined: 06 Oct 2006 04:17
Posts: 516
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Я имел ввиду сделать посадочные места и под AY и под Атмегу8 - выбор пользователя.

_________________
:arrow: Сайт о ПК "Специалист" и его клонах


07 Jul 2018 03:39
Profile WWW
Maniac

Joined: 12 Feb 2016 14:39
Posts: 295
Reply with quote
Попробовал подключить к портам AY SD карту по интерфейсу n8vem, собрал аналог портов AY в протеусе, все заработало:
Attachment:
Gal_SD_AY_n8vem.PNG
Gal_SD_AY_n8vem.PNG [ 111.72 KiB | Viewed 585 times ]

а вот на реале работать не хочет :(... хотя ножками дергает, и если читать порт, то видит нолики и единички... попытался сделать конфиг для b2m по аналогии с РК-86, что то совсем все плохо и не работает. to b2m: что надо поправить в конфиге для работы через порты AY SD карты по интерфейсу n8vem? файлы во вложении


Attachments:
GalaxyPlusSD.zip [677.65 KiB]
Downloaded 12 times
12 Jul 2018 15:34
Profile
Doomed

Joined: 26 May 2003 07:57
Posts: 629
Reply with quote
У тебя CS у карты инверсный. Я в эмуляторе, к сожалению, не сделал инверсный вход ~ss, но можно воспользоваться регистром. Вот так работает (почистил от лишних элементов):
 
Code:
main.CPUClock=3072KHz
main.Caption="Galaxy Plus"
main.scale.x=200%
main.scale.y=200%

CPU : Z80 {
  debug=cas
  mem=mm
  int[FF]=vid.irq
  port[00]=AY.regno
  port[01]=AY.data
  port[02]=AY.data
}

rom1 : Memory {
  rom="Galaxy\ROM1_minus_and_Rom2_patch.BIN"
}

rom2 : Memory {
  rom="Galaxy\rom2.bin"
}

rom3 : Memory {
  rom="Galaxy\GAL_PLUS.BIN"
}

rom4 : Memory {
  rom="Galaxy\SDOS.BIN"
}

mem1 : Memory {
  size=9800
}

mem2 : Memory {
  size=1000
}

mm : MemMap {
  map[0][0000-0FFF]=rom1
  map[0][1000-1FFF]=rom2
  map[0][2000-20FF]=kmap
  map[0][2100-21FF]=kmap
  map[0][2200-22FF]=kmap
  map[0][2300-23FF]=kmap
  map[0][2400-24FF]=kmap
  map[0][2500-25FF]=kmap
  map[0][2600-26FF]=kmap
  map[0][2700-27FF]=kmap
  map[0][2800-BFFF]=mem1
  map[0][C000-CFFF]=mem2
  map[0][E000-EFFF]=rom3
  map[0][F000-FFFF]=rom4
}

kmap : MemMap2 {
  map[00-37]=kbd.~key[0]
  map[38-3F]=vid.latch
  map[40-77]=kbd.~key[0]
  map[78-7F]=vid.latch
  map[80-B7]=kbd.~key[0]
  map[B8-BF]=vid.latch
  map[C0-F7]=kbd.~key[0]
  map[F8-FF]=vid.latch
}

miso : Register {
  read[0]=sdcard.miso
  read[1]=sdcard.miso
  read[2]=sdcard.miso
  read[3]=sdcard.miso
  read[4]=sdcard.miso
  read[5]=sdcard.miso
  read[6]=sdcard.miso
  read[7]=sdcard.miso
}

sdss : Register {
  write[0]=sdcard.ss
}

reg1 : Register {
  write[0]=sdcard.mosi
  write[5]=sdcard.sclk
  write[6]=sdss.~data
}

AY : AY-3-8910 {
  freq=1/2
  portA=miso
  portB=reg1
}

kbd : Keyboard {
  layout="Galaxy\layout.kbd"
}

vid : Galaxy-Video {
  mem=mm
  refresh=cpu.refresh
  font="Galaxy\chrgen.bin"
}

sdcard : sd-mmc {
  image="Galaxy\SD4.mmc"
}

cas : tape-recorder {
  biproc[EDD-EEE]=sp
  biproc[EDD-EEE].reg=c
  filter="Galaxy type files (*.gtp)|*.gtp"
  ext="gtp"
}

Не понял про область C000-CFFF, на всякий случай сделал там ОЗУ.

Кстати, эмулятор игнорирует режим портов AY ввод/вывод (недоделка). Но я посмотрел код, ты вроде правильно устанавливаешь биты.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


13 Jul 2018 01:48
Profile WWW
Maniac

Joined: 12 Feb 2016 14:39
Posts: 295
Reply with quote
Спасибо!
b2m wrote:
У тебя CS у карты инверсный. Я в эмуляторе, к сожалению, не сделал инверсный вход ~ss, но можно воспользоваться регистром.

Получается, практически я именно с инверсией и не разобрался, а вот такая конструкция в моем конфиге все решит:
Code:
sdss : Register {
  write[0]=sdcard.ss
}
...
  write[6]=sdss.~data
...

я пробовал вот так сделать, но это не работало:
Code:
write[E]=sdcard.ss

а с регистром и не подумал даже...

b2m wrote:
Не понял про область C000-CFFF, на всякий случай сделал там ОЗУ.

Да здесь, я видимо раньше путаницу сделал, вот это все так и тянется...
я же в схеме 'вытягиваю' 2КБ от 8КБ чипа из под портов и эти 2КБ размещал в C000-C7FF, используя их для буфера FAT, а когда добавил еще 32КБ памяти, то получилась раскладка ОЗУ 6КБ+32КБ+2КБ до C7FF. При старте ГалаксияПлюс проверяет весь доступный непрерывный размер памяти и устанавливает границу на C7FF. ГалаксияПлюс свой графический экран (при вводе команды GRAPH) размещает под самый верх доступной памяти, и получается перекрытие графического экрана Плюса с буфером FAT при работе с SD. Мне этот момент не понравился, и я предложил перенести эти 2КБ 'вытянутой' памяти в адреса C800-CFFF, и в эмуляторе это было сделано легко и просто. Когда же я начал в железе делать дешифратор, то понял, что легко это не реализовать, и, обдумав, насколько этот момент портит жизнь, понял, что это не страшно, и оставил как получается проще с дешифрацией, те на C000-C7FF. (если запускать SD интерфейс находясь в текстовом режиме, то этой проблемы нет) Тогда как CS_SD сделал на C800 ( для SD интерфейса HWM_PVV).
Так что актуальная раскладка на реале, и в эмуляторе надо сделать: допОЗУ C000-C7FF, CS_SD - C800-C801

b2m wrote:
Кстати, эмулятор игнорирует режим портов AY ввод/вывод (недоделка). Но я посмотрел код, ты вроде правильно устанавливаешь биты.

PVV wrote:
а вот на реале работать не хочет :(... хотя ножками дергает, и если читать порт, то видит нолики и единички...

так вот я и пытаюсь понять где ошибка, если в двух эмуляторах все работает, то что ж не так с реалом то? :(
вот схема:
Attachment:
AY_SD_n8vem.PNG
AY_SD_n8vem.PNG [ 21.57 KiB | Viewed 556 times ]

использую вот такую платку:
Attachment:
SD_adapter.png
SD_adapter.png [ 264.95 KiB | Viewed 556 times ]

я ее уже подключал ранее, она работала...
Сигнал MISO здесь 3х вольтовый, правда получается, но я пробовал через диод шоттки сделать ОК, и подтягивал резистором на +5, не помогло.
Перепроверю все еще раз вечером.


13 Jul 2018 04:04
Profile
Doomed

Joined: 26 May 2003 07:57
Posts: 629
Reply with quote
PVV wrote:
Сигнал MISO здесь 3х вольтовый

А карта отвечает что-нибудь? Или тишина?

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


13 Jul 2018 04:54
Profile WWW
Maniac

Joined: 12 Feb 2016 14:39
Posts: 295
Reply with quote
Тишина. Я на вычитке байта с карты ставил отладочный вывод, сыпет FF, но, если начать касаться пальцами платы, проскакивает мусор, и если попадается 00, то идет выход из функции инита. Получается, что у карты выход сидит в Z состоянии...значит карта ничего не приняла.
Я вообще как все делаю, у меня SDOS под n8vem собрана в адреса 7000. Я этот бинарник пишу на карту. Запускаю Галаксию, ввожу A=USR(&F000) и запускаюсь с интерфейса HWM_PVV, выполняю R SDOS.BIN,7000,1000, далее X(выход из SDOS), переставляю карту в разъем на AY(интерфейс n8vem) и A=USR(&7000), весь вывод на экране есть, а в ответ от карты тишина :(. Я собирал SDOS с отладочным зацикливанием вывода и ввода с карты, осциллографом сигналы (CS, CLK, MOSI) вижу. Просто тупо карта молчит... Плата адаптера именно та, что я проверял на интерфейсе HWM_PVV (на картинке она тут раньше уже проскакивала), может сдохла, конечно... есть вторая, еще не распечатанная из пакетика.
В SDOS есть команда - I - повторный инит карты, без результата.


13 Jul 2018 05:20
Profile
Maniac

Joined: 12 Feb 2016 14:39
Posts: 295
Reply with quote
Ура, все заработало! :)
Я, вчера паял уже вечером, и на эту плату адаптера внимательно не посмотрел, а там на ножках самого разъема-держателя микроSD карточки был мусор... сейчас хотел осциллографом прямо на ножках этого держателя сигналы посмотреть, и щупом темную соринку подковырнул, а карта определилась!

Вообщем провел эксперимент, загрузка файла TETRIS32.GTP 2700 байт на старом интерфейсе грузится ~1c, а на этом ~5с, PACMANP.GTP 12610 байт ~2.3с и ~15с соответственно.
А если функции чтения байта развернуть из цикла в 8 последовательных цепочек, что увеличит код на ~200 байт, то получится еще быстрее процентов на 10, я думаю, позже проведу такой эксперимент... в Галаксии еще место есть ~1800 байт, так что такую операцию можно провернуть :)

upd: развернул код чтения байта из цикла в 8 повторяющихся последовательностей, вычитка PACMANP.GTP получилась ~12.4с. Можно еще подумать как оптимизировать этот код, применительно к z80, но это уже совсем крохи выигрыша будут...


Last edited by PVV on 19 Jul 2018 11:18, edited 1 time in total.



13 Jul 2018 09:46
Profile
Doomed
User avatar

Joined: 05 Nov 2007 06:08
Posts: 405
Location: Украина
Reply with quote
вопрос по УМ2149... (решил не громоздить отдельную тему)
имею два чипа, отданные мне вместе с хламом...
собрал платку, чтобы поиграться, подключил къ 8951...
одна, видимо, ку-ку - на всех ногах +5,
другая - порты в/в работают, т.е. я туда пишу и оно появляется снаружи, а вот из аудиовыхода - матросская тишина... :(
то ли выход(ы) зажарены, то ли я не так их зажигаю???
генератор: 1.8 МГц, вроде как генерит
записыаю:
Р0 - младший байт от 262
Р1 - старший байт от 262
Р8 - 15 (громкость постоянная)
Р7 - 11111110 (канал А - тон)
надеялся получить 1843200/16*262=440 Гц (типо Ля)
но... ни*ля... 8)
если должно быть ля, но не ля - знач, и вторая мс жареная (можно использовать только как УВВ), и если у меня получается писать в ВВ, значит и во внутренние регистры я пишу вполне успешно?


14 Jul 2018 10:31
Profile WWW
Maniac

Joined: 01 Oct 2007 11:30
Posts: 268
Location: Ukraine
Reply with quote
shoorick wrote:
другая - порты в/в работают, т.е. я туда пишу и оно появляется снаружи, а вот из аудиовыхода - матросская тишина... :(
то ли выход(ы) зажарены, то ли я не так их зажигаю???

Чего там зажигать. Выхода звука в пучок и на землю через резистор 1К. А дальше по методике из соседней темы (там регистры ну почти созвучны реальному чипу).

Р1 – только 4 младших имеет (для чипа они старшие) - всего 12.

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


14 Jul 2018 12:50
Profile
Doomed
User avatar

Joined: 05 Nov 2007 06:08
Posts: 405
Location: Украина
Reply with quote
значит, помер чувачок... у меня пучок из 4.3 кОм (видал разные в нете, взял среднее)
заказал 5 щтук на али - не зряж я девайс клепал! правда, говорят, там под видом новых выпаяные продают...

Quote:
Р1 – только 4 младших имеет (для чипа они старшие) - всего 12

дык, все по датащиту делать старался...


14 Jul 2018 13:08
Profile WWW
Maniac

Joined: 01 Oct 2007 11:30
Posts: 268
Location: Ukraine
Reply with quote
shoorick wrote:
дык, все по датащиту делать старался...

Что за датачит такой, у меня так.

Image

shoorick wrote:
заказал 5 щтук на али - не зряж я девайс клепал! правда, говорят, там под видом новых выпаяные продают...
В поднебесной все под видом продают. Но пока ау от ямахи приходили оригинальный (то, что выпаянные упустим)

Самое последнее разочарование. Заказал Z180 от Hitachi в корпусе S-DIP64. Это пипец. Наждак, лазер, ножки в раскорячку (это проблема самая реальная. Бо в тыкать ее в не цанговую панельку – фейл(цанговая дорого – 12ую.). Равнять тоже не один час уйдет).

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


Last edited by Alekcandr on 14 Jul 2018 13:30, edited 2 times in total.



14 Jul 2018 13:18
Profile
Doomed
User avatar

Joined: 05 Nov 2007 06:08
Posts: 405
Location: Украина
Reply with quote
Онологично!
Именно так и заполняю:

Code:
FREQ = 262
    mov  B,#0
    mov  A,#FREQ and 0xFF
    call YM.write
    mov  B,#1
    mov  A,#FREQ shr 8
    call YM.write


см. фидбэк

(скатываюсь в оффтоп - потом можно удалить)
купил две XR2206 - продавец прислал четыре! ай, маладца! даже написал ему "спосиба"! ни одна не заработала! точнее, как-то работали, но выдавали полную херню (лучче всех работала та, что я выпаял из дохлого девайса), короче - некондиция какая-то! я ж не завод сразу с почты на конвеер, время ушло: продавец не помню, а товара уже нет, некуда было "фе" написать!


14 Jul 2018 13:24
Profile WWW
Maniac

Joined: 01 Oct 2007 11:30
Posts: 268
Location: Ukraine
Reply with quote
Ну как бы на месте видней. Только берем входную (от кварца) делим . И. Нужно быть точней. R1 – 4 битный. От болды только на ослике можно рисовать.

Про себя. Хотя (...) ослик четко хавает, у меня 261Гц (нота ДО (октава 4?))

.
.
.
Без офтома как бы не выходит. Темы становятся скучны и не интересны. У себя в теме так и буду жать.

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


Last edited by Alekcandr on 14 Jul 2018 13:53, edited 1 time in total.



14 Jul 2018 13:47
Profile
Doomed
User avatar

Joined: 05 Nov 2007 06:08
Posts: 405
Location: Украина
Reply with quote
ху из ослик?

вот листинг:
Code:
00002796:                         FREQ = 262
00002796: 75 F0 00                mov B,#0
00002799: 74 06                   mov A,#FREQ and 0xFF
0000279B: F1 71                   call YM.write
0000279D: 75 F0 01                mov B,#1
000027A0: 74 01                   mov A,#FREQ shr 8
000027A2: F1 71                   call YM.write


т.е. в регистр Р1 записывается 01


14 Jul 2018 13:52
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 290 posts ]  Go to page Previous  1 ... 16, 17, 18, 19, 20  Next

Who is online

Users browsing this forum: No registered users and 1 guest


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.