Decryption AY\\YM

ZXNet echo conference «hardware.zx»

From Victor Ronin To All 18 July 2006

Hello new art new> YOU ARE GIVING THE PEOPLE A PORTABLE AY PLAYER!! new> Damn, iron workers, why are you all so stubborn and not good? will you help with programming? :) In general, I, on behalf of the people, thought that the MMC->AY/MP3 player was needed and not pure AY :)

From Orionsoft To All 18 July 2006

Hello, All I'm sorry, I'm overloaded (sharik over rolik). I understand correctly that the signal BDIR (high) is: (BFFD) 1011 1111 1111 1101 M1 (high) * /IORQ (low) * RD (high) * A14 (high) * A1 (high) and signal BC1 (high) (FFFD) 1111 1111 1111 1101 this is: M1 (high) * /IORQ (low) * A1 (high) * A14 (high) * A15 (high) Or am I thinking incorrectly... incorrectly (failure of the logic block)? Please correct me, otherwise I’ll go crazy with this palasm and win-purchase :v2_cry; :v2_cry:; :v2_scare; :v2_mad:; :v2_mad; :v2_mad:; :v2_down; :v2_blink:;

From Rustam Timerbaev To All 18 July 2006

Hello new art new> YOU ARE GIVING THE PEOPLE A PORTABLE AY PLAYER!! new> new> Damn, iron workers, why are you all so stubborn and not good? Actually, I assumed that Robus did almost everything, he said that he only PT3 remains to be integrated...

From Mark Antonov To All 18 July 2006

Hello skyther no, that's not correct. when accessing ports always: A15=1, A1=0, M1=1, /IORQ=0 write to #FFFD; BC1=1,; BDIR=1 A14=1, /RD=1 (/WR=0) reading #FFFD; BC1=1,; BDIR=0 A14=1, /RD=0 (/WR=1) entry to #BFFD; BC1=0,; BDIR=1 A14=0, /RD=1 (/WR=0)

From skyther To All 18 July 2006

Hello Ronin By the way, there is an almost ready-made device for this purpose - the seitech PR3010 player. Built on SND1C, but there are doubts: will the speed be enough for playing AY?

From Vyacheslav Kalinin To All 18 July 2006

Hello Orionsoft Ori> I'm sorry, I'm overloaded (sharik over rolik). Ori> Ori> please correct me, otherwise I'm crazy with this palasm and win-purchase Ori> I'll get off Ori> Ori> :v2_cry; :v2_cry:; :v2_scare; :v2_mad:; :v2_mad; :v2_mad:; Ori> :v2_down; :v2_blink:; GIVE THE PEOPLE A PORTABLE AY PLAYER!! Damn, iron workers, why are you all so stubborn and not good?

From Robus To All 18 July 2006

Hello Savage Sav> Actually, I assumed that Robus did almost everything, he said Sav> that he only needs to integrate PT3... Everything is done... PT3 is playing!!! I won’t say it’s perfect, but about 90% of the melodies are without glitches. The remaining 10% is not the correct execution of the effects, not everything is in the description understandable. But I will remove the glitches after the board is installed, but now there is no money, and it is not expected until August. I collect everything from my salary, which is so funny to me that I’m afraid to name it. My player can hardly be discussed here, because OrionSoft asked about something completely different.

From Vyacheslav Kalinin To All 18 July 2006

Hello Ronin Ron> will you help with programming? :) Ron> in general, on behalf of the people, I thought that the MMC->AY/MP3 player was needed and not Ron> pure AY :) What does MMC mean? Why bother with MP3, it’s still too early for us to compete with the Chinese, but Their players without memory cost $15. In principle, you can even make a player without the ability to update music, 19000 There are more than enough tracks. =) 128 flash should be enough. I could probably help with programming for something like this. to Savage; IN; I almost don’t believe in Robus’ developments for a long time, there are always some excuses, but The result is only words. (Don’t be offended, Robus, but from the outside this is exactly how it is looks)

