vTR-DOS for Pentagon1024SL

ZXNet echo conference «hardware.zx»

From deathsoft To All 29 January 2007

Hello, boo_boo Branded documentation from WD for the fd179x (VG93) controller. File: wd-fd179x-ds.djvu.rar http://zx.pk.ru/attachment.php?attachmentid=4505

From Alexander Solodkov To All 29 January 2007

Hello, All Started writing vTR-DOS for Pentagon1024SL + NEMO_IDE In the process I came across some ambiguities 1. Where can I read about methods for executing Beta-Disk commands? (direct programming without TR-DOS) Type: a) Send a sector write command to port #1F b) Check something (such and such bit is write protection) c) We are waiting for something (I don’t know exactly, maybe we need to wait for some bit of something) d) We are waiting for this (DRQ data request - where #ff or #1f is read from or you can from any) d) Throw a byte into the data port e) decrease the counter, if not zero, go to d) f) ... something else etc... 2. Interested in time delays on signals (or even better, time diagrams signals) That is phrase: For each DRQ request, it is necessary to write the next one in the reg.data byte. - How many seconds (or better yet, cycles between adjacent DRQ requests)??? After how many cycles does the index mark repeat?

From Stanislav Lomakin To All 29 January 2007

Hello, TmK see attachment File: vg93.zip http://zx.pk.ru/attachment.php?attachmentid=4504

From Alexey Zhabin To All 1 February 2007

Hello, The Exploited The> does the glitch really creep into memory independently of trdos?? It formats the RAM disk, and for different sizes. Apparently this is done without the involvement of TR-DOS. If you need more detailed information, please you need to look in the description, source code, or ask questions to Dmitry Bystrov.

From Alexey Zhabin To All 1 February 2007

Hello, TmK TmK> 1) What is the RAM disk format for Gluk, KAY and ATM??? TmK> 2) According to information about the Pentagon: you need to know the number of ROM pages TmK> is involved in the circuit and how it is switched. 1. I can’t say anything about the RAM disk format in KAY and ATM, in Gluk-e and in TR-DOS 6.10e RAM disk format, if I'm not mistaken, as in TR-DOS 5.12 and TR-DOS 6.05, but inverted, i.e. grows from top to bottom. In the attached archive Gluk 6.3 along with sources and descriptions (taken from the site http://alonecoder.narod.ru), You can look there in more detail, or even better, ask Alco if will be required. 2. Regarding ROM pages. All pages are included. Those pages where there are basic48, basic128, TR-DOS, they switch in the standard way, but the start occurs from the additional page (where Gluk is located). Those. after reset-a, an additional ROM page is turned on, which is turned off automatically when retrieving an operation code outside the ROM (i.e. if you make a CALL or something similar to an address older than 16384), after which switching ROM pages no different from the regular Spectrum-128. For vTRDOS needs, you can use either the Basic128 page or the additional page. starnitsa, but I don’t really want to exclude Gluk, because... it has a built-in commander, disk doctor and many additional features. Using the glitch you can format the RAM disk andwork with it, so it is advisable to keep the existing RAM disk format. File: Gluk63.rar http://zx.pk.ru/attachment.php?attachmentid=4523

From Maxim Anatolyevich Timonin To All 1 February 2007

Hello KingOfEvil Kin> It formats a RAM disk, and for different sizes. Judging by Kin> everything, this is done without the involvement of TR-DOS. If you need more Kin> detailed information, then you need to look for it in the description, sources, or Kin> ask questions to Dmitry Bystrov. I doubt that he will get into all the pages. For "virtual" formatting it is enough to clear and initialize only the zero track - directory area and system sector. And this is a maximum of 4Kb in one single page. Regarding the issue of compatibility, the issue is easily resolved by replaceable page tables. A 640Kb disk requires a table of only 40 bytes. Accordingly, there will be one sign at the Pentagon, and another at the ATM. More precisely, she it's already there. And at the same time it can be changed as desired. That is, with large If you wish, you can configure the RAM disk to the glitch standard.

From Alexander Solodkov To All 1 February 2007

Hello KingOfEvil Kin> It formats a RAM disk, and for different sizes 1) It’s just the different volume in the case of using images that didn’t give up on us. Because The trd disk will always have 40 pages (640K), and the scl will be converted to trd with the read only flag. 2) To be honest, I have never seen Gluck and I don’t understand what use it can have carry for vTRdos??? Although if necessary, it’s not a problem, but the problem is that The NEW firmware should start first, at the first start create your own variables, define IDE parameters, etc. So another problem arises - how to make friends with Gluck??? 3) As long as you have the sources, changing the format of the disk frames is not a problem!!! So on At this stage, I’ll think better about the accuracy of dos’a emulation because first of all he I needed it so that on DiHalt I don’t have to worry about floppy disks, but quickly slip images into TRDOS :-) That is. it is necessary that all sorts of im2+music loaders worked like on a real trdos!!! 2acidrain; Naturally; 3584000 tackts/sec is just a typo Next question: How to protect the RAM disk from attacks by programs??? Option 1) use the corresponding bit of the additional port, limiting memory 128k Option 2) More advanced. When reading/writing a sector, we check the integrity ram disk With this implementation, there are 10,000 free cycles available perwhich need to be checked. Naturally, the checksum disappears - too long... Does anyone have any suggestions?

