Crazy hands - Cache implementation.

Black Crow #03
(C) 1999 Max/Compu-Sudio Ltd ------------------------------------------------------- Good afternoon! Today I will tell you about the coolest modification of the Spectrum in the not programming and hacking programs for throughout the existence of our computer ra. The previous achievement of such a plan was the invention of a shadowman on Scorpio. Now everything non-Scorpio people can do yourself this device and if available relevant software become on par with advanced coders and hackers. This device is not new - it’s still old - good Spectrofon`e 17 famous V.M.G. offered. But then this device is not caused a rush of demand. Now, by As programs are written “for cache”, there are the number of this device is becoming more and more necessary. And even prestigious.This text is already morally outdated, but given that many still deny are protected from networks, and therefore from “civilized bathed information market", and even in the In addition to everything, a diagram from V.M.G. has glitches in work, then I considered it necessary to touch upon this topic in his publication. To begin with, I will list all the advantages that which this hardware upgrade abounds in: 1) 16K of ultra-fast addressable memory ROM space; 2) shadow principle of being in the scheme computer; 3) all addresses that which are called by RST commands. You can sa- I can use it for my own purposes, for example the same RST 8 or even RST 0; 4) the most complete access to VG93 ports, which opens up amazing from a programmer's point of view, the possibilities of ra- bots with disk! What does freedom cost? Reading register #1F VG-shki for quality of operation; 5) at address 102 or #66 (whichever off) possibleplace your handler on- pressing magic, which will undoubtedly simplify hacking any program that does not use for its own purposes and not killing it; 6) those who like to write their own new OS and damn, no one needs Windows now Gut get the fuck out of the main RAM of the computer pa to the cash, and the entry points to their Mazda make shells humanly - through RST`shki! As in is-dos, for example, but with this is to use them all, and not just set the teeth on edge RST 16; 7) many all sorts of possibilities... Disadvantages of having a cache: some Mazda- they loved old programs (mostly old ones) make LPRINT txt, which leads to meditation tions of the entire system. The way out of this is to do it Before work, install the Lprint ROM by reading the firmware from the disk and transferring throwing it into the cache. At the same time, don’t forget to close/close cache ;) So, here isCORRECTEDcache circuit, which was kindly provided by Master. After After reworking the circuit, everything began to work correctly work and do not strain the computer circuit.
На схеме есть тумблер, который перево- дит нажатие magic`а в кешor regular dos and which is convenient to use in various life situations. I actually have one situation - I'm breaking the cache or debugging the pro- gi that I pick or write. Now some information about the method bots with cache and an example of its use. Damn, everything ingenious is simple: D.I. IN A,(#FB) ;cache is open! CALL nn ;user program IN A,(#7B) ;cache is closed! EI ;well, if it’s needed- RET ;but... That's all! There are no stupid LD Sun, #nnn and OUT (C),n and other nonsense that published in DEJA VU 7 and other publications, who gave examples of “expanding RAM” by 16/32K. That’s also good, of course, but why? do something that is difficult to write to software? Although this is purely my opinion, not pre- tending to nothing. But the cache is cool then! And the most interesting thing is all the possibilities "in one bottle"! Programmer capabilities. They limit are calculated only by cache size: 2, 4, 8 or 16 kilobytes are implemented in one page, or how much?You can check this one more time - nomu. My most primitive method, which is This allows you to roughly calculate the amount kilo in cache or determine its absence in general. DI ;no interruptions! IN A,(#FB) ;open cache LD HL,#0000 LD DE,#0001 LD Sun,#ЗFFF LD(HL),L PUSH HL ;clear cache LDIR POP HL LD A,#01 ;control byte any, LD (HL),A ;except #F3! SR (HL); is there RAM or not? JR NZ,NO_CACHE; no, it’s a pity... LD BC,#ЗFFF;1bKb page size INC HL; from address #0001 we are looking for CPIR ;possible repetitions LD HL,EXIT ;exit test PUSH HL; that's short ;) LD A,H ;address where there is a LD E,#08 ;falls with control SR E RET Z ;cache at 2K LD E,#10 SR E RET Z ;at 4K LD E,#20 SR ERET Z ;at 8K POP HL LD E,#40 ;no matches, know EXIT IN A,(#7B) ;cheat cache 16K. Rulez! LD A,E ;test result for EI ;further use- RET ;nia. NO_CACHE LD E,0 ;no cache at all! JR EXIT As you can see, there is nothing complicated here and it cannot be. The cache memory is organized on in such a way that you can put any rush without the risk of “flying away”. And use the entire address space can be depends on the amount of cache RAM. Let's assume that you need to make a disk access, but Unfortunately for you, there are only 2K cash. There's nothing what's scary about this! The main thing is that the driver disk operations were not enormously bloated. Since DOS ports are available when accessing to window #3D00-#ЗDFF, then the disk driver operations can be put there too. Open cache, ldir`nite your driver to the address #3D00 ver and you can freely use it in for your purposes. Please note that DOS ports will only be available if the PC is running cache anywhere (of course, if you entered the cache through the window), and to access ports "ZX" need to be connected to the main RAM. Don't forget this when writing yoursprograms that are supposed to be partially or cache it completely! In the appendix to the magazine there is a program which will help you decide on the availability the absence or absence of cache, as well as its volume. This is "MAGIC INSTALLER". She, co- Of course, not ideal, but if you have pre- additional RAM according to any of the known memory standards, will allow you to feel yourself as a cool hacker. To install the cache you can use like Soviet microcircuits RU10 or RU17, and also with bourgeois analogues. Extremely re- I recommend the chipHY62256ALP-10 32Kb volume. This is exactly what I have. But mar- the marking may be different. The main thing is her volume! Here, however, the “problem” appears: and what to do with the remaining 16K, unused bathrooms in the previous scheme? After all, the hands are so and are itching to use the extra RAM. Come on- Let's turn our attention to FIDO and look there answers to questions that interest us. Word provided to the first person available century, whose reasoning, in my opinion, is deserve everyone's attention. So, (C) 1999 Roman Milukov(2:4616/14.29) ------------------------------------------------------- Hello, All! Some people have questions about cache-32K. They say it doesn't work. I'm throwing it corrected diagram. If it doesn't work If it melts, it means there is an installation error. Port #CFF7. I don’t know about anyone, but after the appearance a similar scheme from ARC, I now have to I will definitely block this port in on your computer! And it will be turned on after Toyanno. And once again: Do not connect to this port RESET is not the best idea. At the same time, at least and there is no need to write down every time you restart the desired value tion, but other problems appear: 1. what to do if something bad the programmer went to him without permission and did he write in there what he wanted? 2. what to do if there is a failure in the re- as a result of powerful impulse noise? - and in RAM was important information! SASNE = 62256
============= It's very easy to install in the Pentagon CACHE-RAM on 537RU10. Scheme from VMG published rejoiced in Spectrofon-17. And not only for the Pentagon. But with 2K there is little use for it PS But 16K is a different matter! There's also a story about Know how to make 16K - on two 537RU17 - they need to be drunk with a “sandwich” on each other friend. But it is much more convenient to take one drill Zhui static RAM chip - 62256 (different companies call them differently) Well, I haveNMB2256LP). This is where a “serious” trial appears. Lema - 62256 has a volume of 32K. Well 16K for- We act as expected. Where would I use it? thread remaining 16K? A thought immediately comes to mind address them with bit 4 #7FFD. But all the su- existing cache software was written taking into account that for any value of this bit we have the same cache! Sometimes it's like this necessary! Therefore _you can't_ just 1st catch your leg on bit 4 #7FFD! I decided to do this on my computer: (Fig. 1)
The link is given to Pentago-chips on! Signals: /DOSEN - 11n. D83 (1n. ROM 27512); ROM - 12n. D62. Don't forget on the 26th leg 62256 for- drive A13 (bus A0-A15) from Z80, to 2nd - A12, on the 23rd - A11. (On the 22nd there should be /RD. And the rest of the legs are connected like at the ROM.) 28th leg - food, if served it as indicated, then the information is in the stat.RAM will be saved when the power is turned off until the battery runs out. A consumes static RAM in storage mode VERY not enough. (This is why 1SSLL2 was used!). For non-Pentagon there is one subtlety. Here V.M.G. diagram:
Here the last element LL1 must be replaced
thread for element 1SSЛЛ2 and resistor 1K (LL2 has an open collector output), and connect its output to the output of the same name circuit shown in Fig. 1. Or you can here apply the LP8 element, as in the Pentagon. a The 13th and 10th legs of KP11 (Fig. 1) must be give a signal from the 6th leg of TM2, to the 1st leg LL2 (Fig. 1) - serve from the 3rd leg LL1. Instead of series 1533 you can put 555. You can, of course, put the toggle switch on 1- 1st and 15th legs KP11 and work with your hands, but it's better to do this: bit1 and /bitХ are bits of port #CFF7, obtained this way:
Who has collected GLUK-clocks for finalization? In this scheme, there is already a decoder. (And pita- The reference to 62256 can be taken from there.) Now, if the port is reset, we have that CACHE 16K (1st page 62256). Nor- small! If you set bit 4 on the port #CFF7, then we have CACHE-32K, where the senior address - bit 4 #7FFD. If you load it into a normal CACHE-16K, for example, TR-DOS 5.04T (in ROM I have si- dit TR-DOS 5.12F by REANIMATOR), then install By updating bits 4 and 1 #CFF7, you can use the program critical to the TR-DOS version. At the same time, You will also have a cache - the 0th country will connect Nice! Bit 0 of port #CFF7, when set, will deny programs access to this port until pressing RESET (if necessary). There is another interesting possibility - connect legs 2 and 11 of KP11 (Fig. 1) here this way:
Then you can load it into the CACHE- pages 32K, for example, NeOS and its own version of bey- sika-48, set bit 2 #CFF7 and they will take the place of BASIC-128 and standard- go BASIC-48. Recording in them becomes no it is impossible.
------- Max: there is still no uniform standard for cache-32K, so everyone more or less fumbles electronics expert invents his own bicycle ped. ------- Variation on a theme CMOS=clock byGluck. I had to fill out a diagram according to which I I made myself a watch. Look - maybe someone will will come in handy. Please pay attention to that this IS NOT another stan- Darth! Addressing according to the Gluck standard, just a little tougher, which, in my opinion, useful. CMOS clock. I recommend for use.
Signals from legs 2 and 3 TM8 can be given to the circuit of additional graphics re- bench press 512*192 px. Then from that circuit Only KP11 and IR23 are hidden. Actually, the connection diagram for the legs is 18, 20, 22 is a little incorrect, but that’s how it is works. That’s how it was with Gluck, and I did it for myself. I was so lazy - I was too lazy to do it right. (True, Gluck's watch is powered ONLY from batteries 4.5V) But for good reason it should be like this:
All the best. Best regards, Roman Milukov.

Share your thoughts about the article