From Mikhail Tarasov To All 18 July 2006

Hello Orionsoft Ori> please correct me, otherwise I'm crazy with this palasm and win-purchase Ori> I'll get off Ori> For simplicity of the concept, you can put the formula from any computer there. In the simulator you'll take a look. This is what everything looks like for me: IOWR2 = WR # IORQ # A0 # !A1; BDIR = !(IOWR2 #A15); BC1 = !(!(A14&A15) # IOWR2); Or something like this. ;) By any chance, did you put RAS and CAS into PAL?

From Orionsoft To All 19 July 2006

Hello, CHRV CHR> There is NedoPC in room N3 and that's good! but old devices (which, by the way, are actively used by bourgeois) such as 16v8 and 22v10 are not widespread among us, probably due to the small size info. and if win-cupl can be stolen from the atmel website, then go for palasm first I went to p2p, but then found it on an old disk. ((installation only with floppy disks)) and the bourgeoisie make IDE controllers on them, local ones like trdos, and even ay player the programmer is made for them (lattice gal) in a couple of evenings from old trash. Now about the AY player... it is not mobile yet (since the decryptors are made on discretes), and the car is powered by 12 volts (built-in amplifier) and has a DAC with samples in ROM like “fuel tank is empty” and “check brake fluid level"

From Orionsoft To All 19 July 2006

Hello Mick Mic> To simplify the concept, you can put a formula there from any computer. B Mic> look at the simulator. My cupl is terribly buggy, I don’t understand what’s wrong, it says it can’t load LD.pld and everything closes Mic> Did you happen to put RAS and CAS into your PAL? no, as you can see, we haven’t gotten around to it yet, BUT since it was done in green scorpion and their alter is practically an analogue of 20v8, it seems that it is quite real. P.S. it’s time for the luminaries of pal&gal&cpld to open an iron branch in the branch We study GAL based on speck iron and learn, learn, learn! otherwise you understand they will install GAL16v8 ATM turbos: v2_tong2:

From Vyacheslav Kalinin To All 19 July 2006

Hello Orionsoft Who is being hooligan here and sending messages (albeit slightly off topic) to God knows where? :confused:

From Mikhail Tarasov To All 19 July 2006

Hello Orionsoft Ori> my cupl is terribly buggy, I don’t understand what’s wrong, it says it can’t Ori> load LD.pld and everything closes Ori> Yes, he often succeeds in this when you make a mistake. I made it simpler - I took the header from his examples. By the way, you can try compile my example from the ZX-777 thread. He's definitely a worker. In general B Atmele this program was written by some students - it crashes often (Runtime error). Ori> and their alter is almost an analogue of 20v8, it seems, then this is quite Ori> really . Ori> As far as I know, the 20V8 has 24 legs, and the Scorp 20 has 16V8. Ori> P.S. It’s time for the luminaries of pal&gal&cpld to open a sub-branch in the iron branch Ori> we study GAL based on speck iron and learn, learn, learn! Ori> otherwise you understand they will install GAL16v8 :v2_tong2; Yes; It would be nice to get help from experts: v2_jawdr; .; I came across the RAS signal and CPU CLC.

From Mikhail Tarasov To All 19 July 2006

Hello new art new> Who is being hooligan here and sending messages (even if a little off topic) new> unknown where? :confused; Look; in AY player. This is the moderator doing his job, clearing the threads of garbage. :v2_clapp:

From Chunin Roman To All 19 July 2006

Hello Orionsoft Ori> P.S. It’s time for the luminaries of pal&gal&cpld to open a sub-branch in the iron branch Ori> we study GAL based on speck iron and learn, learn, learn! Ori> otherwise you understand they will install GAL16v8 :v2_tong2; B; issue N3 of NedoPC contains my article on how to work with matrices of the EPM7xxx series Altera and ATF15xx Atmel.

From Mark Antonov To All 19 July 2006

Hello Mick Mic> Or something like this. typical mistake. when decrypting ports, you must use either the /rd-/wr pair or one of these signals together with M1

