AY chips

ZXNet echo conference «hardware.zx»

From Rustam Timerbaev To All 22 May 2006

Hello Savage but here [http://irls.narod.ru/sncl/ay001.htm] something quite interesting... Please look, is this the same diagram?

From Rustam Timerbaev To All 22 May 2006

Hello icebear here [http://shop.elcomp.com.ru/customer/product.php?productid=42911] they offer to buy this microcircuit... I don’t have that much money

From Chunin Roman To All 22 May 2006

Hello Savage Sav> I looked here: there is a shortage of such microcircuits almost everywhere. But really Sav> are there any microcircuits that completely replace them? Sav> And one more thing: do you think it is possible to find a circuit diagram of this microcircuit? Sav> Well, there are all sorts of descriptions of resistors, transistors, tracks, etc. But here it doesn’t occur to anyone to look ;): http://www.nedopc.com/catalog.php

From Andreas Kaiser To All 22 May 2006

Hello Savage Sav> I looked here: there is a shortage of such microcircuits almost everywhere. But really Sav> are there any microcircuits that completely replace them? Sav> And one more thing: do you think it is possible to find a circuit diagram of this microcircuit? Sav> Well, there are all sorts of descriptions of resistors, transistors, tracks, etc. Search the forum for "AY and VHDL".

From Rustam Timerbaev To All 23 May 2006

Hello, CHRV I'll figure out the prices now :) Listen, you don’t have an infinite number of microcircuits... Where do you get them from? It seems like no one produces them now. Or am I deeply mistaken?

From Chunin Roman To All 23 May 2006

Hello Savage Sav> I’ll estimate the prices now :) Sav> Listen, you don’t have an infinite number of microcircuits... A Sav> where do you get it from? It seems like no one produces them now. Or I Sav> am I deeply mistaken? I take them from the warehouses of Chinese friends.

From Orionsoft To All 23 May 2006

Hello Savage KETAI rules!

From Alexander Filippov To All 23 May 2006

Hello Orionsoft And they invested in precious metals, indiscriminately.

From Rustam Timerbaev To All 23 May 2006

Hello, CHRV Damn, they even started buying microcircuits from the Chinese...

From Alexandr Tsidaev To All 24 May 2006

Hello Savage Sav> Do you think you can make a player using these chips Sav> reproducing music in .PT3 .VTX and other formats with them? These files Sav> will be pre-recorded on flash drives Yes, theoretically, at least that’s possible :) and practically no one has done it yet in principle, you need to fix the spec without a video controller with an ayuk in the PLM, yes attach MMC reading or maybe not even in PLM, but just loosely, although the player will turn out to be the size of CD-walkman :)

From Rustam Timerbaev To All 24 May 2006

Hello Trantor Do you think that using these chips you can make a player that plays music in .PT3 .VTX and other formats with them? These files will first be recorded on flash drives

From Andrey Alexandrovich Titov To All 24 May 2006

Hello, CHRV CHR> A common misconception. Alas, microcontrollers for 3 bucks for CHR> emulation is not enough, those who want to prove it - go ahead :). Do you think 25MIPS will not be enough to emulate AY??? :v2_biggr:

From Chunin Roman To All 24 May 2006

Hello Robus Rob> By the way, in 2004 I was at SpeXtream, and Looker was shown Rob> an ordinary telephone with caller ID, but instead of calls it played Rob> Spekov music. Made on a Venus5 microcontroller with AU on board.

From Chunin Roman To All 24 May 2006

Hello Robus Rob> But you can take a modern microcontroller for $3-4 and do emulation Rob> AY'ka on it. Moreover, many microcontrollers have in the middle Rob> DACs, that is, essentially you just need one microcontroller, and one from Rob> batteries will work. For example, you can select a microcontroller Rob> Silicon Laboratories F02x, which is 25 megahertz and has 16 Rob> pins. You can choose something from the F12x series, it has 128k Rob> flash drives for 100,000 rewrites of one block of 1024 bytes plus 8192 bytes Rob> statics. Packed melody in a flash drive, unpack it into RAM and Rob> let's play. True, F12x is more expensive, about $10, but with a flash drive. A Rob> can be connected to a computer via Com-Port. A common misconception. Alas, there are no microcontrollers for 3 bucks for emulation That's enough, those who want to prove it - go ahead :).

From Dmitry Demyanenko To All 24 May 2006

