Flash Time #01
10 июля 1997 |
|
Reflections - Project Superspektrum.
Text: ALEX RAIDER / FLASH COPYRIGHT 1997 PROJECT SUPERSPEKTRUM " Part 1 That's already in the yard in 1997 god.SPECCY lived SPECCY alive, SPECCY will live !!!!!! What survival prospects are in this small, beloved cars? Spectrum crowd top box, Amiga, PC-compatible and other junk ... Meanwhile, after all by itself Speccy is not so bad but how to make it really powerful? If you're a real fan of the Speccy - This article is for you! So, be ready, I begin! :) Standard Spectrum is equipped with a processor Z80, running at a frequency of 3.5 MHz and 48 kilobytes of memory, of which the 6K reserved under videooblast.Model Spectrum 128 in addition to all features additional 80K RAM is organized into 5 pages of 16K, which can be imprinted in the upper 16 KB. memory. In this case, there is an additional Page ROM containing the program extended BASIC. This page can be imprinted instead of a page containing a standard BASIC.Okey, okay, I stop! ... All this and so you know ... Hmm, answer question - what more do you want?? Sure, sure ... anyone who has programmed in Speccy, say - MEMORY! NEED MEMORY !!!... Yes! Additional 80K Bloody lacking, order to swing for real! Let Z80 so weak, but if there is a lot of memory, most of the problems with the speed of the CPU necessary! Naturally, you will say - well, and that This is new? Wait, do not rush to vyvodamiuvidish ... Now pay attention to PZUego few touches. First, the page ROM ALWAYS imprinted in the lower 16K. What if we remove this restriction? Exempt 16K of address space! Those who are programmers Spectrum 128 familiar with the problem of lack of memory -Have to squeeze the program into the region between the end of the screen and the window vpechatki standard pages, otherwise there may be a very significant problems with the speed of the program. A very simple example: If you are using technology to work with two videooblastyami must withdraw graphics on the 7 th page, where is videooblast second, but the schedule sprites can not be kept in the memory page, because otherwise account for each, say, read byte switch 7 th pages and pages with graphics. Naturally, it is extremely slow and complicated work programs, so most sprites are almost always located in the main computer memory, rather than on the pages. Thus, the idea starts to look like: what if you could type in the page, not only in the top 16K? Excellent! Recall that all our 64K and can be detailed into four regions and 16 kb each. Allotted to each area (the window projection) in its own single-byte portu.Osobo stress - the port addresses must be single byte! Ha! Thus, writing the desired value in the right port, we be able to have the desired page in the desired location and desired time! And most importantly, the work can VERY QUICKLY AND Maximum effectively allocates COMPUTER! That's not all ... Enter at least for the bottom window projection (lower 16K) special security attributes read / write. Thus we get the emulation ANY ROM! If you take certain pages memory pages under DOS, it will be possible quietly abandon debility TR-DOS and write your disk system with their capabilities and innovations, though CP / M, although MS-DOS ... PROJECT SUPERSPEKTRUM " Part 2. First of all, I dedicate this story those involved in the development of new models of domestic and Spectrum everything connected with SPECCY general. Actually, to call this zametochku "stuff", too kruto.Skoree are some thoughts expressed on paper. " And I'll start, oddly enough, by considering the architecture of corporate computer, produced once by Sinclair Research Ltd. The fact that many are still not well imagine what kind of car. Initially, there was a Spectrum 16. He had only 16 kilobytes of volatile memory and as much operational. Rom firm Spectrum was probably made on the 27128 chip, and RAM in eight chips 4116. In addition, I have a great suspicion that the tape input (TAPE IN) was assembled without any comparator (this suggest recommendations to take the signal for a computer with speakers or from the output to headphones). Clearly, since the microprocessor ULA and shared memory at a time, had to solve a problem like that would work at the moment with pamyatyu.Sinkler followed the path of the least soprotivleniya.Tak as it was impossible to stop the ULA - otherwise lost to image screen, Sinclair decided to just - pure and stop the microprocessor. If the microprocessor is required RAM and ULA was engaged in reading the bytes bit maps or byte-attributes to the microprocessor simply ceased applied pulse clock frequency. Appear in the original machine had two sets of address multiplexers - one for the ULA and another for the Z80. And somewhere I heard that the tires and Z80 ULA tires were separated from each other resistors small denomination - ie, until processor waiting for the release of RAM, it does not interfere with ULA thanks to this most resistors. Despite the fact that the process of image formation is continuous, ULA reads information from memory is not continuous. The fact that the original machine (as opposed to our) ULA accesses memory only when the output of graphical information, and in moments of output curb appeal to OZU absent. T.o at the bottom and upper border, and border on the left / the right of the screen works with a microprocessor maximum speed, the same as in Rom. By the way, the regeneration of RAM in the Spectrum 16 is due to the continuous appeals for support to ULA video. As known, the microprocessor Z80 (as well as more Later brainchild Zilog-Z8000 and Z80000) has the ability to regenerate the heap. For this, he geniriruet signal RFSH, puts on the lower half of the contents of address bus spets.registra R, and the older - the contents of register I. So Now, because of the architectural features of the original machine can not be specified in the register I of 40h ... 7Fh, because while reading the command processor and how to consequence of the next cycle of regeneration of memory there is a conflict between the ULA and the processor, which leads to freeze the latter. When Sinclair just added memory Spectrum rejection circuits 4164 - their "Halves", and then obtain the famous Computer - Spectrum 48. So, now, the most interesting. Case that the machine with 48 kilobytes of memory hardware receive two separate areas memory. Bottom - with addresses 4000h .... 7FFFh was from an old memory Spektruma16.Etu Z80 time-shared with ULA.Zato top - with the addresses 8000h ... FFFFh was entirely owned by the microprocessor. Problem regeneration of this memory was lying on the microprocessor. As you can see, memory branded car is broken into two parts: the slow and fast bottom top. It is necessary to refer to these areas CHIP MEMORY and EXCLUSIVE MEMORY, or easier-CHIP and FAST.Tut I note that virtually all of the shovels Spectrum crushing, no, for all the memory is going to ICs 4164 a capacity of 64 kilobits (their Sov shameless ripoffs analog - K565RU5). And nothing is done, as the problem of conflict ULA and Z80 as well and was remains, but due to the fact that memory is a hardware one, even with the top on the idea of FAST MEM, the microprocessor has brake. And what with the Spectrum 128? - Ask vy.A very even prosto.Vsya memory Spectrum 128 consists of ROM capacity of 32 kilobaita and RAM capacity of 128 kilobytes. When This ROM has been realized on a chip 27256, and the RAM chips on the sixteen 4164, ie two "rulers" for eight mikroshem.Tak This is the first line - CHIP MEMORY. And the second - FAST MEMORY.S software point view the page with the numbers 0-3 is FAST MEMORY, a numbered 4-7 - CHIP. From all this implies some features of writing programs for the Spectrum-compatible kompyuterov.Esli you want your program to work on branded machines and on many domestic machines with the division of fields of memory, I can not specify the register numbers from # 40 to # 7F.Esli you put the program in CHIP memory, or, equivalently, in stranitsah4-7, it will run slower, since processor will be even his team (I not talking about data) to read slower. If you need a routine that processes the sound to the speaker, place it can be only FAST MEMORY, as in CHIP memory processor works not only slower, MO and uneven (accelerated on the curb). Then The same can be said about the procedure for loading a magnetic lenty.Voobsche, try CHIP memory used only for static data permanent tables, compressed data, tables, coding game levels, some Sprite, music and text data. Try not to have a CHIP-memory stack of the CPU, considering it leads to a slowdown of work teams using a verified stek.Kak my words Remember, you have ever met in the branded software procedures involved in sound processing on the speaker below address # 8000?? Even TF-COPY, known cassette copier (aka TSL PLOMBA), even though he is in the display area, but the procedure works with a tape he had sat at the end of memory although much simpler it was used to arrange them in display area, together with the main unit. All the Polish self-made feeders are FAST memory, usually in the end. Code for all proprietary software (except the very old, still is nice to Spektrum16) is written at address 8000 hex. Of course, there are separate procedures, speed of which the programmer sacrificed and placed in the bottom half memory - for example in the Netherworld, Jet Set Willy. Programmes at the same meet and poorly link, such as Elite archived text messages would be better to place the bottom, not the program. Instead of They can also be posted and other data that fall into CHIP memory. In JACK THE NIPPER 2 All CHIP memory Starting right immediately behind the screen is filled with codes of rooms - 40 bytes per room of 192 rooms, totaling 7,680 bayt.V SAVAGE 3.1 buffer screens are in the FAST memory, in the first SAVAGE buffer is to address # F000. Here is an example, we can say the crude. Very beautiful game DARK FUSION is designed for computers 48/128. The graphics of the hero himself, graphics and explosions proch.nepodgruzhaemaya schedule lies with the program code in a quick half of the memory but the dynamic range, at which time the creatures are created sprites and background, some reason is slow, although this region could exchange places with the region store the current level, which is quite large in size. Most likely a programmer at the initial planning of the game took the upper hand. memory for the levels of the convenience of debugging, as most likely he was there assembler, monitor, etc. And it is totally wrong as the layout a programmer's perspective, under the brand name Spectrum can lead Russian toy Winnie the Pooh "firm Softland. Since I had to break into this program and move it under the usual format for TR-DOS files, I could not get acquainted with its "architecture." Programmer in the first place is located very critical for the rate process vykidki screen buffer in the bottom of the slow field pamyati.Vo Second, there is also himself bufer.V Third, if I did do not confuse, muz.bloki lie in the slow pages, despite the fact that kompressnutye levels are fast. But, however, there is a high probability the fact that our domestic programs are unlikely Lee will reach the countries where the firm Spectrum is still relevant, ie, to Poland, England, Germany Portugalii.Dazhe if it happens it is likely they will work on Virtual Spectrum (emulators), and emulators, of course, do not care about the organization data and status registers I. That's why I'll occasionally violate the firm Spectrum. I am often required due to the fact that he begins to miss the address space under the program, and I have to place even faster code in CHIP MEMORY. By the way, by analyzing program Shock megademo, namely, the first part of this muzykalki, I could even count how many cycles microprocessor has a string rastra.Poluchilos the following: when there is no recourse to CHIP-RAM, and the program runs in the FAST -RAM, get 228 cycles per stroku.Kogda is an appeal to CHIP-RAM, and the program runs in the FAST-RAN, obtained 202.5 tact or 405 cycles in two rows. Run-time code that is in slow CHIP -RAM neizvestno.Kak I know this part of the scroller, the programmer expected to Spektrum2 +. You can count the number of beats per line, analyzing a variety of Western DEMO-programs written in proprietary machines, for example - ECHOLOGY, LSD, NMI 3, as well as many games, using accurate binding to move the beam / Total lines. General conclusions from the foregoing: 1.Firmennaya machine faster Patriotic GOVERNMENTAL, although the latter more rapidly at appeals to the CHIP-memory. 2.Tolko on a machine with apparatnorazdel term memory can achieve compatibility bridge with a brand name computer. 3. Programmers would be worth to consider particular brand cars - especially but the programming and muz.protsedur the use of register I. PROJECT SUPERSPEKTRUM " Part 3. Something that developers of hardware, especially Zonov Sergey. I think you read the second part, devoted to corporate Spectrum and requirements for the program. And I think, Nemo convinced that he was wrong (sm.el.zhurnal ZX-FORMAT 2), the turbo processor may be on the curb, even necessary. On top of architecture two areas of memory gives a linear turbirovanie processor in an exclusive area of memory! (Nemo, you are again wrong). I would like to say that the majority modern computers use hardware division of areas of memory. Example what are the best home computers AMIGA, office IBM PC, even in primitive dandy There are four physically different memory-videoOZU, videoPZU, ROM programs and ext. small RAM. Powerful supercomputers and graphics workstations used even more Shared memory up to a separate text and a special cursor memory. Yes there supercomputers! Take the most blunt IBM PC with a 486: internal CPU cache is a 486-times the cache on the "mamma" is two, shared memory - three video memory - four, yes muses. Memory GRAVIS ULTRASOUND - it's five, oh yeah! More CMOS and BIOS - seven. I think for the eight-engineering slowly takes time dynamic RAM, Now SRAM capacity of 32-64 kb worth almost as much as there are ru5. Well, strictly speaking, should be worth if buy them from dealers manufacturers. A simple example - Cartridge fucking "Dandy" with a static memory 16k * 8 bits costs about 20-30 thousand Given that there not one of RAM and a fairly capacious ROM if consider how much we pay these middlemen cartridges, which buy them from the Chinese, and Chinese, too, people are quite poor-buying, go to the manufacturers, and those paying producers of most static RAM. It turns out that the "static" has long been nothing and not worth it. It's clear that if buying static memory at the flea market, Vasya, the Vasya wrung even for a lousy 537RU10 ten thousand, although its capacity is just a couple of kilobayt.Vasyu not care what This has already produced mikruha let10-15, he was a it buys ruble and twenty, but his worried that it goes well in the automatic number detectors, so He and wring their corresponding prices (I, By the way, remember the epic with the DACs K572PA1, I have for the first COVOX'a and SOUNDRIV'a bought for 400-500 rubles, and now stand at 5000 rubles each). What are the prospects of using in domestic Spectrum Static RAM ? First, the simplicity (multiplexers are eliminated). Secondly, we can very greatly accelerate prots.V Third, if someone will start producing ULA in one case (that I just categorically advise Zonov), then how do you computer for eight to ten chips while overclocked to fivefold the velocity of ordinary Spectrum? Now about the ROM and the HDD (most it concerns Zonov and his entire team) Use ROM for program memory? In my opinion, this idea mertvorozhdena. Let look at the mistakes Sinclair: If the Spectrum was able to connect the RAM instead of ROM, then firstly, you could have different versions of BASIC, but not the same with 1982 - just a programmer would clear - you should not use ROM for writing your own programs, because it can be changed. Secondly, would disappear all sorts of shady PZU.V Thirdly, we could effective use of team RST Z80 microprocessor and manages the most common the first mode, the interrupt Z80. Would opportunity to effectively change himself BASIC or a separate procedure. And most important, there would be an additional 16K of memory, if for BASIC programs are not required (which happens in 99. 99% of cases). As you can see, the benefits are much greater, and almost no drawbacks. I do so say quietly that it would be silent, if TRDOS would sit in RAM ... Of course, I understand that Sinclair was on ways to maximize reduction in price and in general was to investigate the fate of Speccy BASIC on it. On March 1982, even this configuration system seemed likely to wonder. But here Why to 1986godu Sinclair with the release of Spektrum128 leave everything as is, even aggravated situation, adding to the ROM is absolutely unnecessary 16K "Advanced BASIC" I still unclear. Much more he would have won, replacing the ROM page of RAM. It was enough to slightly modify the native firmware that, when it corresponded to the start page OZU.YA asked people how often they use BASIC-128, was that much easier to set, edit i.t.d old ROM 48.U My own computer with 128 Kb, but PZUshka has 16k, ie the Advanced BASIC at all. Moreover, In all my practice he told me not once needed. So actually there in our time expand ROM? In my opinion net.Luchshe save on ROM, but to expand the RAM. But this is topic for another discussion. Now, about HDD. The first remark-what a fool to cling to "screw" to the Spectrum? Yeah if the poor fellow found the money to buy the hard drive, then why he Spectrum? Either he Weirdo with a capital letter, or simply dunce. Much better to connect the hard drive to the computer AMIGA. <Notes from the Mystery: > Well, at the expense of the screw you, Lech, of course, too > Too bent than it should, because I myself > Going to tuck the screw on his Scorpion. > Maybe I dunce, and I can pervert with > Big letters, but I just want to work > Speccy a favorite with the convenience and, except > That, I just got tired of 'pull' wheels > On your diskoverte.Nu and if I have > Money on the screw, it does not mean > I have also have 400 bucks on 1200yu > Amigo (a 600yu I do not want). Then, perhaps, to write software offered to Mr Larchenko? Oh yeah! He just a wonderful programmer! Figured out all this nonsense with the RST 8 could, of course, but he is! By the way, the lion's share skorpovskih ills associated with this ill-fated RST 8! You can not just screw pull up, you can come up with for the Spectrum special coprocessor accelerator-based for example, "Nurse" IBM PC-286, or PC-386 who have long been cheaper boards of the same Scorpio-256. So I quietly and crept to the main-extension pamyati.Voobsche, the first thing you think, looking at the offspring of domestic developers - why so wisely? The impression is that way, Kojima proposed to manage all the additional memory, conceived as a time specifically for In order to programmers broke their heads. Why hold the memory management of two ports? I do understand that because much easier to build hardware computer, but never forget - Only the computer is good, all of whose its resources are useful for programmers! Otherwise, the memory can be a huge possibility, but using it will only a dumb-pretupoy quasidisc ... Okay, enough criticism, and now dreamed about things quite real ... I was wildly angry immutability of the memory card normal Speccy. If I could even thrust out ROM and have there memory page ... Why are there ROM! And how about this here Configuration: The standard Spectrum introduced a single port.Pri power, I have the most common Spectrum. Spectrum Spectrum as I can play, I can for my own pleasure flip through the port # FD: LD A, # 11 .. OUT (# FD), A ... and nothing ... But I flick the switch, I press reset ... I see a nice graphical menyu.Hm, I think, something like AMIGO. But I do not want to fall out back into SPECCY 128so all now included supervosmozhnostyami. I laden instead of idiotic TR-DOS my own disk storage systems. Why? Because now I do not have a standard TRDOSovskoy ROM, instead I have a page DOSMEMORY, which, of course, can work not only TRDOS, and any DOS. 512 kilobytes of memory allows me to organize cache, so all files are read literally blink of an eye. After listening through the amplifier remarkable Vaksonovskuyu muse on six channels (two AY-nikak.Eto as simply cool that Vakson introduced a standard two AY 'Ka in the form of port # DFFD and # 9FFD, and I immediately wrote FLASHTRACKER to 6 channels!) I started writing the next GIFTa.O! Now I just have powerful features! Now I do not suffer as before. Sometimes, conceived something, and come on mozgovat, how would to do so in the clearance # 5B00 # BFFF place and the code and graphics, as hunting with two videooblastyami all do. You show one screen, and the Know yourself, draw on the shadow! And most importantly, what did not blink! But as if I had done something? You can not I also used to be something to keep all the graphics and the codes on the pages! A tepericha can! Know just write in one of the four ports code of the desired page and please - here it is now here! Right now, Shove-ka I in the lower 16K page of code, because the programm Something I ooh and healthy, megakod said. And on the following items 16K vrublyu page with second screen is .. Oh! I remember happened before there pozhizni fifth page was so that she fail, and now - a miracle! I kerf What I Want! Well, here before, for example, there's always the second page stuck, and now I'm akkurat put here below, but I need a graphics page! I'll bet schedule ... Even though I fly on TURBO ... Oh, and now same time ekranchik skrollnut ... So ... software programmer port DMA, because not in vain in I I8237 here is, it is more than ten times faster than the CPU memory-memory forwards! Well, let Mother, scrolls itself, but I somehow give the processor more intelligent puzzle because he does my DMA and does not interfere! Large-headed man, my comp has designed! Here in fact thought of something, went and made the video memory with the processor at different mikruhah! Now the processor and 8237 at each other and do not interfere! And then I want to clear the screen - please do the same 8237 I do and do it! What? Oh, you're interested in, how is it so The usual DMA ekranchik something skrolnut? So I tell you - my comp is not a fool designed and large-headed little man! He is a and provided that it was possible to screen all over again to make a line, line upon line, and not as in Sinclair, where the addresses of three bits swapped places! Here I am such a small screen, and then turned to me there is enough port-click and voila! I like this mode, oh love it! screen size is the same but as it is convenient to work with him! And the DMA can podpryach! ransheto And what about this crooked small screen? And did. No, still muzhichek, that I designed my wheelbarrow positively impressed, because think-ka, was the most Spectrum usual, all bored, and now Super Spectrum! And I like this idea podpryach available DMA channel, and even small output of one channel eight-bit samples! After all, before a play in igrulku, and she Know yourself muzprotsessorom whistles! A Now if DMA is not busy, so its the sound of vpryagayut! Now is a floor and some rugnetsya and vizgnet and pisknet! And then there's six channels AY muse! To hear them directly ... Lepota! And all of this, most importantly, managed through a single-byte porticos something! As, say it all using traditional Spekkito available? Duc I'll flick their cherished portico something, and I'll do everything including .. I have that, click over again, and everything back to normal comes in both! And mind you, I do not need no shitty dandy with her crappy video processor and its shitty muzprotsessorom on Channel 4! Now I can make fun of them abruptly, there are different igrushechki Laba, but for me you see, lads around sovochku be pulled! After all, we are cool now - with such access to memory, but with the DMA, so with the TURBO-processor, we their igrushechki yes demonstrashechki one kadrik pack that two fingers obostsat ... So what! :) But who would have the Spectrum would be did ... Generally speaking, this is only the first I think suschuyu fiction telling! Let's look at ATM TURBO. Machine, directly say, a solid idiocy. To hell, they ask, to make additional color screens enormous capacity? Indeed, at this resolution frequency of the ULA to RAM is greatly increased! Not only do the poor have to handle the Z80 screen four times greater capacity, so in addition it also "Choke" because of the increased frequency of visits ULA.Ponyatno that the speed of the screen, is the most important indicator of household computer falls into a few times! When This, mind you, not even one implemented video mode, but three! (If not more). In addition, the palette is arranged, the controller PCKEYBOARD, DAC, ADC, etc. In principle, the same thing from "PROFI-palette screen, hardware watches, etc. > Well, keybordy-a matter of taste (not to rot as they > On fucking pisyukah). In principle, I am for them > I'm also a TsAP'y, ATsP'shki clock, but is equivalent to> wound - it was too, what I'm with you > Totally agree. Another thing, if > They are not 'killed' precious time ... Do not you think that my, so to speak, evaluation, compared with twists ATM-TURBO and PROFI, modest? But there is one huge difference: if more sophisticated of these computers, to put it mildly, malofunktsionalny, my speculation gadgets would acquire Spectrum indeed power! Vain, that this have a couple dozen chips so smart head, but spare time! From the Editor: Yes, I wanted us to continue thinking on this topic in the next issue, but SPRINTER appeared with all its twists, most of which correspond to these thoughts, and in many ways superior to them! In principle, almost the entire FLASH interested the computer. So we will wait for it presentation ... And good luck to all the developers to iron Speccy, including firm Peters, Sergei Zonov and his entire team, Nemo ... Yes, one more thing ... Company Peters ... If you do Sprinter on his music map, and not put something wrong or SOUNDRIVE GENERAL SOUND, we advise you to do their emulation (including various COVOX'ov)!
Other articles:
Similar articles:
В этот день... 3 December