Previous 199869 Revisions Next

r26515 Friday 6th December, 2013 at 02:35:55 UTC by R. Belmont
(MESS) itt3030: start adding to the skeleton. [rfka01, R. Belmont]
[src/lib]lib.mak
[src/lib/formats]itt3030_dsk.c* itt3030_dsk.h*
[src/mess/drivers]itt3030.c

trunk/src/lib/formats/itt3030_dsk.c
r0r26515
1// license:BSD-3-Clause
2// copyright-holders:Olivier Galibert
3/*********************************************************************
4
5    formats/itt3030_dsk.c
6
7    ITT3030 560K disk image format
8
9 
10
11*********************************************************************/
12
13#include "emu.h"
14#include "formats/itt3030_dsk.h"
15
16itt3030_format::itt3030_format() : wd177x_format(formats)
17{
18}
19
20const char *itt3030_format::name() const
21{
22   return "itt3030";
23}
24
25const char *itt3030_format::description() const
26{
27   return "ITT3030 disk image";
28}
29
30const char *itt3030_format::extensions() const
31{
32   return "dsk";
33}
34
35// gap info is a total guess
36const itt3030_format::format itt3030_format::formats[] = {
37   {   /*  5,25" DS DD 70 tracks 16 SPT 256 bytes/sector */
38      floppy_image::FF_525,  floppy_image::DSDD, floppy_image::MFM,
39      2000, 16, 70, 2, 256, {}, 1, {}, 32, 22, 31
40   },
41   {}
42};
43
44
45
46const floppy_format_type FLOPPY_ITT3030_FORMAT = &floppy_image_format_creator<itt3030_format>;
47
Property changes on: trunk/src/lib/formats/itt3030_dsk.c
Added: svn:eol-style
   + native
Added: svn:mime-type
   + text/plain