Hello Robus Rob> Moreover, many microcontrollers have DACs in the middle, Unfortunately, on the contrary, many microcontrollers contain an ADC and very little mostly "expensive" DACs (DAC), but what many really have is PWM which can be used as a DAC (DAC), although the setting is necessary for accuracy

From Andrey Alexandrovich Titov To All 24 May 2006

Hello icebear ice> Does he give these 25 mips? I also used to think that PIC was white and ice> fluffy :) As far as I remember, silabs have 1 command 8051 per clock cycle. Here you are 25 mips at 25 MHz. Although I don’t really like them (Silabs controllers). Dear and impractical.

From Robus To All 24 May 2006

Hello Savage Sav> Do you think you can make a player using these chips Sav> reproducing music in .PT3 .VTX and other formats with them? These files Sav> will be pre-recorded on flash drives But you can take a modern microcontroller for $3-4 and emulate AY on him. Moreover, many microcontrollers have DACs in the middle, that is, essentially You just need one microcontroller, and it will also work from a battery. For example, you can choose the Silicon Laboratories F02x microcontroller, which has 25 megahertz and has 16 pins. You can choose something from the F12x series from him there are 128k flash drives for 100,000 rewrites of one block of 1024 bytes plus 8192 bytes statics. Pack the melody into a flash drive, unpack it into RAM and play. True F12x is more expensive, about $10 but with a flash drive. And you can connect it to a computer via Com-Port.

From Robus To All 24 May 2006

Hello Robus By the way, in 2004 I was at SpeXtream, and Looker showed an ordinary a telephone set with caller ID, but instead of calls, Speck music was playing.

From DVS To All 24 May 2006

Hello Eltaron The circuit diagram for such a device has already leaked somewhere (PIC + ROM). I was already thinking about doing it with MMC/SD, but then I pushed this idea, I didn’t want to to use a trivial approach, I would like to emulate the work of AY. In my opinion Conan or Spensor calculated this possibility on Atmel Tiny with fast PWM, but it didn't move any further.

From Andreas Kaiser To All 24 May 2006

Hello Titus Tit> Do you think 25MIPS will not be enough to emulate AY??? :v2_biggr; A; does it give these 25 mips? I also used to think that PICs were white and fluffy :)

From Andrey Alexandrovich Titov To All 24 May 2006

Hello, CHRV CHR> Well, do it, we'll see :). CHR> It's not about mips, but about the ability to apply them ;) I don’t really need to emulate AY :v2_tong; p.s.:; Although I’m a Spectrum fan, I’m not a maniac fan: v2_wink2:

From Rustam Timerbaev To All 24 May 2006

Hello Robus Rob> By the way, in 2004 I was at SpeXtream, and Looker was shown Rob> an ordinary telephone with caller ID, but instead of calls it played Rob> Spekov music. Well, this can be programmed... oh, wait a minute, you say that there is a microcircuit there AY stood? CHR> Made on a Venus5 microcontroller with AU on board. Oh, I found it! Can you get the diagram? Tit> I don't need to emulate AY :v2_tong; Tit>; Tit> p.s.: Although I’m a Spectrum fan, I’m not a maniac fan :v2_wink2; This is; Well, do you think I'm a maniac fan? I'll turn on a chainsaw now

From Chunin Roman To All 24 May 2006

Hello Titus Tit> Do you think 25MIPS will not be enough to emulate AY??? :v2_biggr; Well; do it, we'll see :). It's not a matter of mips, but the ability to apply them ;)

From Rustam Timerbaev To All 27 May 2006

Hello, CHRV Wow! Thanks a lot

From Robus To All 2 June 2006

