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

Обсуждения муляторов/не муляторов удалены...
К сабжу не имеют никакого отношения - оффтопик!




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Железо - Запись-воспроизведение цифрового звука - цифро-аналоговый преобразователь (Covox). 2 классических схемы ковокса.
Наши новости - С днем рождения DYKSOFT & PARACELS.
Застрял ? - Новелла-проходилка "Приключения Винни Пуха" часть 3.
Прогрммирование - ZX-СТАНДАРТ НА АВТОЗАПУСКАЕМЫЕ CD v1.0
Очепятки - Всякие там очепятки.

В этот день...   26 апреля