Previous 15994 Revisions Next

r9487 Sunday 31st October, 2010 at 16:32:05 UTC by Michael Zapf
Final fix, will be replaced by ti99/gromport
[src/mess/devices]ti99cart.c ti99cart.h

src/mess/devices/ti99cart.c
r9486r9487
66
77    Michael Zapf, 2009
88
9Console cartridge port
10
11    Vss  36||35  GND
12  ROMG*  34||33  Vss  ROMG* is low if addr in >6000-7FFF
13    WE*  32||31  GR   High = GROM ready
14     A4  30||29  -5V     
15     A5  28||27  GRC  GROMCLK (or CPUCLK) from the VDP 9918A
16     A6  26||25  DBIN
17     A3  24||23  A14
18     A7  22||21  GS*  Low if addr in >9800-9FFF
19     A8  20||19  +5V
20     A9  18||17  D0
21    A10  16||15  D1
22    A11  14||13  D2   
23    A12  12||11  D3
24    A13  10||9   D4
25 A15/OUT  8||7   D5
26   CRUIN  6||5   D6
27 CRUCLK*  4||3   D7
28     GND  2||1   RESET (Active high)
29
30 1  RESET   <   Resets the system (active high)
31    D0 ... D7:  Data bus (D0 = most significant bit)
32    A3 ... A15: Address bus (A15 shared with CRUOUT signal, A3 most significant)
33 4  CRUCLK* >   Inversion of TMS9900 CRUCLOCK pin
34 6  CRUIN   <   CRU input to TMS9900
3521  GS*     >   Grom select. Active low is addr in >9800-9FFF. Internal 2.2K pull-up to +5V.
3625  DBIN    >   Active high = read memory. Internal 3.3K pull-up to +5V
3727  GRC     >   GROM clock: 447.7 kHz signal from the VPD (or 3.5 MHz, jumper-selected). 1K pull-up to +5V.
3829  VDD         -5 Volts power supply
3931  GR      <   Active high = GROM ready. 4.7K pull-up. Masked by GS* in the console before it reaches the CPU.
4032  WE*     >   Active low = write enable (derived from TMS9900 WE*)
4133  VSS         Pseudo-ground (-0.72 V; purpose unclear)
4234  ROMG*   >   Active low if addr in >6000-7FFF
43
44Notes:
45
46* There is no RESET line from the console to the cartridges. The RESET line used
47  here is intended to reset the console when a cartridge is plugged in
48* The cartridge port's data bus must be connected to the 16/8 databus multiplex
49* GR is connected to the console's READY* line and is used by GROMs which are
50  comparably slow devices. During their processing time the main CPU is
51  suspended. (This is not yet implemented).
52* A3-A15 offer a space for 8 KiB ROM. The ROMG* line gets active (low) when
53  A0-A2 is 011 (bin), so we get addresses 0x6000 - 0x7fff.
54* Some cartridges use special circuitry which allows for more than 8 KiB by
55  switching banks.
56* A15 is shared with the CRUOUT line. During CRUCLK* being active, the line is
57  CRUOUT, else A15.
58* A15 is a constructed signal that is created by the 16/8 databus multiplexer.
59  The 9900 CPU only has a word-oriented addressing and does not offer an A15
60  line.
61
962*********************************************************************/
1063#include "emu.h"
1164#include "ti99cart.h"
1265#include "cartslot.h"
13#include "machine/ti99_4x.h"
1466#include "multcart.h"
1567
1668typedef int assmfct(running_device *);
r9486r9487
31493201
31503202/*
31513203    Writes to the GRAM space of the GRAM Kracker.
3204   FIXME: The real GK seems to not wrap at the GROM boundary (at least for
3205   writing). Also check for reading.
31523206*/
31533207static void cartridge_gram_kracker_writeg(running_device *cartsys, UINT8 data)
31543208{
src/mess/devices/ti99cart.h
r9486r9487
3535#define MDRV_TI99_CARTRIDGE_ADD(_tag) \
3636   MDRV_DEVICE_ADD(_tag, TI99_MULTICART, 0)
3737
38#define MDRV_TI99_GROMPORT_ADD(_tag, _databus, _crubus, _ready) \
39   MDRV_DEVICE_ADD(_tag, TI99_MULTICART, 0)
40
3841#endif /* __TI99CART_H__ */

Previous 15994 Revisions Next


© 1998-2018 The MESS Team