Hello, CHRV Well, it’s happened... Heh... I read this: CHR> A common misconception. Alas, microcontrollers for 3 bucks for CHR> emulation is not enough, those who want to prove it - go ahead and also this: CHR> Well, do it, we'll see. CHR> It's not a matter of mips, but the ability to apply them It’s strange, what is there that can’t be done? If, of course, you write in C, then It’s really impossible, but it couldn’t be easier on ASMA. So, I came to work yesterday, took the price lists and found the C51F330 manufactured by SILabs (Cygnal), which has 32 legs, in short, at work we solder this with simple soldering irons. Microcontroller for 25 mips, costs 16 hryvnia, or according to the general that's $3.1. I found a flash drive with sequential access for 512k for 9 hryvnia. to everyone it's $1.7. In short, with buffers for RS232, all this will cost the maximum 10-20 dollars. Then I took the debugging module, which is lying in my desk where the C51F120 is located he is 100 mips, and wrote the program in about 6-7 hours, taking into account the fact that I constantly launched the emulator to check how the AYT registers worked. Of course the microcontroller is configured at 25 megahertz using a PLL. Of course, in such a short time I could not write an ideal emulator and I never I added the hisses, so they are blocked in the program. But basically everythingrepeated. I personally checked it on 20-30 demos and games, everything sounds as it should. The only thing is the envelope, in which I either made a mistake somewhere or something wrong I launch it, but this glitch was noticeable only on one single demo - Mental Masturbation. However, everything works, the player is written perfectly. How will it be free time, I’ll sit down and do it, at the same time I’ll figure out the circuit, solder to your heart’s content whatever. Instructions for use: Below will be attached an archive in which you need to do: 1. Run . The following program will be compiled in my assembler in file 2. As a result, you will get two files and , any of them can be flash directly into C51F120. Sorry, I forgot the firmware program work, but if necessary I’ll bring it. 3. Then we connect the DAC0 and DAC1 pins to the amplifier inputs. At my work it's done directly into the computer. 4. Connect RXD and TXD of the microcontroller via 12-volt buffers to ComTu number 2!!! Sorry, he was the one who was free. 5. Launch my emulator Wild Speccy file name - . And he's on speed 115200 sends 14*3 bytes of AYTka status, each frame of the monitor, which, of course, is 50 hertz, and this is the only way it should be on ALL EMULATORS. 6. Listen to music. I never understood why electronics engineers constantly consider programmers to be fools? No, why sit and create together?File: Ay.zip http://zx.pk.ru/attachment.php?attachmentid=3275

From Robus To All 2 June 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=2 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 PHONE V RABBOTE .PnDec , p 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 , p 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 ORAL 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+1ADDC 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 , , , y 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 EQ 4 T0REL EQ 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 ───

From Robus To All 2 June 2006

Hello, CHRV Price range of snowmobiles C51F120; Если; что, он лежит в архве ┌─- CODE ─── MOV DPTR,#NoiTab PnDec Ch_NC,R_AY0 SWAP A MOV B,A ANL B,#00001111B MOV DPTR,#EnvTab INC. DPH MOV A,R_AY1 SWAP A ANL A,#11110000B ADD A,DPL MOV DPL,A CLR A ADDC A,DPH MOV DPH,A PzDec Ch_EC,R_AY1 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 ───

From Robus To All 2 June 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

From DVS To All 2 June 2006

Hello hero 2 Robus Respect. I would like to make such a feature in my FlashTaper, but you can only rely on PWM 8bit @ 16kHz. I experimented with PWM in my spare time (I connected the PWM outputs via a low-pass filter to an ultrasonic frequency filter): 1) this quality (8 bit @ 16kHz at ZQ 8MHz) is enough for voice messages, but to play AY files... not so much. maybe in fast PWM mode it is possible something else to squeeze out, it’s not clear yet 2) AVR in my project has 14MIPS. Is it enough to get your AVR module working?

From Chunin Roman To All 2 June 2006

Hello Robus Rob> This is a continuation of the program text for the C51F120; Rob>; Rob> Use it. I’ll write the player later, I’ll have to work hard here!!! Well, at least one smart person was found, otherwise it’s crazy... everyone is so good, but how to move bags so no one :) Of course, there will probably be difficulties with envelopes and most importantly with noise (noise is generated based on the Zhegalkin polynomial, i.e. generating a random sequence - can be viewed in one of the versions of the code for FPGA). I'm glad that it served as motivation, for me there is a thread on tap when meeting :v2_cheer; .; :v2_clapp:

From Dmitry Demyanenko To All 2 June 2006

Hello Robus Gee. funny. Definitely cool.

From Robus To All 3 June 2006

