bells and whistles

ZXNet echo conference «code.zx»

From 812/17.09 To Aleksandr Majorov 12 January 1998

11-01-98 at 03:18 Aleksandr Majorov wrote to Sergej Pou- gachev on the topic of "bells and whistles". Hello, Alexander! AM> everything is elementary! AM> by command CAT/LIST Tyr-dos reads the 8th sector AM> into a buffer for analysis. before these it saves AM> return address on the stack, which is "completely random" AM> is located not far from the buffer... Nonsense. The stack has nothing to do with it. Startup occurs during practice virtually any value of the stack. So as not to engage in verbiage I provide an extract containing an explanation of this launch method disk. "... 1. Any operation to view or change information disk mation entails preliminary reading of the 8th sec. tora. 2. If the 8th sector is formatted, say, 512 bytes, then these 512 bytes are regularly counted into memory independently from the fact that a buffer of only 256 bytes was released. 3. The buffer is reserved from address #5d25. 257 bytes not only the area of BASIC is shifting, but also the area of information tion about channels, located in front of the BASIC area. ..." [in my opinion on 256] Well, accordingly, the data of the 8th sector is formed in such a way that addresses of print procedures contained in the area of change channels We contacted the launch address of our program from the 8th sector. Afterreading tyr-dos will try to print something and thus we will launch the program. I once did this myself, so it’s been tested practice. AM> Everything else is simple... As you can see, it's not like that... P.S. I re-read it before posting and decided to add: For example, we need the percent to jump to the ADDR address, then The 8th sector should be formed like this... Structure of the 8th sector: DS 256 ;What you put here is your business. DW ADDR ;address to go to DW ADDR ;repeat 10-15 times to be sure DW ADDR; who knows what procedure DW ADDR ;he's impatient to call ..... DS XXX ;XXX depends on the sector length and may ;contain any information. Best regards, Aleksandr With best wishes, Ruiner. -+- Shoo-Edit v6.06

From 812/00.00 To Oleg Grigoriev 12 January 1998

12-01-98 at 03:34 Oleg Grigoriev wrote to Aleksandr Majorov on the topic of "bells and whistles". Hello Oleg! [...] AM>> by command CAT/LIST Tyr-dos reads the 8th sector AM>> into a buffer for analysis. before these it saves AM>> return address on the stack, which is "completely random" AM>> is located not far from the buffer... OG> Nonsense. The stack has nothing to do with it. The launch occurs during practical operation. [..] OG> would be the addresses of the print procedures contained in the area of the change channels OG> came to the launch address of our program from the 8th sector. After OG> reading tyr-dos will try to print something and thus sa- [...] Print you say? How do you explain that commands are intercepted? LOAD, RUN, SAVE, which don’t seem to print anything? [....] OG> Structure of the 8th sector: OG> DS 256 ;What you put here is your business. OG> DW ADDR ;address to go to OG> DW ADDR ;repeat 10-15 times for reliability OG> DW ADDR ;who knows what procedure OG> DW ADDR ;he will be impatient to call tell me, do you always write programs like this? knows where the process will go... After all, programming is... hmm... an exact science ;-))) percent works the same, and the interception address is the same... OG> With best wishes, Ruiner. Best regards, Aleksandr PS. this information was thrown into .zx by someone a long time ago, everything was explained... -+- handles [left and right]

From 812/17.09 To Aleksandr Majorov 13 January 1998

12-01-98 at 18:47:46 Aleksandr Majorov wrote to Oleg Gri- goriev on the topic of "bells and whistles". Hello, Aleksandr! AM> Print you say? Stack you say? Enter BASIC, set the stack to 60000 and give in tyr-dose some command. It won’t hit the stack and, based on your words, nothing will start. _At your place_. AM> How do you explain that commands are intercepted AM> LOAD, RUN, SAVE, which do not seem to print anything? What does "Disk error" mean? I just don’t remember how the tyr-board will react if it’s 231 bytes (number of sectors per track) will be #10. On the other hand On the other hand, I have never seen this situation on purpose beat. And check the break yourself. [skipped] AM> tell me, do you always write programs like this? No, I think first and then write. AM> ...write LD HL,12345, repeat 10...15 times, who is it I repeated exactly 10 (this was a year and a half ago, so maybe not 10;) ) times and everything worked perfectly, with Mednonogov in the CV it is repeated 14 times, so this number is not critical. AM> knows where the interest will go... Of course, this is exactly how it should be written. For example, I set the stack in my programs as follows: way: LD A,R LD L,A HALT LD A,R AND #3FADD A,#40 LD H,A LDSP,HL This, you know, greatly promotes the production of adrenaline in the body. ganism. AM> finally programming is... hmm... an exact science ;-))) That's exactly what hmm...;-) Exact science is physics, and prog- Framing isn't even a science ;) AM> the processor works the same, and the interception address is the same... Theoretically yes, but in practice it’s better to play it safe. :) AM> Best regards, Aleksandr AM> AM> PS. this information was thrown into .zx by someone a long time ago AM> everything was explained... I've been online since mid-October, but I don't read .zx regularly. You I'd rather try it myself. ;) With best wishes, Ruiner. -+- Shoo-Edit v6.06

From 812/17.09 To Ivan Mak 16 January 1998

14-01-98 at 08:38:08 Ivan Mak wrote to Aleksandr Majorov on the topic of "bells and whistles". Hello Ivan! AM>> Print you say? AM>> How do you explain that commands are intercepted AM>> LOAD, RUN, SAVE, which don’t seem to print anything? IM> In the channel information there are addresses of input routines. My guess Mas tricked me and I decided to thoroughly clarify for myself this situation. As it turned out, everything is very simple. Start address channel areas with active buffer tr-dos #5e27 and not #5e25. Accordingly, the address should be located at this address (if only my literature teacher could hear me :) ) transition. Sa- The address of the output subroutine is stored first in the channel area. yes to the service screen. Namely, this is where tr-dos tries to print "Disk error". Still, Mas was right about something - one thing is enough of the transition address. IM> these can also be used. TR-DOS will check the keystrokes in these tr-dos itself checks keystrokes very rarely, IMHO only in the case of "Retry, Abort, Ignore?". IM> commands to catch BREAK, for example. The tyr-dos breakpoint catches directly, not through channels, but by calling procedure #1f54 of the main ROM. IM> Although, perhaps I’m wrong.Anything can happen... Maybe I'm wrong about something... IM> ░▒▓██ Sincerely, Ivan. ██▓▒░ With best wishes, Ruiner. -+- Shoot-Edit v6.06