trunk/src/lib/formats/itt3030_dsk.h
r0r26515
1/*********************************************************************
2
3    formats/itt3030_dsk.h
4
5    ITT3030 disk image format
6
7*********************************************************************/
8
9#ifndef ITT3030_DSK_H_
10#define ITT3030_DSK_H_
11
12#include "wd177x_dsk.h"
13
14class itt3030_format : public wd177x_format {
15public:
16   itt3030_format();
17
18   virtual const char *name() const;
19   virtual const char *description() const;
20   virtual const char *extensions() const;
21
22private:
23   static const format formats[];
24};
25
26
27extern const floppy_format_type FLOPPY_ITT3030_FORMAT;
28
29#endif
Property changes on: trunk/src/lib/formats/itt3030_dsk.h
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/lib/lib.mak
r26514r26515
204204   $(LIBOBJ)/formats/z80ne_dsk.o   \
205205   $(LIBOBJ)/formats/zx81_p.o      \
206206   $(LIBOBJ)/formats/hxcmfm_dsk.o  \
207   $(LIBOBJ)/formats/itt3030_dsk.o \
207208
208209$(OBJ)/libformats.a: $(FORMATSOBJS)
209210
trunk/src/mess/drivers/itt3030.c
r26514r26515
22
33    ITT 3030
44
5   
6   ToDo:
7   - Check Beeper
8   - hook up keyboard
9   - According to the manual, the keyboard is based on a 8278 ... it's nowhere to be found. The keyboard / video card has a 8741 instead of which a ROM dump exists
10   - memory map
11   - serial port
12   - daisy chain
13   - ...
14   
15
16   CPU Board, all ICs shown:
17   
18   |-----------------------------------------------------------------|
19   |                                                                 |
20   |    74LS640N            Z80_Combo            74LS138N              |
21   |                                                     74LS00N   |
22   |    74LS240N                               74LS74AN              |
23   |                                                       74LS00N   |
24   |C   74LS240N          Z80_CPU              74LS240N             C|
25   |N                                                      74LS74AN N|
26   |1   74LS241N                               74LS240N             2|
27   |                      ROM_1      74LS20N               74LS38N   |
28    |    74LS240N                               74LS240N             |
29   |                                 74LS04N               74LS02N   |
30   |    74LS138N                               74LS74AN              |
31   |                                                       74LS175N  |
32   |    75154N        74LS156N                 74LS00N               |
33   |                                                       74LS123N  |
34   |    75150P 75150P 74LS175N   X1  74LS00N   74LS132N              |
35   |-----------------------------------------------------------------|     
36   
37   Z80_Combo:   Mostek MK3886 Z80 Combo Chip, Serial, Timer, 256 bytes RAM, Interrupt Controller
38   Z80_CPU:   Zilog Z80A CPU
39   ROM_1:      NEC D2716D marked "BOOTV1.2"
40   X1:         Crystal 4,194 MHz
41   CN1:      Bus Connector
42   CN2:      Memory Board Connector
43   
44----------------------------------------------------------------------------------
45   
46   Video / Keyboard Combination board, all ICs shown:
47   
48   |-----------------------------------------------------------------|
49   |                                                                 |
50   |         X1     74276N      MCU_1                  74LS85N       |
51   |                                                                 |
52   |    74LS138N    74LS240                            74LS240N      |
53   |                            75LS257AN  74LS166AN                 |
54   |    74LS08N     74LS85N                            74LS241N      |
55   |                            75LS257AN  ROM_1                    C|
56   |    74LS132N    74LS32N                            74LS240N     N|
57   |                            75LS257AN                           1|
58   |    74LS10N     74LS08N                            74LS240N      |
59   |                            75LS257AN  RAM_1                     |
60   |    74LS163AN   74LS173AN                          74LS374N      |
61   |                                                                 |
62   |    74LS86N     74LS240N                           74LS640N      |
63   |                            Video_1                              |
64   |    74LS74AN    74LS240N                           74LS640N      |
65   |-----------------------------------------------------------------|
66   
67   X1:      Crystal 6 MHz
68   MCU_1:   NEC D8741AD marked "V1.1 3030"
69   ROM_1:   MBM 2716 marked "GB 136-0"
70   RAM_1:  NEC D4016D
71   Video_1   Video-IC SND5027E, compatible with TMS9927
72
73----------------------------------------------------------------------------------
74   
75   Floppy Controller board, all ICs shown
76
77   |-----------------------------------------------------------------|
78   |                                                                 |
79    |  X1   74LS51N    F    74LS74AN   74LS02N        MC4044P         |
80    |                  D                        567                   |
81    |     74LS04N      C    74LS00N    74LS01N  :::   MC4024P         |
82   |                                                                 |
83   |   74LS00N        1    74LS74AN   74LS74AN       74LS14N        C|
84    |                  7                                             N|
85    |  74LS240N        9    74LS161N   74LS393N   74LS74AN           1|
86    |                  1                                              |
87    |   74LS132N            74LS14N    74LS14N    74LS374N            |
88    |                                                                 |
89    |    74LS123N   74LS04N  74LS163N   74LS14N    74LS241N           |
90    |                                                                 |
91    |     74LS393N   74LS138  74LS175N   74LS85N    74LS645N          |
92   |                                                                 |
93   |-----------------------------------------------------------------|
94   
95   X1:      Crystal 8 MHz
96   FDC:   Siemens SAB1791-02P
97   567:   Jumper Pad (emtpy)
98
99----------------------------------------------------------------------------------
100   
101   256K RAM board, all ICs shown:
102   
103   |-----------------------------------------------------------------|
104   |                                                                 |
105   |   HM4864P   HM4864P   HM4864P   HM4864P       74LS245N          |
106   |                                                                 |
107   |   HM4864P   HM4864P   HM4864P   HM4864P       P     74LS14N     |
108   |                                               R                 |
109   |   HM4864P   HM4864P   HM4864P   HM4864P       M     74LS00N     |
110   |                                                                C|
111   |   HM4864P   HM4864P   HM4864P   HM4864P       AM         A     N|
112   |                                               29         M     1|
113   |   HM4864P   HM4864P   HM4864P   HM4864P       66         2      |
114   |                                               PC         9      |
115   |   HM4864P   HM4864P   HM4864P   HM4864P                  6      |
116   |                                               AM         4      |
117   |   HM4864P   HM4864P   HM4864P   HM4864P       29         8      |
118   |                                               66         P      |
119   |   HM4864P   HM4864P   HM4864P   HM4864P       PC         C      |
120   |                                                      SN7474N    |
121   |-----------------------------------------------------------------|   
122   
123   PRM:    N82S129F 1K Bipolar PROM
124           AM2966PC: Octal Dynamic Memory Drivers with Three-State Outputs
125         AM29648PC
126   CN1:   Connector to CN2 of Z80 CPU card
127   
128----------------------------------------------------------------------------------
129   
130   Parallel I/O board, all ICs shown:
131   
132   |-------------------------------------|                                                                 |
133   |                                     |
134   |  74   74                            |
135   |  LS   LS        Z80A PIO            |
136   |  00   14                            |
137   |   N    N                            |
138   |                                     |
139   |                                     |
140   |  74   74        74   74   D4   74   |
141   |  LS   LS        LS   LS   I3   LS   |
142   |  13   14        24   85   P2   64   |
143   |  2N    N        1N    N    1   0N   |
144   |                                     |
145    |             CN1                     |
146   |                                     |
147   |             74LS00N                 |
148   |-------------------------------------|   
149
150   CN1: Bus connector
151   DIP: 4x DIP current setting: off-on-on-off, sets the address for the parallel port
152   
153----------------------------------------------------------------------------------
154
155Beeper Circuit, all ICs shown:
156
157   |---------------------------|                                                                 |
158   |                           |
159   |   BEEP       74LS132N     |
160   | R1                        |
161    |              74LS14N      |
162    |                           |
163    |   74LS132N   74LS193N     |
164   |                           |
165   |   74LS74AN   74LS165N     |
166   |            CN1            |
167   |---------------------------|
168   
169   CN1: Connector to mainboard
170   R1:  looks like a potentiometer
171   BEEP: Beeper ... touted in the manual as "Hupe" ... i.e. "horn" :)
172   
173----------------------------------------------------------------------------------
174   
175   Other boards and extensions mentioned in the manual:
176   - S100 bus adapter board
177   - IEEE 488 bus adapter board
178   - 64K memory board
179   - 8086 CPU board
180   - external harddisk
181   - TV adapter B/W (TV, Save/Load from Audio Cassette) with PROM/RAM/BASIC-Module with 16K or 32K RAM
182   - TV adapter color with connection to Video / Keyboard combination card
183   - Monitor adapters B/W and color
184   - Video / Keyboard interface 2 with grayscale, 8 colors, loadable character set, blinking
185   - Graphics Adapter with 16 colours, hi-res 512x256 pixels
186   - RTC
187   - Arithmetics chip
188 
5189***************************************************************************/
6190
7191
8192#include "emu.h"
9193#include "cpu/z80/z80.h"
194#include "machine/wd_fdc.h"
195#include "machine/bankdev.h"
196#include "formats/itt3030_dsk.h"
197#include "video/tms9927.h"         //Display hardware
198#include "sound/beep.h"
199#include "cpu/mcs48/mcs48.h"      //Keyboard MCU ... talks to the 8278 on the keyboard circuit
10200
11#define MAIN_CLOCK XTAL_8MHz
12201
202#define MAIN_CLOCK XTAL_4.194MHz
203
13204class itt3030_state : public driver_device
14205{
15206public:
16207   itt3030_state(const machine_config &mconfig, device_type type, const char *tag)
17      : driver_device(mconfig, type, tag),
18         m_maincpu(*this, "maincpu")
208      : driver_device(mconfig, type, tag)
209      , m_maincpu(*this, "maincpu")
210      , m_crtc(*this, "crt5027")
211      , m_fdc (*this, "fdc")
212      , m_floppy0(*this, "fdc:0")
213      , m_floppy1(*this, "fdc:1")
214      , m_beep(*this, "beeper")
19215   { }
20216
21217   // devices
22218   required_device<cpu_device> m_maincpu;
219   required_device<crt5027_device> m_crtc;
220   required_device<fd1791_t> m_fdc;
221   required_device<floppy_connector> m_floppy0;
222   required_device<floppy_connector> m_floppy1;
223   required_device<beep_device> m_beep;
23224
24225   // screen updates
25226   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
r26514r26515
32233   virtual void video_start();
33234public:
34235
35   DECLARE_READ8_MEMBER(unk1_r);
236   DECLARE_READ8_MEMBER(vsync_r);
36237   DECLARE_READ8_MEMBER(unk2_r);
238   DECLARE_WRITE8_MEMBER( beep_w );
239   DECLARE_FLOPPY_FORMATS(itt3030_floppy_formats);
37240private:
38241   UINT8 m_unk;
242   floppy_image_device *m_floppy;
243   
39244};
40245
41246void itt3030_state::video_start()
r26514r26515
43248   m_unk = 0x80;
44249}
45250
46READ8_MEMBER(itt3030_state::unk1_r)
251READ8_MEMBER(itt3030_state::vsync_r)
47252{
48   UINT8 ret = m_unk;
49   m_unk ^= 0x80;
50   return ret;
253   return machine().primary_screen->vblank() ? 0x80 : 0;
51254}
52255
53256READ8_MEMBER(itt3030_state::unk2_r)
r26514r26515
55258   return 0x40;
56259}
57260
261WRITE8_MEMBER( itt3030_state::beep_w )
262{
263   m_beep->set_state(data&0x32);
264}
265
58266UINT32 itt3030_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
59267{
60268   address_space &space = m_maincpu->space(AS_PROGRAM);
r26514r26515
72280}
73281
74282static ADDRESS_MAP_START( itt3030_map, AS_PROGRAM, 8, itt3030_state )
75   AM_RANGE(0x0000, 0x07ff) AM_ROM
76   AM_RANGE(0x0800, 0xffff) AM_RAM
283   AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION("maincpu", 0)
284   AM_RANGE(0x0800, 0x0fff) AM_ROM AM_REGION("maincpu", 0)
285   AM_RANGE(0x1000, 0xffff) AM_RAM
77286ADDRESS_MAP_END
78287
79288
80289static ADDRESS_MAP_START( itt3030_io, AS_IO, 8, itt3030_state )
81290   ADDRESS_MAP_GLOBAL_MASK(0xff)
82   AM_RANGE(0x0031, 0x0031) AM_READ(unk2_r)
83   AM_RANGE(0x0035, 0x0035) AM_READ(unk1_r)
291   AM_RANGE(0x20, 0x26) AM_DEVREADWRITE("crt5027", crt5027_device, read, write)
292   AM_RANGE(0x31, 0x31) AM_READ(unk2_r)
293   AM_RANGE(0x32, 0x32) AM_WRITE(beep_w)
294   AM_RANGE(0x35, 0x35) AM_READ(vsync_r)
295   AM_RANGE(0x50, 0x55) AM_DEVREADWRITE("fdc", fd1791_t, read, write)
296   
84297ADDRESS_MAP_END
85298
86299static INPUT_PORTS_START( itt3030 )
r26514r26515
111324{
112325}
113326
327FLOPPY_FORMATS_MEMBER( itt3030_state::itt3030_floppy_formats )
328  FLOPPY_ITT3030_FORMAT
329FLOPPY_FORMATS_END
330
331
332static SLOT_INTERFACE_START( itt3030_floppies )
333   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
334SLOT_INTERFACE_END
335
336
337static struct tms9927_interface crtc_intf =
338{
339   16,      // pixels per video memory address
340   NULL   // "self-load data"?
341};
342
114343static MACHINE_CONFIG_START( itt3030, itt3030_state )
115344
116345   /* basic machine hardware */
r26514r26515
121350   /* video hardware */
122351   MCFG_SCREEN_ADD("screen", RASTER)
123352   MCFG_SCREEN_REFRESH_RATE(60)
124   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
353   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(250))
125354   MCFG_SCREEN_UPDATE_DRIVER(itt3030_state, screen_update)
126355   MCFG_SCREEN_SIZE(80*8, 24*16)
127356   MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*16-1)
357   
358   /* devices */
359   MCFG_DEVICE_ADD("crt5027", CRT5027, XTAL_6MHz)
360   MCFG_DEVICE_CONFIG(crtc_intf)
361   MCFG_FD1791x_ADD("fdc", XTAL_20MHz / 20)
362   MCFG_WD_FDC_FORCE_READY
363   MCFG_FLOPPY_DRIVE_ADD("fdc:0", itt3030_floppies, "525dd", itt3030_state::itt3030_floppy_formats)
364   MCFG_FLOPPY_DRIVE_ADD("fdc:1", itt3030_floppies, "525dd", itt3030_state::itt3030_floppy_formats)
128365
129366   MCFG_GFXDECODE(itt3030)
130367
r26514r26515
132369   MCFG_PALETTE_INIT_OVERRIDE(driver_device, black_and_white)
133370
134371   /* sound hardware */
135   MCFG_SPEAKER_STANDARD_MONO("mono")
372   MCFG_SPEAKER_STANDARD_MONO( "mono" )
373   MCFG_SOUND_ADD( "beeper", BEEP, 0 )
374   MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.00 )
375   
136376MACHINE_CONFIG_END
137377
138378

Previous 199869 Revisions Next


© 1997-2024 The MAME Team