Hello, CHRV CHR> Well, at least one smart person was found, otherwise it’s fucked up.. it’s all like that CHR> are a lot, but no one can move bags like that To be honest, I also like to talk, but it depends on what I want to do In general, everything is going to be ruined, but there is absolutely no time. If only they could come up with some kind of device, to press the button and get some sleep =) But in general, I would be happy to “move sacks”, if only I had the freedom and microcontroller, or processor, which in today’s modern age is almost same thing... CHR> Of course, there will probably be difficulties with envelopes and most importantly with noise (noise CHR> is generated based on the Zhegalkin polynomial, i.e. generating random CHR> sequence - you can see it in one of the code versions for CHR> FPGA). The envelopes still need to be adjusted a lot... I don’t understand what’s wrong at all. I have in peak (volume 15) and minimum (volume 0) is repeated twice, maybe in this crap??? Yes, and I can’t find a description at what point writing to commands occurs envelope reset? And I can’t understand whether the envelope should coincide with the saw on the tone of each channel? By the way, what is the sampling frequency on AY? Otherwise I selected by ear... I mean if the tone value on the first channel, for example, 3, then at what frequency should the timer decrement occur?In general, almost everything that was written was done only by trying the stick and comparisons by ear with the emulator. CHR> I'm glad it served as motivation, I'm supposed to have a draft thread CHR> upon meeting It’s better let’s look at the circuit for the player, it’s still a good idea. I'm into electronics far from a monster. And I hope we’ll definitely drink beer...

From Robus To All 3 June 2006

Hello, CHRV Yes... CHR> noise is generated based on the Zhegalkin polynomial, i.e. generating random CHR> sequence Can you be more precise? I understood that it was random, but register AY_R6 [0..31] how exactly influences??? As I came up with for myself, if the value, parimer, is 5, it means lose The same random sound 6 times in one beat??? Yes??? And can you be more precise? about the Zhegalkin method itself? Although I think it will be possible to do it randomly myself... In general, there are a lot of ambiguities...

From Robus To All 3 June 2006

Hello, DVS DVS> 2 Robus DVS> DVS> Respect. I would like to make such a feature in my FlashTaper, but you can calculate DVS> only on PWM 8bit @ 16kHz. DVS> Sorry, I've always been a programmer to the core, and some terms I didn’t always understand clearly... PWM is a Pulse Wave Modulator??? Or what? programmable??? DVS> I experimented with PWM in my spare time (I connected PWM outputs via a low-pass filter DVS> to ultrasonic sounder): DVS> DVS> 1) of this quality (8 bit @ 16kHz at ZQ 8MHz) for voice DVS> there are enough messages, but playing AY files... not so much. maybe DVS> in fast PWM mode you can squeeze out something else, it’s not clear yet Actually, you can squeeze out interpolation, but I’m just sure that the first music with with teeth-crushing sounds it will turn into a bunch of whistling. DVS> 2) the AVR in my project has 14MIPS. Enough for your module in AVR DVS> working? AVR commands have 5-6 clock cycles, not all of them, of course, but this is a fact. Therefore, so using the method I did at SILabs, you can’t even dream... There will be wild ones distortions. But 14 mips is definitely enough to generate sound at 44,000 hertz. Iback in 1998, for fun, a mod player was made on Atmel at 24 megahertz, I was just tidying up with this microcontroller, so I decided to give it a try. But on At this speed, AVR needs a lot of memory, because you need to create a bunch of signs, so another important parameter is the amount of FLASH??? But in general, we live in such underdeveloped countries that it becomes scary. We have to choose bad processors due to the fact that it is simply impossible to more the best to solder. The Japanese have a whole bunch of processors for 100-200 mips per pennies, but everything is on balls.

From DVS To All 3 June 2006

Hello, DVS 2 Robus Write down the resolution of the DAC in your uC and the sampling frequency.

From DVS To All 3 June 2006

Hello Robus Rob> AVR commands have 5-6 clock cycles, not all of them, of course, but this is a fact Rob> Sorry, of course, but apparently you had nothing to do with AVR, just like me C51F120; Here; pdf excerpt; High-performance; Low-power AVRO 8-bit Microcontroller X Advanced RISC Architecture Ts 131 Powerful Instructions Ts Most Single-clock Cycle Execution C 32 x 8 General Purpose Working Registers Fully Static Operation Up to 16 MIPS Throughput at 16 MHz 5-6 cycles is for the previous generation C51, so to speak, for example AT89C51ED2 (RD2), on which I first wanted to make my FlashTaper And the regular C51 has all 12 cycles. You deciphered PWM correctly i.e. is it a pulse width modulator or modulation PS; Not; I understand why there is such an attitude towards AVR? The line includes both 128Kb Flash and 256Kb, RAM 4Kb and 8 and you can also hang an external one up to 64Kb. I don't think it's just my opinion, but the C51 core that uses silabs (even 1 cyclic) was created much earlier than AVR RISC.