From Andreas Kaiser To All 19 July 2006

Hello Mick Mic> Nothing of the kind - on my computer M1 was not even close to decryption Mic> - look at the diagram of the ZX-777 computer. So a typical mistake is to do Mic> hasty conclusions. ;) And everything is smooth during interruptions? ;)

From Mikhail Tarasov To All 19 July 2006

Hello, The Exploited The> is a typical mistake. when decrypting ports, you need to use either a pair The> /rd-/wr or one of these signals together with M1 Nothing like that - on my computer M1 was not even close to decryption - look circuit diagram of the ZX-777 computer. So a typical mistake is to jump to hasty conclusions. ;)

From Mikhail Tarasov To All 19 July 2006

Hello icebear ice> And everything is smooth on interrupts? ;) Damn people, this computer is so many years old (it’s not like dummies invented it) - not at all there were no problems. This can be confirmed by other owners of this computer.

From Mark Antonov To All 19 July 2006

Hello Mick hehe, had a good laugh. book on Z80 in your teeth and go %) Or maybe you could politely ask me to explain what’s going on?

From Orionsoft To All 20 July 2006

Hello, The Exploited and you will help me if I provide you with a specific diagram...otherwise only one ZX-777, and the other has a different computer, the third has a manual from the z80...? Please !?

From Mark Antonov To All 20 July 2006

Hello Mick Mic> So let's not get excited and point out mistakes. It would be better to take and Mic> corrected the formula. I'm not good with formulas, but I still need to look for a diagram %)

From Mark Antonov To All 20 July 2006

Hello Mick The /iorq signal is active not only when fetching ports, but also in a loop interrupt confirmation (there /rd=1/wr=1, but M1=0). so using only We will also receive one of the /rd or /wr signals for port decryption request to them and in the confirmation cycle (in which the processor receives the junior interrupt vector byte, most significant in register I, this is only true in IM2 mode). so we have: 1) /iorq /rd in the decryption scheme, then in confirmation mode /iorq=0 /rd=1 => the circuit will think that writing to the device is happening (when provided that the SHA will have the corresponding address) => the devil will be written to some port AY knows that 2) /iorq=0 /wr=1 => the circuit thinks that reading is happening. and then on SD the value of unknown something is set - the vector will be broken even in the absence tablets of 257 bytes in the program, we will have colored squares. And here is an example: http://zx.pk.ru/showthread.php?t=1583

From Mikhail Tarasov To All 20 July 2006

Hello, The Exploited The> signal /iorq is active not only when fetching ports, but also in a loop The> interrupt confirmation (there /rd=1/wr=1, but M1=0). therefore The> using only one of the /rd or /wr signals to decrypt ports The> we will also receive a request to them in the confirmation cycle (in it The> the processor receives from the SD the low byte of the interrupt vector, the high byte in The> reg.I, this is only valid in IM2 mode). The> so we have: The> 1) /iorq /rd in the decryption scheme, then in confirmation mode The> /iorq=0 /rd=1 => the circuit will think that writing to is happening The> device (provided that there is a corresponding address on SHA) => in some The> port AY will be recorded God knows what The> 2) /iorq=0 /wr=1 => the circuit thinks that a read is in progress. and then on The> SD will be set to the value of who knows what - the vector will be violated and when The> in the absence of a 257-byte sign in the program, we will have colored ones The> squares. The> And here is an example: The> http://zx.pk.ru/showthread.php?t=1583I already know that. But if you look at the computer diagram, the connection of the microcircuit DD44 (ID4) uses WR and RD signals. So if I'm in the formula and not wrote the signal RD/, it means it was mistyped. And use in M1 decryption Moreover, when you stuff it into a 20-legged PAL, it’s not advisable. So let's not get excited and point out mistakes. It would be better to take it and fix it formula.

From Mikhail Tarasov To All 20 July 2006