From Dmitry Vasilievich Terentyev To All 1 February 2007

Hello, Maksagor Why do you need RAM-disk compatibility with ATM, what does it give? In my opinion this is gives nothing.

From Alexey Zhabin To All 1 February 2007

Hello, TmK TmK> 1) That’s just the different volume in the case of using images, we don’t care TmK> didn’t give up. TmK> Because. trd disk will always be 40 pages (640K), and scl will be TmK> is converted to trd with the read only flag. TmK> 2) Honestly, I have never seen Gluck and I don’t understand what use it is TmK> can carry vTRdos??? Although if necessary, it’s not a problem, but TmK> the problem is that the NEW firmware should start first, when TmK> the first start, create your own variables, define IDE parameters and TmK> etc. So another problem arises - how is it with Glitch TmK> make friends??? TmK> This is not a question for me, but for AlCo. As for the benefit of the glitch - if vTRdos is in in its entirety will be no less convenient to use than a glitch, then the need for the glitch disappears. Then the customizer can be placed in the additional page of the ROM and the TRD download program. TmK> Next question: TmK> How to protect the RAM disk from attacks by programs??? TmK> option 1) use the corresponding bit of the additional port TmK> limiting memory to 128kTmK> TmK> Option 2) More advanced. When reading/writing a sector, we check TmK> integrity of the RAM disk. With this implementation there are free ones available TmK> 10000 cycles for which it is necessary to check. Naturally control TmK> the amount is missing - too long... Who has any suggestions? The first option has already been implemented in Pentagon-1024SL 2.x. As for the second, you can read the checksum not over all bytes, but through one (2, 3, ...). Of course, the probability of error increases, but still remains quite acceptable. Besides, no one bothers you to use both options simultaneously, and the first one is already implemented in hardware.

From Alexander Solodkov To All 2 February 2007

Hello KingOfEvil OPTION 1 is not very convenient in the sense that there is more than 128k of free memory. Although for my needs >>first of all, I needed it so that I wouldn’t have to worry about floppy disks on DiHalt >>and quickly slip TRDOS images with demos-) This is quite enough, but there are people who want to code in real life at 128K - it’s convenient, if you place asm and sts in higher pages (and I think a lot more -> magazines, games, ASMA, graph editors...) - here they either hope that everyone OK!!! and ask for verification, or use option 2 >>As for the second, it is not possible to calculate the checksum for all >>bytes, and after one Write the procedure and count how many cycles it will consume!!!!!!!!!!!!!!!!!!!!!!!!!!! (don’t forget!!!!! for example, when recording, we checked CR - it worked, we write the file, again We count CR!!! - i.e. almost a double operation!!!) As an option, a checksum with a step of 1024 bytes may be suitable or change the algorithm itself.

From acidrain To All 2 February 2007

Hello, TmK TmK> 2acidrain; Naturally; 3584000 tackts/sec - just a typo Yep, typo. But this is only part of the problem, just a typo, but there is also a swear word part - quartz in the Pentagon is EXACTLY 14 MHz, which means cycles per second EXACTLY 3,500,000 (three and a half mullions)! and the frame rate there is not 50Hz but a little less (because there are not 312 but 320 lines). =))) (thanks, buddy (thank you, friend got it ;))))

From Dmitry Vasilievich Terentyev To All 2 February 2007

Hello, TmK Considering that most programs usually occupy memory pages from the beginning (from addresses #c000) then you can only check the integrity at the beginning of the page.

From Pavel Fedin To All 2 February 2007

Hello, TmK TmK> That is. it is necessary for all sorts of im2+music loaders to work as on TmK> real trdos!!! They can work better and faster than on a real TRDOS. The point is that for When working with a RAM disk, there is no need to disable interrupts at all. And between readings Any amount of time can pass by the next bytes from the disk.

From Alexander Solodkov To All 3 February 2007

Hello Sonic Son> They can work better and faster than on a real TRDOS And think about how then, for example, the same Refresh will look??? There's reading video from disk... In general, of course, ideally you would need to enter the variable Real disk speed [yes/no].

From Alexey Zhabin To All 3 February 2007

Hello, Maksagor > I doubt that he will get into all the pages. Did I say that he gets into all the pages? I just said what he does this is without the help of TR-DOS.

From Pavel Fedin To All 6 February 2007

Hello, TmK TmK> And guess how then, for example, the same Refresh will look??? TmK> There is reading video from the disk... TmK> In general, of course, ideally you will need to enter the variable Real disk speed TmK> [yes/no]. What's the point? Is frame output synchronized with reading sectors from disk? That is, the next sector is the next frame? However, I did not mean this, but the fact that the loss can be excluded in principle data. The delay between issuing DRQ can be left, just to eliminate the loss (not issue the next DRQ even after a delay if the byte has not yet been read).