From Robus To All 3 June 2006

Hello, DVS DVS> Sorry, of course, but apparently you had nothing to do with AVR, just like me DVS> C51F120; Case; I had it, but it was in 2002, I made a keyboard on it. According to Serial, that is, on three wires, there was a connection to the keyboard, and the AVR turned This is in the codes of the keys pressed on port 254 for the Z80. But, I admit, almost nothing I remember... I remember that I liked ASM much more than Intel51... DVS> Write the resolution of the DAC in your uC and the sampling frequency. The sampling frequency is the same as the DAC frequency of 100,000 hertz, but the DAC is output from speed of approximately 1.5 megahertz. The result is automatic integration. Although I would spit on DACs and take two simple DACs for $1 for 8-bit, it’s not right there you need wild precision, but in SILabs' precision... And in general, Cignal's with ADCs and DACs are not all right. We made a device in which it was necessary to digitize analog CCD with a speed of 1 megahertz, in the end it turned out that the frequency was 1 megahertz in the description is with wild interference...

From Chunin Roman To All 3 June 2006

Hello Robus Rob> Yes... Rob> Rob> Can you be more precise? I understood that it was random, but the register AY_R6 [0..31] is like Rob> specifically affects ??? As I came up with for myself, then if the value, Rob> parimer, 5, is to play the same random sound 6 times for Rob> one bar ??? Yes??? And can you be more precise about the method itself Rob> Zhegalkina ? Although I think it will be possible to make a random one yourself... Rob> In general, there are a lot of ambiguities... Look in this firmware http://home.freeuk.com/fpgaarcade/resources/ym2149.zip (thanks IceBear). The generator is built on the basis of a cyclic polynomial (a special case of the polynomial Zhegalkin). Roughly speaking, there is a shift register Q[n] and a random the sequence is constructed as follows: DI[shift register input]=Q[i] xor Q[l] xor ... xor Q[m] xor ZEROKILL; ZEROKILL=1 if Q[0..n-1]==0 (this is such an insurance so that the register is not reset to 0); The main thing is to select the register bits involved in the summation in this way so that the random sequence is the longest (the so-called perfect polynomial). In principle, in the above firmware the ranks. In general, random generators for all sorts of things are built on such polynomials. hardware devices.

From Robus To All 7 June 2006

Hello Robus Today I was digging through price lists and found out that there is such a processor C51F411, very good, has 32 legs, 29 of them are free ports and most importantly, 50 mips, costs a little more than $7.8. I'm focusing on it, it also has USB yes. So today I’ll make a version for 50 mips and without loss of quality. And DAC it has 200 kilohertz and two Serial-Ports. For that kind of money it's quite a lot not bad... If everything works out, the program will be halved due to 50 mips.

From Robus To All 11 June 2006

Hello, DVS DVS> I really like the combination of AVR + JTAG or MSP430 + JTAG, in short DVS> I'm tired of writing programs by touch (even if there is a simulator, whatever it is DVS> wasn’t, that’s not it). But Cygnal also has JTAG... There are many processors. For example Hyndai releases some of its own percent for 500 mips, but in Kyiv they agree Get it only on order and it’s triple the price. And there are simply wonderful processors, think about this figure, 8000 mips, and even each ARM7 command is 32-bit, but Texas Instrument sells at least 50,000 of them, and in Kyiv also for they want a processor for at least $100. I chose the processor only because of its price - just 3.5 dollars, well then I found a better one in terms of soldering for $7. Last for 40 pins, 50 mips and soldering is easy. E Analog Device, there are theirs BlackFins... And yes, the prices are affordable, but how will I solder the balls??? A board layout??? Who will make a three-layer board??? That's why it has to spoil with the available... All components are definitely available both in Russia and in Ukraine. Worth a penny...

From Dmitry Demyanenko To All 11 June 2006

Hello Robus Rob> Damn... Need help... CHRV, thanks, of course, but I'm not good at VHDL Rob> I understand very much... Although I understand that there is nothing special there Rob> is tricky, but I still want to find a clear description of AY... Not Rob> superficial, namely clear, that after writing to such and such a register, Rob> for example, the envelope counter is reset, etc. I can help you with reading xHDL languages, if you have specific questions, I’ll help you I'll try to help. At least how it is implemented in xHDL versions.

From Robus To All 11 June 2006

