de:infotecnica:joycesoftspec
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| de:infotecnica:joycesoftspec [2026/05/17 07:56] – jesus | de:infotecnica:joycesoftspec [2026/05/17 08:04] (actual) – jesus | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| ~~NOTOC~~ | ~~NOTOC~~ | ||
| - | ====== Amstrad " | ||
| - | Dokumentation von [[de:companias:Amstrad]], mit den Spezifikationen der Softwareschnittstelle des Amstrad PCW. | + | < |
| + | < | ||
| + | /* --- REFRESHED DOCUMENT MONITOR STYLE --- */ | ||
| + | .pcw-monitor-doc { | ||
| + | background-color: #000b00; | ||
| + | border: 12px solid #2a2a2a; | ||
| + | border-radius: | ||
| + | padding: 25px; | ||
| + | margin: 25px 0; | ||
| + | font-family: | ||
| + | position: relative; | ||
| + | overflow: hidden; | ||
| + | box-shadow: inset 0 0 60px rgba(0, | ||
| + | } | ||
| + | .pcw-monitor-doc:: | ||
| + | content: " "; | ||
| + | position: absolute; | ||
| + | top: 0; left: 0; bottom: 0; right: 0; | ||
| + | background: linear-gradient(rgba(18, | ||
| + | linear-gradient(90deg, | ||
| + | background-size: | ||
| + | z-index: 2; | ||
| + | pointer-events: | ||
| + | animation: flickering-doc 0.15s infinite; | ||
| + | } | ||
| + | |||
| + | @keyframes flickering-doc { 0% { opacity: 0.98; } 100% { opacity: 1; } } | ||
| + | |||
| + | .retro-text-doc { | ||
| + | color: #00ff00 !important; | ||
| + | font-family: | ||
| + | text-shadow: | ||
| + | text-transform: | ||
| + | letter-spacing: | ||
| + | text-decoration: | ||
| + | } | ||
| + | |||
| + | .pcw-title-doc { | ||
| + | font-size: 1.4em; | ||
| + | font-weight: | ||
| + | margin-bottom: | ||
| + | display: block; | ||
| + | line-height: | ||
| + | } | ||
| + | |||
| + | .pcw-title-doc:: | ||
| + | content: " | ||
| + | animation: cursor-blink-doc 1s infinite; | ||
| + | } | ||
| + | |||
| + | @keyframes cursor-blink-doc { 0%, 100% { opacity: 0; } 50% { opacity: 1; } } | ||
| + | |||
| + | .pcw-desc-doc { | ||
| + | color: #aaffaa; | ||
| + | line-height: | ||
| + | margin-bottom: | ||
| + | font-size: 1em; | ||
| + | } | ||
| + | |||
| + | /* Style override for DokuWiki native file container inside this layout */ | ||
| + | .pcw-monitor-doc div.dokuwiki pre.file { | ||
| + | background-color: | ||
| + | border: none !important; | ||
| + | color: #00ff00 !important; | ||
| + | font-family: | ||
| + | font-size: 1em !important; | ||
| + | padding: 0 !important; | ||
| + | margin: 0 !important; | ||
| + | text-shadow: | ||
| + | } | ||
| + | | ||
| + | .pcw-wiki-link-doc a { | ||
| + | color: #ffb000 !important; | ||
| + | text-shadow: | ||
| + | text-decoration: | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | Interne Dokumentation von <span class=" | ||
| + | </ | ||
| + | </ | ||
| < | < | ||
| | | ||
| Issue 9 9 July 1985 | Issue 9 9 July 1985 | ||
| + | |||
| | | ||
| (active low signals are shown as _< | (active low signals are shown as _< | ||
| | | ||
| + | |||
| 0 | 0 | ||
| - | ... (Inhalt gekürzt, siehe Originaldokument) | + | |
| + | 1) Zilog " | ||
| + | 2) NEC " | ||
| + | 3) AMSTRAD " | ||
| + | 4) AMSTRAD " | ||
| + | 5) AMSTRAD " | ||
| + | 6) AMSTRAD "JOYCE Expansion Port Interface Spec." | ||
| + | 7) | ||
| 1 | 1 | ||
| - | ... (Inhalt gekürzt, siehe Originaldokument) | + | |
| + | This document defines the interface presented to the Z80 software by | ||
| + | the Main Board hardware for the Amstrad " | ||
| + | |||
| + | The hardware design is based on the same architecture as the | ||
| + | AMSTRAD " | ||
| + | uses a monochrome display, and no sound facilities other than a | ||
| + | bleeper. | ||
| 2 | 2 | ||
| - | ... (Inhalt gekürzt, siehe Originaldokument) | + | |
| + | 2.1 | ||
| + | |||
| + | The processor is a Z80A-CPU running at a clock frequency of 4.00 | ||
| + | MHz (+/-0.1%). There is logic that stretches _MREQ cycles using | ||
| + | the processor _WAIT input during VDU accesses to the screen | ||
| + | memory; this is the same as for the CPC464, but note that, | ||
| + | unlike the CPC464, IORQ cycles are not stretched. | ||
| + | board hardware does not make use of the processor' | ||
| + | counter, hut expansion memory add-ons may use this feature. | ||
| + | |||
| + | 2.1.1 | ||
| + | |||
| + | The CPU may be interrupted on _NMI by requests from the floppy | ||
| + | disc controller, and on _INT by requests from the floppy disc | ||
| + | controller, the video timing controller and the external | ||
| + | expansion bus. Interrupts from the floppy disc controller to NMI | ||
| + | and INT may be separately enabled and disabled under software | ||
| + | control. | ||
| + | |||
| + | An interrupt for timing purposes is generated by the VDU | ||
| + | controller during every vertical | ||
| + | scan lines thereafter until the next frame flyback, giving a | ||
| + | timer period of 3.328 milliseconds for both 50Hz and 60Hz VDU | ||
| + | systems. | ||
| + | scans (128 microseconds) into the 26 scan (1664 microseconds) | ||
| + | frame flyback status signal. | ||
| + | immediately to these interrupts a readable hardware counter will | ||
| + | record up to 15 missed interrupts. The counter is cleared | ||
| + | automatically after reading. | ||
| + | |||
| + | 2.2 | ||
| + | |||
| + | 2.2.1 | ||
| + | |||
| + | There is no dedicated internal bootstrap ROM, but following a | ||
| + | reset the printer controller is selected by hardware to supply | ||
| + | the initial bootstrap program. | ||
| + | terminated by an i/O command contained within the bootstrap | ||
| + | program. | ||
| + | |||
| + | 2.2.2 RAM | ||
| + | |||
| + | There are up to 2 megabytes of main memory, divided into 128 | ||
| + | blocks of 16k each and designated blocks 0 to 127. In this | ||
| + | document, blocks 0 to 7 are referred to as " | ||
| + | blocks 8 to 127 are referred to as " | ||
| + | |||
| + | Any of the 128 memory blocks may be assigned to the four fixed | ||
| + | 16k banks in CPU-addressable memory space 0000h to FFFFh, under | ||
| + | software control; each 16k bank in CPU-addressable memory space | ||
| + | may be configured for Read/Write access in any one memory block, | ||
| + | except in the case of standard RAM where separate Read and Write | ||
| + | access to different blocks is possible. | ||
| + | separate Read and Write access and Read/Write access in standard | ||
| + | RAM blocks may be accomplished by a one byte I/O command. | ||
| + | |||
| + | There may be either 128k, 256k or 512k bytes of dynamic RAM | ||
| + | fitted internally, implemented as blocks 0 to 7, 0 to 15, or 0 | ||
| + | to 31 respectively. | ||
| + | on the expansion port up to a total system maximum of 2 | ||
| + | megabytes. | ||
| + | |||
| + | The standard RAM is used in addition to the CPU for the | ||
| + | monochrome VDU screen pixel memory, VDU scan line start address | ||
| + | table, and the keyboard matrix keysrate table. | ||
| + | |||
| + | 2.2.3 VDU screen memory | ||
| + | |||
| + | The monochrome pixel display controller uses up to 22.5k bytes | ||
| + | of the standard RAM as screen refresh memory. | ||
| + | pointer table in the standard RAM, relocatable to start on any | ||
| + | 512 byte boundary under software control of an I/O register, is | ||
| + | used to hold the memory start addresses of tne two hundred and | ||
| + | fifty-six, 90 byte horizontal scan lines. | ||
| + | |||
| + | The display memory for one scan line consists of 90 bytes, | ||
| + | starting at an address boundary for which A3 is 0. The VDU | ||
| + | controller increments the memory address by eight between | ||
| + | fetching bytes for display along the scan line; thus the pointer | ||
| + | table may be arranged so that eight-scan characters occupy | ||
| + | eight contiguous bytes in memory. | ||
| + | |||
| + | Each pair of bytes displayed contains sixteen, 1 bit pixels (P0 | ||
| + | to P15) ms follows:- | ||
| + | |||
| + | A3 Bit | ||
| + | == === | ||
| + | |||
| + | 0 | ||
| + | 0 | ||
| + | 0 | ||
| + | 0 | ||
| + | 0 | ||
| + | 0 | ||
| + | 0 | ||
| + | 0 | ||
| + | |||
| + | On normal video display, a ' | ||
| + | ' | ||
| + | the opposite is implied. | ||
| + | |||
| + | 2.2.4 | ||
| + | |||
| + | Since the maximum total amount of main memory is 2 megabytes, up | ||
| + | to 1,966,080 bytes of external expansion memory may be fitted on | ||
| + | the expansion port of a 128k standard system, with | ||
| + | correspondingly lower amounts for 256k and 512k systems. | ||
| + | external memory can be either RAM or EPROM. | ||
| + | specialist and test purposes external EPROMs can be added that | ||
| + | over-ride all other internal or external memory and the | ||
| + | bootstrap system. | ||
| + | |||
| + | 2.3 INPUT/ | ||
| + | |||
| + | The standard interfaces on the processor board occupy I/O | ||
| + | channels on the Z80 as follows:- | ||
| + | |||
| + | ADDRESS | ||
| + | ======= | ||
| + | |||
| + | 00h **Do Not Use** | ||
| + | 01h | ||
| + | |||
| + | 02h-7Fh | ||
| + | |||
| + | 80h-EFh | ||
| + | |||
| + | F0h | ||
| + | F1h | ||
| + | F2h | ||
| + | F3h | ||
| + | |||
| + | F4h Mem. Map R/W Control | ||
| + | |||
| + | F5h VDU Pointer Table Addr. **Do Not Use** | ||
| + | F6h VDU Pointer Top Scan **Do Not Use** | ||
| + | F7h VDU Video Control | ||
| + | |||
| + | F8h | ||
| + | F9h **Do Not Use** UART Status (Prototype) | ||
| + | |||
| + | FAh **No Effect** | ||
| + | FBh **No Effect** | ||
| + | |||
| + | FCh | ||
| + | FDh | ||
| + | |||
| + | FEh UART Data (Prototype) | ||
| + | FFh **Do Not Use** **Do Not Use** | ||
| + | |||
| + | Expansion port peripherals must decode their I/O addresses on A0 | ||
| + | to A7. Expansion port I/O channels in the address range E0h to | ||
| + | EFh are reserved as follows:- | ||
| + | |||
| + | ADDR. A0-A7 USE | ||
| + | =========== | ||
| + | |||
| + | |||
| + | E0h-E7h | ||
| + | E8h-EFh | ||
| + | |||
| + | |||
| + | 3 | ||
| + | |||
| + | Bit Input Use Output Use | ||
| + | === | ||
| + | |||
| + | D7 Undefined | ||
| + | D6 Frame Flyback Time **Reserved** (send 0) | ||
| + | D5 Disc Controller Interrupt | ||
| + | D4 50/_60Hz Frame Rate Option | ||
| + | D3 Undefined Function Code F3 | ||
| + | D2 Undefined Function Code F2 | ||
| + | D1 Undefined Function Code F1 | ||
| + | D0 Undefined | ||
| + | |||
| + | 3.1 INPUT STATUS | ||
| + | |||
| + | The frame flyback time signal lasts 1664 microseconds and ends | ||
| + | 1024 microseconds before the monitor starts displaying pixel | ||
| + | scans at the top of the screen. | ||
| + | |||
| + | The Disc Controller Interrupt Status is functional regardless of | ||
| + | whether the disc controller is enabled or disabled from causing | ||
| + | maskable or non-maskable interrupts. | ||
| + | |||
| + | On 60 Hz systems, operation is exactly the same as for 50 Hz | ||
| + | except that only the first 200 of the 256 scan lines are | ||
| + | displayed on the Screen. | ||
| + | |||
| + | 3.2 | ||
| + | |||
| + | Function Code bits F3 to F0 define which one of sixteen commands | ||
| + | is to be executed as follows:- | ||
| + | |||
| + | Command | ||
| + | ======= | ||
| + | |||
| + | 0 | ||
| + | 1 | ||
| + | 2 | ||
| + | 3 | ||
| + | 4 | ||
| + | 5 Set Disc Controller Terminal Count | ||
| + | 6 Clear Disc Controller Terminal Count | ||
| + | 7 Drive Video Output | ||
| + | 8 Float Video Output | ||
| + | 9 Disc Motor(s) On | ||
| + | 10 Disc Motor(s) Off | ||
| + | 11 Bleeper On | ||
| + | 12 Bleeper Off | ||
| + | 13-15 No Effect | ||
| + | |||
| + | Command 0 will terminate the bootstrap mode in which all | ||
| + | " | ||
| + | instead of the memory. | ||
| + | controller during bootstrap mode. | ||
| + | |||
| + | Command 1 will cause the hardware to generate an immediate | ||
| + | system reset and pulse the reset line on the expansion bus. | ||
| + | |||
| + | Command 2 will enable non-maskable interrupts from the Floppy | ||
| + | Disc Controller until Command 3 is issued to enable maskable | ||
| + | interrupts instead, or Command 4 is issued to disable all | ||
| + | interrupts from the Floppy Disc Controller, or until the first | ||
| + | non-maskable interrupt occurs. | ||
| + | Floppy Disc Controller Interrupts are disabled. | ||
| + | |||
| + | Command 5 will set the Floppy Disc Controller Terminal Count | ||
| + | input true (high) until Command 6 is issued to clear it. On | ||
| + | power-up and system reset Terminal Count is set true. | ||
| + | |||
| + | Command 8 will float the video output signal allowing video | ||
| + | information to be supplied externally via the expansion port, | ||
| + | until Command 7 is issued to return to internally driven video. | ||
| + | On power-up and system reset video will be driven internally. | ||
| + | |||
| + | Command 9 will switch the disc drive motor(s) on until Command | ||
| + | 10 is issued to switch the motor(s) off. On power-up and system | ||
| + | reset the disc motor(s) will De switched off. | ||
| + | |||
| + | Command 11 will switch on the built-in bleeper until Command 12 | ||
| + | is issued to switch it off. 0n power-up and system reset the | ||
| + | bleeper is switched off. | ||
| + | |||
| + | 4 TIMER INTERRUPT COUNTER INPUT CHANNEL | ||
| + | |||
| + | This channel may be read to 'catch up' in situations where | ||
| + | interrupts from the timer must not be missed, but cannot be | ||
| + | processed immediately because the operation in hand is too | ||
| + | important to be interrupted by the timer. | ||
| + | |||
| + | Bit Input Use | ||
| + | === | ||
| + | |||
| + | D7 Undefined | ||
| + | D6 Undefined | ||
| + | D5 Undefined | ||
| + | D4 Undefined | ||
| + | D3 Timer Interrupt Counter C3 | ||
| + | D2 Timer Interrupt Counter C2 | ||
| + | D1 Timer Interrupt Counter C1 | ||
| + | D0 Timer Interrupt Counter C0 | ||
| + | |||
| + | The timer interrupt count C3-C0 indicates the number of timer | ||
| + | interrupts that should have occurred since the counter was last | ||
| + | read; any bit set in the counter causes an interrupt to the CPU, | ||
| + | and the counter will never increment beyond a count of fifteen. | ||
| + | (NOTE! The counter is synchronized by two CPU instruction fetch | ||
| + | cycles (M1). If the M1 of a counter read command latches a new | ||
| + | pending timer interrupt, the counter will not at the time of the | ||
| + | read Operation have been incremented, | ||
| + | interrupt will be lost). On power-up and system reset the | ||
| + | counter is cleared. | ||
| + | |||
| + | 5 | ||
| + | |||
| + | This controls the built-in matrix printer as well as providing | ||
| + | the bootstrap program for the Z80 CPU. During bootstrap mode, | ||
| + | when all transfers are data (rather than status or command), no | ||
| + | data should be sent to the printer controller. | ||
| + | |||
| + | For further information see the specific printer controller | ||
| + | documentation (unavailable!). | ||
| + | |||
| + | 6 765 FLOPPY DISC CONTROLLER | ||
| + | |||
| + | The floppy disc controller supports one or two 3 inch single- or | ||
| + | double-sided double-density floppy disc drives with a data rate | ||
| + | of 250 kilobits per second. | ||
| + | |||
| + | The hardware system imposes the following restraints on the use | ||
| + | of the 765 controller and disc drives:- | ||
| + | |||
| + | A) The clock frequency of the 765 is fixed at 4.0 MHz. | ||
| + | |||
| + | B) There is no DMA implemented, | ||
| + | used to drive the _INT and _NMI inputs of the Z80 CPU. | ||
| + | |||
| + | C) Drive 0 is always present. | ||
| + | and 3 are not implemented and should never be accessed. | ||
| + | Drive 1 is accessed but not fitted, Drive Ready and Write | ||
| + | | ||
| + | 1 fitted and accessed with no disk inserted, Drive Ready | ||
| + | | ||
| + | Drive 1 is true. | ||
| + | |||
| + | D) The FAULT signal from the disc drive{s) to the 765 is forced | ||
| + | | ||
| + | |||
| + | E) The Two-Sided status signal from the drive(s) is not | ||
| + | | ||
| + | | ||
| + | |||
| + | F) No write precompensation is provided. | ||
| + | |||
| + | Control and sensing of disc controller interrupts, disc drive | ||
| + | motor control, and terminal count may be achieved by the use of | ||
| + | the System Control and Status I/O channel. | ||
| + | |||
| + | 7 VDU CONTROLLER | ||
| + | |||
| + | The VDU Controller provides a monochrome pixel display. | ||
| + | Hz frame rate, 256 scan lines are displayed, and at 60 Hz frame | ||
| + | rate, 200 scan lines are displayed. | ||
| + | pointers for scan line control allows rapid rolling and | ||
| + | scrolling of the display. | ||
| + | |||
| + | 7.1 VDU VIDEO CONTROL REGISTER | ||
| + | |||
| + | This write-only register is organised as follows:- | ||
| + | |||
| + | Bit | ||
| + | === | ||
| + | |||
| + | D7 Display Reverse Video | ||
| + | D6 Enable Video | ||
| + | D5 No Effect | ||
| + | D4 No Effect | ||
| + | D3 No Effect | ||
| + | D2 No Effect | ||
| + | D1 No Effect | ||
| + | D0 No Effect | ||
| + | |||
| + | Writing a 1 to bit D7 will switch the screen display into | ||
| + | reverse video, (in which each ' | ||
| + | ' | ||
| + | displayed ' | ||
| + | display back to normal video. On power-up and system reset | ||
| + | normal video will be selected. | ||
| + | |||
| + | Writing a 1 to bit D6 will enable the video until a 0 is written | ||
| + | to disable the video (when the screen will be blanked). | ||
| + | power-up and system reset the video will be disabled. | ||
| + | a ' | ||
| + | surrounding border are forced ' | ||
| + | |||
| + | 7.2 SCAN LINE POINTER TABLE | ||
| + | |||
| + | Two write-only registers are used to specify the address of the | ||
| + | scan line pointer table and the 2 byte entry to be used for the | ||
| + | top scan line of the pixel display. | ||
| + | |||
| + | 7.2.1 | ||
| + | |||
| + | Bit Output Use | ||
| + | === | ||
| + | |||
| + | D7 B2 | ||
| + | D6 B1 | ||
| + | D5 B0 | ||
| + | D4 A13 | ||
| + | D3 A12 | ||
| + | D2 A11 | ||
| + | D1 A10 | ||
| + | D0 A9 | ||
| + | |||
| + | B2 to B0 specify the number of the standard 16k memory block in | ||
| + | which the pointer table is to reside. | ||
| + | |||
| + | A13 to A9 specify which 512 byte section Of the block is to be | ||
| + | used. The pointer table occupies the whole 512 byte section. | ||
| + | |||
| + | To avoid unsightly effects on the screen this register should | ||
| + | only be updated during frame flyback time. | ||
| + | |||
| + | 7.2.2 | ||
| + | |||
| + | Bit | ||
| + | === | ||
| + | |||
| + | D7 A8 | ||
| + | D6 A7 | ||
| + | D5 A6 | ||
| + | D4 A5 | ||
| + | DB A4 | ||
| + | D2 A3 | ||
| + | D1 A2 | ||
| + | D0 A1 | ||
| + | |||
| + | A8 to A1 specify which 2 byte entry in the pointer table is to | ||
| + | be used for the top scan line. Entries for subsequent scan | ||
| + | lines follow in order, wrapping around at the end of the 512 | ||
| + | byte section of memory if the first entry is not for the first | ||
| + | scan line. | ||
| + | |||
| + | To avoid unsightly effects on the screen this register should | ||
| + | only be updated during frame flyback time. | ||
| + | |||
| + | 7.2.3 | ||
| + | |||
| + | The pointer table consists of 256 entries each of 2 bytes | ||
| + | interpreted by the VDU controller as follows:- | ||
| + | |||
| + | A0 Ý D7 D6 D5 D4 D3 D2 D1 D0 | ||
| + | ----+------------------------------------------------ | ||
| + | | ||
| + | | ||
| + | |||
| + | These two bytes define the position in standard RAM of the 90 | ||
| + | bytes of pixel information to be used for this scan line. LB2 | ||
| + | to LB0 specify the number of the standard 16k block containing | ||
| + | this information. | ||
| + | starting address within the block such that the first byte of | ||
| + | pixel information is at an address that is LP0-LP13 in bytes | ||
| + | from the beginning of the block. | ||
| + | byte boundary with A3 = 0 within the block. | ||
| + | |||
| + | To avoid unsightly effects on the screen the table should only | ||
| + | be updated during frame flyback time. | ||
| + | |||
| + | 8 | ||
| + | |||
| + | 8.1 | ||
| + | |||
| + | There are four memory mapping registers, one for each 16k bank | ||
| + | of CPU- addressable memory space. | ||
| + | define which of the eight standard 16k memory blocks is to be | ||
| + | used for read access and also which is to be used for write | ||
| + | access, or alternatively which of 120 possible expansion memory | ||
| + | blocks is to be used for read/write access:- | ||
| + | |||
| + | Bit Output Use | ||
| + | === ========== | ||
| + | |||
| + | D7 | ||
| + | D6 | ||
| + | D5 | ||
| + | D4 | ||
| + | |||
| + | D3 | ||
| + | D2 | ||
| + | D1 | ||
| + | D0 | ||
| + | |||
| + | Bits D6-D0 select standard memory blocks when a 0 is written to | ||
| + | D7 and an expansion memory block when a 1 is written to D7. | ||
| + | |||
| + | RB2-RB0 is the standard block to be used for read access. | ||
| + | WB2-WB0 is the standard block to be used for write access. | ||
| + | EX6-EX0 is the expansion block to be used for read/write access. | ||
| + | |||
| + | Expansion blocks 8 to 31, if present, may be fitted either | ||
| + | internally, or externally on the expansion port, whereas | ||
| + | expansion blocks 32 to 127, if present, are always fitted | ||
| + | externally. | ||
| + | consists of a number of contiguous memory blocks. | ||
| + | |||
| + | If an absent expansion block is selected, an internal block will | ||
| + | be accessed in its place for both read and write; which block | ||
| + | this is depends On the amount Of internal memory fitted as | ||
| + | follows:- | ||
| + | |||
| + | Internal Memory Size | ||
| + | ==================== | ||
| + | |||
| + | 128 k (Standard) | ||
| + | 256 k EX3-EX0 | ||
| + | 512 k EX4-EX0 | ||
| + | |||
| + | If an expansion block is selected in the range 0 to 7, the | ||
| + | corresponding standard block will be accessed for both read and | ||
| + | write. | ||
| + | |||
| + | The contents of the memory mapping registers are undefined on | ||
| + | power-up. | ||
| + | |||
| + | 8.2 | ||
| + | |||
| + | In addition to the memory mapping registers there is a | ||
| + | read/write control register which allows software to force the | ||
| + | same standard block to be used for read and write access without | ||
| + | changing the memory mapping register contents. | ||
| + | structured as follows:- | ||
| + | |||
| + | Bit Output use | ||
| + | === | ||
| + | |||
| + | D7 RW3 (CPU bank C000h to FFFFh) | ||
| + | D6 RW0 (CPU bank 0000h to 3FFFh) | ||
| + | D5 RW2 (CPU hank B000h to BFFFh) | ||
| + | D4 RW1 | ||
| + | D3 No effect | ||
| + | D2 No effect | ||
| + | D1 No effect | ||
| + | D0 No effect | ||
| + | |||
| + | If the RW bit for a particular memory address area is set to a 1 | ||
| + | then both read and write access occurs to the standard block | ||
| + | specified by the relevant WB2-WB0 block number, the RB2-RB0 | ||
| + | block number being ignored. | ||
| + | undefined on power-up. | ||
| + | |||
| + | |||
| + | 9 | ||
| + | |||
| + | Data from the keyboard is written automatically into a table | ||
| + | occupying the top sixteen bytes of block 3 of the standard RAM. | ||
| + | Further information on the format of these bytes can be found in | ||
| + | the keyboard controller documentation. | ||
| + | |||
| + | 10 IM6403 UART (ON PROTOTYPE SYSTEMS ONLY) | ||
| + | |||
| + | This device operates at 9600 baud with 8 bit serial data input | ||
| + | and output with no parity and one stop bit. Refer to the | ||
| + | manufacturer' | ||
| + | bits. | ||
| + | |||
| + | The status input channel is organised as follows:- | ||
| + | |||
| + | Bit Input Use | ||
| + | === | ||
| + | |||
| + | D7 DR | ||
| + | D6 PE | ||
| + | D5 FE | ||
| + | D4 OE | ||
| + | D3 Always 0 on prototype system. | ||
| + | D2 Not Switch SW1 Pressed | ||
| + | D1 TRE | ||
| + | D0 TBRE | ||
| + | |||
| + | |||
| + | === End " | ||
| </ | </ | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
de/infotecnica/joycesoftspec.1779004602.txt.gz · Última modificación: por jesus