Hello, The Exploited The> hehe, I laughed heartily. book on Z80 in your teeth and go %) The> or maybe you should politely ask me to explain what’s going on? It’s interesting to read a book in your teeth - usually I read it with my eyes, and don’t try it on my teeth. If you want, explain, and also what will happen if it is not used M1. And also explain how my computer works. Perhaps I don't understand something.

From Orionsoft To All 21 July 2006

Hello icebear In general, I have approximately the same 48th scheme... not shown in the diagram: 1) RAM from 4000 to 7fff (dual-port RAM, the screen needs to be drawn! 2) decryption of the keyboard (and tape giblets) - they will be fully replaced by the controller by caro. 3) something else very important that I didn’t know about or forgot: v2_conf2; main; The idea is to cram all the decryption into GAL 22v10 from additional (for 48k) parts - ayym and covox. File: bs.zip http://zx.pk.ru/attachment.php?attachmentid=3471

From Mark Antonov To All 21 July 2006

Hello Orionsoft I don’t quite understand why 48k is needed... oh well. Regarding time delays - such a moment. in all clones (where as a rule dram) for writing/reading they use not /wr, but /rd, since it comes to half a beat (beat?) before /wr. maybe in this case it doesn’t matter, but try worth it.

From Orionsoft To All 21 July 2006

Hello, The Exploited The> in all clones (where dram is the rule) and here is an attempt to make it on sram and dualport sram

From Mark Antonov To All 21 July 2006

Hello Orionsoft Ori> dualport sram what's the point? over there in the Pentagon the memory runs at the same 3.5 MHz as the Z80 and wait's no

From Mark Antonov To All 21 July 2006

Hello Orionsoft i.e. roughly speaking, will the video controller work asynchronously with the Z80? (such By the way, it’s available on Profi 3+)

From Orionsoft To All 21 July 2006

Hello, The Exploited The> what's the point? because the target video display device is from a VGA monitor to an LCD display (1 bit and 8 bit)

From Orionsoft To All 21 July 2006

Hello, The Exploited absolutely asynchronous =)

From Mikhail Tarasov To All 21 July 2006

Hello Orionsoft Ori> In general, I have approximately the following 48th scheme... Ori> not shown in the diagram: Ori> 1) RAM from 4000 to 7fff (dual-port RAM, after all, draw the screen Ori> necessary! Ori> 2) decryption of the keyboard (and tape giblets) - will fully replace them Ori> controller by caro. Ori> 3) something else very important that I didn’t know or forgot about: v2_conf2; Ori>; Ori> the main idea is to cram all the decryption into GAL 22v10 Ori> from additional (for 48k) parts - ayym and covox . So what is the question? What ports are used? If the choice of memory is something like this, I now feel angry letters about my in the field of formula writing there will be ;) : ROM=A14#A15#MREQ; this is according to your scheme (or A14 # A15 # MREQ # RD, if you use one signal); RAM = !A15 # A14 # MREQ; RAM 8000h - FFFFh VRAM = !A14#A15#MREQ; RAM 4000h - 7FFFh

From Mikhail Tarasov To All 21 July 2006

Hello Orionsoft Ori> so I think maybe it’s not needed, there was an idea to restart the machine Ori> when accessing some ports... but this is probably not necessary. And you don’t have enough output for this, and for BB55, if any of MREQ, IORQ, RD or WR signals cannot be transferred instead of Ax.

From Mikhail Tarasov To All 21 July 2006

Hello, The Exploited The> in a,(FB) - enable printer ROM (cache), in a,(7B) - disable Well then there will be no conflict. :)

From Mikhail Tarasov To All 21 July 2006

Hello Orionsoft Ori> oh, of course not Ori> Ori> BFFD and FFFD of course Why do you need a RESET signal in PAL?

From Mikhail Tarasov To All 21 July 2006

Hello Orionsoft Ori> kind of like in the Pentagon 128 FB - printer port So I say that via some XBh port the pages in the ROM are switched. Will you have a conflict?

From Mikhail Tarasov To All 21 July 2006