Hello jdigreze jdi> Don't pay attention to IFs. Look how the logic is implemented. IMHO, jdi> It doesn't take much intelligence to convert from C to logic. jdi> And about “25 mips” and “6 times faster than the Z80” it’s you jdi> got excited... In the Spec Z80 only the turbo runs a little faster jdi> ONE mips. And 25 mips is a very good processor. No worries... The Z80 has 16-bit operations, which simplifies it hundreds of times program structure: For example: LD HL,1234 LD DE,21346 ADD HL,DE Next: MOV A,REGA+0 ADD A,REGB+0 MOV REGA+0,A MOV A,REGA+1 ADD A,REGB+1 MOV REGA+1,A Each command is two bytes and in the fastest Cygnal it is two clock cycles!!! But this just a small example, which can be compared in terms of tact, but if you take it into account bunch, then Intal has a variety of all combinations of commands in total 256, I won’t talk about the Z80, I already understand the benefits. So the Z80 gives more head start Intel51... And I have no complaints about C, as well as about any high-level language. Few Besides, I use them all the time, but it never occurred to me use in extreme codes. Namely, sound generation both on PiCi and In general, this is a time-consuming process everywhere, and doing it in C is a little funny for me.And I have already studied the methods that are written in C. Same thing I did a couple of hours ago I finally found AY's description and realized my mistakes... I'll try to finish it on Wednesday everything to the end. 25 is a good processor, but it would be unique if instead of the Intel51 core Z80 core... It's a pity that Zilog's latest developments are inferior in speed and prices, as well as the presence of all sorts of gadgets inside, for example DACs, ADCs, and much more. In general, I’ll be finishing the player... Soon I’ll need some work on playing it PT3 ... At the same time, a question for the future, is only PT3 a player suitable??? With a hint converting from other formats to it...

From Robus To All 11 June 2006

Hello hero her> I can help with reading xHDL languages if you set specific ones her> questions, I'll try to help you. At least how it is implemented in her> xHDL versions. I think that with the description I will now definitely do everything on Wednesday... But I have a different one question, if you understand VHDL, then can I ask you questions about about matrices, can you tell me? As I understand it, you worked with them? And at the same time after clearing up a lot of incomprehensibility, for me, with matrices I will be able to ask questions about VHDL itself... Thanks in advance...

From Robus To All 11 June 2006

Hello, DVS DVS> It’s not a sin to remember SD/MMC and FAT16/32 :-) I don’t understand a little about FATA??? This is a player that will be connected to the computer via USB or COM-Port! And I will write support under PiCi, and this is the second question, which is much simpler... DVS> And it would be cool to see the diagram (minimal). Need to evaluate DVS> availability of components and the possibility of self-assembly. There is no diagram... I'm doing it on the debugging module... I'll figure out the diagram after the program will play the music perfectly. And we already talked about the cost, the total price with a 512 kilobyte flash drive will not exceed $20. This is subject to connection via batteries... By the way, all this will consume 15 milliamps. Exits from Cygnal, guaranteed to be enough for headphones, so there are no amplifiers. I'm still at work I listen through headphones, code-named "ECHO-??". Sorry, I don’t remember the number. In general, the scoop is 10 years ago. DVS> What I mean is that I wanted to emulate AVR AY, but somehow it didn’t DVS> turns out. Therefore, there is a very fragile idea of merging with my project. Why is it fragile... A very normal idea. DVS> By the way, by analogy with PT3, they ask me a question about TAP (I haveDVS> only supports TZX), but converting to TZX is also not difficult. I don't DVS> expert in AY formats and if PT3 is quite common and “wide” DVS> capabilities, then you need to dwell on it. To be honest, TZX absorbs TAP as much as possible. And if you only did TZX, that's right. And you can always make a converter. It seems that PT3 also has all possibilities of all other formats. But, I admit honestly, I never dealt with this issue closely. The only thing I noticed was that some melodies Dreamer's are different in PT3 from the original in ASC. But what ST xxx PT xxx in accuracy is obtained in PT3, I was convinced of this. But who knows. I guess I I will only do PT3.

From DVS To All 11 June 2006

