DonNews #17
30 апреля 2002 |
|
Bugs! - a different glitch assembler XAS'a. "Iron" glitches: the keyboard port, kempston joystick'a, music processor cache on the Pentagon, disk drives.
(C) 2oo2 Disabler / DPL About the bugs and not only ... Hayushki, people! Today, you will tell about the different Gluck XAS'a, and so is the "iron" glitches. `Bugs XAS'a From the very first version that I got, and it was Version 3. XXX, and to the latest - 9.10 there is one interesting bug: if you type the following: ORG # 6000 LAB1 SUB A NOP LAB2 SUB A; <- comment required NOP LAB3 NOP NOP And then assembliruem, go to the STS, click and watch SS +5 metochki ... Here he pops up! # 6000 LAB1 SUB A # 6001 NOP # 6002 LAB2 SUB A # 6003 NOP # 6004 NOP # 6005 LAB3 NOP Thus it turns out that the XAS believes that the first team SUB has a length of one byte, and the second command SUB has a long two bytes. However, the second team (and first) is length one byte, and as a consequence of this shift table tags. ----> TRIP! Let's go on. Another glitch XAS'a is that Download the text in the page memory in which there was kakoylibo garbage, if this size of the text ends at the end sector there is a glitch: XAS incorrectly puts token end text and tries to turn "trash" in their text and in the best the case is discharged. ----> TRIP! Now about "iron" bug: `Gluck keyboard port: When reading from the keyboard port (# fe) the seventh and fifth bits should be equal to unity. At the Pentagon, this is so, but in some homemade products from the port reads zeros. Because of this, not work PT2.1 and Digital Studio. `Gluck kempston joystick'a: When properly connected, the leading three bits are zero. In pentagon, they often are equal to unity. By the way, test kj need for less than five bits. If they are all equal to zero, then it is. In this case, kj oprashivatsya by mask # 1f. The layout of the port is as follows: bit function 0 right 1 left 2 down 3 up 4 fire May cancel * 6 --- 7 --- * This feature is something like the right mouse button. But I've seen its implementation only "Taganrog"! `Gluck muses. Processor: Occurs when checking for processor type, ie, AY or YM. Verification is done by reading from a nonexistent Port MP If read from port # ff, we have YM, if not # Ff - AY. So, there is a brake circuit which is not quite so. Usually test looks like this: ld bc, # fffd ld a, # 10 out (c), a in a, (c) cpl jr z, ym ay ... ret ym ... ret But strangely enough it does not work. Brake wiring diagram lm no time to switch from writing to reading as a result of port is read as "rubbish". What would all need a little work change the test: ... out (c), a nop; <- in a, (c) ... Incidentally, this is due to the fact that registers with the number more # 0f are vstroenooy memory MP, which is exactly 1kb, and access to it through the signals: a8, no a9, bc2. `Gluck cache on the Pentagon: If the cache is enabled and there is a write to port address is less than # 4000 (16384), then the concurrent entry into the port and the cache. This bug occurs because of the lack of signal MREQ, ie it does not involved in decoding the cache ... `Gluck 3.5" drive: At 3.5 "drive or the index signal is always in high status, or comes with a delay, ie first untwisted disk, and then, after some time go index pulses. This occurs because the sensor is not optical and magnetic. `Two Gluck drives 5.25" (5313): Sometimes the drive without the disk produces a signal of readiness to work and Some Commanderie to blue in the face trying to read it. Second bug: if a situation arises: Given a command position, and then, immediately, the team records the sector and this sector is directly under the head of the drive - the sector is killed! Can be avoided in two ways: 1.Posle positioning vypolmit team CPU "halt"; 2.Formatirovat drive LagTrack <> 0. This, here, glitches!
Other articles:
Similar articles:
В этот день... 21 November