ports

ZXNet echo conference «code.zx»

From Oleg Sazonov To All 22 November 1998

Greetings, All! I would like to know what ports they are #1f,#3f,#5f,#7f, which IMHO are used in one device. These ports are spied from one game in 1987, but what are they there for? :-/ All the best, All. E-mail: Oleg_Sazonov.sp0007@zxnet.spb.ru Write letters...

From Aleksandr Majorov To Oleg Sazonov 25 November 1998

Hayushki, Oleg! Once in morning 24-11-98 14:32:43 somebody Oleg Sazonov has written to Aleksandr Majorov about 'ports'. [ ] OS>>> #1f,#3f,#5f,#7f, which are used IMHO OS>>> in one device. These ports I [ ] AM>> Although, if I’m not mistaken, 580BB55 was connected to such ports [ ] OS> I have doubts that this was used for this purpose :-/ OS> there is a suspicion that this is for multiface (or whatever it is called?) look at it for yourself: ============================================================================ More or less standard Spectrums worked with the following ports: Address │ Write │ Read ───────┼──────────────────────────── ──┼───────────────────────────────── NN FF │ 4 : SO - Sound │ 6 : TI - Tape Reading │ 3 : TO - Record to tape │ 4 : | │ 2 : G - Green. | │ 3 : | │ 1 : R - Red. } BORDER │ 2 : } Keyboard data │ 0 : B - Syn. | │ 1 : | (the row is set by clearing the bit │ │ 0 : | in the high byte of the address) ───────┼──────────────────────────── ──┴───────────────────────────────── XX FB │ ZX Printer Port ───────┼──────────────────────────── ──┬─────────────────────────────────XX 1F │ │ 4 : Fire | │ │ 3 : Up | │ │ 2 : Down } kempston │ │ 1 : Left | │ │ 0 : Right | ───────┼──────────────────────────── ──┼───────────────────────────────── XX 3F │ │ 0 : Light pen ═══════╪════════════════════════════ ══╪═════════════════════════════════ 7F FD │ System port version 128K │ │ 5: port blocking │ │ 4: ROM 48K/-128K │ │ 3: screen │ │ 7 pages / - 5 pages │ │ 2 : | │ │ 1 : } RAM page number │ │ 0 : | │ ───────┼──────────────────────────── ──┼───────────────────────────────── FF FD │ Select register number AY │ Read from register AY (in some cases ───────┼──────────────────────────────┤ on the Spectrum the address of this port BF FD │ Write to register AY │ changed from FFFD to BFFD) ═══════╪════════════════════════════ ══╧═════════════════════════════════ │ Interface 1 XX EF │ Control │ Status XX E7 │ DATA XX F7 │ RS-232/NETWORK═══════╪════════════════════════════ ═════════════════════════════════════ │ TR-DOS XX FF │ Control │ Status │ 6 : -DDEN │ 7 : INTR │ 4 : -SIDE │ 6 : DRQ │ 3 : -HLT │ │ 2 : -RES │ │ 1 : | │ │ 0 : } drive number │ ───────┼──────────────────────────── ──┼────────────────────────────────── XX 1F │ Command │ Status XX 3F │ Track XX 5F │ Sector XX 7F │ Data ═══════╧════════════════════════════ ═════════════════════════════════════ When running TR-DOS, it is necessary to block ports whose addresses match give with VG93 ports and allow the operation of the drive controller ports. This the task is performed by a special signal generated by the controller, which is also sent turns on the new ROMs and turns on the TR-DOS ROM (or changes one of the address ROM signals, if these codes are in a large-capacity common ROM). Interface 2 simulates connecting the contacts of two joysticks in parallel similar to the number keys. The AY-3-8910 circuit contains 15 registers for the following purposes: register │ use bits │ purpose ─────────┼─────────────────┼ ────────────────────────────0 │ 7 6 5 4 3 2 1 0 │ exactly Tone divider in 1 │ 3 2 1 0 │ rough channel A ─────────┼─────────────────┼ ──────────────────────────── 2 │ 7 6 5 4 3 2 1 0 │ exactly Tone divider in 3 │ 3 2 1 0 │ rough channel B ─────────┼─────────────────┼ ──────────────────────────── 4 │ 7 6 5 4 3 2 1 0 │ exactly Tone divider in 5 │ 3 2 1 0 │ rough channel C ─────────┼─────────────────┼ ──────────────────────────── 6 │ 4 3 2 1 0 │ Noise height ─────────┼─────────────────┼ ──────────────────────────── 7 │ 7 6 5 4 3 2 1 0 │ Control register │ │ 7: -parallel input/output. port A │ │ 6: -parallel input/output. port B │ │ 5 : noise in C │ │ 4 : noise in B │ │ 3 : noise in A │ │ 2: tone in C │ │ 1 : tone in B │ │ 0 : tone in A ─────────┼─────────────────┼ ───────────┬──────────────── 8 │ 4 3 2 1 0 │ Level in │ 4: The amplitude is determined by the general │ │ channel A │ envelope generator ─────────┼────────── ───────┼───────────┤ 9 │ 4 3 2 1 0 │ Level in │ 3 : | │ │ channel B │ 2 : } Volume level─────────┼────────── ───────┼───────────┤ 1 : | 10 │ 4 3 2 1 0 │ Level in │ 0 : | │ │ channel C │ ─────────┼─────────────────┼ ───────────┴──────────────── 11 │ 7 6 5 4 3 2 1 0 │ exactly Period 12 │ 7 6 5 4 3 2 1 0 │ roughly envelope ─────────┼─────────────────┼ ──────────────────────────── 13 │ 3 2 1 0 │ Form 0...3.9 _____ │ │ bend - 4...7.15 /|____ │ │ 8 |||\n │ │ and her 10 ///\n │ │ launch 11 | │ │ 12 /|/|/|/ │ │ 13 / │ │ 14 //// ─────────┼─────────────────┼ ───────────────────────────── 14 │ 7 6 5 4 3 2 1 0 │ Parallel port A ─────────┼─────────────────┼ ───────────────────────────── 15 │ 7 6 5 4 3 2 1 0 │ Parallel port B ─────────┴─────────────────┴ ───────────────────────────── All registers can be both written and read; circuit AY-3-8912 is distinguished The only problem is the lack of parallel port B. The input frequency before being fed to the programmable dividers is pre- but is divisible by 16. ============================================================================ as you can see something is wrong... Well that's it *MAS* with a sledgehammer