Hello Robus Rob> In general, I will finish the player... Soon I will need some developments Rob> playing PT3... At the same time, a question for the future, is the player suitable Rob> PT3 only ??? With a hint of conversion from other formats to it... It’s not a sin to remember SD/MMC and FAT16/32 :-) And it would also be cool to see the (minimal) diagram. Need to evaluate availability of components and the possibility of self-assembly. What I mean is that I wanted to emulate it on AVR AY, but somehow it doesn’t work. Therefore, there is a very fragile idea of ​​merging with my project.

From DVS To All 11 June 2006

Hello Robus Rob> I didn’t understand a little about FAT??? This is a player that will go with your computer Rob> connected via USB or COM-Port! And I will write support under PiCi, and Rob> this is the second question, which is much simpler... Rob> Why is it fragile... A very normal idea. Well, let's see if we come to an agreement and get the iron... By the way, about hardware, 16-bit MSP 430 (also quite decently equipped with DACs and MIPSami :-) ) is not in circulation? I just didn’t have anything to do with Cygnal. Also of course DSP some thread will pull, but it’s already a little expensive. Again, debugging tools and development... I really like the AVR + JTAG or MSP430 + JTAG combination, in short I'm tired of writing programs by touch (even if there is a simulator, no matter what it is, this not that).

From DVS To All 11 June 2006

Hello, DVS By the way, similar to PT3, they ask me a question about TAP (I only have TZX support), but converting to TZX is also not difficult. I'm not a format expert AY and if PT3 is quite common and “wide” in capabilities, then you need stop there.

From DVS To All 11 June 2006

Hello, DVS Of course, it’s clear that if it plays via UART, then in principle you can hang it up another controller and steer... But this has its drawbacks...

From Dmitry Demyanenko To All 12 June 2006

Hello Robus Rob> But I have another question, if you understand VHDL, then I can Rob> I will ask you questions about matrices, and you will tell me? We will help you in any way we can :) Moreover, there are people on the forum who have encountered programmable small circuits. Only in another thread (for example in this http://zx.pk.ru/showthread.php?t=2960) or in PM

From Andreas Kaiser To All 12 June 2006

Hello Robus Rob> No worries... The Z80 has 16-bit operations, which makes it easier Rob> hundreds of times the program structure: For example: As soon as the Z80 has at least one command that can be executed in one step, then will be "6 times more" :)

From DVS To All 12 June 2006

Hello hero Rob> But Cygnal also has JTAG... Unfortunately, each family of controllers has its own JTAG debuggers. I have only for AVR and MSP (not interchangeable).

From Robus To All 12 June 2006

Hello, DVS DVS> Unfortunately, each family of controllers has its own JTAG debuggers. U DVS> I have only for AVR and MSP (not interchangeable). It’s definitely your own... It’s always irritated me so much... It’s like you’re choosing processor and you think, “I’ll solder it in right now, and then I’ll launch it,” and then it turns out that The programmer costs a lot of bucks!!! I don't use a debugger. Bye You will find the bug step by step, quickly read your own program and understand it head. So I simply cannot evaluate the debugger. The only debugger on this the planet I used is STS, but all debuggers before STS are like earth before sky!!! Although no, the earth is much closer to the sky... =)

From Mike To All 10 July 2006

Hello hero her> CISC there is only a command decoder. So that’s why it can only be classified as CISC.

From Valery Tkachuck To All 10 July 2006

Hello, CHRV CHR> everything that is intended to run on other platforms (Windows, CHR> Linux, MSDOS, MacOS, WinCE, Symbios, PalmOS ....) sent to CHR> emulators section... Windows, Linux, MSDOS, MacOS, WinCE, Symbios, PalmOS are all operating systems, and in they will neither create nor emulate it on a microcontroller. Therefore such The microcontroller is more correctly classified as a PLM emulator :smile; ,; and PLM is iron means post on topic. And in general, ZX in one crystal, and even with universal interface (USB :smile; ); yes battery operated - nothing there is no need for anything else. :) You are going the right way, comrades! P.S. AMD CPUs have a RISC architecture and to some extent emulate Pentium microprogrammed, so why include them in the emulators section?

From Dmitry Demyanenko To All 10 July 2006

Hello, Black_Cat OFF - I will delete it myself in 3 hours Bla> P.S. AMD CPUs have a RISC architecture and emulate to some extent Bla> Pentium firmware, so why include them in the emulators section? Starting with i486, all x86 processors have RISC architecture, CISC is only a decoder commands

From Chunin Roman To All 10 July 2006

Hello Mike Discussions about simulators/non-simulators have been deleted... They have nothing to do with the subject - offtopic!