Turbo mode and all...

ZXNet echo conference «code.zx»

From 812/09.03 To All 11 July 1997

Hi all!!! ---------------------- I decided not to join any market, but develop another topic (possibly) asking the question: So, I have Scorp., I do it myself programming and this one arose question - how to switch programmatically Turbo mode (momentary button)? I heard (or rather read) that 7 MHz and on the contrary, it switches somewhere in TR-DOS addresses, is that true? This is such nonsense! :) And another small question(?), who knows what? about HDD from a programmer's point of view, i.e. how to determine presence or vice versa and etc. etc. Otherwise Zonov and Larchenko would attack ru, they’ll create something, and then take it apart - what and how and where ;-))) ... Somewhere around the stations my three are walking programs: SPRIT1.3 (cutting sprites from any screen file); PIRAT1.0 (to view files for fonts, pictures, sprites, the latter can be placed click on the picture and edit in any editor or here, and then insert back); F.EDIT (editor fonts 8*8.16*8.16*16, there is a RAM disk and possibility of created characters in build something in a special window and write it down as a sprite like this :) ). There is a description for the first two, and for the last there are no ice creams, I was too lazy to write (it’s before it was an army!), please check out the program and lather the answer, and also tell me is it necessary to send a description of F.EDIT to echo, or maybe send the programs themselves in fahu, if yes, then how to do it? So, wash the answers and reviews(Still interesting! :-) ). All the best, bye!!!!!! :)

From 812/03.08 To Cherniavskiy Yakov 14 July 1997

Hello to you Cherniavskiy!!! One hot summer evening, like 07/11/97, exactly at 21:08 Cherniavskiy Yakov wrote to All on the topic 'Turbo mo- de and all... ': CY> Hello everyone!!! CY> ---------------------- Great!!! [missed somewhere] CY> question - how to switch programmatically CY> Turbo mode (momentary button)? CY> I heard (or rather read) that 7 MHz and CY> on the contrary switches somewhere in TR-DOS CY> addresses, is this true? This is such nonsense! :) In short, leave TR-DOS alone, the easiest way is switch the turbo with a read command from the port IN, you do: ld bc,#1ffd - TURBO OFF in a,(c) ld bc,#7ffd - TURBO ON in a,(c) Isn't it true, it's much more convenient :) CY> And another small question(?), who knows what CY> about HDD from a programmer's point of view, i.e. But I can’t tell you anything about this... gu, haven’t seen it yet (no screw) [missed somewhere] CY> All the best, bye!!!!!! :) With best wishes, Dmitry.

From Michael Kondratyev To Yakov Cherniavskiy 23 July 1997

Hello Yakov! Sun Jul 20 1997, Yakov Cherniavskiy concocted a letter to Michael Kondratyev: MK>> Hello Cherniavskiy! YC> Hello, hello, but it’s strange for me YC> there is a name...But thanks for responding! :) the name must be written where the name is. MK>> everything you need is written in the accompanying brochure (chapter 4 "new MK>> subroutines of the shadow service monitor (rst 8) for working with MK>> peripheral controller smuc") YC> The situation is such that I need a trace. given- YC> new: I/O port addresses for the HDD controller YC> and it is desirable (even mandatory, otherwise YC> the devil will break his leg... :) ) something like YC> instructions for their use are as follows YC> things... :) Anyone who knows what, please respond! It is necessary YC> very much! :) as moa said (and I completely and completely agree with him) - “it’s better not to go there climb." firstly, you will do it about ten times slower than from tm; secondly, think a hundred times - whether you can and most importantly - _why_. and, in general, I don’t mind the address: =========== Cut and save =========== ;constants, addresses, bits of the SMUC controller;General ============================================== ICSaddr equ 0bah ; .1011.1010 ;base address of the IBM control solution and CMOS IBMrr equ 0ffh ;1111.1111 ;controller address HDBaddr equ 0beh ; .1011.1110 ;hard disk base address ;HDD ================================================== HDLData equ 0f8h ;1111.1000 ;ml. data register byte HDHData equ 0d8h ;1101.1000 ;st. data register byte HDErr equ 0f9h ;1111.1001 ;error resolution HDScCn equ 0fah ;1111.1010 ;sector counter size HDScNb equ 0fbh ;1111.1011 ;sector size HDClLw equ 0fch ;1111.1100 ;cylinder size ml. HDClHg equ 0fdh ;1111.1101 ;cylinder size st. HDDrHd equ 0feh ;1111.1110 ;Disk size & heads HDSts equ 0ffh ;1111.1111 ;status resolution HDCmd equ 0ffh ;1111.1111 ;order of commands HDASts equ 0feh ;1111.1110 ;alternative status register (in CS3) HDdcr equ 0feh ;1111.1110 ;rr control (in CS3) RESDRV equ 00000001b ;hard drive & IBM slot reset bit CS1 equ 10000000b ;port selection bit CS1 CS3 equ 10000000b ;CS3 port selection bit CMOSADDR equ 10000000b ; CMOS address size CMOSDATA equ 10000000b ; CMOS data size INTHDbt equ 7 ;HDD “interrupt” bit number (in IBMslot) === Cut === At the address ffba there is a service register in which for recording D0 reset hdd and ibm/slot D1 bit A7 for ibm/slot D2 interrupt signal broadcast enable D3 digit A8 for ibm/slot D4 should be 1 D5 should be 1D6 should be 1 (that's all nvram) D7 controls the multiplexer of some addresses with 1 in D7 at address FxBE, CS2 is selected on the hdd-interface. === Cut === 78feh (0xx1.1xxx 111x.x110) ibm slot 7ebeh (0111.1110 1011.1110) A0=0 for 8259 7fbeh (0111.1111 1011.1110) A0=1 for 8259 f8beh (1111.1xxx 1011.1110) hdd ffbah (1111.1111 1011.1010) control p-p dfbah (1101.1111 1011.1010) cmos =========== Cut and save =========== With best wishes, Michael.