~ubuntu-branches/ubuntu/raring/mame/raring-proposed

« back to all changes in this revision

Viewing changes to mess/src/mess/includes/osi.h

  • Committer: Package Import Robot
  • Author(s): Jordi Mallach, Jordi Mallach, Emmanuel Kasper
  • Date: 2011-12-19 22:56:27 UTC
  • mfrom: (0.1.2)
  • Revision ID: package-import@ubuntu.com-20111219225627-ub5oga1oys4ogqzm
Tags: 0.144-1
[ Jordi Mallach ]
* Fix syntax errors in DEP5 copyright file (lintian).
* Use a versioned copyright Format specification field.
* Update Vcs-* URLs.
* Move transitional packages to the new metapackages section, and make
  them priority extra.
* Remove references to GNU/Linux and MESS sources from copyright.
* Add build variables for s390x.
* Use .xz tarballs as it cuts 4MB for the upstream sources.
* Add nplayers.ini as a patch. Update copyright file to add CC-BY-SA-3.0.

[ Emmanuel Kasper ]
* New upstream release. Closes: #651538.
* Add Free Desktop compliant png icons of various sizes taken from
  the hydroxygen iconset
* Mess is now built from a new source package, to avoid possible source
  incompatibilities between mame and the mess overlay.
* Mame-tools are not built from the mame source package anymore, but
  from the mess source package

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#pragma once
2
 
 
3
 
#ifndef __OSI__
4
 
#define __OSI__
5
 
 
6
 
#define ADDRESS_MAP_MODERN
7
 
 
8
 
#include "emu.h"
9
 
#include "cpu/m6502/m6502.h"
10
 
#include "formats/basicdsk.h"
11
 
#include "imagedev/cassette.h"
12
 
#include "imagedev/flopdrv.h"
13
 
#include "machine/6850acia.h"
14
 
#include "machine/6821pia.h"
15
 
#include "machine/ram.h"
16
 
#include "sound/discrete.h"
17
 
#include "sound/beep.h"
18
 
 
19
 
#define SCREEN_TAG              "screen"
20
 
#define M6502_TAG               "m6502"
21
 
#define DISCRETE_TAG    "discrete"
22
 
 
23
 
#define X1                      3932160
24
 
#define UK101_X1        XTAL_8MHz
25
 
 
26
 
#define OSI600_VIDEORAM_SIZE    0x400
27
 
#define OSI630_COLORRAM_SIZE    0x400
28
 
 
29
 
class sb2m600_state : public driver_device
30
 
{
31
 
public:
32
 
        sb2m600_state(const machine_config &mconfig, device_type type, const char *tag)
33
 
                : driver_device(mconfig, type, tag),
34
 
                  m_maincpu(*this, M6502_TAG),
35
 
                  m_cassette(*this, CASSETTE_TAG),
36
 
                  m_discrete(*this, DISCRETE_TAG),
37
 
                  m_ram(*this, RAM_TAG)
38
 
        { }
39
 
 
40
 
        required_device<cpu_device> m_maincpu;
41
 
        required_device<cassette_image_device> m_cassette;
42
 
        optional_device<device_t> m_discrete;
43
 
        required_device<device_t> m_ram;
44
 
 
45
 
        virtual void machine_start();
46
 
 
47
 
        virtual void video_start();
48
 
        virtual bool screen_update(screen_device &screen, bitmap_t &bitmap, const rectangle &cliprect);
49
 
 
50
 
        DECLARE_READ8_MEMBER( keyboard_r );
51
 
        DECLARE_WRITE8_MEMBER( keyboard_w );
52
 
        DECLARE_WRITE8_MEMBER( ctrl_w );
53
 
        DECLARE_READ_LINE_MEMBER( cassette_rx );
54
 
        DECLARE_WRITE_LINE_MEMBER( cassette_tx );
55
 
 
56
 
        /* keyboard state */
57
 
        UINT8 m_keylatch;
58
 
 
59
 
        /* video state */
60
 
        int m_32;
61
 
        int m_coloren;
62
 
        UINT8 *m_video_ram;
63
 
        UINT8 *m_color_ram;
64
 
 
65
 
        /* floppy state */
66
 
        int m_fdc_index;
67
 
};
68
 
 
69
 
class c1p_state : public sb2m600_state
70
 
{
71
 
public:
72
 
        c1p_state(const machine_config &mconfig, device_type type, const char *tag)
73
 
                : sb2m600_state(mconfig, type, tag),
74
 
                  m_beep(*this, BEEPER_TAG)
75
 
        { }
76
 
 
77
 
        required_device<device_t> m_beep;
78
 
 
79
 
        virtual void machine_start();
80
 
 
81
 
        DECLARE_WRITE8_MEMBER( osi630_ctrl_w );
82
 
        DECLARE_WRITE8_MEMBER( osi630_sound_w );
83
 
};
84
 
 
85
 
class c1pmf_state : public c1p_state
86
 
{
87
 
public:
88
 
        c1pmf_state(const machine_config &mconfig, device_type type, const char *tag)
89
 
                : c1p_state(mconfig, type, tag),
90
 
                  m_floppy(*this, FLOPPY_0)
91
 
        { }
92
 
 
93
 
        required_device<device_t> m_floppy;
94
 
 
95
 
        virtual void machine_start();
96
 
 
97
 
        DECLARE_READ8_MEMBER( osi470_pia_pa_r );
98
 
        DECLARE_WRITE8_MEMBER( osi470_pia_pa_w );
99
 
        DECLARE_WRITE8_MEMBER( osi470_pia_pb_w );
100
 
        DECLARE_WRITE_LINE_MEMBER( osi470_pia_cb2_w );
101
 
};
102
 
 
103
 
class uk101_state : public sb2m600_state
104
 
{
105
 
public:
106
 
        uk101_state(const machine_config &mconfig, device_type type, const char *tag)
107
 
                : sb2m600_state(mconfig, type, tag)
108
 
        { }
109
 
 
110
 
        virtual bool screen_update(screen_device &screen, bitmap_t &bitmap, const rectangle &cliprect);
111
 
 
112
 
        DECLARE_WRITE8_MEMBER( keyboard_w );
113
 
};
114
 
 
115
 
/* ---------- defined in video/osi.c ---------- */
116
 
 
117
 
MACHINE_CONFIG_EXTERN( osi600_video );
118
 
MACHINE_CONFIG_EXTERN( uk101_video );
119
 
MACHINE_CONFIG_EXTERN( osi630_video );
120
 
 
121
 
#endif