Hello Orionsoft Ori> AY BFFD and 7FFD Ori> Covox FB Ori> well, I have a great desire to stick BB55 Ori> so that port 0 is a Kempston =) AY - definitely 7FFD or still FFFD? Okay, I’ll try to figure it out, I’ll have to put the decoder on my computer soon. Speaking of Covox IOWRFB = IORQ # !RD # !A3 # A2 # !A1 # !A0; True, recording will occur when accessing ports ending in xxxxBh. I saw addresses with crosses there, so I thought it would be A3 and A2. Incidentally, a question: is it possible that port FBh, 7Bh and 5Bh are responsible for the printer?

From Mark Antonov To All 21 July 2006

Hello Mick Mic> So I say, switching occurs on some XBh port Mic> pages in ROM. Mic> Will you have a conflict? in a,(FB) - enable printer ROM (cache), in a,(7B) - disable

From Orionsoft To All 21 July 2006

Hello Mick Mic> What ports are used? AY BFFD and 7FFD Covox FB Well, I have a great desire to stick BB55 so that port 0 is Kempston =)

From Orionsoft To All 21 July 2006

Hello Mick Mic> Why do you need a RESET signal in PAL. So I think maybe it’s not needed, there was an idea to restart the machine when addressing some ports... but this is probably not necessary.

From Orionsoft To All 21 July 2006

Hello Mick Mic> AY - exactly 7FFD or still FFFD? oh, of course not BFFD and FFFD of course

From Orionsoft To All 21 July 2006

Hello Mick Mic> not the FBh port kind of like in Pentagon 128 FB - printer port

From Orionsoft To All 22 July 2006

Hello Mick Mic> BC1 = !(A15 & A14 & A3 & A2 & A0) # A1 # IORQ # ! (WR $ RD); $ is what logical function is this??

From Orionsoft To All 22 July 2006

Hello Mick Mic> Will you have a conflict? no, because according to the scheme, all the extra addresses on the ROM are sitting on the ground

From Orionsoft To All 22 July 2006

Hello Mick Mic> This is Exclusive OR (XOR in our opinion). That's what I thought =)

From Orionsoft To All 22 July 2006

Hello Mick Mic> there is enough space for you to control the reset of the computer and BB55. I'll work on this option for now...we'll see

From Mark Antonov To All 22 July 2006

Hello Orionsoft in the low byte of the AY port address (as well as #7ffd) only A1 is decrypted !!

From Mikhail Tarasov To All 22 July 2006

Hello Orionsoft Ori> $ - what is this logical function?? This is Exclusive OR (XOR in our opinion). This is how it is written in WinCupl. I put a space there after the exclamation mark - it shouldn’t be there, however, WinCupl will report an error.

From Mikhail Tarasov To All 22 July 2006

Hello Orionsoft Ori> that's what I thought =) If you don't use A10 addresses, etc. and use incomplete decryption - 6 addresses (A15, A14, A3, A2, A1, A0) or 4 (except A3 and A2) - that’s enough for you There is enough space to control the reset of the computer and BB55. :)

From Mikhail Tarasov To All 22 July 2006

Hello Orionsoft This is what an appeal to AY will look like; BC1; - aka FFFDh for reading and writing: BC1 = !(A15 & A14 & A3 & A2 & A0) # A1 # IORQ # ! (WR$RD); BDIR - aka BFFDh for recording: BDIR = !(A15 & A3 & A2 & A0 & RD) # A14 # A1 # WR # IORQ; In my opinion so. True, access to AY will be in a fairly large range addresses that end in Dh. But at least you have a few freed up inputs - and mutual rotation with the control signals described above, you You'll free yourself up to several exits.

From Mikhail Tarasov To All 22 July 2006

Hello, The Exploited The> in the low byte of the AY port address (as well as #7ffd) is decrypted The> A1 only !! What will change if I also check A0, A2 and A3? Once a person has addresses have been created (at least it has A0), then for writing to PAL it’s not which won't change. The meaning of the remark is unclear. I personally would do the same - I checked would be A0.