ZXNet эхоконференция «hardware.zx»
тема: AY-микросхемы
от: Andreas Kaiser
кому: All
дата: 22 May 2006
Hello, Savage
Sav> Я тут посмотрел: почти везде такие микросхемы дефицит. А разве
Sav> каких-нибудь микросхем, полностью заменяющих их нет чтоли?
Sav> И еще: как думаете, можно найти принципиальную схему этой микросхемы?
Sav> Hу там всякие описания резисторов, транзисторов, дорожек и т.д.
Поищи форум на предмет "AY и VHDL".
от: Рустам Тимербаев
кому: All
дата: 22 May 2006
Hello, Savage
а вот здесь [http://irls.narod.ru/sncl/ay001.htm] что-то довольно интересное...
Посмотри, пожалуйста, это и есть та самая схемка?
от: Рустам Тимербаев
кому: All
дата: 22 May 2006
Hello, icebear
здесь [http://shop.elcomp.com.ru/customer/product.php?productid=42911]
предлагают купить эту микросхему... у меня нет столько денег
от: Чунин Роман
кому: All
дата: 22 May 2006
Hello, Savage
Sav> Я тут посмотрел: почти везде такие микросхемы дефицит. А разве
Sav> каких-нибудь микросхем, полностью заменяющих их нет чтоли?
Sav> И еще: как думаете, можно найти принципиальную схему этой микросхемы?
Sav> Hу там всякие описания резисторов, транзисторов, дорожек и т.д.
А вот здесь посмотреть никому в голову не приходит ;):
http://www.nedopc.com/catalog.php
от: Рустам Тимербаев
кому: All
дата: 23 May 2006
Hello, CHRV
щас прикину цены :)
Слушай, а ведь у вас тама не бесконечное число микросхем... А откудова берете?
Вроде же сейчас их никто не производит. Или я глубоко ошибаюсь?
от: Чунин Роман
кому: All
дата: 23 May 2006
Hello, Savage
Sav> щас прикину цены :)
Sav> Слушай, а ведь у вас тама не бесконечное число микросхем... А
Sav> откудова берете? Вроде же сейчас их никто не производит. Или я
Sav> глубоко ошибаюсь?
Я беру их со складов у китайских друзей.
от: Orionsoft
кому: All
дата: 23 May 2006
Hello, Savage
КЕТАЙ рулит !
от: Александр Филиппов
кому: All
дата: 23 May 2006
Hello, Orionsoft
А они на драгметалы понабирали, без разбору.
от: Рустам Тимербаев
кому: All
дата: 23 May 2006
Hello, CHRV
Блин, даже микросхемы у китайцев начали скупать...
от: Alexandr Tsidaev
кому: All
дата: 24 May 2006
Hello, Savage
Sav> Как думаете, с помощью этих микросхем можно сделать плеер,
Sav> воспроизводящий музыку в .PT3 .VTX и еже с ними форматах? Эти файлы
Sav> предварительно будут записаны на флешках
да теоретически-то хоть что можно :)
а практически еще кажеццо никто не делал
в принципе, нужно-то зафигачить спек без видеоконтроллера с аюком в ПЛМ, да
приделать чтение MMC
а можно даже и не в ПЛМ, а просто рассыпухой, правда плеер получится размером с
CD-walkman :)
от: Рустам Тимербаев
кому: All
дата: 24 May 2006
Hello, Trantor
Как думаете, с помощью этих микросхем можно сделать плеер, воспроизводящий
музыку в .PT3 .VTX и еже с ними форматах? Эти файлы предварительно будут
записаны на флешках
от: Andreas Kaiser
кому: All
дата: 24 May 2006
Hello, Titus
Tit> Ты думаешь 25MIPS'ов буде мало, чтобы сэмулить AY??? :v2_biggr;
А; он даёт эти 25 мипсов? Я тоже раньше думал, что PICи белый и пушистые :)
от: DVS
кому: All
дата: 24 May 2006
Hello, Eltaron
Схема такого девайса уже где-то проскакивала (PIC + ROM).
А делать с MMC/SD я уже подумывал, но потом задвинул эту идею, не охота
использовать тривиальный подход, хотелось бы эмулировать работу AY. По моему
Conan или Spensor просчитывали эту возможность на Atmel Tiny с fast PWM, но
дальше не сдвинулось.
от: Robus
кому: All
дата: 24 May 2006
Hello, Robus
Кстати в 2004-ом году я был на SpeXtream'е, и Looker показывал обыкновенный
телефонный аппарат с АОHом, но вместо звонков играла спековская музыка.
от: Robus
кому: All
дата: 24 May 2006
Hello, Savage
Sav> Как думаете, с помощью этих микросхем можно сделать плеер,
Sav> воспроизводящий музыку в .PT3 .VTX и еже с ними форматах? Эти файлы
Sav> предварительно будут записаны на флешках
Hо можно взять современный микроконтроллер за 3-4$ и сделать эмуляцию AY'ка на
нём. Мало того, многие микроконтроллеры имеют в середине ЦАПы, то есть по сути
нужен просто один микроконтроллер, да ещё и от батарейки будет работать.
Hапример можно выбрать микроконтроллер Silicon Laboratories F02x, который на 25
мегагерц и имеет 16-ть выводов. Можно выбрать что-нибудь из серии F12x у него
есть 128к флешки на 100000 перезаписей одного блока в 1024 байт плюс 8192 байт
статики. Запакованнаую мелодию в флешку, распаковываем в RAM и играем. Правда
F12x стоит по дороже, около 10$ но уже с флешкой. А соединять с компом можно
через Com-Port.
от: Андрей Александрович Титов
кому: All
дата: 24 May 2006
Hello, CHRV
CHR> Распространненое заблуждение. Увы микроконтроллеров за 3бакса для
CHR> эмуляции не хватит, желающие доказать - вперед :).
Ты думаешь 25MIPS'ов буде мало, чтобы сэмулить AY??? :v2_biggr:
от: Андрей Александрович Титов
кому: All
дата: 24 May 2006
Hello, icebear
ice> А он даёт эти 25 мипсов? Я тоже раньше думал, что PICи белый и
ice> пушистые :)
Hа сколько я помню, у силабсов 1 команда 8051 за один такт. Вот тебе и 25
мипсов на 25МГц. Хотя я их не особо люблю (силабсовские контроллеры). Дорогие и
непрактичные.
от: Дмитрий Демьяненко
кому: All
дата: 24 May 2006
Hello, Robus
Rob> Мало того, многие микроконтроллеры имеют в середине ЦАПы,
К сожадению наоборот многие микроконтролеры содержат АЦП(ADC) и очень мало в
основном "дорогие" ЦАП(DAC), но что действительно многие имеют это ШИМ который
можно юзать как ЦАП(DAC), правда настройка необходима для точности
от: Чунин Роман
кому: All
дата: 24 May 2006
Hello, Robus
Rob> Hо можно взять современный микроконтроллер за 3-4$ и сделать эмуляцию
Rob> AY'ка на нём. Мало того, многие микроконтроллеры имеют в середине
Rob> ЦАПы, то есть по сути нужен просто один микроконтроллер, да ещё и от
Rob> батарейки будет работать. Hапример можно выбрать микроконтроллер
Rob> Silicon Laboratories F02x, который на 25 мегагерц и имеет 16-ть
Rob> выводов. Можно выбрать что-нибудь из серии F12x у него есть 128к
Rob> флешки на 100000 перезаписей одного блока в 1024 байт плюс 8192 байт
Rob> статики. Запакованнаую мелодию в флешку, распаковываем в RAM и
Rob> играем. Правда F12x стоит по дороже, около 10$ но уже с флешкой. А
Rob> соединять с компом можно через Com-Port.
Распространненое заблуждение. Увы микроконтроллеров за 3бакса для эмуляции не
хватит, желающие доказать - вперед :).
от: Чунин Роман
кому: All
дата: 24 May 2006
Hello, Robus
Rob> Кстати в 2004-ом году я был на SpeXtream'е, и Looker показывал
Rob> обыкновенный телефонный аппарат с АОHом, но вместо звонков играла
Rob> спековская музыка.
Сделанный на микроконтроллере Венус5 имеющий АУ на борту.
от: Андрей Александрович Титов
кому: All
дата: 24 May 2006
Hello, CHRV
CHR> Hу сделай, посмотрим :).
CHR> Дело не в мипсах, а в умении их прилагать ;)
Мне эмулировать AY наффиг не нужно :v2_tong;
p.s.:; Я хоть и любитель Спектрума, но не фанат-маньяк :v2_wink2:
от: Рустам Тимербаев
кому: All
дата: 24 May 2006
Hello, Robus
Rob> Кстати в 2004-ом году я был на SpeXtream'е, и Looker показывал
Rob> обыкновенный телефонный аппарат с АОHом, но вместо звонков играла
Rob> спековская музыка.
Hу это уж можно запрограммировать... а, погодь, ты говоришь, что там микросхема
AY стояла?
CHR> Сделанный на микроконтроллере Венус5 имеющий АУ на борту.
О, нашел! А схему сможешь достать?
Tit> Мне эмулировать AY наффиг не нужно :v2_tong;
Tit>;
Tit> p.s.: Я хоть и любитель Спектрума, но не фанат-маньяк :v2_wink2;
Это; что же, я по твоему фанат-маньяк? Ща как бензопилу включу
от: Чунин Роман
кому: All
дата: 24 May 2006
Hello, Titus
Tit> Ты думаешь 25MIPS'ов буде мало, чтобы сэмулить AY??? :v2_biggr;
Hу; сделай, посмотрим :).
Дело не в мипсах, а в умении их прилагать ;)
от: Рустам Тимербаев
кому: All
дата: 27 May 2006
Hello, CHRV
Ух ты! Огромное спасибо
от: Robus
кому: All
дата: 02 Jun 2006
Hello, CHRV
Hу вот и свершилось ... Хех ...
Прочитал я вот это:
CHR> Распространненое заблуждение. Увы микроконтроллеров за 3бакса для
CHR> эмуляции не хватит, желающие доказать - вперед
и ещё вот это:
CHR> Hу сделай, посмотрим .
CHR> Дело не в мипсах, а в умении их прилагать
Странно, что тут такого, чего нельзя сделать ? Если, конечно, писать на Си, то
и вправду нельзя, но на асме проще не бывает.
Итак, пришёл я вчера на работу, взял прайсы и нашёл C51F330 выпускаемый SILabs
(Cygnal), у которого 32 ноги, короче мы на работе такое паяем простыми
паяльниками. Микроконтроллер на 25 мипсов, стоит 16 гривень, или по всеобщему
это $3.1. Hашёл флешку с последовательным доступом на 512к за 9 гривен по
всеобщему это $1.7. Короче с буферами для RS232 это всё будет стоить максимум
10-20 долларов.
После взял отладочный модуль, который валяется в моём столе где стоит C51F120
он на 100 мипсов, и написал программу примерно за 6-7 часов с учётом того, что
постоянно запускал эмулятор, что бы проверить как работают регистры AYТа.
Безусловно микроконтроллер сконфигурирован на 25 мегагерц с помощью PLL.
Конечно за такое малое время я не мог идеально написать эмулятор и я так и не
дописал шипения, поэтому они заблокированы в программе. Hо в основном всё
повторено. Лично проверил на 20-30 демках и играх, всё звучит так как положено.
Единственное, это огибающая, в которой я где-то то ли ошибся то ли не так
запускаю, но этот глюк заметен был только на одной единственной демке - Mental
Masturbation. Однако всё работает, плеер великолепно пишется. Как будет
свободное время, сяду и сделаю, заодно и схему разведу, паяйте сколько душе
угодно.
Инструкция по пользованию:
Hиже будет прикреплён архив в котором нужно сделать:
1. Запускаем . Hа моём ассемблере откомпилируется программа лежащая
в файле
2. В итоге получатся два файла и , любой из них можно
прошить непосредственно в C51F120. Простите, программу <прошивателя> забыл на
работе, но если нужно принесу.
3. После подсоединяем выводы DAC0 и DAC1 на входы уселителя. У меня на работе
это сделано прямо в компьютер.
4. Подсоединяем RXD и TXD микроконтроллера через буфера на 12-ть воль к ComТу
номер 2 !!! Простите, у меня был свободен именно он.
5. Запускаем мой эмулятор Wild Speccy имя файла - . И он на
скорости 115200 отсылает 14*3 байт состояния AYТка, каждый кадр монитора,
который, безусловно, 50 герц, и только таким он должен быть HА ВСЕХ ЭМУЛЯТОРАХ.
6. Слушаем музыку.
Hикогда не понимал, чего электронщики постоянно считают программистов за
дураков ? Hет, что бы вместе сидеть и творить ?
Файл: Ay.zip http://zx.pk.ru/attachment.php?attachmentid=3275
от: Robus
кому: All
дата: 02 Jun 2006
Hello, CHRV
Вот текст программы для C51F120;
┌─-; CODE ───
; AY-8912 Emulator On C51F330 - 16grn=$3.1 25-MIPs 4-Timers
; On C51F332 - 12grn=$2.4 25-MIPs 4-Timers
Include '51F120.inc'
Include 'intel.inc'
RCAP EQU (12*14-6)/12
.Delay
PUSH DPL
PUSH DPH
MOV DPTR,#-@.0
CALL Dela
POP DPH
POP DPL
..
DEFDB R_AY15
DEFDB R_AY14
DEFDB R_AY13
DEFDB R_AY12
DEFDB R_AY11
DEFDB R_AY10
DEFDB R_AY09
DEFDB R_AY08
DEFDB R_AY07
DEFDB R_AY06
DEFDB R_AY05
DEFDB R_AY04
DEFDB R_AY03
DEFDB R_AY02
DEFDB R_AY01
DEFDB R_AY00
DEFDS Ch_AC,3
DEFDS Ch_BC,3
DEFDS Ch_CC,3
DEFDS Ch_EC,3
DEFDS Ch_NC,3
ORG 0
JMP Start
ORG 03Bh
RETI
ORG 00BH
JMP Timer0INT
ORG 100H
Start;
MOV; SP,#SPMAX ;DSEG$+1
MOV WDTCN, #0DEh
MOV WDTCN, #0ADh
;ENABLE INTERNAL PLL (MNOGO MEGAGERTZZZSS)
MOV SFRPAGE,#0FH
ORL PLL0CN,#00000001B
MOV PLL0DIV,#1
MOV PLL0MUL,#1
CLR A
DJNZ ACC,$
ORL PLL0CN,#00000010B
MMM2; MOV; A,PLL0CN
JNB ACC.4,MMM2
MOV OSCICN,#10000011B
MOV CLKSEL,#00000010B
;
; Enable the Port I/O Crossbar
; MOV P1MDIN,#11111111B
MOV XBR0,#00010111B
MOV XBR1,#00000000B
MOV XBR2,#01000100B
MOV P0MDOUT,#0FFH
MOV P1MDOUT,#0FFH
MOV P2MDOUT,#000H
MOV P3MDOUT,#000H
MOV P4MDOUT,#000H
MOV P5MDOUT,#000H
MOV P6MDOUT,#000H
MOV P7MDOUT,#11111111B
MOV SFRPAGE,#00H
MOV SFRPAGE,#00H
MOV REF0CN,#00001011B
MOV DAC0CN,#10000100B
MOV SFRPAGE,#01H
MOV DAC1CN,#10000100B
MOV SFRPAGE,#00H
MOV DPTR,#4095
MOV DAC0L,DPL
MOV DAC0H,DPH
MOV SFRPAGE,#00H
;Serial port
MOV SFRPAGE,#0
MOV RCAP2L,#LOW(-RCAP)
MOV RCAP2H,#HIGH(-RCAP)
MOV TMR2CN,#00000100B
MOV TMR2CF,#00001010B
MOV TMR2L,#0FFH
MOV TMR2L,#0FFH
MOV SCON0,#01010000B
MOV SSTA0,#00000101B
MOV TMOD,#00010010B
MOV TL0,#LOW(-T0REL)
MOV TH0,#LOW(-T0REL)
SETB TR0
ORL IE,#00000010B
SETB EA
CLR A
MOV Ch_AC+0,A
MOV Ch_AC+1,A
MOV Ch_AC+2,A
MOV Ch_BC+0,A
MOV Ch_BC+1,A
MOV Ch_BC+2,A
MOV Ch_CC+0,A
MOV Ch_CC+1,A
MOV Ch_CC+2,A
MOV Ch_EC+0,A
MOV Ch_EC+1,A
MOV Ch_EC+2,A
MOV R_AY00,A
MOV R_AY01,A
MOV R_AY02,A
MOV R_AY03,A
MOV R_AY04,A
MOV R_AY05,A
MOV R_AY06,A
MOV R_AY07,#00111111B
MOV R_AY08,#15
MOV R_AY09,#15
MOV R_AY10,#15
MOV R_AY11,A
MOV R_AY12,A
MOV R_AY13,A
MOV R_AY14,A
MOV R_AY15,A
MOV R7,#1
M1
;MOV R_AY00,#100
;MOV R_AY04,#200
; CPL P1.6
; MOV A,#10101010B
; CALL Write_Sbuf0
; DELAY 1
;
; MOV A,#30
; CALL Write_Sbuf0
; DELAY 1
JNB RI0,MM1
.0
MOV A,R7
ANL A,#10000000B
JNZ M3
CPL P1.6
M3 MOV R7,#255
..
CALL Read_Sbuf0
MOV B,A
ANL B,#00001111B
SWAP A
ANL A,#00001111B
JNZ MCM1
MOV R0,B
JMP MM1
MCM1; DEC; A
JNZ MCM2
MOV R1,B
MCM2; DEC; A
JNZ MCM3
MOV A,R0
ANL A,#00001111B
ADD A,#R_AY00
MOV R0,A
MOV A,B
SWAP A
ORL A,R1
MOV @R0,A
MOV R1,B
MCM3;
;; CALL Write_Sbuf0
MM1;
JMP; M1
Read_Sbuf0;
MOV; SFRPAGE,#0
JNB RI0,$
MOV A,SBUF0
CLR RI0
RET
Write_Sbuf0;
MOV; SFRPAGE,#0
MOV SBUF0,A
JNB TI0,$
CLR TI0
RET
DelNOP; ;CALL; = 2 & RET = 1 ... 25-3=22
DS 245-3-2
RET
Dela; ;DPTR=Delay;
PUSH ACC
DELA1; MOV; A,#95
DELA2; CALL; DelNOP
DJNZ ACC,DELA2
INC DPTR
MOV A,DPL
ORL A,DPH
JNZ DELA1
POP ACC
RET
;5025536 TELEFON V ZALE NA RABOTE
.PnDec ,ы
CLR C
MOV A,@.0+0
SUBB A,#2
MOV @.0+0,A
JNC @P_DE1
MOV A,@.1+0
ANL A,#00011111B
INC A
RL A
RL A
MOV @.0+0,A
INC @.0+2
; MOV B,A
;@P_DE2 INC @.0+2
; ADD A,@.0+0
; MOV @.0+0,A
; MOV A,B
; JNC @P_DE2
@P_DE1 MOV A,@.0+2
MOVC A,@A+DPTR
..
.PzDec ,ы
CLR C
MOV A,@.0+0
SUBB A,#LOW(DECCER)
MOV @.0+0,A
MOV A,@.0+1
SUBB A,#HIGH(DECCER)
MOV @.0+1,A
JNC @P_DE1
; ANL @.1+1,#00001111B
MOV A,@.1+0
ORL A,@.1+1
JNZ @P_DE2
MOV @.0+0,A
MOV @.0+1,A
; MOV @.0+2,#1
JMP @P_DE1
@P_DE2 INC @.0+2
MOV A,@.0+0
ADD A,@.1+0
MOV @.0+0,A
MOV A,@.0+1
ADDC A,@.1+1
MOV @.0+1,A
JNC @P_DE2
@P_DE1 MOV A,@.0+2
JNB ACC.4,@P_DE3
INC DPH
@P_DE3 ANL A,#00001111B
MOVC A,@A+DPTR
..
.PxDec ,,,ы
CLR C
MOV A,@.0+0
SUBB A,#LOW(DECCER)
MOV @.0+0,A
MOV A,@.0+1
SUBB A,#HIGH(DECCER)
MOV @.0+1,A
JNC @P_DE1
ANL @.1+1,#00001111B
MOV A,@.1+0
ORL A,@.1+1
JNZ @P_DE2
MOV @.0+0,A
MOV @.0+1,A
ORL @.0+2,#1
JMP @P_DE1
@P_DE2 INC @.0+2
CLR C
MOV A,@.0+0
ADDC A,@.1+0
MOV @.0+0,A
MOV A,@.0+1
ADDC A,@.1+1
MOV @.0+1,A
JNC @P_DE2
@P_DE1 MOV A,@.0+2
RRC A
MOV A,@.2
JNB ACC.4,@P_DE3
MOV A,R0
@P_DE3 ANL A,#00001111B
RLC A
; JB @.3+3,@P_DE4
; MOV C,B.0
; ORL C,ACC.0
; MOV ACC.0,C
@P_DE4;
MOV; C,@.3
RLC A
MOVC A,@A+DPTR
RL A
..
DECCER EQU 4
T0REL EQU DECCER*11
Timer0INT;
;; CLR TR0
CLR TF0
SETB P1.6
PUSH SFRPAGE
PUSH ACC
PUSH PSW
PUSH DPTR
PUSH R0
PUSH R1
PUSH R2
PUSH B
.0
MOV A,R7
JZ M2
DEC R7
MOV A,R7
JNZ M2
CLR P1.6
M2
..
└── CODE ───
от: Robus
кому: All
дата: 02 Jun 2006
Hello, CHRV
Это продолжение текста программы для C51F120;
Если; что, то он лежит в архиве ...
┌─- CODE ───
MOV DPTR,#NoiTab
PnDec Ch_NC,R_AY07
SWAP A
MOV B,A
ANL B,#00001111B
MOV DPTR,#EnvTab
INC DPH
MOV A,R_AY13
SWAP A
ANL A,#11110000B
ADD A,DPL
MOV DPL,A
CLR A
ADDC A,DPH
MOV DPH,A
PzDec Ch_EC,R_AY11
MOV R0,A
MOV DPTR,#VolTab
PxDec Ch_AC,R_AY00,R_AY08,R_AY07.0
MOV R1,A
PxDec Ch_BC,R_AY02,R_AY09,R_AY07.1
MOV R2,A
ADD A,R1
MOV R1,A
MOV SFRPAGE,#01H
MOV DAC1L,#0
MOV DAC1H,A
MOV SFRPAGE,#00H
PxDec Ch_CC,R_AY04,R_AY10,R_AY07.2
ADD A,R2
MOV DAC0L,#0
MOV DAC0H,A
POP B
POP R2
POP R1
POP R0
POP DPTR
POP PSW
POP ACC
POP SFRPAGE
CLR P1.6
RETI
EnvTab DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;00
DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;01
DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;02
DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;03
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;04
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;05
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;06
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;07
DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;08
DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;09
DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;10
DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;11
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;12
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;13
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;14
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;15
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;00
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;01
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;02
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;03
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;04
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;05
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;06
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;07
DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;08
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;09
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;10
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;11
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;12
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;13
DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;14
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;15
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;00
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;01
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;02
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;03
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;04
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;05
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;06
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;07
DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;08
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;09
DB 15,14,13,12,11,10,09,08,07,06,05,04,03,02,01,00 ;10
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;11
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;12
DB 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 ;13
DB 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15 ;14
DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 ;15
└── CODE ───
от: Robus
кому: All
дата: 02 Jun 2006
Hello, CHRV
Это продолжение текста программы для C51F120;
┌─-; CODE ───
VolTab ;0EVVVVPS
DB 16 ;00000000 V=00
DB 00 ;00000001
DB 16 ;00000010
DB 00 ;00000011
DB 15 ;00000100 V=01
DB 02 ;00000101
DB 17 ;00000110
DB 02 ;00000111
DB 14 ;00001000 V=02
DB 04 ;00001001
DB 18 ;00001010
DB 04 ;00001011
DB 13 ;00001000 V=03
DB 06 ;00001001
DB 19 ;00001010
DB 06 ;00001011
DB 12 ;00001000 V=04
DB 08 ;00001001
DB 20 ;00001010
DB 08 ;00001011
DB 11 ;00001000 V=05
DB 10 ;00001001
DB 21 ;00001010
DB 10 ;00001011
DB 10 ;00001000 V=06
DB 12 ;00001001
DB 22 ;00001010
DB 12 ;00001011
DB 09 ;00001000 V=07
DB 14 ;00001001
DB 23 ;00001010
DB 14 ;00001011
DB 08 ;00001000 V=08
DB 16 ;00001001
DB 24 ;00001010
DB 16 ;00001011
DB 07 ;00001000 V=09
DB 18 ;00001001
DB 25 ;00001010
DB 18 ;00001011
DB 06 ;00001000 V=10
DB 20 ;00001001
DB 26 ;00001010
DB 20 ;00001011
DB 05 ;00001000 V=11
DB 22 ;00001001
DB 27 ;00001010
DB 22 ;00001011
DB 04 ;00001000 V=12
DB 24 ;00001001
DB 28 ;00001010
DB 24 ;00001011
DB 03 ;00001000 V=13
DB 26 ;00001001
DB 29 ;00001010
DB 26 ;00001011
DB 02 ;00001000 V=14
DB 28 ;00001001
DB 30 ;00001010
DB 28 ;00001011
DB 01 ;00001000 V=15
DB 30 ;00001001
DB 31 ;00001010
DB 30 ;00001011
DB 16 ;00000000 V=00
DB 16 ;00000001
DB 16 ;00000010
DB 16 ;00000011
DB 15 ;00000100 V=01
DB 15 ;00000101
DB 17 ;00000110
DB 15 ;00000111
DB 14 ;00001000 V=02
DB 14 ;00001001
DB 18 ;00001010
DB 14 ;00001011
DB 13 ;00001000 V=03
DB 13 ;00001001
DB 19 ;00001010
DB 13 ;00001011
DB 12 ;00001000 V=04
DB 12 ;00001001
DB 20 ;00001010
DB 12 ;00001011
DB 11 ;00001000 V=05
DB 11 ;00001001
DB 21 ;00001010
DB 11 ;00001011
DB 10 ;00001000 V=06
DB 10 ;00001001
DB 22 ;00001010
DB 10 ;00001011
DB 09 ;00001000 V=07
DB 09 ;00001001
DB 23 ;00001010
DB 09 ;00001011
DB 08 ;00001000 V=08
DB 08 ;00001001
DB 24 ;00001010
DB 08 ;00001011
DB 07 ;00001000 V=09
DB 07 ;00001001
DB 25 ;00001010
DB 07 ;00001011
DB 06 ;00001000 V=10
DB 06 ;00001001
DB 26 ;00001010
DB 06 ;00001011
DB 05 ;00001000 V=11
DB 05 ;00001001
DB 27 ;00001010
DB 05 ;00001011
DB 04 ;00001000 V=12
DB 04 ;00001001
DB 28 ;00001010
DB 04 ;00001011
DB 03 ;00001000 V=13
DB 03 ;00001001
DB 29 ;00001010
DB 03 ;00001011
DB 02 ;00001000 V=14
DB 02 ;00001001
DB 30 ;00001010
DB 02 ;00001011
DB 01 ;00001000 V=15
DB 01 ;00001001
DB 31 ;00001010
DB 01 ;00001011
.0
DB 00 ;00000000 V=00
DB 00 ;00000001
DB 00 ;00000010
DB 00 ;00000011
DB 00 ;00000100 V=01
DB 00 ;00000101
DB 01 ;00000110
DB 00 ;00000111
DB 00 ;00001000 V=02
DB 00 ;00001001
DB 02 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=03
DB 00 ;00001001
DB 03 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=04
DB 00 ;00001001
DB 04 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=05
DB 00 ;00001001
DB 05 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=06
DB 00 ;00001001
DB 06 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=07
DB 00 ;00001001
DB 07 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=08
DB 00 ;00001001
DB 08 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=09
DB 00 ;00001001
DB 09 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=10
DB 00 ;00001001
DB 10 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=11
DB 00 ;00001001
DB 11 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=12
DB 00 ;00001001
DB 12 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=13
DB 00 ;00001001
DB 13 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=14
DB 00 ;00001001
DB 14 ;00001010
DB 00 ;00001011
DB 00 ;00001000 V=15
DB 00 ;00001001
DB 15 ;00001010
DB 00 ;00001011
..
NoiTab INCBIN "Noise.bin"
SPMAX EQU DSEG$-1
SaveHEX 'ay8912.hex
от: DVS
кому: All
дата: 02 Jun 2006
Hello, heroy
2 Robus
Респект. Такую бы фичу в мой FlashTaper сделать, но можно расчитывать только на
PWM 8bit @ 16kHz.
Я на досуге с PWM поэспериментировал (PWM выходы через ФHЧ подключил к УЗЧ):
1) такого качества (8 bit @ 16kHz при ZQ 8MHz) для голосовых сообщений хватает,
но вот чтобы AY файлы играть... не очень то. может в режиме fast PWM можно
что-то ещё выжать, пока не ясно
2) у AVR в моём проекте 14MIPS. Хватит, чтобы твой модуль в AVR заработал?
от: Дмитрий Демьяненко
кому: All
дата: 02 Jun 2006
Hello, Robus
Гы. весело. Однозначно кульно.
от: Чунин Роман
кому: All
дата: 02 Jun 2006
Hello, Robus
Rob> Это продолжение текста программы для C51F120;
Rob>;
Rob> Пользуйтесь. Плеер напишу позже, тут придётся попотеть !!!
Hу вот хоть один толковый человек нашелся а то как пиз..ть так все горазды, а
как мешки ворочать так никого :)
Конечно с огибающими и главное с шумом трудности наверно будут (шум генерится
на основе полинома Жегалкина, т.е. генерящую случайную последовательность -
можно посмотреть в одной из версий кода для ФПГА).
Рад что послужил мотивацией, с меня там что нить разливное полагается при
встрече :v2_cheer; .;
:v2_clapp:
от: Robus
кому: All
дата: 03 Jun 2006
Hello, CHRV
CHR> Hу вот хоть один толковый человек нашелся а то как пиз..ть так все
CHR> горазды, а как мешки ворочать так никого
Если честно, то я то же люблю поговорить, но это от того, что хочется сделать
вообще всё подрят, а времени совсем нет. Вот бы придумали какой-нибудь аппарат,
чтоб нажал кнопку и выспался =)
А вообще-то, с удовольвствием "ворочил бы мешки", дай только волю и
микроконтроллер, ну или процессор, что на сегодняшний современный век почти
одно и то же ...
CHR> Конечно с огибающими и главное с шумом трудности наверно будут (шум
CHR> генерится на основе полинома Жегалкина, т.е. генерящую случайную
CHR> последовательность - можно посмотреть в одной из версий кода для
CHR> ФПГА).
Огибающие нужно ещё сильно править ... Я вообще не понял в чём лажа. У меня в
пик (громкость 15) и минимум (громкость 0) повторяется дважды, может в этом
лажа ??? Да и не могу найти описание в какой момент записи в команды происходит
сбрасывание огибающей ? И не могу понять должна ли огибающая совпадать с пилой
на тоне каждого из каналов ? Кстати и какая частота выборки на AY'ке ? А то я
подбирал по слуху ... Я имею в виду ежели значение тона на первый канал,
например, 3, то с какой частотой должен происходить декремент таймера ?
Вообщем, почти всё что было написано, сделано лишь пробуя методом втыка и
сравнений на слух с эмулятором.
CHR> Рад что послужил мотивацией, с меня там что нить разливное полагается
CHR> при встрече
Лучше давай развидём схему для плеера, всё же идей неплохая. Я в электронике
далеко не монстр. А пиво, надеюсь, обязательно попьём ...
от: Robus
кому: All
дата: 03 Jun 2006
Hello, CHRV
Да ...
CHR> шум генерится на основе полинома Жегалкина, т.е. генерящую случайную
CHR> последовательность
А можно по точнее ? Что рандом я понял, но регистр AY_R6 [0..31] как конкретно
влияет ??? Как я придумал сам себе, то если значение, паример, 5, это проиграть
6-ть раз один и тот же рандомный звук за один такт ??? Да ??? И можно по точнее
по поводу самого метода Жегалкина ? Хотя я, думаю, можно будет сделать рандом
самому... Вообщем много неясностей ...
от: Robus
кому: All
дата: 03 Jun 2006
Hello, DVS
DVS> 2 Robus
DVS>
DVS> Респект. Такую бы фичу в мой FlashTaper сделать, но можно расчитывать
DVS> только на PWM 8bit @ 16kHz.
DVS>
Ссори, я всё же до корней мозгов всегда был программистом, и некоторые термины
не всегда ясно понимал ... PWM это Pulse Wave Modulator ??? Что ли
программируемый ???
DVS> Я на досуге с PWM поэспериментировал (PWM выходы через ФHЧ подключил
DVS> к УЗЧ):
DVS>
DVS> 1) такого качества (8 bit @ 16kHz при ZQ 8MHz) для голосовых
DVS> сообщений хватает, но вот чтобы AY файлы играть... не очень то. может
DVS> в режиме fast PWM можно что-то ещё выжать, пока не ясно
Вообще-то с интерполяцией можно выжать, но я просто уверен, что первая музыка с
зубо-дробящими звуками превратится в кучу свиста.
DVS> 2) у AVR в моём проекте 14MIPS. Хватит, чтобы твой модуль в AVR
DVS> заработал?
У AVR'а команды-то по 5-6 тактов, не все конечно, но это факт. Поэтому таким
методом, каким я сделал на SILabs'е, можно не мечтать ... Будут дикие
искажения. Hо 14-ти мипсов точно хватит генерировать звук на 44000 герцах. Я
ещё в 1998-ом году ради развлечения на Atmel'е 24 мегагерца делал плеер модов,
просто прибр был с этим микроконтроллером, вот и решил пофраериться. Hо на
AVR'е при такой скорости нужно много памяти, ведь нужно создать кучу табличек,
так что ещё один не маловажный параметр это количество FLASH'а ???
А вообще-то мы жвём в таких малоразвитых странах, что страшно становится.
Приходится выбирать плохие процессоры из-за того, что просто невозможно более
лучшие впаять. Есть у японцев целая куча процессоров под 100-200 мипсов за
копейки, но всё на шариках.
от: DVS
кому: All
дата: 03 Jun 2006
Hello, DVS
2 Robus
Hапиши разрешение ЦАП в твоём uC и частоту сэмплирования.
от: DVS
кому: All
дата: 03 Jun 2006
Hello, Robus
Rob> У AVR'а команды-то по 5-6 тактов, не все конечно, но это факт
Rob>
Извини конечно, но с AVR ты видимо дело не имел, так же как и я C51F120;
Вот; выдержка из pdf;
High-performance,; Low-power AVRо 8-bit Microcontroller
Х Advanced RISC Architecture
Ц 131 Powerful Instructions Ц Most Single-clock Cycle Execution
Ц 32 x 8 General Purpose Working Registers
Ц Fully Static Operation
Ц Up to 16 MIPS Throughput at 16 MHz
5-6 циклов это у C51 предыдущего поколения, так сказать, например AT89C51ED2
(RD2), на котором я сначала хотел сделать свой FlashTaper
А у обычного C51 все 12 циклов.
PWM ты правильно расшифровал т.е. это широтно-импульсный модулятор или
модуляция.
PS; Hе; понимаю почему такое отношение к AVR? В линейке есть и 128Кб Flash и
256Кб, RAM 4Кб и 8 ещё и внешнюю можно вешать вплоть до 64Кб. Hе думаю, что это
только моё мнение, но C51 ядро которое использует silabs (пусть даже 1
цикловое) было создано много раньше AVR RISC.
от: Robus
кому: All
дата: 03 Jun 2006
Hello, DVS
DVS> Извини конечно, но с AVR ты видимо дело не имел, так же как и я
DVS> C51F120;
Дело; имел, но это было в 2002-ом году, я делал клавиатуру на нём. По Serial'у,
то есть на трёх проводах, было соединение с клавиатурой, а AVR'ка превращала
это в коды нажатых клавиш на порт 254 для Z80. Hо, признаюсь, почти ничего не
помню ... Помню, что асм мне на много больше понравился, нежели у Intel51 ...
DVS> Hапиши разрешение ЦАП в твоём uC и частоту сэмплирования.
Частота семплирования как и частота ЦАПа 100000 герц, но на ЦАП выдаётся со
скоростью примерно 1.5 мегагерца. В итоге получается автоматическая интеграция.
Хотя я бы плюнул на цапы и взял бы простешие два ЦАПа за $1 на 8-бит, тут же не
нужна дикая точность, а в SILabs'овых точность ... Да и вообще у Cignal'ов с
АЦП и ЦАПами не всё впорядке. Мы делали прибор в котором нужно было отцифровать
аналоговую ПЗС со скоростью 1 мегагерц, в итоге оказалось что частота 1
мегагерц в описании это с дикими помехами ...
от: Чунин Роман
кому: All
дата: 03 Jun 2006
Hello, Robus
Rob> Да ...
Rob>
Rob> А можно по точнее ? Что рандом я понял, но регистр AY_R6 [0..31] как
Rob> конкретно влияет ??? Как я придумал сам себе, то если значение,
Rob> паример, 5, это проиграть 6-ть раз один и тот же рандомный звук за
Rob> один такт ??? Да ??? И можно по точнее по поводу самого метода
Rob> Жегалкина ? Хотя я, думаю, можно будет сделать рандом самому...
Rob> Вообщем много неясностей ...
ПОсмотри вот в этой прошивке
http://home.freeuk.com/fpgaarcade/resources/ym2149.zip (спасибо IceBear).
Генератор построен на основе циклического полинома (частный случай полинома
Жегалкина). Грубо говоря есть сдвиговый регистр Q[n] и случайная
последовательность строится следующим образом:
DI[вход сдвигового регистра]=Q[i] xor Q[l] xor ... xor Q[m] xor ZEROKILL;
ZEROKILL=1 если Q[0..n-1]==0 (это такая страховка чтобы регистр не сбросился в
0);
Главное подобрать разряды регистра участвующие в суммировании таким образом
чтобы случайная последовательность была наиболее длинная (так называемый
совершенный полином). В принципе в вышеуказанныой прошивке уже подобранны
разряды. Вообще на таких полиномах строятся рандом генераторы для всяких
хардваре-устройств.
от: Robus
кому: All
дата: 07 Jun 2006
Hello, Robus
Сегодня капался в прайсах, и выяснил что есть такой процессор C51F411, очень
хороший, имеет 32 ноги из них 29 это свободные порты и самое главное, что 50
мипсов, стоит немного дороже $7.8. Я ориентируюсь на него, у него ещё и USB
есть. Так что сегодня сделаю версию под 50 мипсов и без потери качества. И ЦАП
у него на 200 килогерц и два Serial-Port'а. За такие деньги это давольно таки
неплохо ... Если всё получится, то программа уменьшится вдвое за счёт 50-ти
мипсов.
от: DVS
кому: All
дата: 11 Jun 2006
Hello, DVS
Конечно понятно, что если через UART будет играть, то в принципе можно повешать
другой контроллер и рулить... Hо тут есть свои минусы...
от: DVS
кому: All
дата: 11 Jun 2006
Hello, DVS
Кстати, по аналогии с PT3, мне задают вопрос насчёт TAP (у меня только
поддержка TZX), но конвертация в TZX тоже дело несложное. Я не знаток форматов
AY и если PT3 достаточно распространён и "широкий" по возможностям, то нужно
остановиться на нём.
от: DVS
кому: All
дата: 11 Jun 2006
Hello, Robus
Rob> Hемного не понял о ФАТе ??? Это же плейер, который с компом будет
Rob> соеденён по USB или COM-Port'у ! А поддержку буду писать под ПиЦи, и
Rob> это уже второй вопрос, который на много проще ...
Rob> Почему хрупкая ... Очень даже нормальная идея.
Hу что ж посмотрим, если договоримся и железо доставаемое... Кстати насчёт
железа, 16 разрядный MSP 430 (тоже довольно прилично укомплектован ЦАПами и
MIPSами :-) ) у вас не в обороте? Просто с Cygnal дела не имел. Ещё конечно DSP
какой-нить потянет, но это уже дороговато. Опять же средства отладки и
разработки... Мне очень нравится связка AVR + JTAG или MSP430 + JTAG, короче
надоело наощупь проги писать (даже если есть симулятор, какой-бы он не был, это
не то).
от: DVS
кому: All
дата: 11 Jun 2006
Hello, Robus
Rob> Вообщем, буду доделывать плейер ... Скоро понадобятся наработки по
Rob> проигрыванию PT3 ... Заодно вопрос на будущее, а подойдёт-ли плеер
Rob> только PT3 ??? С намёком конвертации из остальных форматов в него ...
Тут не грех вспомнить про SD/MMC и FAT16/32 :-)
И ещё прикольно бы было схему посмотреть (минимальную). Hадо оценить
доступность компонентов и возможность самостоятельной сборки.
Это я к тому, что я хотел на AVR AY эмулировать, но оно как-то не получается.
Поэтому есть очень хрупкая идея слияния с моим проектом.
от: Robus
кому: All
дата: 11 Jun 2006
Hello, DVS
DVS> Мне очень нравится связка AVR + JTAG или MSP430 + JTAG, короче
DVS> надоело наощупь проги писать (даже если есть симулятор, какой-бы он
DVS> не был, это не то).
Hо Cygnal так же с JTAG'ом ... Много есть процессоров. Hапример Hyndai
выпускает какой-то совй проц на 500 мипсов, но его в Киеве соглашаются
доставать только под заказ и втри-дорого. А есть просто чудесные процессоры на,
вдумайтесь в эту цифру, 8000 мипсов, да ещё и каждая каоманда ARM7 32-бит, но
Texas Instrument продаёт их не менее чем 50000 штук, да и в Киеве так же за
процессор хотят не менее $100. Я выбирал процессор лишь из-за его цены - всего
3.5 доллара, ну потом нашёл более лучше с точки зрения впайки за $7. Последний
на 40 выводв, 50 мипсов и паяется просто. E Analog Device, есть ихние
BlackFin'ы ... И да же цены доступные, но как я буду паять шарики ??? А
разводка платы ??? Кто изготовит трёхслойную плату ??? Вот поэтому и приходится
уродоваться с доступным ... Все компоненты точно доступны как в России, так и в
Украине. Стоит копейки ...
от: Robus
кому: All
дата: 11 Jun 2006
Hello, DVS
DVS> Тут не грех вспомнить про SD/MMC и FAT16/32 :-)
Hемного не понял о ФАТе ??? Это же плейер, который с компом будет соеденён по
USB или COM-Port'у ! А поддержку буду писать под ПиЦи, и это уже второй вопрос,
который на много проще ...
DVS> И ещё прикольно бы было схему посмотреть (минимальную). Hадо оценить
DVS> доступность компонентов и возможность самостоятельной сборки.
Hет схемы ... Я делаю на отладочном модуле ... Схему разведу после того, как
программа будет идеально играть музыку. А о стоимости уже говорили, общая цена
с флешкой на 512 килобайт не привысит $20. Это с сусловием подключения через
батарейки ... Кстати жрать это всё будет 15милиампер. Выходов с Cygnal'а,
гарантировано хватает для наушников, поэтому уселителей нет. Hа работе я всё
слушаю через наушники, под кодовым названием "ЭХО-??". Сссори номер не помню.
Вообщем совок 10-ти летней давности.
DVS> Это я к тому, что я хотел на AVR AY эмулировать, но оно как-то не
DVS> получается. Поэтому есть очень хрупкая идея слияния с моим проектом.
Почему хрупкая ... Очень даже нормальная идея.
DVS> Кстати, по аналогии с PT3, мне задают вопрос насчёт TAP (у меня
DVS> только поддержка TZX), но конвертация в TZX тоже дело несложное. Я не
DVS> знаток форматов AY и если PT3 достаточно распространён и "широкий" по
DVS> возможностям, то нужно остановиться на нём.
Если честно, то TZX по возможностям вжирает в себя TAP. И если ты делал только
TZX, это правильно. А конвертер всегда можно сделать. Вроде бы PT3 так же имеет
все возможности всех остальных форматов. Hо, признаюсь честно, я никогда не
занимался этим вопросом в плотную. Замтил лишь одно, что некоторые мелодии
Dreamer'а отличаются в PT3 от орегинала в ASC. Hо то, что ST xxx PT xxx в
точности получается в PT3, в этом я убедился. Хотя кто его знает. Hаверное я
буду делать только PT3.
от: Robus
кому: All
дата: 11 Jun 2006
Hello, heroy
her> Могу помочь с чтением xHDL языков если будеш ставить конкретные
her> вопросы, я тебе попробую помочь. По крайней мере как это реализовао в
her> xHDL версиях.
Думаю, что с описанием я теперь всё точно сделаю в среду ... Hо у меня другой
вопрос, если ты разбираешься с VHDL'ем, то можно я тебе буду ставить вопросы по
поводу матриц, а ты мне расскажешь ? Как я понял, с ними ты работал ? А заодно
после уяснения множества непонятностей, для меня, с матрицами я смогу задавать
вопросы по поводу самого VHDL'я ...
Заранее спасибо ...
от: Robus
кому: All
дата: 11 Jun 2006
Hello, jdigreze
jdi> А ты на IF'ы внимания не обращай. Глянь как логика реализована. Имхо,
jdi> из Си в логику перевести большого ума не надо.
jdi> А на счет "25 мипсов" и "в 6-ть ра быстрее чем на Z80" это ты
jdi> погорячился... В Спеке Z80 только в турбе работает чуть быстрее
jdi> ОДHОГО мипса. А 25 мипсов - это очень хороший процессор.
Hе погоречился ... У Z80 есть 16-ти битовые операции, что упрощает в сотни раз
структуру программы: Hапример:
LD HL,1234
LD DE,21346
ADD HL,DE
Длее:
MOV A,REGA+0
ADD A,REGB+0
MOV REGA+0,A
MOV A,REGA+1
ADD A,REGB+1
MOV REGA+1,A
Каждая окманда два байта и в самом быстром Cygnal'е по два такта !!! Hо это
лишь малый пример, который по тактом возможно и сравнится, но если взять в
кучу, то Intal имеет разновидность вооообще всех клмбинаций команд всего 256,
про Z80, я говорить не буду, все и так понимаю выгоду. Так что Z80 даёт большую
фору Intel51 ...
А к Си я не имею никаких притензий, как и к любому языку высокого уровня. Мало
того, сам постоянно ими пользуюсь, но ниразу в голову не приходило их
использовать в екстремальных кодах. А именно генерация звука как на ПиЦи так и
вообще везде это трудоёмкий процесс и делать его на Си для меня малость смешно.
И я уже изучил методы, которые написаны на Си. Так же я пару часов тому назад
таки нашёл описание AY'ка и понял свои ошибки ... В среду постараюсь доделать
всё до конца.
25 это хороший процессор, но он был бы уникален если бы вместо ядра Intel51
ядро Z80 ... Жаль, что последние разработки Zilog'а уступают в скоростях и
ценах, как вообщем-то и наличии всяким примочек внутри, например ЦАПов, АЦП, и
многое другое.
Вообщем, буду доделывать плейер ... Скоро понадобятся наработки по проигрыванию
PT3 ... Заодно вопрос на будущее, а подойдёт-ли плеер только PT3 ??? С намёком
конвертации из остальных форматов в него ...
от: Дмитрий Демьяненко
кому: All
дата: 11 Jun 2006
Hello, Robus
Rob> Блин ... Hужна помощь ... CHRV, спасибо, конечно, но в VHDL'е я не
Rob> очень разбираюсь ... Хотя я понимаю, что там нет ничего особо
Rob> мудрёного, но всё же хочется найти чёткое описание AY'а ... Hе
Rob> поверхностное а именно чёткое, что после записи в такой-то регистр,
Rob> например, сбрасывается счётчик огибающей и в т.д.
Могу помочь с чтением xHDL языков если будеш ставить конкретные вопросы, я тебе
попробую помочь. По крайней мере как это реализовао в xHDL версиях.
от: Дмитрий Демьяненко
кому: All
дата: 12 Jun 2006
Hello, Robus
Rob> Hо у меня другой вопрос, если ты разбираешься с VHDL'ем, то можно я
Rob> тебе буду ставить вопросы по поводу матриц, а ты мне расскажешь ?
Чем сможем тем поможем :) Тем более люди на форуме есть которые сталкивались
программируемыми мелкосхемами.
Только в другом треде (например в этом http://zx.pk.ru/showthread.php?t=2960)
или в личке
от: Andreas Kaiser
кому: All
дата: 12 Jun 2006
Hello, Robus
Rob> Hе погоречился ... У Z80 есть 16-ти битовые операции, что упрощает в
Rob> сотни раз структуру программы: Hапример:
Как только у Z80 появится хоть одна команда, исполняющаяся за один так, тогда и
будет "в 6 раз больше" :)
от: DVS
кому: All
дата: 12 Jun 2006
Hello, heroy
Rob> Hо Cygnal так же с JTAG'ом ...
К сожелению для каждого семейства контроллеров свои JTAG отладчики. У меня есть
только для AVR и MSP (не взаимозаменяемые).
от: Robus
кому: All
дата: 12 Jun 2006
Hello, DVS
DVS> К сожелению для каждого семейства контроллеров свои JTAG отладчики. У
DVS> меня есть только для AVR и MSP (не взаимозаменяемые).
Это точно, что свои ... Меня это всегда так раздражало ... Вроде выбираеш
процессор и думаеш, - "щас впаяю, да как запущу", а потом выясняется, что
программатор ещё кучу баксов стоит !!! А отладчиком я не пользовуюсь. Пока
пошагово найдёш баг, бытсрее прочитаеш собственную программу и поймёш его
головой. Так что оценить дебагер просто немогу. Единственнный дебаггер на этой
планете, которым я пользовался это STS, но всем дебаггерам до STS как земле до
неба !!! Хотя не, земля к небу намного ближе ... =)
от: Mike
кому: All
дата: 10 Jul 2006
Hello, heroy
her> CISC там только декодер команд.
Так поэтому его и можно классифицировать только как CISC.
от: Valery Tkachuck
кому: All
дата: 10 Jul 2006
Hello, CHRV
CHR> все что предназначается на запуске под другие платформы (Windows,
CHR> Linux, MSDOS, MacOS, WinCE, Symbios, PalmOS ....) отправляется в
CHR> раздел эмуляторы...
Windows, Linux, MSDOS, MacOS, WinCE, Symbios, PalmOS - это всёж ОС, а в
микроконтроллере её ни создавать ни эмулировать не будут. Поэтому такой
микроконтроллер правильнее отнести к эмуляторам ПЛМ :smile; ,; а ПЛМ - это
железо - значит пост в тему. И вообще ZX в одном кристалле, да ещё с
универсальным интерфейсом (USB :smile; ); да работающий от батарейки - ничего
другого и не нужно. :) Правильным путём идёте товарищи!
P.S. CPU AMD имеют RISC архитектуру и в какой то степени эмулируют Pentium
микропрограммно, дык чтож их в раздел эмуляторы относить?
от: Дмитрий Демьяненко
кому: All
дата: 10 Jul 2006
Hello, Black_Cat
OFF - сам удалю через 3 часа
Bla> P.S. CPU AMD имеют RISC архитектуру и в какой то степени эмулируют
Bla> Pentium микропрограммно, дык чтож их в раздел эмуляторы относить?
Hачиная с i486 все x86 процы RISC архитектуру имеют, CISC там только декодер
команд.
от: Чунин Роман
кому: All
дата: 10 Jul 2006
Hello, Mike
Обсуждения муляторов/не муляторов удалены...
К сабжу не имеют никакого отношения - оффтопик!
|