Cleanups and version bump

This commit is contained in:
Miodrag Milanovic 2014-11-26 10:37:58 +01:00
parent 18b8ce2f94
commit ebeaa953a3
211 changed files with 2856 additions and 2907 deletions

View File

@ -3,7 +3,7 @@
<softwarelist name="apfimag_cass" description="APF Imagination cassettes">
<!-- To load a tape, just start APF Imagination with the BASIC cart inserted, and type CLOAD followed by <Return>
<!-- To load a tape, just start APF Imagination with the BASIC cart inserted, and type CLOAD followed by <Return>
(by default mapped to your ']' key). Then start the tape from the Internal UI and press <Return>.
If you don't press <Return>, the system won't read the tape (this is fairly unusual but it's the way the system works)

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
<!--
TODO:
* document basic tapes when they are fixed!

View File

@ -187,7 +187,7 @@
</dataarea>
</part>
</software>
<software name="asteroida" cloneof="asteroid">
<description>Asteroids (Alt)</description>
<year>19??</year>

View File

@ -5,7 +5,7 @@
<softwarelist name="epson_cpm" description="Epson CPM systems floppy disks">
<!-- This disk is used to boot the intelligent TF-20 floppy drive -->
<!-- This disk is used to boot the intelligent TF-20 floppy drive -->
<software name="tf20boot">
<description>TF-20 boot disk</description>
@ -19,7 +19,7 @@
</part>
</software>
<!-- The following disks are part of the vfloppy distribution -->
<!-- The following disks are part of the vfloppy distribution -->
<software name="arcs">
<description>Archivers</description>

View File

@ -1,10 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
<!--
TODO:
* update to latest TOSEC (2014-10-31)
TODO:
* update to latest TOSEC (2014-10-31)
* add usage instructions
* check which games work and which don't and fix the supported flag accordingly
-->

View File

@ -41,7 +41,7 @@
<softwarelist name="leapster" description="LeapFrog Leapster cartridges">
<software name="findnemo" supported="no">
@ -65,7 +65,7 @@
</dataarea>
</part>
</software>
<software name="spdrman" supported="no">
<description>Spider-Man - Schachmatt den Schildersaboteuren! (German)</description>
<year>2003</year>
@ -98,7 +98,7 @@
</dataarea>
</part>
</software>
<software name="demo" supported="no">
<description>Demo - Herbst 2004 II (German)</description>
<year>2003</year>
@ -120,7 +120,7 @@
</dataarea>
</part>
</software>
<software name="disprinz" supported="no">
<description>Disney Prinzessinnen - Zauberhaftes Lernen (German)</description>
<year>2003</year>

View File

@ -1,11 +1,11 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
Cassettes that load with CHAIN cannot auto-start correctly.
Mount the BASIC-I cart first, then the cassette to load + run them.
Other tapes should auto-load and run.
<!--
Cassettes that load with CHAIN cannot auto-start correctly.
Mount the BASIC-I cart first, then the cassette to load + run them.
Other tapes should auto-load and run.
-->
<softwarelist name="m5_cass" description="Sord M5 cassettes">
@ -220,7 +220,7 @@
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<info name="usage" value="Mount together with &quot;BASIC-I&quot; and load with CHAIN"/>
<!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<!--<sharedfeat name="requirement" value="m5_cart:basici"/>-->
<part name="cass1" interface="m5_cass">
<dataarea name="cass" size="3278">

View File

@ -5,7 +5,7 @@
This software list collects disks from many different sources, including the 13GB pack with ~90 rar files floating around since 2011
Origin for many of the disks is Japanese BBS and/or P2P, so it is hard to properly credits whoever dumped them
A huge credit goes however to Tokugawa Boards people (Ben, pete_j, Starscream the 2nd, delicious, Ashura, fa123, kobushi, Trickless, etc.)
A huge credit goes however to Tokugawa Boards people (Ben, pete_j, Starscream the 2nd, delicious, Ashura, fa123, kobushi, Trickless, etc.)
for sharing and dumping a lot of disks and for the researches on the disks
-->
@ -46740,7 +46740,7 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
</dataarea>
</part>
</software>
<software name="paradox" supported="no">
<description>Paradox</description>
<year>19??</year>
@ -48823,7 +48823,7 @@ Requires MS-DOS 5.00H plus an unknown procedure (HDD install?)
<!--
<!--
Game Packs, hopefully to be replaced with real disk images of the single games eventually
@ -56883,7 +56883,7 @@ SPACE EMPIRE
<!--
<!--
Coverdisks
@ -57841,7 +57841,7 @@ SPACE EMPIRE
<!--
<!--
Game and Software Packs / Collections
@ -58323,7 +58323,7 @@ SPACE EMPIRE
</software>
<!--
<!--
Bio 100% Freeware software
@ -58622,10 +58622,10 @@ SPACE EMPIRE
</software>
<!--
<!--
VECTOR Freeware software
These were available for download at Vector's homepage
The disk images below have been created by users to launch the games in emulators
@ -62437,35 +62437,35 @@ Same as Police Quest 2 - Quest for Glory stand-alone disks
<!-- <software name="">
<description>lodoss tou senki - custom (turbo program?) / ロードス島戦記カスタム</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk A"/>
<dataarea name="flop" size="1265664">
<rom name="custom_program.fdi" size="1265664" crc="b78832f3" sha1="853bbf51085570147777460b2481be3149c710e4" offset="0" />
</dataarea>
</part>
<part name="flop2" interface="floppy_5_25">
<feature name="part_id" value="Disk A"/>
<dataarea name="flop" size="1265664">
<rom name="custom_scenario.fdi" size="1265664" crc="8e8ee17d" sha1="f8b900cfdf557af018634003a6382aa7c35faab6" offset="0" /> <!- - same as in lodoss? - ->
</dataarea>
</part>
</software>
<!-- <software name="">
<description>lodoss tou senki - custom (turbo program?) / ロードス島戦記カスタム</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="Disk A"/>
<dataarea name="flop" size="1265664">
<rom name="custom_program.fdi" size="1265664" crc="b78832f3" sha1="853bbf51085570147777460b2481be3149c710e4" offset="0" />
</dataarea>
</part>
<part name="flop2" interface="floppy_5_25">
<feature name="part_id" value="Disk A"/>
<dataarea name="flop" size="1265664">
<rom name="custom_scenario.fdi" size="1265664" crc="8e8ee17d" sha1="f8b900cfdf557af018634003a6382aa7c35faab6" offset="0" /> <!- - same as in lodoss? - ->
</dataarea>
</part>
</software>
-->
<!-- <software name="">
<description>morita shougi ii + hanyuu data / 森田将棋2+ 羽生 データ</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1281968">
<rom name="morita2p.d88" size="1281968" crc="99effa5b" sha1="c7c4a60e71b7112d94b85eb4fe0d156fae2c0c35" offset="0" />
</dataarea>
</part>
</software>
<!-- <software name="">
<description>morita shougi ii + hanyuu data / 森田将棋2+ 羽生 データ</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="1281968">
<rom name="morita2p.d88" size="1281968" crc="99effa5b" sha1="c7c4a60e71b7112d94b85eb4fe0d156fae2c0c35" offset="0" />
</dataarea>
</part>
</software>
-->

View File

@ -2207,7 +2207,7 @@ Ballonies (198x)
</software>
<!-- Joystick -->
<software name="joysti01">
<description>Joystick 01</description>
<year>1985</year>
@ -2339,9 +2339,9 @@ Ballonies (198x)
</dataarea>
</part>
</software>
<!-- MKOD -->
<software name="mkod01">
<description>MKOD Collection 01</description>
<year>19??</year>
@ -2569,7 +2569,7 @@ Ballonies (198x)
</dataarea>
</part>
</software>
<!-- BASIC Collections -->
<software name="basicc01">

View File

@ -28,7 +28,7 @@
</dataarea>
</part>
</software>
<software name="6809langb" cloneof="6809lang">
<description>6809 Language Module (v1.0)</description>
<year>1984</year>
@ -52,7 +52,7 @@
</dataarea>
</part>
</software>
<software name="airbus">
<description>Airbus</description>
<year>1984</year>
@ -64,7 +64,7 @@
</dataarea>
</part>
</software>
<software name="atomium">
<description>Atomium</description>
<year>1982</year>
@ -76,7 +76,7 @@
</dataarea>
</part>
</software>
<software name="basic">
<description>BASIC (v1.0)</description>
<year>1982</year>
@ -88,7 +88,7 @@
</dataarea>
</part>
</software>
<software name="blitz">
<description>Blitz!</description>
<year>1984</year>
@ -104,15 +104,15 @@
<software name="budgfami">
<description>Budget Familial</description>
<year>1982</year>
<publisher>Answare</publisher>
<publisher>Answare</publisher>
<part name="cart" interface="to7_cart">
<dataarea name="rom" size="16384">
<rom name="bf.7001.bin" size="16384" crc="193a8b14" sha1="82d3f56cd9c27ee80decf722a9e107761b42851e" offset="0x0000" />
</dataarea>
</part>
</software>
<software name="caractr2">
<description>Caractor II</description>
<year>1984</year>
@ -124,7 +124,7 @@
</dataarea>
</part>
</software>
<software name="caractor">
<description>Caractor</description>
<year>1983</year>
@ -136,7 +136,7 @@
</dataarea>
</part>
</software>
<software name="choplift">
<description>Choplifter</description>
<year>1985</year>
@ -160,7 +160,7 @@
</dataarea>
</part>
</software>
<software name="clrpaint">
<description>Colorpaint</description>
<year>1985</year>
@ -184,7 +184,7 @@
</dataarea>
</part>
</software>
<software name="controle">
<description>Controle Aerien</description>
<year>1984</year>
@ -196,7 +196,7 @@
</dataarea>
</part>
</software>
<software name="crypto">
<description>Crypto</description>
<year>1982</year>
@ -245,7 +245,7 @@
</dataarea>
</part>
</software>
<software name="gemini">
<description>Gemini</description>
<year>1982</year>
@ -256,8 +256,8 @@
<rom name="gemini (1982)(vifi-nathan)(fr).bin" size="4096" crc="c20c1d82" sha1="92ee16ef7d14b241e8df390b0e6192810a8eda40" offset="0x0000" />
</dataarea>
</part>
</software>
</software>
<software name="gerfiche">
<description>Gerez vos Fiches</description>
<year>1984</year>
@ -280,8 +280,8 @@
<rom name="gerez vos fiches (answare) (inconnus) (1984) (memo7).bin" size="16384" crc="f3ad6a2c" sha1="396427d6fcf22a69c5de6a4873e20a5b3b7062f9" offset="0x0000" />
</dataarea>
</part>
</software>
</software>
<software name="gerteque">
<description>Gerez Votre Bibliotheque-Discotheque-Videotheque</description>
<year>1983</year>
@ -292,8 +292,8 @@
<rom name="gerez votre bibliotheque-discotheque-videotheque (1983)(answare)(fr).bin" size="8192" crc="cb6f0f85" sha1="56ce86e414a7debdadac4a416bad4c70d289be95" offset="0x0000" />
</dataarea>
</part>
</software>
</software>
<software name="chiflett">
<description>Les Chiffres et les Lettres</description>
<year>1984</year>
@ -305,7 +305,7 @@
</dataarea>
</part>
</software>
<software name="logicod">
<description>Logicod</description>
<year>1982</year>
@ -317,7 +317,7 @@
</dataarea>
</part>
</software>
<software name="logo">
<description>LOGO (v1.0)</description>
<year>1984</year>
@ -353,7 +353,7 @@
</dataarea>
</part>
</software>
<software name="lsegedl">
<description>LSEG-EDL (v3.51)</description>
<year>1985</year>
@ -401,7 +401,7 @@
</dataarea>
</part>
</software>
<software name="melodia">
<description>Melodia</description>
<year>1982</year>
@ -450,7 +450,7 @@
</dataarea>
</part>
</software>
<software name="pictor">
<description>Pictor</description>
<year>1983</year>
@ -464,17 +464,17 @@
</software>
<!--
<software name="polyphon">
<description>Polyphonia</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<software name="polyphon">
<description>Polyphonia</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="cart" interface="to7_cart">
<dataarea name="rom" size="16384">
<rom name="polyphonia.bin" size="16384" crc="a38e60e0" sha1="a69569db7ca416159fc7e1921a60b38d40da8c8d" offset="0x0000" />
</dataarea>
</part>
</software>
<part name="cart" interface="to7_cart">
<dataarea name="rom" size="16384">
<rom name="polyphonia.bin" size="16384" crc="a38e60e0" sha1="a69569db7ca416159fc7e1921a60b38d40da8c8d" offset="0x0000" />
</dataarea>
</part>
</software>
-->
<software name="praxitel">
@ -488,7 +488,7 @@
</dataarea>
</part>
</software>
<software name="prolog">
<description>Prolog (v1.0)</description>
<year>1986</year>
@ -500,7 +500,7 @@
</dataarea>
</part>
</software>
<software name="quest">
<description>Quest</description>
<year>1983</year>
@ -512,7 +512,7 @@
</dataarea>
</part>
</software>
<software name="scriptor">
<description>Scriptor</description>
<year>1984</year>
@ -560,7 +560,7 @@
</dataarea>
</part>
</software>
<software name="threshld">
<description>Threshold</description>
<year>1984</year>

View File

@ -1,12 +1,12 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
If you want to use these cassettes, you must remove the hbf floppy interface from the slot devices.
After doing so, mount the cassette and load with the "LOAD" command. In most cases the program will
auto-start.
<!--
If you want to use these cassettes, you must remove the hbf floppy interface from the slot devices.
After doing so, mount the cassette and load with the "LOAD" command. In most cases the program will
auto-start.
NOTE: The multipart sets in TOSEC are from floppy-based games and cannot be loaded via cassette.
So, they are not listed here.
NOTE: The multipart sets in TOSEC are from floppy-based games and cannot be loaded via cassette.
So, they are not listed here.
-->
<softwarelist name="tvc_cass" description="Videoton TVC cassettes">
<software name="advgame">
@ -1388,7 +1388,7 @@
</dataarea>
</part>
</software>
<software name="labirnt1">
<description>Labirintus (Zoltán Gugi)</description>
<year>198?</year>

View File

@ -10,7 +10,7 @@ NOTE: This list is here only to document available dumps and it's not used (yet)
V.Smile Motion: 80-08**** (Smartridges are orange)
V.Smile Smartbook Software: 80-089*** (Smartridges are red)
V.Smile: 80-09**** (Smartridges are purple, some are gray because of plastic defects)
V.Smile Baby 80-099*** (Smartridges are yellow, incompatible with TV based V.Smile consoles)
V.Smile Baby 80-099*** (Smartridges are yellow, incompatible with TV based V.Smile consoles)
Addons (w/ yellow Smartridges)
@ -25,7 +25,7 @@ V.Smile PC Pal Island 80-036822(SP) (cart)
V.Smile Art Studio 80-67000(US)
V.Smile Art Studio 80-67003(UK)
V.Smile Zeichenatelier (Magic Malboard) 80-67004(GE)
V.Smile Zeichenatelier (Magic Malboard) 80-67004(GE)
V.Smile Studio De Dessin 80-67005(FR)
V.Smile Estudio de Arte ORG 80-67022(SP)
V.Smile Estudio de Arte PINK 80-67057(SP)
@ -40,7 +40,7 @@ V.Smile Gimnasio Interactivo 80-91327(SP)
Language:
********0 = US (White labels on back)
********1 = Italy Apparently distributed by company 'Giochi Preziosi'
********1 = Italy Apparently distributed by company 'Giochi Preziosi'
********2 = Netherlands (Red or White labels on back)
********3 = UK (Red labels on back)
********4 = Germany (Blue labels on back)
@ -49,8 +49,8 @@ Language:
********7 = Spain (Green labels on back)
80-084000(US) | Action Mania
(IT) | ?????
80-084002(NL) | Sports Games
(IT) | ?????
80-084002(NL) | Sports Games
80-084003(UK) | Action Mania
80-084004(GE) | Sportskanone
80-084005(FR) | Sporti Folies
@ -143,7 +143,7 @@ Language:
80-084322(NL) | TinkerBell
80-084323(UK) | TinkerBell
80-084324(GE) | TinkerBell
80-084325(FR) | La fee Clochette
80-084325(FR) | La fee Clochette
80-084326(PT) | Sininho (84336 on cart)
80-084327(SP) | Campanilla
-
@ -160,7 +160,7 @@ Language:
80-084364(GE) | Meister Manny's Werkzeugkiste
80-084365(FR) | Manny Et Ses Outils
80-084366(PT) | Manny Maozinhas (84376 on cart)
80-084367(SP) | Manny Manitas
80-084367(SP) | Manny Manitas
-
80-084380(US) | Winnie the Pooh - The Honey Hunt
(IT) | Winnie the Pooh - e la caccia al miele ???
@ -186,8 +186,8 @@ Language:
80-084425(FR) | Toy Story 3
80-084427(SP) | Toy Story 3
-
80-084440(US) | Monsters vs. Aliens
80-084442(NL) | Monsters vs. Aliens
80-084440(US) | Monsters vs. Aliens
80-084442(NL) | Monsters vs. Aliens
80-084443(UK) | Monsters vs. Aliens
80-084444(GE) | Monsters vs. Aliens
80-084445(FR) | Monsters vs. Aliens
@ -299,7 +299,7 @@ Oldest Smartidges start here
80-092004(GE) | Abenteuer im ABC Park
80-092005(FR) | ABC Land Aventure
80-092006(PT) | ABC Adventure (EAN is 3417768920162 cart#92016)
80-092007(SP) | Aventuras en el Parque Alfabeto (purple)
80-092007(SP) | Aventuras en el Parque Alfabeto (purple)
80-092007(SP) | Aventuras en el Parque Alfabeto (translucent) (No # on label)
-
80-092020(US) | The Adventures of Little Red Riding Hood
@ -308,12 +308,12 @@ Oldest Smartidges start here
80-092025(FR) | Les aventures du Le Petit Chaperon Rouge
-
80-092040(US) | Learnin' Wheels (blue car with guy driving)
80-092043(UK) | Learnin' Wheels
80-092043(UK) | Learnin' Wheels
80-092044(GE) | Freds Zahlen Rally (note to self, guy in blue car wrong serial#) 80-092924(GE) on label
80-092045(FR) | Apprenti' Pilote
-
80-092060(US) | Winnie The Pooh: The Honey Hunt
(IT) | Winnie the Pooh - e la caccia al miele
(IT) | Winnie the Pooh - e la caccia al miele
80-092062(NL) | Winnie de Poeh - De winderwereld van Poeh
80-092063(UK) | Winnie The Pooh: The Honey Hunt
80-092064(GE) | Pooh - Die Honigjagd
@ -344,12 +344,12 @@ Oldest Smartidges start here
80-092107(SP) | Rey Leon - La Gran Aventura de Simba
-
80-092120(US) | The Little Mermaid - Ariel's Majestic Journey
80-092121(IT) | Sirenetta - Ariel e le
80-092121(IT) | Sirenetta - Ariel e le
80-092122(NL) | De Kleine Zeemeermin - De Wunderwereld von Ariel
80-092123(UK) | The Little Mermaid - Ariel's Majestic Journey
80-092124(GE) | Arielle die Meerjungfrau - Arielles aufregendes Abenteuer
80-092125(FR) | La Petite Sirene - Ariel devient une princesse
80-092126(PT) |
80-092126(PT) |
80-092127(SP) | La Sirenita - El Vieje Fantastico de Ariel
-
80-092140(US) | Spider-Man & Friends - Secret Missions
@ -370,7 +370,7 @@ Oldest Smartidges start here
(IT) | Scooby-Doo! - Avventura e Funland
80-092162(NL) | Scooby-Doo griezelen in het pretpark
80-092163(UK) | Scooby-Doo! - Funland Frenzy
80-092163-103(UK) | Scooby-Doo! - Funland Frenzy
80-092163-103(UK) | Scooby-Doo! - Funland Frenzy
80-092163-293(UK) | Scooby-Doo! - Funland Frenzy (Yellow, only Scooby on label might be motion version)
80-092165(FR) | Scooby-Doo! - Panique a Funland
80-092165(FR) | Scooby-Doo! - Panique a Funland (translucent purple, packin)
@ -379,7 +379,7 @@ Oldest Smartidges start here
80-092180(US) | Care Bears - A Lesson in Caring
80-092183(UK) | Care Bears - A Lesson in Caring
80-092184(GE) | Gluecksbarchis <- existance not proven
80-092185(FR) | Les Bisounours - Le Monde Merveilleux des Bisounours
80-092185(FR) | Les Bisounours - Le Monde Merveilleux des Bisounours
80-092187(SP) | Osos Amorosos - Una Leccion de Amor
-
80-092200(US) | Aladdin - Aladdin's Wonders of the World
@ -570,12 +570,12 @@ Oldest Smartidges start here
80-092827(SP) | Campeonato de Futbol
-
80-092840(US) | Wall-E
(IT) | Wall-E (GPZ07996)
(IT) | Wall-E (GPZ07996)
80-092842(NL) | Wall-E
80-092843(UK) | Wall-E
80-092844(GE) | Wall-E
80-092845(FR) | Wall-E
80-092847(SP) | Wall-E
80-092847(SP) | Wall-E
-
80-092860(US) | Shrek the Third: Arthur's School Day Adventure
(IT) | Shrek Terzo L'Advventura Do Artu in un Giorno di Scuola

View File

@ -16,13 +16,13 @@
#include "emu.h"
// /INH special addresses
#define INH_START_INVALID 0xffff;
#define INH_END_INVALID 0x0000;
#define INH_START_INVALID 0xffff;
#define INH_END_INVALID 0x0000;
// /INH types
#define INH_NONE 0x00
#define INH_READ 0x01
#define INH_WRITE 0x02
// /INH types
#define INH_NONE 0x00
#define INH_READ 0x01
#define INH_WRITE 0x02
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
@ -120,7 +120,7 @@ protected:
devcb_write_line m_out_irq_cb;
devcb_write_line m_out_nmi_cb;
devcb_write8 m_out_inh_cb;
devcb_write8 m_out_inh_cb;
device_a2bus_card_interface *m_device_list[8];
const char *m_cputag;

View File

@ -71,4 +71,3 @@ UINT8 *a2eaux_ext80col_device::get_auxbank_ptr()
{
return &m_ram[0];
}

View File

@ -78,4 +78,3 @@ UINT8 *a2eaux_std80col_device::get_auxbank_ptr()
{
return &m_ram[0];
}

View File

@ -74,7 +74,7 @@ void a2bus_swyft_device::device_reset()
{
m_rombank = 0;
m_inh_state = INH_READ; // read-enable the ROM
m_inh_state = INH_READ; // read-enable the ROM
recalc_slot_inh();
}
@ -146,4 +146,3 @@ int a2bus_swyft_device::inh_type()
{
return m_inh_state;
}

View File

@ -126,11 +126,11 @@ void a2bus_ssramcard_device::do_io(int offset)
}
#if 0
printf("LC: (ofs %x) new state %c%c dxxx=%04x main=%05x\n",
offset,
(m_inh_state & INH_READ) ? 'R' : 'x',
(m_inh_state & INH_WRITE) ? 'W' : 'x',
m_dxxx_bank, m_main_bank);
printf("LC: (ofs %x) new state %c%c dxxx=%04x main=%05x\n",
offset,
(m_inh_state & INH_READ) ? 'R' : 'x',
(m_inh_state & INH_WRITE) ? 'W' : 'x',
m_dxxx_bank, m_main_bank);
#endif
}
@ -157,7 +157,7 @@ void a2bus_ssramcard_device::write_c0nx(address_space &space, UINT8 offset, UINT
UINT8 a2bus_ssramcard_device::read_inh_rom(address_space &space, UINT16 offset)
{
assert(m_inh_state & INH_READ); // this should never happen
assert(m_inh_state & INH_READ); // this should never happen
if (offset < 0xe000)
{
@ -188,4 +188,3 @@ int a2bus_ssramcard_device::inh_type()
{
return m_inh_state;
}

View File

@ -107,10 +107,10 @@ void a2bus_ramcard_device::do_io(int offset)
}
#if 0
printf("LC: new state %c%c dxxx=%04x\n",
(m_inh_state & INH_READ) ? 'R' : 'x',
(m_inh_state & INH_WRITE) ? 'W' : 'x',
m_dxxx_bank);
printf("LC: new state %c%c dxxx=%04x\n",
(m_inh_state & INH_READ) ? 'R' : 'x',
(m_inh_state & INH_WRITE) ? 'W' : 'x',
m_dxxx_bank);
#endif
}
@ -137,7 +137,7 @@ void a2bus_ramcard_device::write_c0nx(address_space &space, UINT8 offset, UINT8
UINT8 a2bus_ramcard_device::read_inh_rom(address_space &space, UINT16 offset)
{
assert(m_inh_state & INH_READ); // this should never happen
assert(m_inh_state & INH_READ); // this should never happen
if (offset < 0xe000)
{
@ -168,4 +168,3 @@ int a2bus_ramcard_device::inh_type()
{
return m_inh_state;
}

View File

@ -34,7 +34,7 @@ public:
virtual void device_start();
bool get_card_mounted() { return m_card_mounted; }
// reading and writing
virtual DECLARE_READ8_MEMBER(read);
virtual DECLARE_WRITE8_MEMBER(write);

View File

@ -19,7 +19,7 @@
mapped to the cartridge memory starting at $2000. So it would be possible to
load a cartridge program from tape into the expansion memory, then flip the range
switch and run it as a cartridge. This is useful for cartridge development.
Blue RAM -- available in 4K, 16K, and 32K. These also use an INS8154 chip,
(not yet implemented) which has an additional $80 bytes of RAM mapped
immediately after the end of the expansion address space. This memory
@ -29,17 +29,17 @@
past this range)
16K: $6000 to $9FFF
32K: $6000 to $DFFF
VIPER System 1 -- This is available in 16K only. It also includes a keyboard (not implemented).
16K: $6000 to $9FFF
Lil' WHITE RAM -- This is available in 32K only. Attempts to read and write
to memory outside of its address range ($D000 to $FFFF) are mapped to the expansion
memory $5000 to $7FFF. The current implementation won't allow the shadow RAM area
to be accessed when RAM protect is on, but there is no known software that will
access the upper range of the expansion RAM when RAM protect is enabled.
32K: $5000 to $CFFF
R&L 64K RAM Board -- This is a highly configurable kit. RAM can be installed in
2K increments. So, the entire 44K expansion memory can be filled. It is also
possible to override the rest of the memory map with RAM (not implemented).
@ -48,7 +48,7 @@
installing switches. The ranges are $0000 to $0FFF (first 4K), $0000 to $3FFF (first 16K),
and $0000 to $FFFF (all 64K). The current implementation is for 44K expansion memory mapped from
$5000 to $FFFF, with only a single write protect covering this entire range.
***********************************************************************************************************/
@ -209,5 +209,3 @@ WRITE8_MEMBER(astrocade_rl64ram_device::write)
if (!m_write_prot->read())
m_ram[offset] = data;
}

View File

@ -37,7 +37,7 @@ class astrocade_blueram_16k_device : public astrocade_blueram_4k_device
public:
// construction/destruction
astrocade_blueram_16k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual void device_start() { m_ram.resize(0x4000); save_item(NAME(m_ram)); }
};
@ -48,7 +48,7 @@ class astrocade_blueram_32k_device : public astrocade_blueram_4k_device
public:
// construction/destruction
astrocade_blueram_32k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual void device_start() { m_ram.resize(0x8000); save_item(NAME(m_ram)); }
};
@ -60,7 +60,7 @@ class astrocade_viper_sys1_device : public device_t,
public:
// construction/destruction
astrocade_viper_sys1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// device-level overrides
virtual void device_start() { m_ram.resize(0x4000); save_item(NAME(m_ram)); }
virtual void device_reset() {}
@ -69,7 +69,7 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read);
virtual DECLARE_WRITE8_MEMBER(write);
private:
dynamic_buffer m_ram;
required_ioport m_write_prot;
@ -83,16 +83,16 @@ class astrocade_whiteram_device : public device_t,
public:
// construction/destruction
astrocade_whiteram_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// device-level overrides
virtual void device_start() { m_ram.resize(0x8000); save_item(NAME(m_ram)); }
virtual void device_reset() {}
virtual ioport_constructor device_input_ports() const;
// reading and writing
virtual DECLARE_READ8_MEMBER(read);
virtual DECLARE_WRITE8_MEMBER(write);
private:
dynamic_buffer m_ram;
required_ioport m_write_prot;
@ -106,16 +106,16 @@ class astrocade_rl64ram_device : public device_t,
public:
// construction/destruction
astrocade_rl64ram_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// device-level overrides
virtual void device_start() { m_ram.resize(0xb000); save_item(NAME(m_ram)); }
virtual void device_reset() {}
virtual ioport_constructor device_input_ports() const;
// reading and writing
virtual DECLARE_READ8_MEMBER(read);
virtual DECLARE_WRITE8_MEMBER(write);
private:
dynamic_buffer m_ram;
required_ioport m_write_prot;

View File

@ -80,21 +80,20 @@ READ8_MEMBER(astrocade_rom_device::read_rom)
READ8_MEMBER(astrocade_rom_256k_device::read_rom)
{
if (offset < 0x1000) // 0x2000-0x2fff
if (offset < 0x1000) // 0x2000-0x2fff
return m_rom[offset + 0x1000 * 0x3f];
else if (offset < 0x1fc0) // 0x3000-0x3fbf
else if (offset < 0x1fc0) // 0x3000-0x3fbf
return m_rom[(offset & 0xfff) + (0x1000 * m_base_bank)];
else // 0x3fc0-0x3fff
else // 0x3fc0-0x3fff
return m_base_bank = offset & 0x3f;
}
READ8_MEMBER(astrocade_rom_512k_device::read_rom)
{
if (offset < 0x1000) // 0x2000-0x2fff
if (offset < 0x1000) // 0x2000-0x2fff
return m_rom[offset + 0x1000 * 0x7f];
else if (offset < 0x1f80) // 0x3000-0x3fbf
else if (offset < 0x1f80) // 0x3000-0x3fbf
return m_rom[(offset & 0xfff) + (0x1000 * m_base_bank)];
else // 0x3fc0-0x3fff
else // 0x3fc0-0x3fff
return m_base_bank = offset & 0x7f;
}

View File

@ -31,13 +31,13 @@ class astrocade_rom_256k_device : public astrocade_rom_device
public:
// construction/destruction
astrocade_rom_256k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual void device_start();
virtual void device_reset();
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom);
private:
UINT8 m_base_bank;
};
@ -49,13 +49,13 @@ class astrocade_rom_512k_device : public astrocade_rom_device
public:
// construction/destruction
astrocade_rom_512k_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual void device_start();
virtual void device_reset();
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom);
private:
UINT8 m_base_bank;
};

View File

@ -207,7 +207,7 @@ void astrocade_cart_slot_device::get_default_card_software(astring &result)
const char *slot_string = "rom";
UINT32 size = core_fsize(m_file);
int type = ASTROCADE_STD;
if (size == 0x40000)
type = ASTROCADE_256K;
if (size == 0x80000)
@ -236,4 +236,3 @@ READ8_MEMBER(astrocade_cart_slot_device::read_rom)
else
return 0xff;
}

View File

@ -28,15 +28,15 @@
// ======================> epson_lx810l_t
class epson_lx810l_t : public device_t,
public device_centronics_peripheral_interface
public device_centronics_peripheral_interface
{
public:
// construction/destruction
epson_lx810l_t(const machine_config &mconfig, const char *tag,
device_t *owner, UINT32 clock);
device_t *owner, UINT32 clock);
epson_lx810l_t(const machine_config &mconfig, device_type type,
const char *name, const char *tag, device_t *owner,
UINT32 clock, const char *shortname, const char *source);
const char *name, const char *tag, device_t *owner,
UINT32 clock, const char *shortname, const char *source);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
@ -103,7 +103,7 @@ class epson_ap2000_t : public epson_lx810l_t
public:
// construction/destruction
epson_ap2000_t(const machine_config &mconfig, const char *tag,
device_t *owner, UINT32 clock);
device_t *owner, UINT32 clock);
// optional information overrides
virtual const rom_entry *device_rom_region() const;

View File

@ -24,8 +24,8 @@ const device_type COCO_DWSOCK = &device_creator<beckerport_device>;
INPUT_PORTS_START( coco_drivewire )
PORT_START(DRIVEWIRE_PORT_TAG)
PORT_CONFNAME( 0xffff, 65504, "Drivewire Server TCP Port")
PORT_CHANGED_MEMBER(DEVICE_SELF, beckerport_device, drivewire_port_changed, NULL )
PORT_CONFNAME( 0xffff, 65504, "Drivewire Server TCP Port")
PORT_CHANGED_MEMBER(DEVICE_SELF, beckerport_device, drivewire_port_changed, NULL )
PORT_CONFSETTING( 65500, "65500" )
PORT_CONFSETTING( 65501, "65501" )
PORT_CONFSETTING( 65502, "65502" )
@ -52,7 +52,7 @@ ioport_constructor beckerport_device::device_input_ports() const
//-------------------------------------------------
INPUT_CHANGED_MEMBER(beckerport_device::drivewire_port_changed)
{
this->update_port();
this->update_port();
}
//**************************************************************************
@ -64,18 +64,18 @@ INPUT_CHANGED_MEMBER(beckerport_device::drivewire_port_changed)
//-------------------------------------------------
beckerport_device::beckerport_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, COCO_DWSOCK, "Virtual Becker Port", tag, owner, clock, "coco_dwsock", __FILE__),
m_dwconfigport(*this, DRIVEWIRE_PORT_TAG)
: device_t(mconfig, COCO_DWSOCK, "Virtual Becker Port", tag, owner, clock, "coco_dwsock", __FILE__),
m_dwconfigport(*this, DRIVEWIRE_PORT_TAG)
{
m_pSocket = NULL;
m_head = 0;
m_rx_pending = 0;
m_pSocket = NULL;
m_head = 0;
m_rx_pending = 0;
}
beckerport_device::~beckerport_device()
{
if (m_pSocket != NULL)
device_stop();
if (m_pSocket != NULL)
device_stop();
}
/*-------------------------------------------------
@ -84,22 +84,22 @@ beckerport_device::~beckerport_device()
void beckerport_device::device_start(void)
{
char chAddress[64];
char chAddress[64];
/* format address string for opening the port */
snprintf(chAddress, sizeof(chAddress), "socket.%s:%d", m_hostname, m_dwtcpport);
/* format address string for opening the port */
snprintf(chAddress, sizeof(chAddress), "socket.%s:%d", m_hostname, m_dwtcpport);
fprintf(stderr, "Connecting to Drivewire server on %s:%d... ", m_hostname, m_dwtcpport);
fprintf(stderr, "Connecting to Drivewire server on %s:%d... ", m_hostname, m_dwtcpport);
UINT64 filesize; // unused
file_error filerr = osd_open(chAddress, 0, &m_pSocket, &filesize);
if (filerr != FILERR_NONE)
{
fprintf(stderr, "Error: osd_open returned error %i!\n", (int) filerr);
return;
}
UINT64 filesize; // unused
file_error filerr = osd_open(chAddress, 0, &m_pSocket, &filesize);
if (filerr != FILERR_NONE)
{
fprintf(stderr, "Error: osd_open returned error %i!\n", (int) filerr);
return;
}
fprintf(stderr, "Connected!\n");
fprintf(stderr, "Connected!\n");
}
/*-------------------------------------------------
@ -108,12 +108,12 @@ void beckerport_device::device_start(void)
void beckerport_device::device_stop(void)
{
if (m_pSocket != NULL)
{
printf("Closing connection to Drivewire server\n");
osd_close(m_pSocket);
m_pSocket = NULL;
}
if (m_pSocket != NULL)
{
printf("Closing connection to Drivewire server\n");
osd_close(m_pSocket);
m_pSocket = NULL;
}
}
/*-------------------------------------------------
@ -132,40 +132,40 @@ void beckerport_device::device_config_complete(void)
READ8_MEMBER(beckerport_device::read)
{
unsigned char data = 0x5a;
unsigned char data = 0x5a;
if (m_pSocket == NULL)
return data;
if (m_pSocket == NULL)
return data;
switch (offset)
{
case DWS_STATUS:
if (!m_rx_pending)
{
/* Try to read from dws */
file_error filerr = osd_read(m_pSocket, m_buf, 0, sizeof(m_buf), &m_rx_pending);
if (filerr != FILERR_NONE && filerr != FILERR_FAILURE) // FILERR_FAILURE means no data available, so don't throw error message
fprintf(stderr, "coco_dwsock.c: beckerport_device::read() socket read operation failed with file_error %i\n", filerr);
else
m_head = 0;
}
//printf("beckerport_device: status read. %i bytes remaining.\n", m_rx_pending);
data = (m_rx_pending > 0) ? 2 : 0;
break;
case DWS_DATA:
if (!m_rx_pending) {
fprintf(stderr, "coco_dwsock.c: beckerport_device::read() buffer underrun\n");
break;
}
data = m_buf[m_head++];
m_rx_pending--;
//printf("beckerport_device: data read 1 byte (0x%02x). %i bytes remaining.\n", data&0xff, m_rx_pending);
break;
default:
fprintf(stderr, "%s: read from bad offset %d\n", __FILE__, offset);
}
switch (offset)
{
case DWS_STATUS:
if (!m_rx_pending)
{
/* Try to read from dws */
file_error filerr = osd_read(m_pSocket, m_buf, 0, sizeof(m_buf), &m_rx_pending);
if (filerr != FILERR_NONE && filerr != FILERR_FAILURE) // FILERR_FAILURE means no data available, so don't throw error message
fprintf(stderr, "coco_dwsock.c: beckerport_device::read() socket read operation failed with file_error %i\n", filerr);
else
m_head = 0;
}
//printf("beckerport_device: status read. %i bytes remaining.\n", m_rx_pending);
data = (m_rx_pending > 0) ? 2 : 0;
break;
case DWS_DATA:
if (!m_rx_pending) {
fprintf(stderr, "coco_dwsock.c: beckerport_device::read() buffer underrun\n");
break;
}
data = m_buf[m_head++];
m_rx_pending--;
//printf("beckerport_device: data read 1 byte (0x%02x). %i bytes remaining.\n", data&0xff, m_rx_pending);
break;
default:
fprintf(stderr, "%s: read from bad offset %d\n", __FILE__, offset);
}
return (int)data;
return (int)data;
}
/*-------------------------------------------------
@ -174,26 +174,26 @@ READ8_MEMBER(beckerport_device::read)
WRITE8_MEMBER(beckerport_device::write)
{
char d = (char)data;
file_error filerr;
char d = (char)data;
file_error filerr;
if (m_pSocket == NULL)
return;
if (m_pSocket == NULL)
return;
switch (offset)
{
case DWS_STATUS:
//printf("beckerport_write: error: write (0x%02x) to status register\n", d);
break;
case DWS_DATA:
filerr = osd_write(m_pSocket, &d, 0, 1, NULL);
if (filerr != FILERR_NONE)
fprintf(stderr, "coco_dwsock.c: beckerport_device::write() socket write operation failed with file_error %i\n", filerr);
//printf("beckerport_write: data write one byte (0x%02x)\n", d & 0xff);
break;
default:
fprintf(stderr, "%s: write to bad offset %d\n", __FILE__, offset);
}
switch (offset)
{
case DWS_STATUS:
//printf("beckerport_write: error: write (0x%02x) to status register\n", d);
break;
case DWS_DATA:
filerr = osd_write(m_pSocket, &d, 0, 1, NULL);
if (filerr != FILERR_NONE)
fprintf(stderr, "coco_dwsock.c: beckerport_device::write() socket write operation failed with file_error %i\n", filerr);
//printf("beckerport_write: data write one byte (0x%02x)\n", d & 0xff);
break;
default:
fprintf(stderr, "%s: write to bad offset %d\n", __FILE__, offset);
}
}
/*-------------------------------------------------
@ -202,8 +202,7 @@ WRITE8_MEMBER(beckerport_device::write)
void beckerport_device::update_port(void)
{
device_stop();
m_dwtcpport = m_dwconfigport->read_safe(65504);
device_start();
device_stop();
m_dwtcpport = m_dwconfigport->read_safe(65504);
device_start();
}

View File

@ -23,33 +23,33 @@
class beckerport_device : public device_t
{
public:
beckerport_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual ~beckerport_device();
beckerport_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual ~beckerport_device();
// optional information overrides
virtual ioport_constructor device_input_ports() const;
// optional information overrides
virtual ioport_constructor device_input_ports() const;
virtual void device_start(void);
virtual void device_stop(void);
virtual void device_config_complete(void);
virtual void device_start(void);
virtual void device_stop(void);
virtual void device_config_complete(void);
void update_port(void);
void update_port(void);
// driver update handlers
DECLARE_INPUT_CHANGED_MEMBER(drivewire_port_changed);
// driver update handlers
DECLARE_INPUT_CHANGED_MEMBER(drivewire_port_changed);
virtual DECLARE_READ8_MEMBER(read);
virtual DECLARE_WRITE8_MEMBER(write);
virtual DECLARE_READ8_MEMBER(read);
virtual DECLARE_WRITE8_MEMBER(write);
// types
enum dwsock_ports {
DWS_STATUS,
DWS_DATA
};
// types
enum dwsock_ports {
DWS_STATUS,
DWS_DATA
};
private:
/* IP hostname */
const char * m_hostname;
/* IP hostname */
const char * m_hostname;
/* IP port */
required_ioport m_dwconfigport;
@ -69,4 +69,3 @@ extern const device_type COCO_DWSOCK;
typedef device_type_iterator<&device_creator<beckerport_device>, beckerport_device> beckerport_device_iterator;
#endif /* _DWSOCK_H_ */

View File

@ -1,4 +1,4 @@
/*
/*
PlayCity expansion device
Z80 CTC
@ -158,4 +158,3 @@ void cpc_playcity_device::update_ymz_clock()
m_ymz2->ay_set_clock(clk);
popmessage("YMZ clocks set to %d Hz",clk);
}

View File

@ -1,15 +1,15 @@
/*
/*
PlayCity expansion device
I/O ports:
* F880 - Z80CTC channel 0 (input is system clock (4MHz), output to YMZ294 clock)
* F881 - Z80CTC channel 1 (input from CRTC CURSOR, output to /NMI)
* F882 - Z80CTC channel 2 (input is system clock (4MHz), output to channel 3 input)
* F883 - Z80CTC channel 3 (input is channel 2 output)
* F884 - YMZ294 #1 (right) data
* F888 - YMZ294 #2 (left) data
* F984 - YMZ294 #1 (right) register select
* F988 - YMZ294 #2 (left) register select
I/O ports:
* F880 - Z80CTC channel 0 (input is system clock (4MHz), output to YMZ294 clock)
* F881 - Z80CTC channel 1 (input from CRTC CURSOR, output to /NMI)
* F882 - Z80CTC channel 2 (input is system clock (4MHz), output to channel 3 input)
* F883 - Z80CTC channel 3 (input is channel 2 output)
* F884 - YMZ294 #1 (right) data
* F888 - YMZ294 #2 (left) data
* F984 - YMZ294 #1 (right) register select
* F988 - YMZ294 #2 (left) register select
*/
#ifndef CPC_PLAYCITY_H_
@ -64,4 +64,3 @@ extern const device_type CPC_PLAYCITY;
#endif /* CPC_PLAYCITY_H_ */

View File

@ -557,11 +557,11 @@ int base_gb_cart_slot_device::get_cart_type(UINT8 *ROM, UINT32 len)
/* Check if we're dealing with the multigame variant of the MBC1 mapper */
if (type == GB_MBC_MBC1)
{ // bomberman collection korea
{ // bomberman collection korea
if (ROM[0x134] == 0x42 && ROM[0x135] == 0x4f && ROM[0x136] == 0x4d && ROM[0x137] == 0x53)
type = GB_MBC_MBC1_COL;
// if (ROM[0x13f] == 0x42 && ROM[0x140] == 0x32 && ROM[0x141] == 0x43 && ROM[0x142] == 0x4B)
// type = GB_MBC_MBC1_COL;
// if (ROM[0x13f] == 0x42 && ROM[0x140] == 0x32 && ROM[0x141] == 0x43 && ROM[0x142] == 0x4B)
// type = GB_MBC_MBC1_COL;
// genjin collection
if (ROM[0x134] == 0x47 && ROM[0x135] == 0x45 && ROM[0x136] == 0x4e && ROM[0x137] == 0x43)
type = GB_MBC_MBC1_COL;

View File

@ -968,7 +968,7 @@ MC6845_UPDATE_ROW( isa8_ec1840_0002_device::crtc_update_row )
{
if (m_update_row_type == -1)
return;
switch (m_update_row_type)
{
case MDA_LOWRES_TEXT_INTEN:

View File

@ -39,13 +39,13 @@ SLOT_INTERFACE_START( mc1502_isa8_cards )
SLOT_INTERFACE_END
SLOT_INTERFACE_START( ec184x_isa8_cards )
SLOT_INTERFACE("ec1840.0002", ISA8_EC1840_0002) // MDA with downloadable font
SLOT_INTERFACE("ec1841.0002", ISA8_EC1841_0002) // CGA with downloadable font
SLOT_INTERFACE("ec1840.0002", ISA8_EC1840_0002) // MDA with downloadable font
SLOT_INTERFACE("ec1841.0002", ISA8_EC1841_0002) // CGA with downloadable font
SLOT_INTERFACE("ec1841.0003", ISA8_FDC_XT)
/*
SLOT_INTERFACE("ec1841.0010", ISA8_EC1841_0010) // 8089-based HDC
SLOT_INTERFACE("ec1841.0003", ISA8_EC1841_0003) // FDC + mouse port
SLOT_INTERFACE("ec1841.0004", ISA8_EC1841_0004) // BSC-like serial ports + parallel port
SLOT_INTERFACE("ec1841.0010", ISA8_EC1841_0010) // 8089-based HDC
SLOT_INTERFACE("ec1841.0003", ISA8_EC1841_0003) // FDC + mouse port
SLOT_INTERFACE("ec1841.0004", ISA8_EC1841_0004) // BSC-like serial ports + parallel port
*/
SLOT_INTERFACE("mda", ISA8_MDA)
SLOT_INTERFACE("hdc", ISA8_HDC_EC1841)

View File

@ -6,7 +6,7 @@
TODO:
- reimplement cart mirroring in a better way
***********************************************************************************************************/

View File

@ -13,7 +13,7 @@
TODO:
http://www.6502.org/users/sjgray/computer/hsg/index.html
http://www.6502.org/users/sjgray/computer/hsg/index.html
- version A (EF9365, 512x512 interlaced, 1 page)
- version B (EF9366, 512x256 non-interlaced, 2 pages)

View File

@ -26,7 +26,7 @@
// ======================> cbm8000_hsg_t
class cbm8000_hsg_t : public device_t,
public device_pet_expansion_card_interface
public device_pet_expansion_card_interface
{
public:
// construction/destruction

View File

@ -34,18 +34,18 @@ WRITE8_MEMBER(spc1000_fdd_exp_device::i8255_c_w)
READ8_MEMBER( spc1000_fdd_exp_device::tc_r )
{
logerror("%s: tc_r\n", space.machine().describe_context());
// toggle tc on read
m_fdc->tc_w(true);
m_timer_tc->adjust(attotime::zero);
return 0xff;
}
WRITE8_MEMBER( spc1000_fdd_exp_device::control_w )
{
logerror("%s: control_w(%02x)\n", space.machine().describe_context(), data);
// bit 0, motor on signal
if (m_fd0)
m_fd0->mon_w(!BIT(data, 0));
@ -150,7 +150,7 @@ void spc1000_fdd_exp_device::device_start()
{
m_timer_tc = timer_alloc(TIMER_TC);
m_timer_tc->adjust(attotime::never);
m_fd0 = subdevice<floppy_connector>("upd765:0")->get_device();
m_fd1 = subdevice<floppy_connector>("upd765:1")->get_device();
}

View File

@ -36,7 +36,7 @@ public:
DECLARE_WRITE8_MEMBER(i8255_b_w);
DECLARE_READ8_MEMBER(i8255_c_r);
DECLARE_WRITE8_MEMBER(i8255_c_w);
private:
// internal state
required_device<z80_device> m_cpu;
@ -47,11 +47,11 @@ private:
floppy_image_device *m_fd1;
emu_timer *m_timer_tc;
UINT8 m_i8255_0_pc;
UINT8 m_i8255_1_pc;
UINT8 m_i8255_portb;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
static const device_timer_id TIMER_TC = 0;
};

View File

@ -19,7 +19,7 @@ WRITE_LINE_MEMBER(spc1000_vdp_exp_device::vdp_interrupt)
static MACHINE_CONFIG_FRAGMENT(scp1000_vdp)
MCFG_DEVICE_ADD("tms", TMS9928A, XTAL_10_738635MHz / 2) // TODO: which clock?
MCFG_DEVICE_ADD("tms", TMS9928A, XTAL_10_738635MHz / 2) // TODO: which clock?
MCFG_TMS9928A_VRAM_SIZE(0x4000)
MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(spc1000_vdp_exp_device, vdp_interrupt))
MCFG_TMS9928A_SCREEN_ADD_NTSC("tms_screen")

View File

@ -30,7 +30,7 @@ public:
virtual DECLARE_WRITE8_MEMBER(write);
DECLARE_WRITE_LINE_MEMBER(vdp_interrupt);
private:
// internal state
required_device<tms9928a_device> m_vdp;

View File

@ -1009,11 +1009,11 @@ void cp1610_cpu_device::cp1610_besc(int dir)
* S Z C OV 1 000 s1e e p ppp ppp ppp ppp ppp
* - - - - BEXT ADDR, eeee
***************************************************/
void cp1610_cpu_device::cp1610_bext(int ext, int dir)
void cp1610_cpu_device::cp1610_bext(int ext, int dir)
{
UINT16 offset = cp1610_readop(m_r[7]);
m_r[7]++;
if (m_read_bext(ext))
{
m_r[7] += (offset ^ dir);

View File

@ -35,8 +35,8 @@ enum
#define MCFG_CP1610_BEXT_CALLBACK(_read) \
downcast<cp1610_cpu_device *>(device)->set_bext_callback(DEVCB_##_read);
class cp1610_cpu_device : public cpu_device
{
public:
@ -47,7 +47,7 @@ public:
{
m_read_bext.set_callback(rd);
}
protected:
// device-level overrides
virtual void device_start();
@ -87,7 +87,7 @@ private:
int m_mask_interrupts;
address_space *m_program;
int m_icount;
devcb_read8 m_read_bext;
void cp1610_illegal();

View File

@ -217,7 +217,7 @@ public:
static void set_bus_frequency(device_t &device, UINT32 bus_frequency) { downcast<ppc_device &>(device).c_bus_frequency = bus_frequency; }
void ppc_set_dcstore_callback(write32_delegate callback);
void ppcdrc_set_options(UINT32 options);
void ppcdrc_add_fastram(offs_t start, offs_t end, UINT8 readonly, void *base);
void ppcdrc_add_hotspot(offs_t pc, UINT32 opcode, UINT32 cycles);

View File

@ -269,7 +269,7 @@ protected:
direct_read_data *m_direct;
private:
rsp_cop2 *m_cop2;
rsp_cop2 *m_cop2;
UINT32 *m_dmem32;
UINT16 *m_dmem16;

View File

@ -27,14 +27,14 @@ extern offs_t rsp_dasm_one(char *buffer, offs_t pc, UINT32 op);
Helpful Defines
***************************************************************************/
#define VDREG ((op >> 6) & 0x1f)
#define VS1REG ((op >> 11) & 0x1f)
#define VS2REG ((op >> 16) & 0x1f)
#define EL ((op >> 21) & 0xf)
#define VDREG ((op >> 6) & 0x1f)
#define VS1REG ((op >> 11) & 0x1f)
#define VS2REG ((op >> 16) & 0x1f)
#define EL ((op >> 21) & 0xf)
#define RSVAL (m_rsp.m_rsp_state->r[RSREG])
#define RTVAL (m_rsp.m_rsp_state->r[RTREG])
#define RDVAL (m_rsp.m_rsp_state->r[RDREG])
#define RSVAL (m_rsp.m_rsp_state->r[RSREG])
#define RTVAL (m_rsp.m_rsp_state->r[RTREG])
#define RDVAL (m_rsp.m_rsp_state->r[RDREG])
#define VREG_B(reg, offset) m_v[(reg)].b[(offset)^1]
#define VREG_S(reg, offset) m_v[(reg)].s[(offset)]
@ -56,11 +56,11 @@ extern offs_t rsp_dasm_one(char *buffer, offs_t pc, UINT32 op);
#define ZERO 3
#define CLIP2 4
#define ACCUM(x) m_accum[x].q
#define ACCUM_H(x) (UINT16)m_accum[x].w[3]
#define ACCUM_M(x) (UINT16)m_accum[x].w[2]
#define ACCUM_L(x) (UINT16)m_accum[x].w[1]
#define ACCUM_LL(x) (UINT16)m_accum[x].w[0]
#define ACCUM(x) m_accum[x].q
#define ACCUM_H(x) (UINT16)m_accum[x].w[3]
#define ACCUM_M(x) (UINT16)m_accum[x].w[2]
#define ACCUM_L(x) (UINT16)m_accum[x].w[1]
#define ACCUM_LL(x) (UINT16)m_accum[x].w[0]
#define SET_ACCUM_H(v, x) m_accum[x].w[3] = v;
#define SET_ACCUM_M(v, x) m_accum[x].w[2] = v;
@ -123,9 +123,9 @@ static const int vector_elements_2[16][8] =
};
rsp_cop2::rsp_cop2(rsp_device &rsp, running_machine &machine)
: m_rsp(rsp)
, m_machine(machine)
, m_reciprocal_res(0)
: m_rsp(rsp)
, m_machine(machine)
, m_reciprocal_res(0)
, m_reciprocal_high(0)
, m_dp_allowed(0)
{

View File

@ -126,36 +126,36 @@ public:
virtual void mtc2();
virtual void ctc2();
virtual void handle_cop2(UINT32 op);
virtual void handle_cop2(UINT32 op);
void log_instruction_execution();
virtual void cfunc_unimplemented_opcode() { }
void log_instruction_execution();
virtual void cfunc_unimplemented_opcode() { }
protected:
virtual int generate_vector_opcode(drcuml_block *block, rsp_device::compiler_state *compiler, const opcode_desc *desc) { return TRUE; }
virtual int generate_vector_opcode(drcuml_block *block, rsp_device::compiler_state *compiler, const opcode_desc *desc) { return TRUE; }
UINT16 SATURATE_ACCUM(int accum, int slice, UINT16 negative, UINT16 positive);
UINT16 SATURATE_ACCUM1(int accum, UINT16 negative, UINT16 positive);
UINT16 SATURATE_ACCUM(int accum, int slice, UINT16 negative, UINT16 positive);
UINT16 SATURATE_ACCUM1(int accum, UINT16 negative, UINT16 positive);
UINT32 m_op;
UINT32 m_op;
rsp_device& m_rsp;
rsp_device& m_rsp;
running_machine& m_machine;
UINT32 m_vres[8]; /* used for temporary vector results */
UINT32 m_vres[8]; /* used for temporary vector results */
VECTOR_REG m_v[32];
VECTOR_REG m_v[32];
ACCUMULATOR_REG m_accum[8];
UINT16 m_vflag[6][8];
ACCUMULATOR_REG m_accum[8];
UINT16 m_vflag[6][8];
INT32 m_reciprocal_res;
UINT32 m_reciprocal_high;
INT32 m_dp_allowed;
INT32 m_reciprocal_res;
UINT32 m_reciprocal_high;
INT32 m_dp_allowed;
private:
void handle_lwc2(UINT32 op);
void handle_swc2(UINT32 op);
void handle_vector_ops(UINT32 op);
void handle_lwc2(UINT32 op);
void handle_swc2(UINT32 op);
void handle_vector_ops(UINT32 op);
};
#endif /* __RSPCP2_H__ */
#endif /* __RSPCP2_H__ */

View File

@ -28,14 +28,14 @@ extern offs_t rsp_dasm_one(char *buffer, offs_t pc, UINT32 op);
Helpful Defines
***************************************************************************/
#define VDREG ((op >> 6) & 0x1f)
#define VS1REG ((op >> 11) & 0x1f)
#define VS2REG ((op >> 16) & 0x1f)
#define EL ((op >> 21) & 0xf)
#define VDREG ((op >> 6) & 0x1f)
#define VS1REG ((op >> 11) & 0x1f)
#define VS2REG ((op >> 16) & 0x1f)
#define EL ((op >> 21) & 0xf)
#define RSVAL (m_rsp.m_rsp_state->r[RSREG])
#define RTVAL (m_rsp.m_rsp_state->r[RTREG])
#define RDVAL (m_rsp.m_rsp_state->r[RDREG])
#define RSVAL (m_rsp.m_rsp_state->r[RSREG])
#define RTVAL (m_rsp.m_rsp_state->r[RTREG])
#define RDVAL (m_rsp.m_rsp_state->r[RDREG])
#define VREG_B(reg, offset) m_v[(reg)].b[(offset)^1]
#define W_VREG_S(reg, offset) m_v[(reg)].s[(offset)]
@ -60,16 +60,16 @@ static void cfunc_ctc2(void *param);
#define ACCUM_M(x) (UINT16)m_accum[x].w[2]
#define ACCUM_L(x) (UINT16)m_accum[x].w[1]
#define ACCUM_LL(x) (UINT16)m_accum[x].w[0]
#define ACCUM(x) m_accum[x].q
#define ACCUM(x) m_accum[x].q
#define SET_ACCUM_H(v, x) m_accum[x].w[3] = v;
#define SET_ACCUM_M(v, x) m_accum[x].w[2] = v;
#define SET_ACCUM_L(v, x) m_accum[x].w[1] = v;
#define SET_ACCUM_LL(v, x) m_accum[x].w[0] = v;
#define SET_ACCUM(v, x) m_accum[x].q = v;
#define SET_ACCUM(v, x) m_accum[x].q = v;
#define GET_VS1(out, i) out = VREG_S(vs1reg, i)
#define GET_VS2(out, i) out = VREG_S(vs2reg, VEC_EL_2(el, i))
#define GET_VS1(out, i) out = VREG_S(vs1reg, i)
#define GET_VS2(out, i) out = VREG_S(vs2reg, VEC_EL_2(el, i))
#define CARRY_FLAG(x) (m_vflag[CARRY][x & 7] != 0 ? 0xffff : 0)
#define COMPARE_FLAG(x) (m_vflag[COMPARE][x & 7] != 0 ? 0xffff : 0)
@ -96,10 +96,10 @@ static void cfunc_ctc2(void *param);
#define CLEAR_CLIP2_FLAG(x) { m_vflag[CLIP2][x & 7] = 0; }
#define CACHE_VALUES() \
const int op = m_op; \
const int vdreg = VDREG; \
const int vs1reg = VS1REG; \
const int vs2reg = VS2REG; \
const int op = m_op; \
const int vdreg = VDREG; \
const int vs1reg = VS1REG; \
const int vs2reg = VS2REG; \
const int el = EL;
#define WRITEBACK_RESULT() { \
@ -2105,7 +2105,7 @@ void rsp_cop2_drc::vsaw()
W_VREG_S(vdreg, i) = ACCUM_L(i);
}
break;
default: // Unsupported
default: // Unsupported
{
for (int i = 0; i < 8; i++)
{
@ -3465,8 +3465,8 @@ int rsp_cop2_drc::generate_vector_opcode(drcuml_block *block, rsp_device::compil
UML_CALLC(block, cfunc_vmov, this);
return TRUE;
case 0x34: /* VRSQ */
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
case 0x34: /* VRSQ */
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_vrsq, this);
return TRUE;
@ -3480,8 +3480,8 @@ int rsp_cop2_drc::generate_vector_opcode(drcuml_block *block, rsp_device::compil
UML_CALLC(block, cfunc_vrsqh, this);
return TRUE;
case 0x37: /* VNOP */
case 0x3F: /* VNULL */
case 0x37: /* VNOP */
case 0x3F: /* VNULL */
return TRUE;
default:
@ -3708,27 +3708,27 @@ int rsp_cop2_drc::generate_cop2(drcuml_block *block, rsp_device::compiler_state
case 0x00: /* MFCz */
if (RTREG != 0)
{
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_mfc2, this); // callc mfc2
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_mfc2, this); // callc mfc2
}
return TRUE;
case 0x02: /* CFCz */
if (RTREG != 0)
{
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_cfc2, this); // callc cfc2
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_cfc2, this); // callc cfc2
}
return TRUE;
case 0x04: /* MTCz */
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_mtc2, this); // callc mtc2
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_mtc2, this); // callc mtc2
return TRUE;
case 0x06: /* CTCz */
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_ctc2, this); // callc ctc2
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_ctc2, this); // callc ctc2
return TRUE;
case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17:
@ -3736,4 +3736,4 @@ int rsp_cop2_drc::generate_cop2(drcuml_block *block, rsp_device::compiler_state
return generate_vector_opcode(block, compiler, desc);
}
return FALSE;
}
}

View File

@ -104,7 +104,7 @@ public:
virtual void ctc2();
private:
virtual int generate_vector_opcode(drcuml_block *block, rsp_device::compiler_state *compiler, const opcode_desc *desc);
virtual int generate_vector_opcode(drcuml_block *block, rsp_device::compiler_state *compiler, const opcode_desc *desc);
};
#endif /* __RSPCP2D_H__ */
#endif /* __RSPCP2D_H__ */

View File

@ -26,14 +26,14 @@ using namespace uml;
Helpful Defines
***************************************************************************/
#define VDREG ((op >> 6) & 0x1f)
#define VS1REG ((op >> 11) & 0x1f)
#define VS2REG ((op >> 16) & 0x1f)
#define EL ((op >> 21) & 0xf)
#define VDREG ((op >> 6) & 0x1f)
#define VS1REG ((op >> 11) & 0x1f)
#define VS2REG ((op >> 16) & 0x1f)
#define EL ((op >> 21) & 0xf)
#define RSVAL (m_rsp.m_rsp_state->r[RSREG])
#define RTVAL (m_rsp.m_rsp_state->r[RTREG])
#define RDVAL (m_rsp.m_rsp_state->r[RDREG])
#define RSVAL (m_rsp.m_rsp_state->r[RSREG])
#define RTVAL (m_rsp.m_rsp_state->r[RTREG])
#define RDVAL (m_rsp.m_rsp_state->r[RDREG])
#define EXTRACT16(reg, value, element) \
switch((element) & 7) \
@ -2322,9 +2322,8 @@ inline void rsp_cop2_simd::vsaw()
m_xv[VDREG] = m_accum_l;
break;
}
default: // Unsupported, writes 0 to VD
default: // Unsupported, writes 0 to VD
{
}
}
}
@ -3602,27 +3601,27 @@ int rsp_cop2_simd::generate_cop2(drcuml_block *block, rsp_device::compiler_state
case 0x00: /* MFCz */
if (RTREG != 0)
{
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_mfc2, this); // callc mfc2
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_mfc2, this); // callc mfc2
}
return TRUE;
case 0x02: /* CFCz */
if (RTREG != 0)
{
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_cfc2, this); // callc cfc2
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_cfc2, this); // callc cfc2
}
return TRUE;
case 0x04: /* MTCz */
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_mtc2, this); // callc mtc2
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_mtc2, this); // callc mtc2
return TRUE;
case 0x06: /* CTCz */
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_ctc2, this); // callc ctc2
UML_MOV(block, mem(&m_op), desc->opptr.l[0]); // mov [arg0],desc->opptr.l
UML_CALLC(block, cfunc_ctc2, this); // callc ctc2
return TRUE;
case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17:

View File

@ -111,48 +111,48 @@ public:
#endif
private:
virtual int generate_vector_opcode(drcuml_block *block, rsp_device::compiler_state *compiler, const opcode_desc *desc);
virtual int generate_vector_opcode(drcuml_block *block, rsp_device::compiler_state *compiler, const opcode_desc *desc);
UINT16 ACCUM_H(int x);
UINT16 ACCUM_M(int x);
UINT16 ACCUM_L(int x);
UINT16 ACCUM_LL(int x);
UINT16 CARRY_FLAG(const int x);
UINT16 COMPARE_FLAG(const int x);
UINT16 CLIP1_FLAG(const int x);
UINT16 ZERO_FLAG(const int x);
UINT16 CLIP2_FLAG(const int x);
UINT16 SATURATE_ACCUM(int accum, int slice, UINT16 negative, UINT16 positive);
UINT16 ACCUM_H(int x);
UINT16 ACCUM_M(int x);
UINT16 ACCUM_L(int x);
UINT16 ACCUM_LL(int x);
UINT16 CARRY_FLAG(const int x);
UINT16 COMPARE_FLAG(const int x);
UINT16 CLIP1_FLAG(const int x);
UINT16 ZERO_FLAG(const int x);
UINT16 CLIP2_FLAG(const int x);
UINT16 SATURATE_ACCUM(int accum, int slice, UINT16 negative, UINT16 positive);
__m128i m_accum_h;
__m128i m_accum_m;
__m128i m_accum_l;
__m128i m_accum_ll;
__m128i m_accum_h;
__m128i m_accum_m;
__m128i m_accum_l;
__m128i m_accum_ll;
// Mirror of v[] for now, to be used in parallel as
// more vector ops are transitioned over
__m128i m_xv[32];
__m128i m_xvflag[6];
__m128i m_xv[32];
__m128i m_xvflag[6];
#if SIMUL_SIMD
UINT32 m_old_r[35];
UINT8 m_old_dmem[4096];
UINT32 m_old_r[35];
UINT8 m_old_dmem[4096];
UINT32 m_scalar_r[35];
UINT8 m_scalar_dmem[4096];
UINT32 m_scalar_r[35];
UINT8 m_scalar_dmem[4096];
INT32 m_old_reciprocal_res;
UINT32 m_old_reciprocal_high;
INT32 m_old_dp_allowed;
INT32 m_old_reciprocal_res;
UINT32 m_old_reciprocal_high;
INT32 m_old_dp_allowed;
INT32 m_scalar_reciprocal_res;
UINT32 m_scalar_reciprocal_high;
INT32 m_scalar_dp_allowed;
INT32 m_scalar_reciprocal_res;
UINT32 m_scalar_reciprocal_high;
INT32 m_scalar_dp_allowed;
INT32 m_simd_reciprocal_res;
UINT32 m_simd_reciprocal_high;
INT32 m_simd_dp_allowed;
INT32 m_simd_reciprocal_res;
UINT32 m_simd_reciprocal_high;
INT32 m_simd_dp_allowed;
#endif
};
#endif /* __RSPCP2S_H__ */
#endif /* __RSPCP2S_H__ */

View File

@ -786,16 +786,16 @@ void rsp_device::generate_branch(drcuml_block *block, compiler_state *compiler,
/* update the cycles and jump through the hash table to the target */
if (desc->targetpc != BRANCH_TARGET_DYNAMIC)
{
generate_update_cycles(block, &compiler_temp, desc->targetpc, TRUE); // <subtract cycles>
generate_update_cycles(block, &compiler_temp, desc->targetpc, TRUE); // <subtract cycles>
if (desc->flags & OPFLAG_INTRABLOCK_BRANCH)
UML_JMP(block, desc->targetpc | 0x80000000); // jmp desc->targetpc
UML_JMP(block, desc->targetpc | 0x80000000); // jmp desc->targetpc
else
UML_HASHJMP(block, 0, desc->targetpc, *m_nocode); // hashjmp <mode>,desc->targetpc,nocode
UML_HASHJMP(block, 0, desc->targetpc, *m_nocode); // hashjmp <mode>,desc->targetpc,nocode
}
else
{
generate_update_cycles(block, &compiler_temp, mem(&m_rsp_state->jmpdest), TRUE); // <subtract cycles>
UML_HASHJMP(block, 0, mem(&m_rsp_state->jmpdest), *m_nocode); // hashjmp <mode>,<rsreg>,nocode
generate_update_cycles(block, &compiler_temp, mem(&m_rsp_state->jmpdest), TRUE); // <subtract cycles>
UML_HASHJMP(block, 0, mem(&m_rsp_state->jmpdest), *m_nocode); // hashjmp <mode>,<rsreg>,nocode
}
}

View File

@ -1345,17 +1345,17 @@ void upd7810_device::handle_timers(int cycles)
IRR |= INTFE1;
/* Conditions When ECNT Causes a CO0 Output Change */
if (((0x00 == (ETMM & 0x30)) && (ETM0 == ECNT)) || /* set CO0 if ECNT == ETM0 */
/* ((0x10 == (ETMM & 0x30)) prohibited */
((0x20 == (ETMM & 0x30)) && (ETM0 == ECNT)) || /* set CO0 if ECNT == ETM0 or at falling CI input */
((0x30 == (ETMM & 0x30)) && (ETM0 == ECNT || ETM1 == ECNT))) /* latch CO0 if ECNT == ETM0 or ECNT == ETM1 */
/* ((0x10 == (ETMM & 0x30)) prohibited */
((0x20 == (ETMM & 0x30)) && (ETM0 == ECNT)) || /* set CO0 if ECNT == ETM0 or at falling CI input */
((0x30 == (ETMM & 0x30)) && (ETM0 == ECNT || ETM1 == ECNT))) /* latch CO0 if ECNT == ETM0 or ECNT == ETM1 */
{
upd7810_co0_output_change();
}
/* Conditions When ECNT Causes a CO1 Output Change */
if (((0x00 == (ETMM & 0xc0)) && (ETM1 == ECNT)) || /* set CO1 if ECNT == ETM1 */
/* ((0x40 == (ETMM & 0xc0)) prohibited */
((0x80 == (ETMM & 0xc0)) && (ETM1 == ECNT)) || /* set CO1 if ECNT == ETM1 or at falling CI input */
((0xc0 == (ETMM & 0xc0)) && (ETM0 == ECNT || ETM1 == ECNT))) /* latch CO1 if ECNT == ETM0 or ECNT == ETM1 */
/* ((0x40 == (ETMM & 0xc0)) prohibited */
((0x80 == (ETMM & 0xc0)) && (ETM1 == ECNT)) || /* set CO1 if ECNT == ETM1 or at falling CI input */
((0xc0 == (ETMM & 0xc0)) && (ETM0 == ECNT || ETM1 == ECNT))) /* latch CO1 if ECNT == ETM0 or ECNT == ETM1 */
{
upd7810_co1_output_change();
}
@ -1816,7 +1816,7 @@ void upd7810_device::device_reset()
m_itf = 0;
m_nmi = 0;
m_int1 = 0;
m_int2 = 1; /* physical (inverted) INT2 line state */
m_int2 = 1; /* physical (inverted) INT2 line state */
m_txs = 0;
m_rxs = 0;

View File

@ -86,8 +86,8 @@ ADDRESS_MAP_END
i6300esb_lpc_device::i6300esb_lpc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: pci_device(mconfig, I6300ESB_LPC, "i6300ESB southbridge ISA/LPC bridge", tag, owner, clock, "i6300esb_lpc", __FILE__),
acpi(*this, "acpi"),
rtc (*this, "rtc")
acpi(*this, "acpi"),
rtc (*this, "rtc")
{
}
@ -661,7 +661,7 @@ void i6300esb_lpc_device::map_bios(address_space *memory_space, UINT32 start, UI
{
// Ignore idsel, a16 inversion for now
UINT32 mask = m_region->bytes() - 1;
memory_space->install_rom(start, end, m_region->base() + (start & mask));
memory_space->install_rom(start, end, m_region->base() + (start & mask));
}
void i6300esb_lpc_device::map_extra(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
@ -750,5 +750,3 @@ void i6300esb_lpc_device::map_extra(UINT64 memory_window_start, UINT64 memory_wi
if(rtc_conf & 4)
rtc->map_extdevice(memory_window_start, memory_window_end, 0, memory_space, io_window_start, io_window_end, 0, io_space);
}

View File

@ -19,7 +19,7 @@ public:
virtual void reset_all_mappings();
virtual void map_extra(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
virtual DECLARE_ADDRESS_MAP(config_map, 32);

View File

@ -5,7 +5,7 @@
#include "pci.h"
#define MCFG_I82875P_HOST_ADD(_tag, _subdevice_id, _cpu_tag, _ram_size) \
#define MCFG_I82875P_HOST_ADD(_tag, _subdevice_id, _cpu_tag, _ram_size) \
MCFG_PCI_HOST_ADD(_tag, I82875P_HOST, 0x80862578, 0x02, _subdevice_id) \
downcast<i82875p_host_device *>(device)->set_cpu_tag(_cpu_tag); \
downcast<i82875p_host_device *>(device)->set_ram_size(_ram_size);
@ -21,7 +21,7 @@ public:
void set_ram_size(int ram_size);
virtual void map_extra(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
virtual DECLARE_ADDRESS_MAP(config_map, 32);

View File

@ -379,7 +379,7 @@ intel_28f016s5_device::intel_28f016s5_device(const machine_config &mconfig, cons
fujitsu_29f160t_device::fujitsu_29f160t_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: intelfsh8_device(mconfig, FUJITSU_29F160T, "Fujitsu 29F160 Flash", tag, owner, clock, FLASH_FUJITSU_29F160T, "fujitsu_29f160t", __FILE__) { }
fujitsu_29f016a_device::fujitsu_29f016a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: intelfsh8_device(mconfig, FUJITSU_29F016A, "Fujitsu 29F016A Flash", tag, owner, clock, FLASH_FUJITSU_29F016A, "fujitsu_29f016a", __FILE__) { }
@ -400,10 +400,10 @@ amd_29f040_device::amd_29f040_device(const machine_config &mconfig, const char *
amd_29f080_device::amd_29f080_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: intelfsh8_device(mconfig, AMD_29F080, "AMD 29F080 Flash", tag, owner, clock, FLASH_AMD_29F080, "amd_29f080", __FILE__) { }
amd_29f400t_device::amd_29f400t_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: intelfsh8_device(mconfig, AMD_29F080, "AMD 29F400 Flash", tag, owner, clock, FLASH_AMD_29F400T, "amd_29f400t", __FILE__) { }
amd_29f800t_device::amd_29f800t_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: intelfsh8_device(mconfig, AMD_29F080, "AMD 29F800 Flash", tag, owner, clock, FLASH_AMD_29F080, "amd_29f800t", __FILE__) { }

View File

@ -39,7 +39,7 @@
#define MCFG_FUJITSU_29F160T_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, FUJITSU_29F160T, 0)
#define MCFG_FUJITSU_29F016A_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, FUJITSU_29F016A, 0)
@ -161,7 +161,7 @@ protected:
UINT8 m_maker_id;
bool m_sector_is_4k;
bool m_sector_is_16k;
bool m_top_boot_sector;
bool m_top_boot_sector;
UINT8 m_page_size;
// internal state

View File

@ -40,7 +40,7 @@ lpc_acpi_device::lpc_acpi_device(const machine_config &mconfig, const char *tag,
}
void lpc_acpi_device::map_device(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
{
io_space->install_device(io_offset, io_window_end, *this, &lpc_acpi_device::map);
}

View File

@ -18,13 +18,13 @@ lpc_rtc_device::lpc_rtc_device(const machine_config &mconfig, const char *tag, d
}
void lpc_rtc_device::map_device(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
{
io_space->install_device(io_offset, io_window_end, *this, &lpc_rtc_device::map);
}
void lpc_rtc_device::map_extdevice(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
{
io_space->install_device(io_offset, io_window_end, *this, &lpc_rtc_device::extmap);
}

View File

@ -14,7 +14,7 @@ public:
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
virtual void map_extdevice(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
DECLARE_READ8_MEMBER( index_r);
DECLARE_WRITE8_MEMBER( index_w);

View File

@ -4,4 +4,3 @@ lpc_device::lpc_device(const machine_config &mconfig, device_type type, const ch
device_t(mconfig, type, name, tag, owner, clock, shortname, source)
{
}

View File

@ -12,4 +12,3 @@ public:
};
#endif

View File

@ -51,7 +51,7 @@ const rom_entry *omti5100_device::device_rom_region() const
//-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( omti5100_z8 )
// MCFG_CPU_ADD("z8", Z8681, XTAL_20MHz / 3 /* ??? */)
// MCFG_CPU_ADD("z8", Z8681, XTAL_20MHz / 3 /* ??? */)
MACHINE_CONFIG_END
machine_config_constructor omti5100_device::device_mconfig_additions() const
@ -70,7 +70,7 @@ machine_config_constructor omti5100_device::device_mconfig_additions() const
omti5100_device::omti5100_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, OMTI5100, "OMTI 5100 SCSI/SASI Controller", tag, owner, clock, "omti5100", __FILE__),
// m_cpu(*this, "z8"),
// m_cpu(*this, "z8"),
m_bsy_w(*this),
m_cd_w(*this),
m_io_w(*this),

View File

@ -88,7 +88,7 @@ protected:
virtual void device_reset();
private:
// required_device<z8681_device> m_cpu;
// required_device<z8681_device> m_cpu;
devcb_write_line m_bsy_w;
devcb_write_line m_cd_w;

View File

@ -226,11 +226,11 @@ void pci_device::map_device(UINT64 memory_window_start, UINT64 memory_window_end
}
map_extra(memory_window_start, memory_window_end, memory_offset, memory_space,
io_window_start, io_window_end, io_offset, io_space);
io_window_start, io_window_end, io_offset, io_space);
}
void pci_device::map_extra(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
{
}
@ -291,15 +291,15 @@ void agp_device::device_reset()
pci_bridge_device::pci_bridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: pci_device(mconfig, PCI_BRIDGE, "PCI-PCI Bridge", tag, owner, clock, "pci_bridge", __FILE__),
device_memory_interface(mconfig, *this),
configure_space_config("configuration_space", ENDIANNESS_LITTLE, 32, 20)
device_memory_interface(mconfig, *this),
configure_space_config("configuration_space", ENDIANNESS_LITTLE, 32, 20)
{
}
pci_bridge_device::pci_bridge_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
: pci_device(mconfig, type, name, tag, owner, clock, shortname, source),
device_memory_interface(mconfig, *this),
configure_space_config("configuration_space", ENDIANNESS_LITTLE, 32, 20)
device_memory_interface(mconfig, *this),
configure_space_config("configuration_space", ENDIANNESS_LITTLE, 32, 20)
{
}
@ -373,15 +373,15 @@ void pci_bridge_device::reset_all_mappings()
void pci_bridge_device::map_device(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space)
{
for(int i = all_devices.count()-1; i>=0; i--)
if(all_devices[i] != this)
all_devices[i]->map_device(memory_window_start, memory_window_end, memory_offset, memory_space,
io_window_start, io_window_end, io_offset, io_space);
io_window_start, io_window_end, io_offset, io_space);
map_extra(memory_window_start, memory_window_end, memory_offset, memory_space,
io_window_start, io_window_end, io_offset, io_space);
io_window_start, io_window_end, io_offset, io_space);
}
@ -458,7 +458,7 @@ void pci_host_device::regenerate_mapping()
io_space->unmap_readwrite(io_window_start, io_window_end);
map_device(memory_window_start, memory_window_end, memory_offset, memory_space,
io_window_start, io_window_end, io_offset, io_space);
io_window_start, io_window_end, io_offset, io_space);
}
READ32_MEMBER(pci_host_device::config_address_r)
@ -492,7 +492,7 @@ UINT32 pci_host_device::config_read(UINT8 bus, UINT8 device, UINT16 reg, UINT32
}
} else
abort();
return data;
}

View File

@ -37,7 +37,7 @@ public:
virtual void map_device(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
virtual void map_extra(UINT64 memory_window_start, UINT64 memory_window_end, UINT64 memory_offset, address_space *memory_space,
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
UINT64 io_window_start, UINT64 io_window_end, UINT64 io_offset, address_space *io_space);
void map_config(UINT8 device, address_space *config_space);

View File

@ -59,7 +59,7 @@ void pla_device::device_start()
m_cache.resize(csize);
for (int i = 0; i < csize; i++)
m_cache[i] = read(i);
m_cache_size = csize;
}
@ -72,19 +72,19 @@ void pla_device::parse_fusemap()
{
jed_data jed;
int result = JEDERR_NONE;
// read pla file
switch (m_format)
{
case PLA_FMT_JEDBIN:
result = jedbin_parse(region()->base(), region()->bytes(), &jed);
break;
case PLA_FMT_BERKELEY:
result = pla_parse(region()->base(), region()->bytes(), &jed);
break;
}
if (result != JEDERR_NONE)
{
for (int p = 0; p < m_terms; p++)
@ -92,11 +92,11 @@ void pla_device::parse_fusemap()
m_term[p].and_mask = 0;
m_term[p].or_mask = 0;
}
logerror("%s PLA parse error %d!\n", tag(), result);
return;
}
// parse it
UINT32 fusenum = 0;
@ -148,7 +148,7 @@ UINT32 pla_device::read(UINT32 input)
// try the cache first
if (input < m_cache_size)
return m_cache[input];
for (int i = 0; i < CACHE2_SIZE; ++i)
{
UINT64 cache2_entry = m_cache2[i];

View File

@ -99,7 +99,7 @@ public:
static void set_num_terms(device_t &device, UINT32 t) { downcast<pla_device &>(device).m_terms = t; }
static void set_inputmask(device_t &device, UINT32 mask) { downcast<pla_device &>(device).m_input_mask = mask; } // UINT32!
static void set_format(device_t &device, int format) { downcast<pla_device &>(device).m_format = format; }
UINT32 inputs() { return m_inputs; }
UINT32 outputs() { return m_outputs; }
@ -113,7 +113,7 @@ private:
void parse_fusemap();
int m_format;
UINT32 m_inputs;
UINT32 m_outputs;
UINT32 m_terms;

View File

@ -3435,7 +3435,7 @@ UINT16 *address_table::subtable_open(offs_t l1index)
for (int i=0; i<size; i++)
subptr[i] = subentry;
m_table[l1index] = newentry;
UINT32 subkey = subentry + (subentry << 8) + (subentry << 16) + (subentry << 24);
UINT32 subkey = subentry + (subentry << 8) + (subentry << 16) + (subentry << 24);
m_subtable[newentry - SUBTABLE_BASE].m_checksum = subkey * (((1 << level2_bits())/4));
subentry = newentry;
}

View File

@ -649,7 +649,7 @@ public:
m_endianness(endianness),
m_bitwidth(width),
m_bytewidth(width <= 8 ? 1 : width <= 16 ? 2 : width <= 32 ? 4 : 8)
{ }
{ }
// getters
memory_share *next() const { return m_next; }

View File

@ -537,7 +537,7 @@ static void region_post_process(romload_private *romdata, const char *rgntag, bo
return;
LOG(("+ datawidth=%dbit endian=%s\n", region->bitwidth(),
region->endianness() == ENDIANNESS_LITTLE ? "little" : "big"));
region->endianness() == ENDIANNESS_LITTLE ? "little" : "big"));
/* if the region is inverted, do that now */
if (invert)

View File

@ -116,7 +116,7 @@ public:
dev.m_vco_voltage = volt;
dev.m_vco_cap = cap;
dev.m_vco_res = res;
}
}
static void set_pitch_voltage(device_t &device, double volt) { downcast<sn76477_device &>(device).m_pitch_voltage = volt; }
static void set_slf_params(device_t &device, double cap, double res)
{
@ -137,16 +137,16 @@ public:
dev.m_mixer_a = a;
dev.m_mixer_b = b;
dev.m_mixer_c = c;
}
}
static void set_envelope_params(device_t &device, UINT32 env1, UINT32 env2)
{
sn76477_device &dev = downcast<sn76477_device &>(device);
dev.m_envelope_1 = env1;
dev.m_envelope_2 = env2;
}
}
static void set_enable(device_t &device, UINT32 enable) { downcast<sn76477_device &>(device).m_enable = enable; }
/* these functions take 0 or 1 as a logic input */
WRITE_LINE_MEMBER( enable_w ); /* active LO, 0 = enabled, 1 = disabled */
WRITE_LINE_MEMBER( mixer_a_w );
@ -257,7 +257,7 @@ private:
UINT32 m_mixer_c;
UINT32 m_envelope_1;
UINT32 m_envelope_2;
/* others */
sound_stream *m_channel; /* returned by stream_create() */
int m_our_sample_rate; /* from machine.sample_rate() */

View File

@ -62,7 +62,7 @@ public:
sega315_5124_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, UINT8 cram_size, UINT8 palette_offset, bool supports_224_240, const char *shortname, const char *source, int xscroll_hpos = X_SCROLL_HPOS_5124);
static void set_signal_type(device_t &device, bool is_pal) { downcast<sega315_5124_device &>(device).m_is_pal = is_pal; }
template<class _Object> static devcb_base &set_int_callback(device_t &device, _Object object) { return downcast<sega315_5124_device &>(device).m_int_cb.set_callback(object); }

View File

@ -2503,7 +2503,7 @@ void sega315_5313_device::render_videobuffer_to_screenbuffer(int scanline)
{
UINT16 *lineptr;
if (!m_use_alt_timing)
{

View File

@ -361,11 +361,10 @@ void snes_ppu_device::device_start()
void snes_ppu_device::device_reset()
{
#if SNES_LAYER_DEBUG
memset(&m_debug_options, 0, sizeof(m_debug_options));
#endif
/* Inititialize registers/variables */
m_update_windows = 1;
m_beam.latch_vert = 0;
@ -376,32 +375,32 @@ void snes_ppu_device::device_reset()
m_mode = 0;
m_ppu1_version = 1; // 5C77 chip version number, read by STAT77, only '1' is known
m_ppu2_version = 3; // 5C78 chip version number, read by STAT78, only '2' & '3' encountered so far.
m_cgram_address = 0;
m_read_ophct = 0;
m_read_opvct = 0;
m_vmadd = 0;
PPU_REG(VMAIN) = 0x80;
// what about other regs?
/* Inititialize mosaic table */
for (int j = 0; j < 16; j++)
{
for (int i = 0; i < 4096; i++)
m_mosaic_table[j][i] = (i / (j + 1)) * (j + 1);
}
/* Init VRAM */
memset(m_vram, 0, SNES_VRAM_SIZE);
/* Init Palette RAM */
memset((UINT8 *)m_cgram, 0, SNES_CGRAM_SIZE);
/* Init oam RAM */
memset((UINT8 *)m_oam_ram, 0xff, SNES_OAM_SIZE);
m_stat78 = 0;
// other initializations to 0
@ -419,7 +418,7 @@ void snes_ppu_device::device_reset()
memset(m_scanlines[i].layer, 0, SNES_SCR_WIDTH);
memset(m_scanlines[i].blend_exception, 0, SNES_SCR_WIDTH);
}
for (int i = 0; i < 6; i++)
{
m_layer[i].window1_enabled = 0;
@ -439,10 +438,10 @@ void snes_ppu_device::device_reset()
m_layer[i].sub_bg_enabled = 0;
m_layer[i].hoffs = 0;
m_layer[i].voffs = 0;
memset(m_clipmasks[i], 0, SNES_SCR_WIDTH);
}
for (int i = 0; i < ARRAY_LENGTH(m_oam_spritelist); i++)
{
m_oam_spritelist[i].tile = 0;
@ -456,7 +455,7 @@ void snes_ppu_device::device_reset()
m_oam_spritelist[i].height = 0;
m_oam_spritelist[i].width = 0;
}
for (int i = 0; i < ARRAY_LENGTH(m_oam_tilelist); i++)
{
m_oam_tilelist[i].x = 0;

View File

@ -1307,14 +1307,14 @@ void floppy_image_format_t::fixup_crcs(UINT32 *buffer, gen_crc_info *crcs)
for(int i=0; i != MAX_CRC_COUNT; i++)
if(crcs[i].write != -1) {
switch(crcs[i].type) {
case CRC_AMIGA: fixup_crc_amiga(buffer, crcs+i); break;
case CRC_CBM: fixup_crc_cbm(buffer, crcs+i); break;
case CRC_CCITT: fixup_crc_ccitt(buffer, crcs+i); break;
case CRC_CCITT_FM: fixup_crc_ccitt_fm(buffer, crcs+i); break;
case CRC_MACHEAD: fixup_crc_machead(buffer, crcs+i); break;
case CRC_FCS: fixup_crc_fcs(buffer, crcs+i); break;
case CRC_VICTOR_HDR: fixup_crc_victor_header(buffer, crcs+i); break;
case CRC_VICTOR_DATA: fixup_crc_victor_data(buffer, crcs+i); break;
case CRC_AMIGA: fixup_crc_amiga(buffer, crcs+i); break;
case CRC_CBM: fixup_crc_cbm(buffer, crcs+i); break;
case CRC_CCITT: fixup_crc_ccitt(buffer, crcs+i); break;
case CRC_CCITT_FM: fixup_crc_ccitt_fm(buffer, crcs+i); break;
case CRC_MACHEAD: fixup_crc_machead(buffer, crcs+i); break;
case CRC_FCS: fixup_crc_fcs(buffer, crcs+i); break;
case CRC_VICTOR_HDR: fixup_crc_victor_header(buffer, crcs+i); break;
case CRC_VICTOR_DATA: fixup_crc_victor_data(buffer, crcs+i); break;
}
if(crcs[i].fixup_mfm_clock) {
int offset = crcs[i].write + crc_cells_size(crcs[i].type);

View File

@ -348,8 +348,8 @@ protected:
CRC_CBM_START, //!< Start a CBM checksum calculation (xor of original data values, gcr5-encoded), p1 = crc id
CRC_MACHEAD_START, //!< Start of the mac gcr6 sector header checksum calculation (xor of pre-encode 6-bits values, gcr6-encoded)
CRC_FCS_START, //!< Start a Compucolor File Control System checksum calculation, p1 = crc id
CRC_VICTOR_HDR_START, //!< Start a Victor 9000 checksum calculation, p1 = crc id
CRC_VICTOR_DATA_START, //!< Start a Victor 9000 checksum calculation, p1 = crc id
CRC_VICTOR_HDR_START, //!< Start a Victor 9000 checksum calculation, p1 = crc id
CRC_VICTOR_DATA_START, //!< Start a Victor 9000 checksum calculation, p1 = crc id
CRC_END, //!< End the checksum, p1 = crc id
CRC, //!< Write a checksum in the apporpriate format, p1 = crc id

View File

@ -10,7 +10,7 @@ Tape formats:
TAP: This is a series of 0x30 and 0x31 bytes, representing binary
0 and 1. It includes the header and leaders.
CAS: Files in this format consist of a 16 bytes header (SPC-1000.CASfmt )
CAS: Files in this format consist of a 16 bytes header (SPC-1000.CASfmt )
followed by cassette bits packed together (each byte of a .cas file
are 8 bits, most significant bit first)
@ -74,12 +74,12 @@ static int spc1000_handle_tap(INT16 *buffer, const UINT8 *bytes)
static int spc1000_handle_cas(INT16 *buffer, const UINT8 *bytes)
{
UINT32 sample_count = 0;
/* data (skipping first 16 bytes, which is CAS header) */
for (UINT32 i = 0x10; i < spc1000_image_size; i++)
for (int j = 0; j < 8; j++)
sample_count += spc1000_output_bit(buffer, sample_count, (bytes[i] >> (7 - j)) & 1);
return sample_count;
}
@ -112,7 +112,7 @@ static int spc1000_tap_calculate_size_in_samples(const UINT8 *bytes, int length)
static int spc1000_cas_calculate_size_in_samples(const UINT8 *bytes, int length)
{
spc1000_image_size = length;
return spc1000_handle_cas(NULL, bytes);
}

View File

@ -2,42 +2,42 @@
// copyright-holders:Curt Coder
/*********************************************************************
formats/victor9k_dsk.c
formats/victor9k_dsk.c
Victor 9000 sector disk image format
Victor 9000 sector disk image format
*********************************************************************/
/*
Sector format
-------------
Sector format
-------------
Header sync
Sector header (header ID, track ID, sector ID, and checksum)
Gap 1
Data Sync
Data field (data sync, data ID, data bytes, and checksum)
Gap 2
Header sync
Sector header (header ID, track ID, sector ID, and checksum)
Gap 1
Data Sync
Data field (data sync, data ID, data bytes, and checksum)
Gap 2
Track format
------------
Track format
------------
ZONE LOWER HEAD UPPER HEAD SECTORS ROTATIONAL RPM
NUMBER TRACKS TRACKS PER TRACK PERIOD (MS)
ZONE LOWER HEAD UPPER HEAD SECTORS ROTATIONAL RPM
NUMBER TRACKS TRACKS PER TRACK PERIOD (MS)
0 0-3 unused 19 237.9 252
1 4-15 0-7 18 224.5 267
2 16-26 8-18 17 212.2 283
3 27-37 19-29 16 199.9 300
4 38-48 30-40 15 187.6 320
5 49-59 41-51 14 175.3 342
6 60-70 52-62 13 163.0 368
7 71-79 63-74 12 149.6 401
8 unused 75-79 11 144.0 417
0 0-3 unused 19 237.9 252
1 4-15 0-7 18 224.5 267
2 16-26 8-18 17 212.2 283
3 27-37 19-29 16 199.9 300
4 38-48 30-40 15 187.6 320
5 49-59 41-51 14 175.3 342
6 60-70 52-62 13 163.0 368
7 71-79 63-74 12 149.6 401
8 unused 75-79 11 144.0 417
Interleave factor 3
cell 2.13 usec
Interleave factor 3
cell 2.13 usec
*/

View File

@ -64,7 +64,7 @@ static bool iscrlf(char c)
static UINT32 suck_number(const UINT8 **src, const UINT8 *srcend)
{
UINT32 value = 0;
// find first digit
while (*src < srcend && !iscrlf(**src) && !isdigit(**src))
(*src)++;
@ -94,7 +94,7 @@ static bool process_terms(jed_data *data, const UINT8 **src, const UINT8 *srcend
UINT32 curinput = 0;
UINT32 curoutput = 0;
bool outputs = false;
// symbols for 0, 1, dont_care, no_meaning
// PLA format documentation also describes them as simply 0, 1, 2, 3
static const char symbols[] = { "01-~" };
@ -106,7 +106,7 @@ static bool process_terms(jed_data *data, const UINT8 **src, const UINT8 *srcend
// and-matrix
if (strrchr(symbols, **src))
curinput++;
switch (**src)
{
case '0':
@ -146,7 +146,7 @@ static bool process_terms(jed_data *data, const UINT8 **src, const UINT8 *srcend
if (LOG_PARSE) printf(" ");
}
break;
default:
break;
}
@ -175,7 +175,7 @@ static bool process_terms(jed_data *data, const UINT8 **src, const UINT8 *srcend
{
outputs = false;
if (LOG_PARSE) printf("\n");
if (curinput != pinfo->inputs || curoutput != pinfo->outputs)
return false;
@ -185,7 +185,7 @@ static bool process_terms(jed_data *data, const UINT8 **src, const UINT8 *srcend
(*src)++;
}
return true;
}
@ -206,32 +206,32 @@ static bool process_field(jed_data *data, const UINT8 **src, const UINT8 *srcend
KW_TERMS,
KW_PHASE,
KW_END,
KW_INVALID
};
// find keyword
char dest[0x10];
memset(dest, 0, ARRAY_LENGTH(dest));
const UINT8 *seek = *src;
int destptr = 0;
while (seek < srcend && isalpha(*seek) && destptr < ARRAY_LENGTH(dest) - 1)
{
dest[destptr] = tolower(*seek);
seek++;
destptr++;
}
UINT8 find = 0;
while (strlen(keywords[find]) && strcmp(dest, keywords[find]))
find++;
if (find == KW_INVALID)
return false;
(*src) += strlen(keywords[find]);
// handle it
switch (find)
{
@ -261,7 +261,7 @@ static bool process_field(jed_data *data, const UINT8 **src, const UINT8 *srcend
if (LOG_PARSE) printf("Terms: %u\n", pinfo->terms);
break;
// output polarity (optional)
case KW_PHASE:
if (LOG_PARSE) printf("Phase...\n");
@ -283,7 +283,7 @@ static bool process_field(jed_data *data, const UINT8 **src, const UINT8 *srcend
if (LOG_PARSE) printf("End of file\n");
break;
}
return true;
}
@ -298,7 +298,7 @@ int pla_parse(const void *data, size_t length, jed_data *result)
{
const UINT8 *src = (const UINT8 *)data;
const UINT8 *srcend = src + length;
parse_info pinfo;
memset(&pinfo, 0, sizeof(pinfo));
@ -321,24 +321,24 @@ int pla_parse(const void *data, size_t length, jed_data *result)
if (!process_field(result, &src, srcend, &pinfo))
return JEDERR_INVALID_DATA;
break;
// terms
case '0': case '1': case '-': case '~':
if (!process_terms(result, &src, srcend, &pinfo))
return JEDERR_INVALID_DATA;
break;
default:
src++;
break;
}
}
// write output polarity
if (pinfo.xorptr > 0)
{
if (LOG_PARSE) printf("Polarity: ");
for (int i = 0; i < pinfo.outputs; i++)
{
int bit = pinfo.xorval[i/32] >> (i & 31) & 1;

View File

@ -5169,7 +5169,7 @@ static void *mmap(void *addr, int64_t len, int prot, int flags, int fd,
p = malloc(len);
if (!p)
return NULL;
return NULL;
curpos = lseek(fd, 0, SEEK_CUR);
lseek(fd, offset, SEEK_SET);

View File

@ -12,9 +12,9 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the Politecnico di Torino, CACE Technologies
* nor the names of its contributors may be used to endorse or promote
* products derived from this software without specific prior written
* 3. Neither the name of the Politecnico di Torino, CACE Technologies
* nor the names of its contributors may be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@ -32,7 +32,7 @@
*/
/** @ingroup packetapi
* @{
* @{
*/
/** @defgroup packet32h Packet.dll definitions and data structures
@ -70,19 +70,19 @@ typedef struct _AirpcapHandle *PAirpcapHandle;
/// Alignment macro. Defines the alignment size.
#define Packet_ALIGNMENT sizeof(int)
/// Alignment macro. Rounds up to the next even multiple of Packet_ALIGNMENT.
/// Alignment macro. Rounds up to the next even multiple of Packet_ALIGNMENT.
#define Packet_WORDALIGN(x) (((x)+(Packet_ALIGNMENT-1))&~(Packet_ALIGNMENT-1))
#define NdisMediumNull -1 ///< Custom linktype: NDIS doesn't provide an equivalent
#define NdisMediumCHDLC -2 ///< Custom linktype: NDIS doesn't provide an equivalent
#define NdisMediumPPPSerial -3 ///< Custom linktype: NDIS doesn't provide an equivalent
#define NdisMediumBare80211 -4 ///< Custom linktype: NDIS doesn't provide an equivalent
#define NdisMediumRadio80211 -5 ///< Custom linktype: NDIS doesn't provide an equivalent
#define NdisMediumPpi -6 ///< Custom linktype: NDIS doesn't provide an equivalent
#define NdisMediumNull -1 ///< Custom linktype: NDIS doesn't provide an equivalent
#define NdisMediumCHDLC -2 ///< Custom linktype: NDIS doesn't provide an equivalent
#define NdisMediumPPPSerial -3 ///< Custom linktype: NDIS doesn't provide an equivalent
#define NdisMediumBare80211 -4 ///< Custom linktype: NDIS doesn't provide an equivalent
#define NdisMediumRadio80211 -5 ///< Custom linktype: NDIS doesn't provide an equivalent
#define NdisMediumPpi -6 ///< Custom linktype: NDIS doesn't provide an equivalent
// Loopback behaviour definitions
#define NPF_DISABLE_LOOPBACK 1 ///< Drop the packets sent by the NPF driver
#define NPF_ENABLE_LOOPBACK 2 ///< Capture the packets sent by the NPF driver
#define NPF_DISABLE_LOOPBACK 1 ///< Drop the packets sent by the NPF driver
#define NPF_ENABLE_LOOPBACK 2 ///< Capture the packets sent by the NPF driver
/*!
\brief Network type structure.
@ -91,8 +91,8 @@ typedef struct _AirpcapHandle *PAirpcapHandle;
*/
typedef struct NetType
{
UINT LinkType; ///< The MAC of the current network adapter (see function PacketGetNetType() for more information)
ULONGLONG LinkSpeed; ///< The speed of the network in bits per second
UINT LinkType; ///< The MAC of the current network adapter (see function PacketGetNetType() for more information)
ULONGLONG LinkSpeed; ///< The speed of the network in bits per second
}NetType;
@ -103,12 +103,12 @@ typedef struct NetType
/*!
\brief A BPF pseudo-assembly program.
The program will be injected in the kernel by the PacketSetBPF() function and applied to every incoming packet.
The program will be injected in the kernel by the PacketSetBPF() function and applied to every incoming packet.
*/
struct bpf_program
struct bpf_program
{
UINT bf_len; ///< Indicates the number of instructions of the program, i.e. the number of struct bpf_insn that will follow.
struct bpf_insn *bf_insns; ///< A pointer to the first instruction of the program.
UINT bf_len; ///< Indicates the number of instructions of the program, i.e. the number of struct bpf_insn that will follow.
struct bpf_insn *bf_insns; ///< A pointer to the first instruction of the program.
};
/*!
@ -116,12 +116,12 @@ struct bpf_program
bpf_insn contains a single instruction for the BPF register-machine. It is used to send a filter program to the driver.
*/
struct bpf_insn
struct bpf_insn
{
USHORT code; ///< Instruction type and addressing mode.
UCHAR jt; ///< Jump if true
UCHAR jf; ///< Jump if false
int k; ///< Generic field used for various purposes.
USHORT code; ///< Instruction type and addressing mode.
UCHAR jt; ///< Jump if true
UCHAR jf; ///< Jump if false
int k; ///< Generic field used for various purposes.
};
/*!
@ -129,16 +129,16 @@ struct bpf_insn
It is used by packet.dll to return statistics about a capture session.
*/
struct bpf_stat
struct bpf_stat
{
UINT bs_recv; ///< Number of packets that the driver received from the network adapter
///< from the beginning of the current capture. This value includes the packets
UINT bs_recv; ///< Number of packets that the driver received from the network adapter
///< from the beginning of the current capture. This value includes the packets
///< lost by the driver.
UINT bs_drop; ///< number of packets that the driver lost from the beginning of a capture.
///< Basically, a packet is lost when the the buffer of the driver is full.
UINT bs_drop; ///< number of packets that the driver lost from the beginning of a capture.
///< Basically, a packet is lost when the the buffer of the driver is full.
///< In this situation the packet cannot be stored and the driver rejects it.
UINT ps_ifdrop; ///< drops by interface. XXX not yet supported
UINT bs_capt; ///< number of packets that pass the filter, find place in the kernel buffer and
UINT ps_ifdrop; ///< drops by interface. XXX not yet supported
UINT bs_capt; ///< number of packets that pass the filter, find place in the kernel buffer and
///< thus reach the application.
};
@ -147,17 +147,17 @@ struct bpf_stat
This structure defines the header associated with every packet delivered to the application.
*/
struct bpf_hdr
struct bpf_hdr
{
struct timeval bh_tstamp; ///< The timestamp associated with the captured packet.
struct timeval bh_tstamp; ///< The timestamp associated with the captured packet.
///< It is stored in a TimeVal structure.
UINT bh_caplen; ///< Length of captured portion. The captured portion <b>can be different</b>
UINT bh_caplen; ///< Length of captured portion. The captured portion <b>can be different</b>
///< from the original packet, because it is possible (with a proper filter)
///< to instruct the driver to capture only a portion of the packets.
UINT bh_datalen; ///< Original length of packet
USHORT bh_hdrlen; ///< Length of bpf header (this struct plus alignment padding). In some cases,
UINT bh_datalen; ///< Original length of packet
USHORT bh_hdrlen; ///< Length of bpf header (this struct plus alignment padding). In some cases,
///< a padding could be added between the end of this structure and the packet
///< data for performance reasons. This filed can be used to retrieve the actual data
///< data for performance reasons. This filed can be used to retrieve the actual data
///< of the packet.
};
@ -169,11 +169,11 @@ struct bpf_hdr
packet in a dump file. This makes straightforward sending WinPcap dump files to the network.
*/
struct dump_bpf_hdr{
struct timeval ts; ///< Time stamp of the packet
UINT caplen; ///< Length of captured portion. The captured portion can smaller than the
///< the original packet, because it is possible (with a proper filter) to
///< instruct the driver to capture only a portion of the packets.
UINT len; ///< Length of the original packet (off wire).
struct timeval ts; ///< Time stamp of the packet
UINT caplen; ///< Length of captured portion. The captured portion can smaller than the
///< the original packet, because it is possible (with a proper filter) to
///< instruct the driver to capture only a portion of the packets.
UINT len; ///< Length of the original packet (off wire).
};
@ -181,39 +181,39 @@ struct dump_bpf_hdr{
struct bpf_stat;
#define DOSNAMEPREFIX TEXT("Packet_") ///< Prefix added to the adapters device names to create the WinPcap devices
#define MAX_LINK_NAME_LENGTH 64 //< Maximum length of the devices symbolic links
#define DOSNAMEPREFIX TEXT("Packet_") ///< Prefix added to the adapters device names to create the WinPcap devices
#define MAX_LINK_NAME_LENGTH 64 //< Maximum length of the devices symbolic links
#define NMAX_PACKET 65535
/*!
\brief Addresses of a network adapter.
This structure is used by the PacketGetNetInfoEx() function to return the IP addresses associated with
This structure is used by the PacketGetNetInfoEx() function to return the IP addresses associated with
an adapter.
*/
typedef struct npf_if_addr {
struct sockaddr_storage IPAddress; ///< IP address.
struct sockaddr_storage SubnetMask; ///< Netmask for that address.
struct sockaddr_storage Broadcast; ///< Broadcast address.
struct sockaddr_storage IPAddress; ///< IP address.
struct sockaddr_storage SubnetMask; ///< Netmask for that address.
struct sockaddr_storage Broadcast; ///< Broadcast address.
}npf_if_addr;
#define ADAPTER_NAME_LENGTH 256 + 12 ///< Maximum length for the name of an adapter. The value is the same used by the IP Helper API.
#define ADAPTER_DESC_LENGTH 128 ///< Maximum length for the description of an adapter. The value is the same used by the IP Helper API.
#define MAX_MAC_ADDR_LENGTH 8 ///< Maximum length for the link layer address of an adapter. The value is the same used by the IP Helper API.
#define MAX_NETWORK_ADDRESSES 16 ///< Maximum length for the link layer address of an adapter. The value is the same used by the IP Helper API.
#define ADAPTER_NAME_LENGTH 256 + 12 ///< Maximum length for the name of an adapter. The value is the same used by the IP Helper API.
#define ADAPTER_DESC_LENGTH 128 ///< Maximum length for the description of an adapter. The value is the same used by the IP Helper API.
#define MAX_MAC_ADDR_LENGTH 8 ///< Maximum length for the link layer address of an adapter. The value is the same used by the IP Helper API.
#define MAX_NETWORK_ADDRESSES 16 ///< Maximum length for the link layer address of an adapter. The value is the same used by the IP Helper API.
typedef struct WAN_ADAPTER_INT WAN_ADAPTER; ///< Describes an opened wan (dialup, VPN...) network adapter using the NetMon API
typedef WAN_ADAPTER *PWAN_ADAPTER; ///< Describes an opened wan (dialup, VPN...) network adapter using the NetMon API
#define INFO_FLAG_NDIS_ADAPTER 0 ///< Flag for ADAPTER_INFO: this is a traditional ndis adapter
#define INFO_FLAG_NDISWAN_ADAPTER 1 ///< Flag for ADAPTER_INFO: this is a NdisWan adapter, and it's managed by WANPACKET
#define INFO_FLAG_DAG_CARD 2 ///< Flag for ADAPTER_INFO: this is a DAG card
#define INFO_FLAG_DAG_FILE 6 ///< Flag for ADAPTER_INFO: this is a DAG file
#define INFO_FLAG_DONT_EXPORT 8 ///< Flag for ADAPTER_INFO: when this flag is set, the adapter will not be listed or openend by winpcap. This allows to prevent exporting broken network adapters, like for example FireWire ones.
#define INFO_FLAG_AIRPCAP_CARD 16 ///< Flag for ADAPTER_INFO: this is an airpcap card
#define INFO_FLAG_NPFIM_DEVICE 32
#define INFO_FLAG_NDIS_ADAPTER 0 ///< Flag for ADAPTER_INFO: this is a traditional ndis adapter
#define INFO_FLAG_NDISWAN_ADAPTER 1 ///< Flag for ADAPTER_INFO: this is a NdisWan adapter, and it's managed by WANPACKET
#define INFO_FLAG_DAG_CARD 2 ///< Flag for ADAPTER_INFO: this is a DAG card
#define INFO_FLAG_DAG_FILE 6 ///< Flag for ADAPTER_INFO: this is a DAG file
#define INFO_FLAG_DONT_EXPORT 8 ///< Flag for ADAPTER_INFO: when this flag is set, the adapter will not be listed or openend by winpcap. This allows to prevent exporting broken network adapters, like for example FireWire ones.
#define INFO_FLAG_AIRPCAP_CARD 16 ///< Flag for ADAPTER_INFO: this is an airpcap card
#define INFO_FLAG_NPFIM_DEVICE 32
/*!
\brief Describes an opened network adapter.
@ -221,27 +221,27 @@ typedef WAN_ADAPTER *PWAN_ADAPTER; ///< Describes an opened wan (dialup, VPN...)
This structure is the most important for the functioning of packet.dll, but the great part of its fields
should be ignored by the user, since the library offers functions that avoid to cope with low-level parameters
*/
typedef struct _ADAPTER {
HANDLE hFile; ///< \internal Handle to an open instance of the NPF driver.
typedef struct _ADAPTER {
HANDLE hFile; ///< \internal Handle to an open instance of the NPF driver.
CHAR SymbolicLink[MAX_LINK_NAME_LENGTH]; ///< \internal A string containing the name of the network adapter currently opened.
int NumWrites; ///< \internal Number of times a packets written on this adapter will be repeated
int NumWrites; ///< \internal Number of times a packets written on this adapter will be repeated
///< on the wire.
HANDLE ReadEvent; ///< A notification event associated with the read calls on the adapter.
HANDLE ReadEvent; ///< A notification event associated with the read calls on the adapter.
///< It can be passed to standard Win32 functions (like WaitForSingleObject
///< or WaitForMultipleObjects) to wait until the driver's buffer contains some
///< data. It is particularly useful in GUI applications that need to wait
///< or WaitForMultipleObjects) to wait until the driver's buffer contains some
///< data. It is particularly useful in GUI applications that need to wait
///< concurrently on several events. In Windows NT/2000 the PacketSetMinToCopy()
///< function can be used to define the minimum amount of data in the kernel buffer
///< that will cause the event to be signalled.
UINT ReadTimeOut; ///< \internal The amount of time after which a read on the driver will be released and
///< that will cause the event to be signalled.
UINT ReadTimeOut; ///< \internal The amount of time after which a read on the driver will be released and
///< ReadEvent will be signaled, also if no packets were captured
CHAR Name[ADAPTER_NAME_LENGTH];
PWAN_ADAPTER pWanAdapter;
UINT Flags; ///< Adapter's flags. Tell if this adapter must be treated in a different way, using the Netmon API or the dagc API.
UINT Flags; ///< Adapter's flags. Tell if this adapter must be treated in a different way, using the Netmon API or the dagc API.
#ifdef HAVE_AIRPCAP_API
PAirpcapHandle AirpcapAd;
PAirpcapHandle AirpcapAd;
#endif // HAVE_AIRPCAP_API
#ifdef HAVE_NPFIM_API
@ -249,11 +249,11 @@ typedef struct _ADAPTER {
#endif // HAVE_NPFIM_API
#ifdef HAVE_DAG_API
dagc_t *pDagCard; ///< Pointer to the dagc API adapter descriptor for this adapter
PCHAR DagBuffer; ///< Pointer to the buffer with the packets that is received from the DAG card
struct timeval DagReadTimeout; ///< Read timeout. The dagc API requires a timeval structure
unsigned DagFcsLen; ///< Length of the frame check sequence attached to any packet by the card. Obtained from the registry
DWORD DagFastProcess; ///< True if the user requests fast capture processing on this card. Higher level applications can use this value to provide a faster but possibly unprecise capture (for example, libpcap doesn't convert the timestamps).
dagc_t *pDagCard; ///< Pointer to the dagc API adapter descriptor for this adapter
PCHAR DagBuffer; ///< Pointer to the buffer with the packets that is received from the DAG card
struct timeval DagReadTimeout; ///< Read timeout. The dagc API requires a timeval structure
unsigned DagFcsLen; ///< Length of the frame check sequence attached to any packet by the card. Obtained from the registry
DWORD DagFastProcess; ///< True if the user requests fast capture processing on this card. Higher level applications can use this value to provide a faster but possibly unprecise capture (for example, libpcap doesn't convert the timestamps).
#endif // HAVE_DAG_API
} ADAPTER, *LPADAPTER;
@ -262,31 +262,31 @@ typedef struct _ADAPTER {
This structure defines the header associated with every packet delivered to the application.
*/
typedef struct _PACKET {
HANDLE hEvent; ///< \deprecated Still present for compatibility with old applications.
OVERLAPPED OverLapped; ///< \deprecated Still present for compatibility with old applications.
PVOID Buffer; ///< Buffer with containing the packets. See the PacketReceivePacket() for
typedef struct _PACKET {
HANDLE hEvent; ///< \deprecated Still present for compatibility with old applications.
OVERLAPPED OverLapped; ///< \deprecated Still present for compatibility with old applications.
PVOID Buffer; ///< Buffer with containing the packets. See the PacketReceivePacket() for
///< details about the organization of the data in this buffer
UINT Length; ///< Length of the buffer
DWORD ulBytesReceived; ///< Number of valid bytes present in the buffer, i.e. amount of data
UINT Length; ///< Length of the buffer
DWORD ulBytesReceived; ///< Number of valid bytes present in the buffer, i.e. amount of data
///< received by the last call to PacketReceivePacket()
BOOLEAN bIoComplete; ///< \deprecated Still present for compatibility with old applications.
BOOLEAN bIoComplete; ///< \deprecated Still present for compatibility with old applications.
} PACKET, *LPPACKET;
/*!
\brief Structure containing an OID request.
It is used by the PacketRequest() function to send an OID to the interface card driver.
It can be used, for example, to retrieve the status of the error counters on the adapter, its MAC address,
It is used by the PacketRequest() function to send an OID to the interface card driver.
It can be used, for example, to retrieve the status of the error counters on the adapter, its MAC address,
the list of the multicast groups defined on it, and so on.
*/
struct _PACKET_OID_DATA {
ULONG Oid; ///< OID code. See the Microsoft DDK documentation or the file ntddndis.h
ULONG Oid; ///< OID code. See the Microsoft DDK documentation or the file ntddndis.h
///< for a complete list of valid codes.
ULONG Length; ///< Length of the data field
UCHAR Data[1]; ///< variable-lenght field that contains the information passed to or received
ULONG Length; ///< Length of the data field
UCHAR Data[1]; ///< variable-lenght field that contains the information passed to or received
///< from the adapter.
};
};
typedef struct _PACKET_OID_DATA PACKET_OID_DATA, *PPACKET_OID_DATA;
#ifdef __cplusplus
@ -299,16 +299,16 @@ extern "C" {
/*
BOOLEAN QueryWinPcapRegistryStringA(CHAR *SubKeyName,
CHAR *Value,
UINT *pValueLen,
CHAR *DefaultVal);
CHAR *Value,
UINT *pValueLen,
CHAR *DefaultVal);
BOOLEAN QueryWinPcapRegistryStringW(WCHAR *SubKeyName,
WCHAR *Value,
UINT *pValueLen,
WCHAR *DefaultVal);
WCHAR *Value,
UINT *pValueLen,
WCHAR *DefaultVal);
*/
//---------------------------------------------------------------------------
// EXPORTED FUNCTIONS
//---------------------------------------------------------------------------
@ -350,10 +350,10 @@ PAirpcapHandle PacketGetAirPcapHandle(LPADAPTER AdapterObject);
//
// Used by PacketStartOemEx
//
#define PACKET_START_OEM_NO_NETMON 0x00000001
#define PACKET_START_OEM_NO_NETMON 0x00000001
#ifdef __cplusplus
}
#endif
#endif
#endif //__PACKET32

View File

@ -12,9 +12,9 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the Politecnico di Torino, CACE Technologies
* nor the names of its contributors may be used to endorse or promote
* products derived from this software without specific prior written
* 3. Neither the name of the Politecnico di Torino, CACE Technologies
* nor the names of its contributors may be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@ -45,9 +45,9 @@ extern "C" {
*/
struct pcap_send_queue
{
u_int maxlen; ///< Maximum size of the the queue, in bytes. This variable contains the size of the buffer field.
u_int len; ///< Current size of the queue, in bytes.
char *buffer; ///< Buffer containing the packets to be sent.
u_int maxlen; ///< Maximum size of the the queue, in bytes. This variable contains the size of the buffer field.
u_int len; ///< Current size of the queue, in bytes.
char *buffer; ///< Buffer containing the packets to be sent.
};
typedef struct pcap_send_queue pcap_send_queue;
@ -60,26 +60,26 @@ typedef struct pcap_send_queue pcap_send_queue;
typedef struct _AirpcapHandle *PAirpcapHandle;
#endif
#define BPF_MEM_EX_IMM 0xc0
#define BPF_MEM_EX_IND 0xe0
#define BPF_MEM_EX_IMM 0xc0
#define BPF_MEM_EX_IND 0xe0
/*used for ST*/
#define BPF_MEM_EX 0xc0
#define BPF_TME 0x08
#define BPF_MEM_EX 0xc0
#define BPF_TME 0x08
#define BPF_LOOKUP 0x90
#define BPF_EXECUTE 0xa0
#define BPF_INIT 0xb0
#define BPF_VALIDATE 0xc0
#define BPF_SET_ACTIVE 0xd0
#define BPF_RESET 0xe0
#define BPF_SET_MEMORY 0x80
#define BPF_GET_REGISTER_VALUE 0x70
#define BPF_SET_REGISTER_VALUE 0x60
#define BPF_SET_WORKING 0x50
#define BPF_SET_ACTIVE_READ 0x40
#define BPF_SET_AUTODELETION 0x30
#define BPF_SEPARATION 0xff
#define BPF_LOOKUP 0x90
#define BPF_EXECUTE 0xa0
#define BPF_INIT 0xb0
#define BPF_VALIDATE 0xc0
#define BPF_SET_ACTIVE 0xd0
#define BPF_RESET 0xe0
#define BPF_SET_MEMORY 0x80
#define BPF_GET_REGISTER_VALUE 0x70
#define BPF_SET_REGISTER_VALUE 0x60
#define BPF_SET_WORKING 0x50
#define BPF_SET_ACTIVE_READ 0x40
#define BPF_SET_AUTODELETION 0x30
#define BPF_SEPARATION 0xff
/* Prototypes */
pcap_send_queue* pcap_sendqueue_alloc(u_int memsize);

View File

@ -1,7 +1,7 @@
/*
* Copyright (C) 1999 WIDE Project.
* All rights reserved.
*
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@ -13,7 +13,7 @@
* 3. Neither the name of the project nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
*
* THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@ -45,7 +45,7 @@ typedef signed int int8_t;
#endif /* HAVE_U_INT8_T */
#ifndef HAVE_U_INT16_T
#ifndef HAVE_U_INT16_T
#if SIZEOF_SHORT == 2
typedef unsigned short u_int16_t;
@ -104,33 +104,33 @@ typedef unsigned short u_int64_t;
#ifndef PRId64
#ifdef _MSC_EXTENSIONS
#define PRId64 "I64d"
#define PRId64 "I64d"
#else /* _MSC_EXTENSIONS */
#define PRId64 "lld"
#define PRId64 "lld"
#endif /* _MSC_EXTENSIONS */
#endif /* PRId64 */
#ifndef PRIo64
#ifdef _MSC_EXTENSIONS
#define PRIo64 "I64o"
#define PRIo64 "I64o"
#else /* _MSC_EXTENSIONS */
#define PRIo64 "llo"
#define PRIo64 "llo"
#endif /* _MSC_EXTENSIONS */
#endif /* PRIo64 */
#ifndef PRIx64
#ifdef _MSC_EXTENSIONS
#define PRIx64 "I64x"
#define PRIx64 "I64x"
#else /* _MSC_EXTENSIONS */
#define PRIx64 "llx"
#define PRIx64 "llx"
#endif /* _MSC_EXTENSIONS */
#endif /* PRIx64 */
#ifndef PRIu64
#ifdef _MSC_EXTENSIONS
#define PRIu64 "I64u"
#define PRIu64 "I64u"
#else /* _MSC_EXTENSIONS */
#define PRIu64 "llu"
#define PRIu64 "llu"
#endif /* _MSC_EXTENSIONS */
#endif /* PRIu64 */

View File

@ -1,6 +1,6 @@
/*
* Copyright (c) 1993, 1994, 1997
* The Regents of the University of California. All rights reserved.
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that: (1) source code distributions
@ -30,28 +30,28 @@
#include <ws2tcpip.h>
#ifndef __MINGW32__
#define IN_MULTICAST(a) IN_CLASSD(a)
#define IN_MULTICAST(a) IN_CLASSD(a)
#endif
#define IN_EXPERIMENTAL(a) ((((u_int32_t) (a)) & 0xf0000000) == 0xf0000000)
#define IN_EXPERIMENTAL(a) ((((u_int32_t) (a)) & 0xf0000000) == 0xf0000000)
#define IN_LOOPBACKNET 127
#define IN_LOOPBACKNET 127
#if defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF)
/* IPv6 address */
struct in6_addr
{
union
{
u_int8_t u6_addr8[16];
u_int16_t u6_addr16[8];
u_int32_t u6_addr32[4];
} in6_u;
#define s6_addr in6_u.u6_addr8
#define s6_addr16 in6_u.u6_addr16
#define s6_addr32 in6_u.u6_addr32
#define s6_addr64 in6_u.u6_addr64
};
{
union
{
u_int8_t u6_addr8[16];
u_int16_t u6_addr16[8];
u_int32_t u6_addr32[4];
} in6_u;
#define s6_addr in6_u.u6_addr8
#define s6_addr16 in6_u.u6_addr16
#define s6_addr32 in6_u.u6_addr32
#define s6_addr64 in6_u.u6_addr64
};
#define IN6ADDR_ANY_INIT { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
#define IN6ADDR_LOOPBACK_INIT { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }
@ -59,27 +59,27 @@ struct in6_addr
#if (defined _MSC_VER) || (defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF))
typedef unsigned short sa_family_t;
typedef unsigned short sa_family_t;
#endif
#if defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF)
#define __SOCKADDR_COMMON(sa_prefix) \
sa_family_t sa_prefix##family
#define __SOCKADDR_COMMON(sa_prefix) \
sa_family_t sa_prefix##family
/* Ditto, for IPv6. */
struct sockaddr_in6
{
__SOCKADDR_COMMON (sin6_);
u_int16_t sin6_port; /* Transport layer port # */
u_int32_t sin6_flowinfo; /* IPv6 flow information */
struct in6_addr sin6_addr; /* IPv6 address */
};
{
__SOCKADDR_COMMON (sin6_);
u_int16_t sin6_port; /* Transport layer port # */
u_int32_t sin6_flowinfo; /* IPv6 flow information */
struct in6_addr sin6_addr; /* IPv6 address */
};
#define IN6_IS_ADDR_V4MAPPED(a) \
((((u_int32_t *) (a))[0] == 0) && (((u_int32_t *) (a))[1] == 0) && \
(((u_int32_t *) (a))[2] == htonl (0xffff)))
(((u_int32_t *) (a))[2] == htonl (0xffff)))
#define IN6_IS_ADDR_MULTICAST(a) (((u_int8_t *) (a))[0] == 0xff)
@ -88,7 +88,7 @@ struct sockaddr_in6
#define IN6_IS_ADDR_LOOPBACK(a) \
(((u_int32_t *) (a))[0] == 0 && ((u_int32_t *) (a))[1] == 0 && \
((u_int32_t *) (a))[2] == 0 && ((u_int32_t *) (a))[3] == htonl (1))
((u_int32_t *) (a))[2] == 0 && ((u_int32_t *) (a))[3] == htonl (1))
#endif /* __MINGW32__ */
#define ip6_vfc ip6_ctlun.ip6_un2_vfc
@ -104,60 +104,60 @@ struct sockaddr_in6
#define nd_rd_reserved nd_rd_hdr.icmp6_data32[0]
/*
* IPV6 extension headers
* IPV6 extension headers
*/
#define IPPROTO_HOPOPTS 0 /* IPv6 hop-by-hop options */
#define IPPROTO_IPV6 41 /* IPv6 header. */
#define IPPROTO_ROUTING 43 /* IPv6 routing header */
#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
#define IPPROTO_ESP 50 /* encapsulating security payload */
#define IPPROTO_AH 51 /* authentication header */
#define IPPROTO_ICMPV6 58 /* ICMPv6 */
#define IPPROTO_NONE 59 /* IPv6 no next header */
#define IPPROTO_DSTOPTS 60 /* IPv6 destination options */
#define IPPROTO_PIM 103 /* Protocol Independent Multicast. */
#define IPPROTO_HOPOPTS 0 /* IPv6 hop-by-hop options */
#define IPPROTO_IPV6 41 /* IPv6 header. */
#define IPPROTO_ROUTING 43 /* IPv6 routing header */
#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
#define IPPROTO_ESP 50 /* encapsulating security payload */
#define IPPROTO_AH 51 /* authentication header */
#define IPPROTO_ICMPV6 58 /* ICMPv6 */
#define IPPROTO_NONE 59 /* IPv6 no next header */
#define IPPROTO_DSTOPTS 60 /* IPv6 destination options */
#define IPPROTO_PIM 103 /* Protocol Independent Multicast. */
#define IPV6_RTHDR_TYPE_0 0
#define IPV6_RTHDR_TYPE_0 0
/* Option types and related macros */
#define IP6OPT_PAD1 0x00 /* 00 0 00000 */
#define IP6OPT_PADN 0x01 /* 00 0 00001 */
#define IP6OPT_JUMBO 0xC2 /* 11 0 00010 = 194 */
#define IP6OPT_JUMBO_LEN 6
#define IP6OPT_ROUTER_ALERT 0x05 /* 00 0 00101 */
#define IP6OPT_PAD1 0x00 /* 00 0 00000 */
#define IP6OPT_PADN 0x01 /* 00 0 00001 */
#define IP6OPT_JUMBO 0xC2 /* 11 0 00010 = 194 */
#define IP6OPT_JUMBO_LEN 6
#define IP6OPT_ROUTER_ALERT 0x05 /* 00 0 00101 */
#define IP6OPT_RTALERT_LEN 4
#define IP6OPT_RTALERT_MLD 0 /* Datagram contains an MLD message */
#define IP6OPT_RTALERT_RSVP 1 /* Datagram contains an RSVP message */
#define IP6OPT_RTALERT_ACTNET 2 /* contains an Active Networks msg */
#define IP6OPT_MINLEN 2
#define IP6OPT_RTALERT_LEN 4
#define IP6OPT_RTALERT_MLD 0 /* Datagram contains an MLD message */
#define IP6OPT_RTALERT_RSVP 1 /* Datagram contains an RSVP message */
#define IP6OPT_RTALERT_ACTNET 2 /* contains an Active Networks msg */
#define IP6OPT_MINLEN 2
#define IP6OPT_BINDING_UPDATE 0xc6 /* 11 0 00110 */
#define IP6OPT_BINDING_ACK 0x07 /* 00 0 00111 */
#define IP6OPT_BINDING_REQ 0x08 /* 00 0 01000 */
#define IP6OPT_HOME_ADDRESS 0xc9 /* 11 0 01001 */
#define IP6OPT_EID 0x8a /* 10 0 01010 */
#define IP6OPT_BINDING_UPDATE 0xc6 /* 11 0 00110 */
#define IP6OPT_BINDING_ACK 0x07 /* 00 0 00111 */
#define IP6OPT_BINDING_REQ 0x08 /* 00 0 01000 */
#define IP6OPT_HOME_ADDRESS 0xc9 /* 11 0 01001 */
#define IP6OPT_EID 0x8a /* 10 0 01010 */
#define IP6OPT_TYPE(o) ((o) & 0xC0)
#define IP6OPT_TYPE_SKIP 0x00
#define IP6OPT_TYPE_DISCARD 0x40
#define IP6OPT_TYPE_FORCEICMP 0x80
#define IP6OPT_TYPE_ICMP 0xC0
#define IP6OPT_TYPE(o) ((o) & 0xC0)
#define IP6OPT_TYPE_SKIP 0x00
#define IP6OPT_TYPE_DISCARD 0x40
#define IP6OPT_TYPE_FORCEICMP 0x80
#define IP6OPT_TYPE_ICMP 0xC0
#define IP6OPT_MUTABLE 0x20
#define IP6OPT_MUTABLE 0x20
#if defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF)
#ifndef EAI_ADDRFAMILY
struct addrinfo {
int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
int ai_family; /* PF_xxx */
int ai_socktype; /* SOCK_xxx */
int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
size_t ai_addrlen; /* length of ai_addr */
char *ai_canonname; /* canonical name for hostname */
struct sockaddr *ai_addr; /* binary address */
struct addrinfo *ai_next; /* next structure in linked list */
int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
int ai_family; /* PF_xxx */
int ai_socktype; /* SOCK_xxx */
int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
size_t ai_addrlen; /* length of ai_addr */
char *ai_canonname; /* canonical name for hostname */
struct sockaddr *ai_addr; /* binary address */
struct addrinfo *ai_next; /* next structure in linked list */
};
#endif
#endif /* __MINGW32__ */

View File

@ -1,10 +1,10 @@
/*-
* Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
* The Regents of the University of California. All rights reserved.
* The Regents of the University of California. All rights reserved.
*
* This code is derived from the Stanford/CMU enet packet filter,
* (net/enet.c) distributed as part of 4.3BSD, and code contributed
* to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
* to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
* Berkeley Laboratory.
*
* Redistribution and use in source and binary forms, with or without

View File

@ -1,6 +1,6 @@
/*
* Copyright (c) 1994, 1996
* The Regents of the University of California. All rights reserved.
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@ -12,8 +12,8 @@
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the Computer Systems
* Engineering Group at Lawrence Berkeley Laboratory.
* This product includes software developed by the Computer Systems
* Engineering Group at Lawrence Berkeley Laboratory.
* 4. Neither the name of the University nor of the Laboratory may be used
* to endorse or promote products derived from this software without
* specific prior written permission.

View File

@ -39,7 +39,7 @@
#endif
/*
* Avoids a compiler warning in case this was already defined
* Avoids a compiler warning in case this was already defined
* (someone defined _WINSOCKAPI_ when including 'windows.h', in order
* to prevent it from including 'winsock.h')
*/
@ -67,7 +67,7 @@
#endif
#if defined(_MSC_VER) && (_MSC_VER < 1700)
#define inline __inline
#define inline __inline
#endif
#ifdef __MINGW32__
@ -90,6 +90,6 @@ typedef __int64 intptr_t;
typedef _W64 int intptr_t;
#endif
#define _INTPTR_T_DEFINED
#endif
#endif
#endif /*__MINGW32__*/

View File

@ -1,6 +1,6 @@
/*
* Copyright (c) 1993, 1994, 1995, 1996, 1997
* The Regents of the University of California. All rights reserved.
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@ -12,8 +12,8 @@
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the Computer Systems
* Engineering Group at Lawrence Berkeley Laboratory.
* This product includes software developed by the Computer Systems
* Engineering Group at Lawrence Berkeley Laboratory.
* 4. Neither the name of the University nor of the Laboratory may be used
* to endorse or promote products derived from this software without
* specific prior written permission.

View File

@ -11,8 +11,8 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior written
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@ -32,7 +32,7 @@
*
* @(#) $Header: /tcpdump/master/libpcap/pcap/bluetooth.h,v 1.1 2007/09/22 02:10:17 guy Exp $
*/
#ifndef _PCAP_BLUETOOTH_STRUCTS_H__
#define _PCAP_BLUETOOTH_STRUCTS_H__

View File

@ -1,10 +1,10 @@
/*-
* Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
* The Regents of the University of California. All rights reserved.
* The Regents of the University of California. All rights reserved.
*
* This code is derived from the Stanford/CMU enet packet filter,
* (net/enet.c) distributed as part of 4.3BSD, and code contributed
* to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
* to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
* Berkeley Laboratory.
*
* Redistribution and use in source and binary forms, with or without
@ -64,13 +64,13 @@ extern "C" {
typedef long bpf_int32;
typedef unsigned long bpf_u_int32;
#else
typedef int bpf_int32;
typedef u_int bpf_u_int32;
typedef int bpf_int32;
typedef u_int bpf_u_int32;
#endif
/*
* Alignment macros. BPF_WORDALIGN rounds up to the next
* even multiple of BPF_ALIGNMENT.
* Alignment macros. BPF_WORDALIGN rounds up to the next
* even multiple of BPF_ALIGNMENT.
*/
#ifndef __NetBSD__
#define BPF_ALIGNMENT sizeof(bpf_int32)
@ -89,9 +89,9 @@ struct bpf_program {
u_int bf_len;
struct bpf_insn *bf_insns;
};
/*
* Struct return by BIOCVERSION. This represents the version number of
* Struct return by BIOCVERSION. This represents the version number of
* the filter language described by the instruction encodings below.
* bpf understands a program iff kernel_major == filter_major &&
* kernel_minor >= filter_minor, that is, if the value returned by the
@ -125,17 +125,17 @@ struct bpf_version {
* These are the types that are the same on all platforms, and that
* have been defined by <net/bpf.h> for ages.
*/
#define DLT_NULL 0 /* BSD loopback encapsulation */
#define DLT_EN10MB 1 /* Ethernet (10Mb) */
#define DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */
#define DLT_AX25 3 /* Amateur Radio AX.25 */
#define DLT_PRONET 4 /* Proteon ProNET Token Ring */
#define DLT_CHAOS 5 /* Chaos */
#define DLT_IEEE802 6 /* 802.5 Token Ring */
#define DLT_ARCNET 7 /* ARCNET, with BSD-style header */
#define DLT_SLIP 8 /* Serial Line IP */
#define DLT_PPP 9 /* Point-to-point Protocol */
#define DLT_FDDI 10 /* FDDI */
#define DLT_NULL 0 /* BSD loopback encapsulation */
#define DLT_EN10MB 1 /* Ethernet (10Mb) */
#define DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */
#define DLT_AX25 3 /* Amateur Radio AX.25 */
#define DLT_PRONET 4 /* Proteon ProNET Token Ring */
#define DLT_CHAOS 5 /* Chaos */
#define DLT_IEEE802 6 /* 802.5 Token Ring */
#define DLT_ARCNET 7 /* ARCNET, with BSD-style header */
#define DLT_SLIP 8 /* Serial Line IP */
#define DLT_PPP 9 /* Point-to-point Protocol */
#define DLT_FDDI 10 /* FDDI */
/*
* These are types that are different on some platforms, and that
@ -146,12 +146,12 @@ struct bpf_version {
* XXX - DLT_ATM_RFC1483 is 13 in BSD/OS, and DLT_RAW is 14 in BSD/OS,
* but I don't know what the right #define is for BSD/OS.
*/
#define DLT_ATM_RFC1483 11 /* LLC-encapsulated ATM */
#define DLT_ATM_RFC1483 11 /* LLC-encapsulated ATM */
#ifdef __OpenBSD__
#define DLT_RAW 14 /* raw IP */
#define DLT_RAW 14 /* raw IP */
#else
#define DLT_RAW 12 /* raw IP */
#define DLT_RAW 12 /* raw IP */
#endif
/*
@ -162,12 +162,12 @@ struct bpf_version {
*/
#if defined(__NetBSD__) || defined(__FreeBSD__)
#ifndef DLT_SLIP_BSDOS
#define DLT_SLIP_BSDOS 13 /* BSD/OS Serial Line IP */
#define DLT_PPP_BSDOS 14 /* BSD/OS Point-to-point Protocol */
#define DLT_SLIP_BSDOS 13 /* BSD/OS Serial Line IP */
#define DLT_PPP_BSDOS 14 /* BSD/OS Point-to-point Protocol */
#endif
#else
#define DLT_SLIP_BSDOS 15 /* BSD/OS Serial Line IP */
#define DLT_PPP_BSDOS 16 /* BSD/OS Point-to-point Protocol */
#define DLT_SLIP_BSDOS 15 /* BSD/OS Serial Line IP */
#define DLT_PPP_BSDOS 16 /* BSD/OS Point-to-point Protocol */
#endif
/*
@ -176,21 +176,21 @@ struct bpf_version {
* 18 is used for DLT_PFSYNC in OpenBSD; don't use it for anything else.
*/
#define DLT_ATM_CLIP 19 /* Linux Classical-IP over ATM */
#define DLT_ATM_CLIP 19 /* Linux Classical-IP over ATM */
/*
* Apparently Redback uses this for its SmartEdge 400/800. I hope
* nobody else decided to use it, too.
*/
#define DLT_REDBACK_SMARTEDGE 32
#define DLT_REDBACK_SMARTEDGE 32
/*
* These values are defined by NetBSD; other platforms should refrain from
* using them for other purposes, so that NetBSD savefiles with link
* types of 50 or 51 can be read as this type on all platforms.
*/
#define DLT_PPP_SERIAL 50 /* PPP over serial with HDLC encapsulation */
#define DLT_PPP_ETHER 51 /* PPP over Ethernet */
#define DLT_PPP_SERIAL 50 /* PPP over serial with HDLC encapsulation */
#define DLT_PPP_ETHER 51 /* PPP over Ethernet */
/*
* The Axent Raptor firewall - now the Symantec Enterprise Firewall - uses
@ -199,7 +199,7 @@ struct bpf_version {
* Ethernet type, and 36 bytes that appear to be 0 in at least one capture
* I've seen.
*/
#define DLT_SYMANTEC_FIREWALL 99
#define DLT_SYMANTEC_FIREWALL 99
/*
* Values between 100 and 103 are used in capture file headers as
@ -221,10 +221,10 @@ struct bpf_version {
* libpcap 0.5 defined it as DLT_CHDLC; we define DLT_CHDLC as well,
* for source compatibility with programs written for libpcap 0.5.
*/
#define DLT_C_HDLC 104 /* Cisco HDLC */
#define DLT_CHDLC DLT_C_HDLC
#define DLT_C_HDLC 104 /* Cisco HDLC */
#define DLT_CHDLC DLT_C_HDLC
#define DLT_IEEE802_11 105 /* IEEE 802.11 wireless */
#define DLT_IEEE802_11 105 /* IEEE 802.11 wireless */
/*
* 106 is reserved for Linux Classical IP over ATM; it's like DLT_RAW,
@ -239,7 +239,7 @@ struct bpf_version {
* DLT_FR and DLT_FRELAY packets start with the Q.922 Frame Relay header
* (DLCI, etc.).
*/
#define DLT_FRELAY 107
#define DLT_FRELAY 107
/*
* OpenBSD DLT_LOOP, for loopback devices; it's like DLT_NULL, except
@ -249,9 +249,9 @@ struct bpf_version {
* we don't use 12 for it in OSes other than OpenBSD.
*/
#ifdef __OpenBSD__
#define DLT_LOOP 12
#define DLT_LOOP 12
#else
#define DLT_LOOP 108
#define DLT_LOOP 108
#endif
/*
@ -260,9 +260,9 @@ struct bpf_version {
* than OpenBSD.
*/
#ifdef __OpenBSD__
#define DLT_ENC 13
#define DLT_ENC 13
#else
#define DLT_ENC 109
#define DLT_ENC 109
#endif
/*
@ -275,22 +275,22 @@ struct bpf_version {
/*
* This is for Linux cooked sockets.
*/
#define DLT_LINUX_SLL 113
#define DLT_LINUX_SLL 113
/*
* Apple LocalTalk hardware.
*/
#define DLT_LTALK 114
#define DLT_LTALK 114
/*
* Acorn Econet.
*/
#define DLT_ECONET 115
#define DLT_ECONET 115
/*
* Reserved for use with OpenBSD ipfilter.
*/
#define DLT_IPFILTER 116
#define DLT_IPFILTER 116
/*
* OpenBSD DLT_PFLOG; DLT_PFLOG is 17 in OpenBSD, but that's DLT_LANE8023
@ -299,33 +299,33 @@ struct bpf_version {
* XXX: is there a conflict with DLT_PFSYNC 18 as well?
*/
#ifdef __OpenBSD__
#define DLT_OLD_PFLOG 17
#define DLT_PFSYNC 18
#define DLT_OLD_PFLOG 17
#define DLT_PFSYNC 18
#endif
#define DLT_PFLOG 117
#define DLT_PFLOG 117
/*
* Registered for Cisco-internal use.
*/
#define DLT_CISCO_IOS 118
#define DLT_CISCO_IOS 118
/*
* For 802.11 cards using the Prism II chips, with a link-layer
* header including Prism monitor mode information plus an 802.11
* header.
*/
#define DLT_PRISM_HEADER 119
#define DLT_PRISM_HEADER 119
/*
* Reserved for Aironet 802.11 cards, with an Aironet link-layer header
* (see Doug Ambrisko's FreeBSD patches).
*/
#define DLT_AIRONET_HEADER 120
#define DLT_AIRONET_HEADER 120
/*
* Reserved for Siemens HiPath HDLC.
*/
#define DLT_HHDLC 121
#define DLT_HHDLC 121
/*
* This is for RFC 2625 IP-over-Fibre Channel.
@ -335,7 +335,7 @@ struct bpf_version {
* where the link-layer header starts with an RFC 2625 Network_Header
* field.
*/
#define DLT_IP_OVER_FC 122
#define DLT_IP_OVER_FC 122
/*
* This is for Full Frontal ATM on Solaris with SunATM, with a
@ -351,9 +351,9 @@ struct bpf_version {
* and the like don't have to infer the presence or absence of a
* pseudo-header and the form of the pseudo-header.
*/
#define DLT_SUNATM 123 /* Solaris+SunATM */
#define DLT_SUNATM 123 /* Solaris+SunATM */
/*
/*
* Reserved as per request from Kent Dahlgren <kent@praesum.com>
* for private use.
*/
@ -366,7 +366,7 @@ struct bpf_version {
* including radio information, used by some recent BSD drivers as
* well as the madwifi Atheros driver for Linux.
*/
#define DLT_IEEE802_11_RADIO 127 /* 802.11 plus radiotap radio header */
#define DLT_IEEE802_11_RADIO 127 /* 802.11 plus radiotap radio header */
/*
* Reserved for the TZSP encapsulation, as per request from
@ -389,7 +389,7 @@ struct bpf_version {
*
* We therefore have to have separate DLT_ values for them.
*/
#define DLT_ARCNET_LINUX 129 /* ARCNET */
#define DLT_ARCNET_LINUX 129 /* ARCNET */
/*
* Juniper-private data link types, as per request from
@ -411,31 +411,31 @@ struct bpf_version {
* <dieter@apple.com>. The header that's presented is an Ethernet-like
* header:
*
* #define FIREWIRE_EUI64_LEN 8
* struct firewire_header {
* u_char firewire_dhost[FIREWIRE_EUI64_LEN];
* u_char firewire_shost[FIREWIRE_EUI64_LEN];
* u_short firewire_type;
* };
* #define FIREWIRE_EUI64_LEN 8
* struct firewire_header {
* u_char firewire_dhost[FIREWIRE_EUI64_LEN];
* u_char firewire_shost[FIREWIRE_EUI64_LEN];
* u_short firewire_type;
* };
*
* with "firewire_type" being an Ethernet type value, rather than,
* for example, raw GASP frames being handed up.
*/
#define DLT_APPLE_IP_OVER_IEEE1394 138
#define DLT_APPLE_IP_OVER_IEEE1394 138
/*
* Various SS7 encapsulations, as per a request from Jeff Morriss
* <jeff.morriss[AT]ulticom.com> and subsequent discussions.
*/
#define DLT_MTP2_WITH_PHDR 139 /* pseudo-header with various info, followed by MTP2 */
#define DLT_MTP2 140 /* MTP2, without pseudo-header */
#define DLT_MTP3 141 /* MTP3, without pseudo-header or MTP2 */
#define DLT_SCCP 142 /* SCCP, without pseudo-header or MTP2 or MTP3 */
#define DLT_MTP2_WITH_PHDR 139 /* pseudo-header with various info, followed by MTP2 */
#define DLT_MTP2 140 /* MTP2, without pseudo-header */
#define DLT_MTP3 141 /* MTP3, without pseudo-header or MTP2 */
#define DLT_SCCP 142 /* SCCP, without pseudo-header or MTP2 or MTP3 */
/*
* DOCSIS MAC frames.
*/
#define DLT_DOCSIS 143
#define DLT_DOCSIS 143
/*
* Linux-IrDA packets. Protocol defined at http://www.irda.org.
@ -452,13 +452,13 @@ struct bpf_version {
* issue and define a real DLT_IRDA...
* Jean II
*/
#define DLT_LINUX_IRDA 144
#define DLT_LINUX_IRDA 144
/*
* Reserved for IBM SP switch and IBM Next Federation switch.
*/
#define DLT_IBM_SP 145
#define DLT_IBM_SN 146
#define DLT_IBM_SP 145
#define DLT_IBM_SN 146
/*
* Reserved for private use. If you have some link-layer header type
@ -485,34 +485,34 @@ struct bpf_version {
* Instead, ask "tcpdump-workers@lists.tcpdump.org" for a new DLT_ value,
* as per the comment above, and use the type you're given.
*/
#define DLT_USER0 147
#define DLT_USER1 148
#define DLT_USER2 149
#define DLT_USER3 150
#define DLT_USER4 151
#define DLT_USER5 152
#define DLT_USER6 153
#define DLT_USER7 154
#define DLT_USER8 155
#define DLT_USER9 156
#define DLT_USER10 157
#define DLT_USER11 158
#define DLT_USER12 159
#define DLT_USER13 160
#define DLT_USER14 161
#define DLT_USER15 162
#define DLT_USER0 147
#define DLT_USER1 148
#define DLT_USER2 149
#define DLT_USER3 150
#define DLT_USER4 151
#define DLT_USER5 152
#define DLT_USER6 153
#define DLT_USER7 154
#define DLT_USER8 155
#define DLT_USER9 156
#define DLT_USER10 157
#define DLT_USER11 158
#define DLT_USER12 159
#define DLT_USER13 160
#define DLT_USER14 161
#define DLT_USER15 162
/*
* For future use with 802.11 captures - defined by AbsoluteValue
* Systems to store a number of bits of link-layer information
* including radio information:
*
* http://www.shaftnet.org/~pizza/software/capturefrm.txt
* http://www.shaftnet.org/~pizza/software/capturefrm.txt
*
* but it might be used by some non-AVS drivers now or in the
* future.
*/
#define DLT_IEEE802_11_RADIO_AVS 163 /* 802.11 plus AVS radio header */
#define DLT_IEEE802_11_RADIO_AVS 163 /* 802.11 plus AVS radio header */
/*
* Juniper-private data link type, as per request from
@ -525,7 +525,7 @@ struct bpf_version {
/*
* Reserved for BACnet MS/TP.
*/
#define DLT_BACNET_MS_TP 165
#define DLT_BACNET_MS_TP 165
/*
* Another PPP variant as per request from Karsten Keil <kkeil@suse.de>.
@ -541,14 +541,14 @@ struct bpf_version {
* The first byte of the PPP header (0xff03) is modified to accomodate
* the direction - 0x00 = IN, 0x01 = OUT.
*/
#define DLT_PPP_PPPD 166
#define DLT_PPP_PPPD 166
/*
* Names for backwards compatibility with older versions of some PPP
* software; new software should use DLT_PPP_PPPD.
*/
#define DLT_PPP_WITH_DIRECTION DLT_PPP_PPPD
#define DLT_LINUX_PPP_WITHDIRECTION DLT_PPP_PPPD
#define DLT_PPP_WITH_DIRECTION DLT_PPP_PPPD
#define DLT_LINUX_PPP_WITHDIRECTION DLT_PPP_PPPD
/*
* Juniper-private data link type, as per request from
@ -559,16 +559,16 @@ struct bpf_version {
#define DLT_JUNIPER_PPPOE 167
#define DLT_JUNIPER_PPPOE_ATM 168
#define DLT_GPRS_LLC 169 /* GPRS LLC */
#define DLT_GPF_T 170 /* GPF-T (ITU-T G.7041/Y.1303) */
#define DLT_GPF_F 171 /* GPF-F (ITU-T G.7041/Y.1303) */
#define DLT_GPRS_LLC 169 /* GPRS LLC */
#define DLT_GPF_T 170 /* GPF-T (ITU-T G.7041/Y.1303) */
#define DLT_GPF_F 171 /* GPF-F (ITU-T G.7041/Y.1303) */
/*
* Requested by Oolan Zimmer <oz@gcom.com> for use in Gcom's T1/E1 line
* monitoring equipment.
*/
#define DLT_GCOM_T1E1 172
#define DLT_GCOM_SERIAL 173
#define DLT_GCOM_T1E1 172
#define DLT_GCOM_SERIAL 173
/*
* Juniper-private data link type, as per request from
@ -583,8 +583,8 @@ struct bpf_version {
* http://www.endace.com/support/EndaceRecordFormat.pdf) in front of
* the link-layer header.
*/
#define DLT_ERF_ETH 175 /* Ethernet */
#define DLT_ERF_POS 176 /* Packet-over-SONET */
#define DLT_ERF_ETH 175 /* Ethernet */
#define DLT_ERF_POS 176 /* Packet-over-SONET */
/*
* Requested by Daniele Orlandi <daniele@orlandi.com> for raw LAPD
@ -592,11 +592,11 @@ struct bpf_version {
* includes additional information before the LAPD header, so it's
* not necessarily a generic LAPD header.
*/
#define DLT_LINUX_LAPD 177
#define DLT_LINUX_LAPD 177
/*
* Juniper-private data link type, as per request from
* Hannes Gredler <hannes@juniper.net>.
* Hannes Gredler <hannes@juniper.net>.
* The DLT_ are used for prepending meta-information
* like interface index, interface name
* before standard Ethernet, PPP, Frelay & C-HDLC Frames
@ -613,7 +613,7 @@ struct bpf_version {
/*
* Juniper-private data link type, as per request from
* Hannes Gredler <hannes@juniper.net>.
* Hannes Gredler <hannes@juniper.net>.
* The DLT_ is used for internal communication with a
* voice Adapter Card (PIC)
*/
@ -639,25 +639,25 @@ struct bpf_version {
* USB packets, beginning with a USB setup header; requested by
* Paolo Abeni <paolo.abeni@email.it>.
*/
#define DLT_USB 186
#define DLT_USB 186
/*
* Bluetooth HCI UART transport layer (part H:4); requested by
* Paolo Abeni.
*/
#define DLT_BLUETOOTH_HCI_H4 187
#define DLT_BLUETOOTH_HCI_H4 187
/*
* IEEE 802.16 MAC Common Part Sublayer; requested by Maria Cruz
* <cruz_petagay@bah.com>.
*/
#define DLT_IEEE802_16_MAC_CPS 188
#define DLT_IEEE802_16_MAC_CPS 188
/*
* USB packets, beginning with a Linux USB header; requested by
* Paolo Abeni <paolo.abeni@email.it>.
*/
#define DLT_USB_LINUX 189
#define DLT_USB_LINUX 189
/*
* Controller Area Network (CAN) v. 2.0B packets.
@ -672,23 +672,23 @@ struct bpf_version {
* IEEE 802.15.4, with address fields padded, as is done by Linux
* drivers; requested by Juergen Schimmer.
*/
#define DLT_IEEE802_15_4_LINUX 191
#define DLT_IEEE802_15_4_LINUX 191
/*
* Per Packet Information encapsulated packets.
* DLT_ requested by Gianluca Varenni <gianluca.varenni@cacetech.com>.
*/
#define DLT_PPI 192
#define DLT_PPI 192
/*
* Header for 802.16 MAC Common Part Sublayer plus a radiotap radio header;
* requested by Charles Clancy.
*/
#define DLT_IEEE802_16_MAC_CPS_RADIO 193
#define DLT_IEEE802_16_MAC_CPS_RADIO 193
/*
* Juniper-private data link type, as per request from
* Hannes Gredler <hannes@juniper.net>.
* Hannes Gredler <hannes@juniper.net>.
* The DLT_ is used for internal communication with a
* integrated service module (ISM).
*/
@ -698,38 +698,38 @@ struct bpf_version {
* IEEE 802.15.4, exactly as it appears in the spec (no padding, no
* nothing); requested by Mikko Saarnivala <mikko.saarnivala@sensinode.com>.
*/
#define DLT_IEEE802_15_4 195
#define DLT_IEEE802_15_4 195
/*
* Various link-layer types, with a pseudo-header, for SITA
* (http://www.sita.aero/); requested by Fulko Hew (fulko.hew@gmail.com).
*/
#define DLT_SITA 196
#define DLT_SITA 196
/*
* Various link-layer types, with a pseudo-header, for Endace DAG cards;
* encapsulates Endace ERF records. Requested by Stephen Donnelly
* <stephen@endace.com>.
*/
#define DLT_ERF 197
#define DLT_ERF 197
/*
* Special header prepended to Ethernet packets when capturing from a
* u10 Networks board. Requested by Phil Mulholland
* <phil@u10networks.com>.
*/
#define DLT_RAIF1 198
#define DLT_RAIF1 198
/*
* IPMB packet for IPMI, beginning with the I2C slave address, followed
* by the netFn and LUN, etc.. Requested by Chanthy Toeung
* <chanthy.toeung@ca.kontron.com>.
*/
#define DLT_IPMB 199
#define DLT_IPMB 199
/*
* Juniper-private data link type, as per request from
* Hannes Gredler <hannes@juniper.net>.
* Hannes Gredler <hannes@juniper.net>.
* The DLT_ is used for capturing data on a secure tunnel interface.
*/
#define DLT_JUNIPER_ST 200
@ -738,23 +738,23 @@ struct bpf_version {
* Bluetooth HCI UART transport layer (part H:4), with pseudo-header
* that includes direction information; requested by Paolo Abeni.
*/
#define DLT_BLUETOOTH_HCI_H4_WITH_PHDR 201
#define DLT_BLUETOOTH_HCI_H4_WITH_PHDR 201
/*
* AX.25 packet with a 1-byte KISS header; see
*
* http://www.ax25.net/kiss.htm
* http://www.ax25.net/kiss.htm
*
* as per Richard Stearn <richard@rns-stearn.demon.co.uk>.
*/
#define DLT_AX25_KISS 202
#define DLT_AX25_KISS 202
/*
* LAPD packets from an ISDN channel, starting with the address field,
* with no pseudo-header.
* Requested by Varuna De Silva <varunax@gmail.com>.
*/
#define DLT_LAPD 203
#define DLT_LAPD 203
/*
* Variants of various link-layer headers, with a one-byte direction
@ -762,10 +762,10 @@ struct bpf_version {
* non-zero (any non-zero value) means "sent by this host" - as per
* Will Barker <w.barker@zen.co.uk>.
*/
#define DLT_PPP_WITH_DIR 204 /* PPP - don't confuse with DLT_PPP_WITH_DIRECTION */
#define DLT_C_HDLC_WITH_DIR 205 /* Cisco HDLC */
#define DLT_FRELAY_WITH_DIR 206 /* Frame Relay */
#define DLT_LAPB_WITH_DIR 207 /* LAPB */
#define DLT_PPP_WITH_DIR 204 /* PPP - don't confuse with DLT_PPP_WITH_DIRECTION */
#define DLT_C_HDLC_WITH_DIR 205 /* Cisco HDLC */
#define DLT_FRELAY_WITH_DIR 206 /* Frame Relay */
#define DLT_LAPB_WITH_DIR 207 /* LAPB */
/*
* 208 is reserved for an as-yet-unspecified proprietary link-layer
@ -776,39 +776,39 @@ struct bpf_version {
* IPMB with a Linux-specific pseudo-header; as requested by Alexey Neyman
* <avn@pigeonpoint.com>.
*/
#define DLT_IPMB_LINUX 209
#define DLT_IPMB_LINUX 209
/*
* FlexRay automotive bus - http://www.flexray.com/ - as requested
* by Hannes Kaelber <hannes.kaelber@x2e.de>.
*/
#define DLT_FLEXRAY 210
#define DLT_FLEXRAY 210
/*
* Media Oriented Systems Transport (MOST) bus for multimedia
* transport - http://www.mostcooperation.com/ - as requested
* by Hannes Kaelber <hannes.kaelber@x2e.de>.
*/
#define DLT_MOST 211
#define DLT_MOST 211
/*
* Local Interconnect Network (LIN) bus for vehicle networks -
* http://www.lin-subbus.org/ - as requested by Hannes Kaelber
* <hannes.kaelber@x2e.de>.
*/
#define DLT_LIN 212
#define DLT_LIN 212
/*
* X2E-private data link type used for serial line capture,
* as requested by Hannes Kaelber <hannes.kaelber@x2e.de>.
*/
#define DLT_X2E_SERIAL 213
#define DLT_X2E_SERIAL 213
/*
* X2E-private data link type used for the Xoraya data logger
* family, as requested by Hannes Kaelber <hannes.kaelber@x2e.de>.
*/
#define DLT_X2E_XORAYA 214
#define DLT_X2E_XORAYA 214
/*
* IEEE 802.15.4, exactly as it appears in the spec (no padding, no
@ -819,7 +819,7 @@ struct bpf_version {
*
* Requested by Max Filippov <jcmvbkbc@gmail.com>.
*/
#define DLT_IEEE802_15_4_NONASK_PHY 215
#define DLT_IEEE802_15_4_NONASK_PHY 215
/*
@ -827,7 +827,7 @@ struct bpf_version {
* a member of that class. A class value of 0 indicates a regular
* DLT_/LINKTYPE_ value.
*/
#define DLT_CLASS(x) ((x) & 0x03ff0000)
#define DLT_CLASS(x) ((x) & 0x03ff0000)
/*
* NetBSD-specific generic "raw" link type. The class value indicates
@ -836,10 +836,10 @@ struct bpf_version {
* do not assume that they correspond to AF_ values for your operating
* system.
*/
#define DLT_CLASS_NETBSD_RAWAF 0x02240000
#define DLT_NETBSD_RAWAF(af) (DLT_CLASS_NETBSD_RAWAF | (af))
#define DLT_NETBSD_RAWAF_AF(x) ((x) & 0x0000ffff)
#define DLT_IS_NETBSD_RAWAF(x) (DLT_CLASS(x) == DLT_CLASS_NETBSD_RAWAF)
#define DLT_CLASS_NETBSD_RAWAF 0x02240000
#define DLT_NETBSD_RAWAF(af) (DLT_CLASS_NETBSD_RAWAF | (af))
#define DLT_NETBSD_RAWAF_AF(x) ((x) & 0x0000ffff)
#define DLT_IS_NETBSD_RAWAF(x) (DLT_CLASS(x) == DLT_CLASS_NETBSD_RAWAF)
/*
@ -847,64 +847,64 @@ struct bpf_version {
*/
/* instruction classes */
#define BPF_CLASS(code) ((code) & 0x07)
#define BPF_LD 0x00
#define BPF_LDX 0x01
#define BPF_ST 0x02
#define BPF_STX 0x03
#define BPF_ALU 0x04
#define BPF_JMP 0x05
#define BPF_RET 0x06
#define BPF_MISC 0x07
#define BPF_LD 0x00
#define BPF_LDX 0x01
#define BPF_ST 0x02
#define BPF_STX 0x03
#define BPF_ALU 0x04
#define BPF_JMP 0x05
#define BPF_RET 0x06
#define BPF_MISC 0x07
/* ld/ldx fields */
#define BPF_SIZE(code) ((code) & 0x18)
#define BPF_W 0x00
#define BPF_H 0x08
#define BPF_B 0x10
#define BPF_MODE(code) ((code) & 0xe0)
#define BPF_IMM 0x00
#define BPF_ABS 0x20
#define BPF_IND 0x40
#define BPF_MEM 0x60
#define BPF_LEN 0x80
#define BPF_MSH 0xa0
#define BPF_SIZE(code) ((code) & 0x18)
#define BPF_W 0x00
#define BPF_H 0x08
#define BPF_B 0x10
#define BPF_MODE(code) ((code) & 0xe0)
#define BPF_IMM 0x00
#define BPF_ABS 0x20
#define BPF_IND 0x40
#define BPF_MEM 0x60
#define BPF_LEN 0x80
#define BPF_MSH 0xa0
/* alu/jmp fields */
#define BPF_OP(code) ((code) & 0xf0)
#define BPF_ADD 0x00
#define BPF_SUB 0x10
#define BPF_MUL 0x20
#define BPF_DIV 0x30
#define BPF_OR 0x40
#define BPF_AND 0x50
#define BPF_LSH 0x60
#define BPF_RSH 0x70
#define BPF_NEG 0x80
#define BPF_JA 0x00
#define BPF_JEQ 0x10
#define BPF_JGT 0x20
#define BPF_JGE 0x30
#define BPF_JSET 0x40
#define BPF_SRC(code) ((code) & 0x08)
#define BPF_K 0x00
#define BPF_X 0x08
#define BPF_OP(code) ((code) & 0xf0)
#define BPF_ADD 0x00
#define BPF_SUB 0x10
#define BPF_MUL 0x20
#define BPF_DIV 0x30
#define BPF_OR 0x40
#define BPF_AND 0x50
#define BPF_LSH 0x60
#define BPF_RSH 0x70
#define BPF_NEG 0x80
#define BPF_JA 0x00
#define BPF_JEQ 0x10
#define BPF_JGT 0x20
#define BPF_JGE 0x30
#define BPF_JSET 0x40
#define BPF_SRC(code) ((code) & 0x08)
#define BPF_K 0x00
#define BPF_X 0x08
/* ret - BPF_K and BPF_X also apply */
#define BPF_RVAL(code) ((code) & 0x18)
#define BPF_A 0x10
#define BPF_RVAL(code) ((code) & 0x18)
#define BPF_A 0x10
/* misc */
#define BPF_MISCOP(code) ((code) & 0xf8)
#define BPF_TAX 0x00
#define BPF_TXA 0x80
#define BPF_TAX 0x00
#define BPF_TXA 0x80
/*
* The instruction data structure.
*/
struct bpf_insn {
u_short code;
u_char jt;
u_char jf;
u_short code;
u_char jt;
u_char jf;
bpf_u_int32 k;
};

View File

@ -1,6 +1,6 @@
/*
* Copyright (c) 1994, 1996
* The Regents of the University of California. All rights reserved.
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@ -12,8 +12,8 @@
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the Computer Systems
* Engineering Group at Lawrence Berkeley Laboratory.
* This product includes software developed by the Computer Systems
* Engineering Group at Lawrence Berkeley Laboratory.
* 4. Neither the name of the University nor of the Laboratory may be used
* to endorse or promote products derived from this software without
* specific prior written permission.
@ -54,7 +54,7 @@ struct pcap_etherent {
#ifndef PCAP_ETHERS_FILE
#define PCAP_ETHERS_FILE "/etc/ethers"
#endif
struct pcap_etherent *pcap_next_etherent(FILE *);
struct pcap_etherent *pcap_next_etherent(FILE *);
u_char *pcap_ether_hostton(const char*);
u_char *pcap_ether_aton(const char *);
@ -64,23 +64,23 @@ struct addrinfo *pcap_nametoaddrinfo(const char *);
#endif
bpf_u_int32 pcap_nametonetaddr(const char *);
int pcap_nametoport(const char *, int *, int *);
int pcap_nametoportrange(const char *, int *, int *, int *);
int pcap_nametoproto(const char *);
int pcap_nametoeproto(const char *);
int pcap_nametollc(const char *);
int pcap_nametoport(const char *, int *, int *);
int pcap_nametoportrange(const char *, int *, int *, int *);
int pcap_nametoproto(const char *);
int pcap_nametoeproto(const char *);
int pcap_nametollc(const char *);
/*
* If a protocol is unknown, PROTO_UNDEF is returned.
* Also, pcap_nametoport() returns the protocol along with the port number.
* If there are ambiguous entried in /etc/services (i.e. domain
* can be either tcp or udp) PROTO_UNDEF is returned.
*/
#define PROTO_UNDEF -1
#define PROTO_UNDEF -1
/* XXX move these to pcap-int.h? */
int __pcap_atodn(const char *, bpf_u_int32 *);
int __pcap_atoin(const char *, bpf_u_int32 *);
u_short __pcap_nametodnaddr(const char *);
u_short __pcap_nametodnaddr(const char *);
#ifdef __cplusplus
}

View File

@ -1,7 +1,7 @@
/* -*- Mode: c; tab-width: 8; indent-tabs-mode: 1; c-basic-offset: 8; -*- */
/*
* Copyright (c) 1993, 1994, 1995, 1996, 1997
* The Regents of the University of California. All rights reserved.
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@ -13,8 +13,8 @@
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the Computer Systems
* Engineering Group at Lawrence Berkeley Laboratory.
* This product includes software developed by the Computer Systems
* Engineering Group at Lawrence Berkeley Laboratory.
* 4. Neither the name of the University nor of the Laboratory may be used
* to endorse or promote products derived from this software without
* specific prior written permission.
@ -38,13 +38,13 @@
#define lib_pcap_pcap_h
#if defined(WIN32)
#include <pcap-stdinc.h>
#include <pcap-stdinc.h>
#elif defined(MSDOS)
#include <sys/types.h>
#include <sys/socket.h> /* u_int, u_char etc. */
#include <sys/types.h>
#include <sys/socket.h> /* u_int, u_char etc. */
#else /* UN*X */
#include <sys/types.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/time.h>
#endif /* WIN32/MSDOS/UN*X */
#ifndef PCAP_DONT_INCLUDE_PCAP_BPF_H
@ -80,8 +80,8 @@ extern "C" {
* predates the bpf typedefs for 64-bit support.
*/
#if BPF_RELEASE - 0 < 199406
typedef int bpf_int32;
typedef u_int bpf_u_int32;
typedef int bpf_int32;
typedef u_int bpf_u_int32;
#endif
typedef struct pcap pcap_t;
@ -105,23 +105,23 @@ typedef struct pcap_addr pcap_addr_t;
*
* Instead:
*
* introduce a new structure for the new format, if the layout
* of the structure changed;
* introduce a new structure for the new format, if the layout
* of the structure changed;
*
* send mail to "tcpdump-workers@lists.tcpdump.org", requesting
* a new magic number for your new capture file format, and, when
* you get the new magic number, put it in "savefile.c";
* send mail to "tcpdump-workers@lists.tcpdump.org", requesting
* a new magic number for your new capture file format, and, when
* you get the new magic number, put it in "savefile.c";
*
* use that magic number for save files with the changed file
* header;
* use that magic number for save files with the changed file
* header;
*
* make the code in "savefile.c" capable of reading files with
* the old file header as well as files with the new file header
* (using the magic number to determine the header format).
* make the code in "savefile.c" capable of reading files with
* the old file header as well as files with the new file header
* (using the magic number to determine the header format).
*
* Then supply the changes as a patch at
*
* http://sourceforge.net/projects/libpcap/
* http://sourceforge.net/projects/libpcap/
*
* so that future versions of libpcap and programs that use it (such as
* tcpdump) will be able to read your new capture file format.
@ -130,26 +130,26 @@ struct pcap_file_header {
bpf_u_int32 magic;
u_short version_major;
u_short version_minor;
bpf_int32 thiszone; /* gmt to local correction */
bpf_u_int32 sigfigs; /* accuracy of timestamps */
bpf_u_int32 snaplen; /* max length saved portion of each pkt */
bpf_u_int32 linktype; /* data link type (LINKTYPE_*) */
bpf_int32 thiszone; /* gmt to local correction */
bpf_u_int32 sigfigs; /* accuracy of timestamps */
bpf_u_int32 snaplen; /* max length saved portion of each pkt */
bpf_u_int32 linktype; /* data link type (LINKTYPE_*) */
};
/*
* Macros for the value returned by pcap_datalink_ext().
*
*
* If LT_FCS_LENGTH_PRESENT(x) is true, the LT_FCS_LENGTH(x) macro
* gives the FCS length of packets in the capture.
*/
#define LT_FCS_LENGTH_PRESENT(x) ((x) & 0x04000000)
#define LT_FCS_LENGTH(x) (((x) & 0xF0000000) >> 28)
#define LT_FCS_DATALINK_EXT(x) ((((x) & 0xF) << 28) | 0x04000000)
#define LT_FCS_LENGTH_PRESENT(x) ((x) & 0x04000000)
#define LT_FCS_LENGTH(x) (((x) & 0xF0000000) >> 28)
#define LT_FCS_DATALINK_EXT(x) ((((x) & 0xF) << 28) | 0x04000000)
typedef enum {
PCAP_D_INOUT = 0,
PCAP_D_IN,
PCAP_D_OUT
PCAP_D_INOUT = 0,
PCAP_D_IN,
PCAP_D_OUT
} pcap_direction_t;
/*
@ -165,22 +165,22 @@ typedef enum {
* that's not what the underlying packet capture mechanism supplies.
*/
struct pcap_pkthdr {
struct timeval ts; /* time stamp */
bpf_u_int32 caplen; /* length of portion present */
bpf_u_int32 len; /* length this packet (off wire) */
struct timeval ts; /* time stamp */
bpf_u_int32 caplen; /* length of portion present */
bpf_u_int32 len; /* length this packet (off wire) */
};
/*
* As returned by the pcap_stats()
*/
struct pcap_stat {
u_int ps_recv; /* number of packets received */
u_int ps_drop; /* number of packets dropped */
u_int ps_ifdrop; /* drops by interface XXX not yet supported */
u_int ps_recv; /* number of packets received */
u_int ps_drop; /* number of packets dropped */
u_int ps_ifdrop; /* drops by interface XXX not yet supported */
#ifdef HAVE_REMOTE
u_int ps_capt; /* number of packets that are received by the application; please get rid off the Win32 ifdef */
u_int ps_sent; /* number of packets sent by the server on the network */
u_int ps_netdrop; /* number of packets lost on the network */
u_int ps_capt; /* number of packets that are received by the application; please get rid off the Win32 ifdef */
u_int ps_sent; /* number of packets sent by the server on the network */
u_int ps_netdrop; /* number of packets lost on the network */
#endif /* HAVE_REMOTE */
};
@ -189,32 +189,32 @@ struct pcap_stat {
* As returned by the pcap_stats_ex()
*/
struct pcap_stat_ex {
u_long rx_packets; /* total packets received */
u_long tx_packets; /* total packets transmitted */
u_long rx_bytes; /* total bytes received */
u_long tx_bytes; /* total bytes transmitted */
u_long rx_errors; /* bad packets received */
u_long tx_errors; /* packet transmit problems */
u_long rx_dropped; /* no space in Rx buffers */
u_long tx_dropped; /* no space available for Tx */
u_long multicast; /* multicast packets received */
u_long collisions;
u_long rx_packets; /* total packets received */
u_long tx_packets; /* total packets transmitted */
u_long rx_bytes; /* total bytes received */
u_long tx_bytes; /* total bytes transmitted */
u_long rx_errors; /* bad packets received */
u_long tx_errors; /* packet transmit problems */
u_long rx_dropped; /* no space in Rx buffers */
u_long tx_dropped; /* no space available for Tx */
u_long multicast; /* multicast packets received */
u_long collisions;
/* detailed rx_errors: */
u_long rx_length_errors;
u_long rx_over_errors; /* receiver ring buff overflow */
u_long rx_crc_errors; /* recv'd pkt with crc error */
u_long rx_frame_errors; /* recv'd frame alignment error */
u_long rx_fifo_errors; /* recv'r fifo overrun */
u_long rx_missed_errors; /* recv'r missed packet */
/* detailed rx_errors: */
u_long rx_length_errors;
u_long rx_over_errors; /* receiver ring buff overflow */
u_long rx_crc_errors; /* recv'd pkt with crc error */
u_long rx_frame_errors; /* recv'd frame alignment error */
u_long rx_fifo_errors; /* recv'r fifo overrun */
u_long rx_missed_errors; /* recv'r missed packet */
/* detailed tx_errors */
u_long tx_aborted_errors;
u_long tx_carrier_errors;
u_long tx_fifo_errors;
u_long tx_heartbeat_errors;
u_long tx_window_errors;
};
/* detailed tx_errors */
u_long tx_aborted_errors;
u_long tx_carrier_errors;
u_long tx_fifo_errors;
u_long tx_heartbeat_errors;
u_long tx_window_errors;
};
#endif
/*
@ -222,27 +222,27 @@ struct pcap_stat_ex {
*/
struct pcap_if {
struct pcap_if *next;
char *name; /* name to hand to "pcap_open_live()" */
char *description; /* textual description of interface, or NULL */
char *name; /* name to hand to "pcap_open_live()" */
char *description; /* textual description of interface, or NULL */
struct pcap_addr *addresses;
bpf_u_int32 flags; /* PCAP_IF_ interface flags */
bpf_u_int32 flags; /* PCAP_IF_ interface flags */
};
#define PCAP_IF_LOOPBACK 0x00000001 /* interface is loopback */
#define PCAP_IF_LOOPBACK 0x00000001 /* interface is loopback */
/*
* Representation of an interface address.
*/
struct pcap_addr {
struct pcap_addr *next;
struct sockaddr *addr; /* address */
struct sockaddr *netmask; /* netmask for that address */
struct sockaddr *broadaddr; /* broadcast address for that address */
struct sockaddr *dstaddr; /* P2P destination address for that address */
struct sockaddr *addr; /* address */
struct sockaddr *netmask; /* netmask for that address */
struct sockaddr *broadaddr; /* broadcast address for that address */
struct sockaddr *dstaddr; /* P2P destination address for that address */
};
typedef void (*pcap_handler)(u_char *, const struct pcap_pkthdr *,
const u_char *);
const u_char *);
/*
* Error codes for the pcap API.
@ -250,39 +250,39 @@ typedef void (*pcap_handler)(u_char *, const struct pcap_pkthdr *,
* failure of a call that returns these codes by checking for a
* negative value.
*/
#define PCAP_ERROR -1 /* generic error code */
#define PCAP_ERROR_BREAK -2 /* loop terminated by pcap_breakloop */
#define PCAP_ERROR_NOT_ACTIVATED -3 /* the capture needs to be activated */
#define PCAP_ERROR_ACTIVATED -4 /* the operation can't be performed on already activated captures */
#define PCAP_ERROR_NO_SUCH_DEVICE -5 /* no such device exists */
#define PCAP_ERROR_RFMON_NOTSUP -6 /* this device doesn't support rfmon (monitor) mode */
#define PCAP_ERROR_NOT_RFMON -7 /* operation supported only in monitor mode */
#define PCAP_ERROR_PERM_DENIED -8 /* no permission to open the device */
#define PCAP_ERROR_IFACE_NOT_UP -9 /* interface isn't up */
#define PCAP_ERROR -1 /* generic error code */
#define PCAP_ERROR_BREAK -2 /* loop terminated by pcap_breakloop */
#define PCAP_ERROR_NOT_ACTIVATED -3 /* the capture needs to be activated */
#define PCAP_ERROR_ACTIVATED -4 /* the operation can't be performed on already activated captures */
#define PCAP_ERROR_NO_SUCH_DEVICE -5 /* no such device exists */
#define PCAP_ERROR_RFMON_NOTSUP -6 /* this device doesn't support rfmon (monitor) mode */
#define PCAP_ERROR_NOT_RFMON -7 /* operation supported only in monitor mode */
#define PCAP_ERROR_PERM_DENIED -8 /* no permission to open the device */
#define PCAP_ERROR_IFACE_NOT_UP -9 /* interface isn't up */
/*
* Warning codes for the pcap API.
* These will all be positive and non-zero, so they won't look like
* errors.
*/
#define PCAP_WARNING 1 /* generic warning code */
#define PCAP_WARNING_PROMISC_NOTSUP 2 /* this device doesn't support promiscuous mode */
#define PCAP_WARNING 1 /* generic warning code */
#define PCAP_WARNING_PROMISC_NOTSUP 2 /* this device doesn't support promiscuous mode */
char *pcap_lookupdev(char *);
int pcap_lookupnet(const char *, bpf_u_int32 *, bpf_u_int32 *, char *);
char *pcap_lookupdev(char *);
int pcap_lookupnet(const char *, bpf_u_int32 *, bpf_u_int32 *, char *);
pcap_t *pcap_create(const char *, char *);
int pcap_set_snaplen(pcap_t *, int);
int pcap_set_promisc(pcap_t *, int);
int pcap_can_set_rfmon(pcap_t *);
int pcap_set_rfmon(pcap_t *, int);
int pcap_set_timeout(pcap_t *, int);
int pcap_set_buffer_size(pcap_t *, int);
int pcap_activate(pcap_t *);
pcap_t *pcap_create(const char *, char *);
int pcap_set_snaplen(pcap_t *, int);
int pcap_set_promisc(pcap_t *, int);
int pcap_can_set_rfmon(pcap_t *);
int pcap_set_rfmon(pcap_t *, int);
int pcap_set_timeout(pcap_t *, int);
int pcap_set_buffer_size(pcap_t *, int);
int pcap_activate(pcap_t *);
pcap_t *pcap_open_live(const char *, int, int, int, char *);
pcap_t *pcap_open_dead(int, int);
pcap_t *pcap_open_offline(const char *, char *);
pcap_t *pcap_open_live(const char *, int, int, int, char *);
pcap_t *pcap_open_dead(int, int);
pcap_t *pcap_open_offline(const char *, char *);
#if defined(WIN32)
pcap_t *pcap_hopen_offline(intptr_t, char *);
#if !defined(LIBPCAP_EXPORTS)
@ -292,69 +292,69 @@ pcap_t *pcap_hopen_offline(intptr_t, char *);
static pcap_t *pcap_fopen_offline(FILE *, char *);
#endif
#else /*WIN32*/
pcap_t *pcap_fopen_offline(FILE *, char *);
pcap_t *pcap_fopen_offline(FILE *, char *);
#endif /*WIN32*/
void pcap_close(pcap_t *);
int pcap_loop(pcap_t *, int, pcap_handler, u_char *);
int pcap_dispatch(pcap_t *, int, pcap_handler, u_char *);
void pcap_close(pcap_t *);
int pcap_loop(pcap_t *, int, pcap_handler, u_char *);
int pcap_dispatch(pcap_t *, int, pcap_handler, u_char *);
const u_char*
pcap_next(pcap_t *, struct pcap_pkthdr *);
int pcap_next_ex(pcap_t *, struct pcap_pkthdr **, const u_char **);
void pcap_breakloop(pcap_t *);
int pcap_stats(pcap_t *, struct pcap_stat *);
int pcap_setfilter(pcap_t *, struct bpf_program *);
int pcap_setdirection(pcap_t *, pcap_direction_t);
int pcap_getnonblock(pcap_t *, char *);
int pcap_setnonblock(pcap_t *, int, char *);
int pcap_inject(pcap_t *, const void *, size_t);
int pcap_sendpacket(pcap_t *, const u_char *, int);
int pcap_next_ex(pcap_t *, struct pcap_pkthdr **, const u_char **);
void pcap_breakloop(pcap_t *);
int pcap_stats(pcap_t *, struct pcap_stat *);
int pcap_setfilter(pcap_t *, struct bpf_program *);
int pcap_setdirection(pcap_t *, pcap_direction_t);
int pcap_getnonblock(pcap_t *, char *);
int pcap_setnonblock(pcap_t *, int, char *);
int pcap_inject(pcap_t *, const void *, size_t);
int pcap_sendpacket(pcap_t *, const u_char *, int);
const char *pcap_statustostr(int);
const char *pcap_strerror(int);
char *pcap_geterr(pcap_t *);
void pcap_perror(pcap_t *, char *);
int pcap_compile(pcap_t *, struct bpf_program *, const char *, int,
bpf_u_int32);
int pcap_compile_nopcap(int, int, struct bpf_program *,
const char *, int, bpf_u_int32);
void pcap_freecode(struct bpf_program *);
int pcap_offline_filter(struct bpf_program *, const struct pcap_pkthdr *,
const u_char *);
int pcap_datalink(pcap_t *);
int pcap_datalink_ext(pcap_t *);
int pcap_list_datalinks(pcap_t *, int **);
int pcap_set_datalink(pcap_t *, int);
void pcap_free_datalinks(int *);
int pcap_datalink_name_to_val(const char *);
char *pcap_geterr(pcap_t *);
void pcap_perror(pcap_t *, char *);
int pcap_compile(pcap_t *, struct bpf_program *, const char *, int,
bpf_u_int32);
int pcap_compile_nopcap(int, int, struct bpf_program *,
const char *, int, bpf_u_int32);
void pcap_freecode(struct bpf_program *);
int pcap_offline_filter(struct bpf_program *, const struct pcap_pkthdr *,
const u_char *);
int pcap_datalink(pcap_t *);
int pcap_datalink_ext(pcap_t *);
int pcap_list_datalinks(pcap_t *, int **);
int pcap_set_datalink(pcap_t *, int);
void pcap_free_datalinks(int *);
int pcap_datalink_name_to_val(const char *);
const char *pcap_datalink_val_to_name(int);
const char *pcap_datalink_val_to_description(int);
int pcap_snapshot(pcap_t *);
int pcap_is_swapped(pcap_t *);
int pcap_major_version(pcap_t *);
int pcap_minor_version(pcap_t *);
int pcap_snapshot(pcap_t *);
int pcap_is_swapped(pcap_t *);
int pcap_major_version(pcap_t *);
int pcap_minor_version(pcap_t *);
/* XXX */
FILE *pcap_file(pcap_t *);
int pcap_fileno(pcap_t *);
FILE *pcap_file(pcap_t *);
int pcap_fileno(pcap_t *);
pcap_dumper_t *pcap_dump_open(pcap_t *, const char *);
pcap_dumper_t *pcap_dump_fopen(pcap_t *, FILE *fp);
FILE *pcap_dump_file(pcap_dumper_t *);
long pcap_dump_ftell(pcap_dumper_t *);
int pcap_dump_flush(pcap_dumper_t *);
void pcap_dump_close(pcap_dumper_t *);
void pcap_dump(u_char *, const struct pcap_pkthdr *, const u_char *);
FILE *pcap_dump_file(pcap_dumper_t *);
long pcap_dump_ftell(pcap_dumper_t *);
int pcap_dump_flush(pcap_dumper_t *);
void pcap_dump_close(pcap_dumper_t *);
void pcap_dump(u_char *, const struct pcap_pkthdr *, const u_char *);
int pcap_findalldevs(pcap_if_t **, char *);
void pcap_freealldevs(pcap_if_t *);
int pcap_findalldevs(pcap_if_t **, char *);
void pcap_freealldevs(pcap_if_t *);
const char *pcap_lib_version(void);
/* XXX this guy lives in the bpf tree */
u_int bpf_filter(const struct bpf_insn *, const u_char *, u_int, u_int);
int bpf_validate(const struct bpf_insn *f, int len);
char *bpf_image(const struct bpf_insn *, int);
void bpf_dump(const struct bpf_program *, int);
u_int bpf_filter(const struct bpf_insn *, const u_char *, u_int, u_int);
int bpf_validate(const struct bpf_insn *f, int len);
char *bpf_image(const struct bpf_insn *, int);
void bpf_dump(const struct bpf_program *, int);
#if defined(WIN32)
@ -391,14 +391,14 @@ u_long pcap_mac_packets (void);
* UN*X definitions
*/
int pcap_get_selectable_fd(pcap_t *);
int pcap_get_selectable_fd(pcap_t *);
#endif /* WIN32/MSDOS/UN*X */
#ifdef HAVE_REMOTE
/* Includes most of the public stuff that is needed for the remote capture */
#include <remote-ext.h>
#endif /* HAVE_REMOTE */
#endif /* HAVE_REMOTE */
#ifdef __cplusplus
}

View File

@ -1,6 +1,6 @@
/*-
* Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
* The Regents of the University of California. All rights reserved.
* The Regents of the University of California. All rights reserved.
*
* This code is derived from the Stanford/CMU enet packet filter,
* (net/enet.c) distributed as part of 4.3BSD, and code contributed
@ -42,22 +42,22 @@
* For captures on Linux cooked sockets, we construct a fake header
* that includes:
*
* a 2-byte "packet type" which is one of:
* a 2-byte "packet type" which is one of:
*
* LINUX_SLL_HOST packet was sent to us
* LINUX_SLL_BROADCAST packet was broadcast
* LINUX_SLL_MULTICAST packet was multicast
* LINUX_SLL_OTHERHOST packet was sent to somebody else
* LINUX_SLL_OUTGOING packet was sent *by* us;
* LINUX_SLL_HOST packet was sent to us
* LINUX_SLL_BROADCAST packet was broadcast
* LINUX_SLL_MULTICAST packet was multicast
* LINUX_SLL_OTHERHOST packet was sent to somebody else
* LINUX_SLL_OUTGOING packet was sent *by* us;
*
* a 2-byte Ethernet protocol field;
* a 2-byte Ethernet protocol field;
*
* a 2-byte link-layer type;
* a 2-byte link-layer type;
*
* a 2-byte link-layer address length;
* a 2-byte link-layer address length;
*
* an 8-byte source link-layer address, whose actual length is
* specified by the previous value.
* an 8-byte source link-layer address, whose actual length is
* specified by the previous value.
*
* All fields except for the link-layer address are in network byte order.
*
@ -79,15 +79,15 @@
/*
* A DLT_LINUX_SLL fake link-layer header.
*/
#define SLL_HDR_LEN 16 /* total header length */
#define SLL_ADDRLEN 8 /* length of address field */
#define SLL_HDR_LEN 16 /* total header length */
#define SLL_ADDRLEN 8 /* length of address field */
struct sll_header {
u_int16_t sll_pkttype; /* packet type */
u_int16_t sll_hatype; /* link-layer address type */
u_int16_t sll_halen; /* link-layer address length */
u_int8_t sll_addr[SLL_ADDRLEN]; /* link-layer address */
u_int16_t sll_protocol; /* protocol */
u_int16_t sll_pkttype; /* packet type */
u_int16_t sll_hatype; /* link-layer address type */
u_int16_t sll_halen; /* link-layer address length */
u_int8_t sll_addr[SLL_ADDRLEN]; /* link-layer address */
u_int16_t sll_protocol; /* protocol */
};
/*
@ -96,11 +96,11 @@ struct sll_header {
* available even on systems other than Linux, and so that they
* don't change even if the PACKET_ values change.
*/
#define LINUX_SLL_HOST 0
#define LINUX_SLL_BROADCAST 1
#define LINUX_SLL_MULTICAST 2
#define LINUX_SLL_OTHERHOST 3
#define LINUX_SLL_OUTGOING 4
#define LINUX_SLL_HOST 0
#define LINUX_SLL_BROADCAST 1
#define LINUX_SLL_MULTICAST 2
#define LINUX_SLL_OTHERHOST 3
#define LINUX_SLL_OUTGOING 4
/*
* The LINUX_SLL_ values for "sll_protocol"; these correspond to the
@ -108,22 +108,22 @@ struct sll_header {
* available even on systems other than Linux. We assume, for now,
* that the ETH_P_ values won't change in Linux; if they do, then:
*
* if we don't translate them in "pcap-linux.c", capture files
* won't necessarily be readable if captured on a system that
* defines ETH_P_ values that don't match these values;
* if we don't translate them in "pcap-linux.c", capture files
* won't necessarily be readable if captured on a system that
* defines ETH_P_ values that don't match these values;
*
* if we do translate them in "pcap-linux.c", that makes life
* unpleasant for the BPF code generator, as the values you test
* for in the kernel aren't the values that you test for when
* reading a capture file, so the fixup code run on BPF programs
* handed to the kernel ends up having to do more work.
* if we do translate them in "pcap-linux.c", that makes life
* unpleasant for the BPF code generator, as the values you test
* for in the kernel aren't the values that you test for when
* reading a capture file, so the fixup code run on BPF programs
* handed to the kernel ends up having to do more work.
*
* Add other values here as necessary, for handling packet types that
* might show up on non-Ethernet, non-802.x networks. (Not all the ones
* in the Linux "if_ether.h" will, I suspect, actually show up in
* captures.)
*/
#define LINUX_SLL_P_802_3 0x0001 /* Novell 802.3 frames without 802.2 LLC header */
#define LINUX_SLL_P_802_2 0x0004 /* 802.2 frames (not D/I/X Ethernet) */
#define LINUX_SLL_P_802_3 0x0001 /* Novell 802.3 frames without 802.2 LLC header */
#define LINUX_SLL_P_802_2 0x0004 /* 802.2 frames (not D/I/X Ethernet) */
#endif

View File

@ -11,8 +11,8 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior written
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@ -32,11 +32,11 @@
*
* @(#) $Header: /tcpdump/master/libpcap/pcap/usb.h,v 1.6 2007/09/22 02:06:08 guy Exp $
*/
#ifndef _PCAP_USB_STRUCTS_H__
#define _PCAP_USB_STRUCTS_H__
/*
/*
* possible transfer mode
*/
#define URB_TRANSFER_IN 0x80

View File

@ -1,6 +1,6 @@
/*-
* Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
* The Regents of the University of California. All rights reserved.
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@ -37,10 +37,10 @@
#define lib_pcap_vlan_h
struct vlan_tag {
u_int16_t vlan_tpid; /* ETH_P_8021Q */
u_int16_t vlan_tci; /* VLAN TCI */
u_int16_t vlan_tpid; /* ETH_P_8021Q */
u_int16_t vlan_tci; /* VLAN TCI */
};
#define VLAN_TAG_LEN 4
#define VLAN_TAG_LEN 4
#endif

View File

@ -2,32 +2,32 @@
* Copyright (c) 2002 - 2003
* NetGroup, Politecnico di Torino (Italy)
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the Politecnico di Torino nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the Politecnico di Torino nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
*/
@ -49,135 +49,135 @@ extern "C" {
#endif
/*!
\file remote-ext.h
\file remote-ext.h
The goal of this file it to include most of the new definitions that should be
placed into the pcap.h file.
The goal of this file it to include most of the new definitions that should be
placed into the pcap.h file.
It includes all new definitions (structures and functions like pcap_open().
Some of the functions are not really a remote feature, but, right now,
they are placed here.
It includes all new definitions (structures and functions like pcap_open().
Some of the functions are not really a remote feature, but, right now,
they are placed here.
*/
// All this stuff is public
/*! \addtogroup remote_struct
\{
\{
*/
/*!
\brief Defines the maximum buffer size in which address, port, interface names are kept.
\brief Defines the maximum buffer size in which address, port, interface names are kept.
In case the adapter name or such is larger than this value, it is truncated.
This is not used by the user; however it must be aware that an hostname / interface
name longer than this value will be truncated.
In case the adapter name or such is larger than this value, it is truncated.
This is not used by the user; however it must be aware that an hostname / interface
name longer than this value will be truncated.
*/
#define PCAP_BUF_SIZE 1024
/*! \addtogroup remote_source_ID
\{
\{
*/
/*!
\brief Internal representation of the type of source in use (file,
remote/local interface).
\brief Internal representation of the type of source in use (file,
remote/local interface).
This indicates a file, i.e. the user want to open a capture from a local file.
This indicates a file, i.e. the user want to open a capture from a local file.
*/
#define PCAP_SRC_FILE 2
/*!
\brief Internal representation of the type of source in use (file,
remote/local interface).
\brief Internal representation of the type of source in use (file,
remote/local interface).
This indicates a local interface, i.e. the user want to open a capture from
a local interface. This does not involve the RPCAP protocol.
This indicates a local interface, i.e. the user want to open a capture from
a local interface. This does not involve the RPCAP protocol.
*/
#define PCAP_SRC_IFLOCAL 3
/*!
\brief Internal representation of the type of source in use (file,
remote/local interface).
\brief Internal representation of the type of source in use (file,
remote/local interface).
This indicates a remote interface, i.e. the user want to open a capture from
an interface on a remote host. This does involve the RPCAP protocol.
This indicates a remote interface, i.e. the user want to open a capture from
an interface on a remote host. This does involve the RPCAP protocol.
*/
#define PCAP_SRC_IFREMOTE 4
/*!
\}
\}
*/
/*! \addtogroup remote_source_string
The formats allowed by the pcap_open() are the following:
- file://path_and_filename [opens a local file]
- rpcap://devicename [opens the selected device devices available on the local host, without using the RPCAP protocol]
- rpcap://host/devicename [opens the selected device available on a remote host]
- rpcap://host:port/devicename [opens the selected device available on a remote host, using a non-standard port for RPCAP]
- adaptername [to open a local adapter; kept for compability, but it is strongly discouraged]
- (NULL) [to open the first local adapter; kept for compability, but it is strongly discouraged]
The formats allowed by the pcap_open() are the following:
- file://path_and_filename [opens a local file]
- rpcap://devicename [opens the selected device devices available on the local host, without using the RPCAP protocol]
- rpcap://host/devicename [opens the selected device available on a remote host]
- rpcap://host:port/devicename [opens the selected device available on a remote host, using a non-standard port for RPCAP]
- adaptername [to open a local adapter; kept for compability, but it is strongly discouraged]
- (NULL) [to open the first local adapter; kept for compability, but it is strongly discouraged]
The formats allowed by the pcap_findalldevs_ex() are the following:
- file://folder/ [lists all the files in the given folder]
- rpcap:// [lists all local adapters]
- rpcap://host:port/ [lists the devices available on a remote host]
The formats allowed by the pcap_findalldevs_ex() are the following:
- file://folder/ [lists all the files in the given folder]
- rpcap:// [lists all local adapters]
- rpcap://host:port/ [lists the devices available on a remote host]
Referring to the 'host' and 'port' paramters, they can be either numeric or literal. Since
IPv6 is fully supported, these are the allowed formats:
Referring to the 'host' and 'port' paramters, they can be either numeric or literal. Since
IPv6 is fully supported, these are the allowed formats:
- host (literal): e.g. host.foo.bar
- host (numeric IPv4): e.g. 10.11.12.13
- host (numeric IPv4, IPv6 style): e.g. [10.11.12.13]
- host (numeric IPv6): e.g. [1:2:3::4]
- port: can be either numeric (e.g. '80') or literal (e.g. 'http')
- host (literal): e.g. host.foo.bar
- host (numeric IPv4): e.g. 10.11.12.13
- host (numeric IPv4, IPv6 style): e.g. [10.11.12.13]
- host (numeric IPv6): e.g. [1:2:3::4]
- port: can be either numeric (e.g. '80') or literal (e.g. 'http')
Here you find some allowed examples:
- rpcap://host.foo.bar/devicename [everything literal, no port number]
- rpcap://host.foo.bar:1234/devicename [everything literal, with port number]
- rpcap://10.11.12.13/devicename [IPv4 numeric, no port number]
- rpcap://10.11.12.13:1234/devicename [IPv4 numeric, with port number]
- rpcap://[10.11.12.13]:1234/devicename [IPv4 numeric with IPv6 format, with port number]
- rpcap://[1:2:3::4]/devicename [IPv6 numeric, no port number]
- rpcap://[1:2:3::4]:1234/devicename [IPv6 numeric, with port number]
- rpcap://[1:2:3::4]:http/devicename [IPv6 numeric, with literal port number]
\{
Here you find some allowed examples:
- rpcap://host.foo.bar/devicename [everything literal, no port number]
- rpcap://host.foo.bar:1234/devicename [everything literal, with port number]
- rpcap://10.11.12.13/devicename [IPv4 numeric, no port number]
- rpcap://10.11.12.13:1234/devicename [IPv4 numeric, with port number]
- rpcap://[10.11.12.13]:1234/devicename [IPv4 numeric with IPv6 format, with port number]
- rpcap://[1:2:3::4]/devicename [IPv6 numeric, no port number]
- rpcap://[1:2:3::4]:1234/devicename [IPv6 numeric, with port number]
- rpcap://[1:2:3::4]:http/devicename [IPv6 numeric, with literal port number]
\{
*/
/*!
\brief String that will be used to determine the type of source in use (file,
remote/local interface).
\brief String that will be used to determine the type of source in use (file,
remote/local interface).
This string will be prepended to the interface name in order to create a string
that contains all the information required to open the source.
This string will be prepended to the interface name in order to create a string
that contains all the information required to open the source.
This string indicates that the user wants to open a capture from a local file.
This string indicates that the user wants to open a capture from a local file.
*/
#define PCAP_SRC_FILE_STRING "file://"
/*!
\brief String that will be used to determine the type of source in use (file,
remote/local interface).
\brief String that will be used to determine the type of source in use (file,
remote/local interface).
This string will be prepended to the interface name in order to create a string
that contains all the information required to open the source.
This string will be prepended to the interface name in order to create a string
that contains all the information required to open the source.
This string indicates that the user wants to open a capture from a network interface.
This string does not necessarily involve the use of the RPCAP protocol. If the
interface required resides on the local host, the RPCAP protocol is not involved
and the local functions are used.
This string indicates that the user wants to open a capture from a network interface.
This string does not necessarily involve the use of the RPCAP protocol. If the
interface required resides on the local host, the RPCAP protocol is not involved
and the local functions are used.
*/
#define PCAP_SRC_IF_STRING "rpcap://"
/*!
\}
\}
*/
@ -185,137 +185,137 @@ extern "C" {
/*!
\addtogroup remote_open_flags
\{
\addtogroup remote_open_flags
\{
*/
/*!
\brief Defines if the adapter has to go in promiscuous mode.
\brief Defines if the adapter has to go in promiscuous mode.
It is '1' if you have to open the adapter in promiscuous mode, '0' otherwise.
Note that even if this parameter is false, the interface could well be in promiscuous
mode for some other reason (for example because another capture process with
promiscuous mode enabled is currently using that interface).
On on Linux systems with 2.2 or later kernels (that have the "any" device), this
flag does not work on the "any" device; if an argument of "any" is supplied,
the 'promisc' flag is ignored.
It is '1' if you have to open the adapter in promiscuous mode, '0' otherwise.
Note that even if this parameter is false, the interface could well be in promiscuous
mode for some other reason (for example because another capture process with
promiscuous mode enabled is currently using that interface).
On on Linux systems with 2.2 or later kernels (that have the "any" device), this
flag does not work on the "any" device; if an argument of "any" is supplied,
the 'promisc' flag is ignored.
*/
#define PCAP_OPENFLAG_PROMISCUOUS 1
#define PCAP_OPENFLAG_PROMISCUOUS 1
/*!
\brief Defines if the data trasfer (in case of a remote
capture) has to be done with UDP protocol.
\brief Defines if the data trasfer (in case of a remote
capture) has to be done with UDP protocol.
If it is '1' if you want a UDP data connection, '0' if you want
a TCP data connection; control connection is always TCP-based.
A UDP connection is much lighter, but it does not guarantee that all
the captured packets arrive to the client workstation. Moreover,
it could be harmful in case of network congestion.
This flag is meaningless if the source is not a remote interface.
In that case, it is simply ignored.
If it is '1' if you want a UDP data connection, '0' if you want
a TCP data connection; control connection is always TCP-based.
A UDP connection is much lighter, but it does not guarantee that all
the captured packets arrive to the client workstation. Moreover,
it could be harmful in case of network congestion.
This flag is meaningless if the source is not a remote interface.
In that case, it is simply ignored.
*/
#define PCAP_OPENFLAG_DATATX_UDP 2
#define PCAP_OPENFLAG_DATATX_UDP 2
/*!
\brief Defines if the remote probe will capture its own generated traffic.
\brief Defines if the remote probe will capture its own generated traffic.
In case the remote probe uses the same interface to capture traffic and to send
data back to the caller, the captured traffic includes the RPCAP traffic as well.
If this flag is turned on, the RPCAP traffic is excluded from the capture, so that
the trace returned back to the collector is does not include this traffic.
In case the remote probe uses the same interface to capture traffic and to send
data back to the caller, the captured traffic includes the RPCAP traffic as well.
If this flag is turned on, the RPCAP traffic is excluded from the capture, so that
the trace returned back to the collector is does not include this traffic.
*/
#define PCAP_OPENFLAG_NOCAPTURE_RPCAP 4
#define PCAP_OPENFLAG_NOCAPTURE_RPCAP 4
/*!
\brief Defines if the local adapter will capture its own generated traffic.
\brief Defines if the local adapter will capture its own generated traffic.
This flag tells the underlying capture driver to drop the packets that were sent by itself.
This is usefult when building applications like bridges, that should ignore the traffic
they just sent.
This flag tells the underlying capture driver to drop the packets that were sent by itself.
This is usefult when building applications like bridges, that should ignore the traffic
they just sent.
*/
#define PCAP_OPENFLAG_NOCAPTURE_LOCAL 8
#define PCAP_OPENFLAG_NOCAPTURE_LOCAL 8
/*!
\brief This flag configures the adapter for maximum responsiveness.
\brief This flag configures the adapter for maximum responsiveness.
In presence of a large value for nbytes, WinPcap waits for the arrival of several packets before
copying the data to the user. This guarantees a low number of system calls, i.e. lower processor usage,
i.e. better performance, which is good for applications like sniffers. If the user sets the
PCAP_OPENFLAG_MAX_RESPONSIVENESS flag, the capture driver will copy the packets as soon as the application
is ready to receive them. This is suggested for real time applications (like, for example, a bridge)
that need the best responsiveness.*/
#define PCAP_OPENFLAG_MAX_RESPONSIVENESS 16
In presence of a large value for nbytes, WinPcap waits for the arrival of several packets before
copying the data to the user. This guarantees a low number of system calls, i.e. lower processor usage,
i.e. better performance, which is good for applications like sniffers. If the user sets the
PCAP_OPENFLAG_MAX_RESPONSIVENESS flag, the capture driver will copy the packets as soon as the application
is ready to receive them. This is suggested for real time applications (like, for example, a bridge)
that need the best responsiveness.*/
#define PCAP_OPENFLAG_MAX_RESPONSIVENESS 16
/*!
\}
\}
*/
/*!
\addtogroup remote_samp_methods
\{
\addtogroup remote_samp_methods
\{
*/
/*!
\brief No sampling has to be done on the current capture.
\brief No sampling has to be done on the current capture.
In this case, no sampling algorithms are applied to the current capture.
In this case, no sampling algorithms are applied to the current capture.
*/
#define PCAP_SAMP_NOSAMP 0
#define PCAP_SAMP_NOSAMP 0
/*!
\brief It defines that only 1 out of N packets must be returned to the user.
\brief It defines that only 1 out of N packets must be returned to the user.
In this case, the 'value' field of the 'pcap_samp' structure indicates the
number of packets (minus 1) that must be discarded before one packet got accepted.
In other words, if 'value = 10', the first packet is returned to the caller, while
the following 9 are discarded.
In this case, the 'value' field of the 'pcap_samp' structure indicates the
number of packets (minus 1) that must be discarded before one packet got accepted.
In other words, if 'value = 10', the first packet is returned to the caller, while
the following 9 are discarded.
*/
#define PCAP_SAMP_1_EVERY_N 1
#define PCAP_SAMP_1_EVERY_N 1
/*!
\brief It defines that we have to return 1 packet every N milliseconds.
\brief It defines that we have to return 1 packet every N milliseconds.
In this case, the 'value' field of the 'pcap_samp' structure indicates the 'waiting
time' in milliseconds before one packet got accepted.
In other words, if 'value = 10', the first packet is returned to the caller; the next
returned one will be the first packet that arrives when 10ms have elapsed.
In this case, the 'value' field of the 'pcap_samp' structure indicates the 'waiting
time' in milliseconds before one packet got accepted.
In other words, if 'value = 10', the first packet is returned to the caller; the next
returned one will be the first packet that arrives when 10ms have elapsed.
*/
#define PCAP_SAMP_FIRST_AFTER_N_MS 2
/*!
\}
\}
*/
/*!
\addtogroup remote_auth_methods
\{
\addtogroup remote_auth_methods
\{
*/
/*!
\brief It defines the NULL authentication.
\brief It defines the NULL authentication.
This value has to be used within the 'type' member of the pcap_rmtauth structure.
The 'NULL' authentication has to be equal to 'zero', so that old applications
can just put every field of struct pcap_rmtauth to zero, and it does work.
This value has to be used within the 'type' member of the pcap_rmtauth structure.
The 'NULL' authentication has to be equal to 'zero', so that old applications
can just put every field of struct pcap_rmtauth to zero, and it does work.
*/
#define RPCAP_RMTAUTH_NULL 0
/*!
\brief It defines the username/password authentication.
\brief It defines the username/password authentication.
With this type of authentication, the RPCAP protocol will use the username/
password provided to authenticate the user on the remote machine. If the
authentication is successful (and the user has the right to open network devices)
the RPCAP connection will continue; otherwise it will be dropped.
With this type of authentication, the RPCAP protocol will use the username/
password provided to authenticate the user on the remote machine. If the
authentication is successful (and the user has the right to open network devices)
the RPCAP connection will continue; otherwise it will be dropped.
This value has to be used within the 'type' member of the pcap_rmtauth structure.
This value has to be used within the 'type' member of the pcap_rmtauth structure.
*/
#define RPCAP_RMTAUTH_PWD 1
/*!
\}
\}
*/
@ -323,71 +323,71 @@ extern "C" {
/*!
\brief This structure keeps the information needed to autheticate
the user on a remote machine.
The remote machine can either grant or refuse the access according
to the information provided.
In case the NULL authentication is required, both 'username' and
'password' can be NULL pointers.
This structure is meaningless if the source is not a remote interface;
in that case, the functions which requires such a structure can accept
a NULL pointer as well.
\brief This structure keeps the information needed to autheticate
the user on a remote machine.
The remote machine can either grant or refuse the access according
to the information provided.
In case the NULL authentication is required, both 'username' and
'password' can be NULL pointers.
This structure is meaningless if the source is not a remote interface;
in that case, the functions which requires such a structure can accept
a NULL pointer as well.
*/
struct pcap_rmtauth
{
/*!
\brief Type of the authentication required.
\brief Type of the authentication required.
In order to provide maximum flexibility, we can support different types
of authentication based on the value of this 'type' variable. The currently
supported authentication methods are defined into the
\link remote_auth_methods Remote Authentication Methods Section\endlink.
In order to provide maximum flexibility, we can support different types
of authentication based on the value of this 'type' variable. The currently
supported authentication methods are defined into the
\link remote_auth_methods Remote Authentication Methods Section\endlink.
*/
int type;
/*!
\brief Zero-terminated string containing the username that has to be
used on the remote machine for authentication.
This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication
and it can be NULL.
\brief Zero-terminated string containing the username that has to be
used on the remote machine for authentication.
This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication
and it can be NULL.
*/
char *username;
/*!
\brief Zero-terminated string containing the password that has to be
used on the remote machine for authentication.
This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication
and it can be NULL.
\brief Zero-terminated string containing the password that has to be
used on the remote machine for authentication.
This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication
and it can be NULL.
*/
char *password;
};
/*!
\brief This structure defines the information related to sampling.
\brief This structure defines the information related to sampling.
In case the sampling is requested, the capturing device should read
only a subset of the packets coming from the source. The returned packets depend
on the sampling parameters.
In case the sampling is requested, the capturing device should read
only a subset of the packets coming from the source. The returned packets depend
on the sampling parameters.
\warning The sampling process is applied <strong>after</strong> the filtering process.
In other words, packets are filtered first, then the sampling process selects a
subset of the 'filtered' packets and it returns them to the caller.
\warning The sampling process is applied <strong>after</strong> the filtering process.
In other words, packets are filtered first, then the sampling process selects a
subset of the 'filtered' packets and it returns them to the caller.
*/
struct pcap_samp
{
/*!
Method used for sampling. Currently, the supported methods are listed in the
\link remote_samp_methods Sampling Methods Section\endlink.
Method used for sampling. Currently, the supported methods are listed in the
\link remote_samp_methods Sampling Methods Section\endlink.
*/
int method;
/*!
This value depends on the sampling method defined. For its meaning, please check
at the \link remote_samp_methods Sampling Methods Section\endlink.
This value depends on the sampling method defined. For its meaning, please check
at the \link remote_samp_methods Sampling Methods Section\endlink.
*/
int value;
};
@ -400,7 +400,7 @@ struct pcap_samp
/*!
\}
\}
*/ // end of public documentation
@ -410,8 +410,8 @@ struct pcap_samp
/** \name New WinPcap functions
This section lists the new functions that are able to help considerably in writing
WinPcap programs because of their easiness of use.
This section lists the new functions that are able to help considerably in writing
WinPcap programs because of their easiness of use.
*/
//\{
pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf);
@ -427,7 +427,7 @@ struct pcap_samp *pcap_setsampling(pcap_t *p);
/** \name Remote Capture functions
*/
//\{
//\{
SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf);
int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf);
int pcap_remoteact_close(const char *host, char *errbuf);
@ -441,4 +441,3 @@ void pcap_remoteact_cleanup();
#endif

View File

@ -581,17 +581,17 @@ void airbustr_state::machine_reset()
static MACHINE_CONFIG_START( airbustr, airbustr_state )
/* basic machine hardware */
MCFG_CPU_ADD("master", Z80, XTAL_12MHz/2) /* verified on pcb */
MCFG_CPU_ADD("master", Z80, XTAL_12MHz/2) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(master_map)
MCFG_CPU_IO_MAP(master_io_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", airbustr_state, airbustr_scanline, "screen", 0, 1)
MCFG_CPU_ADD("slave", Z80, XTAL_12MHz/2) /* verified on pcb */
MCFG_CPU_ADD("slave", Z80, XTAL_12MHz/2) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(slave_map)
MCFG_CPU_IO_MAP(slave_io_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", airbustr_state, slave_interrupt) /* nmi signal from master cpu */
MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/2) /* verified on pcb */
MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/2) /* verified on pcb */
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_io_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", airbustr_state, irq0_line_hold) // nmi are caused by sub cpu writing a sound command
@ -622,7 +622,7 @@ static MACHINE_CONFIG_START( airbustr, airbustr_state )
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ymsnd", YM2203, XTAL_12MHz/4) /* verified on pcb */
MCFG_SOUND_ADD("ymsnd", YM2203, XTAL_12MHz/4) /* verified on pcb */
MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW1")) // DSW-1 connected to port A
MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2")) // DSW-2 connected to port B
MCFG_SOUND_ROUTE(0, "mono", 0.25)
@ -630,7 +630,7 @@ static MACHINE_CONFIG_START( airbustr, airbustr_state )
MCFG_SOUND_ROUTE(2, "mono", 0.25)
MCFG_SOUND_ROUTE(3, "mono", 0.50)
MCFG_OKIM6295_ADD("oki", XTAL_12MHz/4, OKIM6295_PIN7_LOW) /* verified on pcb */
MCFG_OKIM6295_ADD("oki", XTAL_12MHz/4, OKIM6295_PIN7_LOW) /* verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
MACHINE_CONFIG_END

View File

@ -1,20 +1,20 @@
/*
tiny bartop b&w Space Invaders type game with colour overlay
Driver by David Haywood and Mariusz Wojcieszek
TODO:
- 16 bytes are protected in the c*** range. I'm guessing they used a PROM to protect a
simple sub-routine because:
* It attempts to jsr from RAM to that area with a 0x10 byte offset (i.e. ROM copies a code snippet to RAM; when it executes
* It attempts to jsr from RAM to that area with a 0x10 byte offset (i.e. ROM copies a code snippet to RAM; when it executes
it code executes jsr 0xc400 then self-modifies it to 0xc410, rinse and repeat ... up to 0xc7f0 and rolls back);
* After that the program has an amusing left-over located at 0xe000-0xe00f (yup, NOPs + a RTS), with the
* After that the program has an amusing left-over located at 0xe000-0xe00f (yup, NOPs + a RTS), with the
exact same number of times as above;
It's unknown at current stage what it really protects tho, game seems working for all I can see ... -AS
- Sound is entirely guesswork.
*/
#include "emu.h"
@ -28,10 +28,10 @@ public:
alinvade_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_videoram(*this, "videoram")
, m_videoram(*this, "videoram")
, m_discrete(*this, "discrete")
{ }
DECLARE_READ8_MEMBER(irqmask_r);
DECLARE_WRITE8_MEMBER(irqmask_w);
DECLARE_WRITE8_MEMBER(sound_w);
@ -90,7 +90,7 @@ WRITE8_MEMBER(alinvade_state::irqmask_w)
{
if((!(irqff & 1)) && (data & 1)) // f/f, active high? If the above actually returns 0xff this could be active low ...
irqmask^= 1;
irqff = data;
}

View File

@ -1876,7 +1876,7 @@ static ADDRESS_MAP_START( i8748_portmap, AS_IO, 8, alpha68k_state )
// AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_DEVWRITE_LEGACY("adpcm", saiyugoub1_adpcm_control_w)
ADDRESS_MAP_END
// Pixel clock, assuming that it can't be 4 MHz because 4 MHz / 15,20 KHz = 263 HTOTAL (VERY unlikely).
// Pixel clock, assuming that it can't be 4 MHz because 4 MHz / 15,20 KHz = 263 HTOTAL (VERY unlikely).
#define ALPHA68K_PIXEL_CLOCK XTAL_24MHz/4
#define ALPHA68K_HTOTAL 394
#define ALPHA68K_HBEND 0
@ -1909,10 +1909,10 @@ static MACHINE_CONFIG_START( sstingry, alpha68k_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ALPHA68K_PIXEL_CLOCK,ALPHA68K_HTOTAL,ALPHA68K_HBEND,ALPHA68K_HBSTART,ALPHA68K_VTOTAL,ALPHA68K_VBEND,ALPHA68K_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_sstingry)
MCFG_SCREEN_PALETTE("palette")
@ -1958,10 +1958,10 @@ static MACHINE_CONFIG_START( kyros, alpha68k_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ALPHA68K_PIXEL_CLOCK,ALPHA68K_HTOTAL,ALPHA68K_HBEND,ALPHA68K_HBSTART,ALPHA68K_VTOTAL,ALPHA68K_VBEND,ALPHA68K_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_kyros)
MCFG_SCREEN_PALETTE("palette")
@ -2006,10 +2006,10 @@ static MACHINE_CONFIG_START( jongbou, alpha68k_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ALPHA68K_PIXEL_CLOCK,ALPHA68K_HTOTAL,ALPHA68K_HBEND,ALPHA68K_HBSTART,ALPHA68K_VTOTAL,ALPHA68K_VBEND,ALPHA68K_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_kyros)
MCFG_SCREEN_PALETTE("palette")
@ -2043,10 +2043,10 @@ static MACHINE_CONFIG_START( alpha68k_I, alpha68k_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ALPHA68K_PIXEL_CLOCK,ALPHA68K_HTOTAL,ALPHA68K_HBEND,ALPHA68K_HBSTART,ALPHA68K_VTOTAL,ALPHA68K_VBEND,ALPHA68K_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_I)
MCFG_SCREEN_PALETTE("palette")
@ -2088,10 +2088,10 @@ static MACHINE_CONFIG_START( alpha68k_II, alpha68k_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ALPHA68K_PIXEL_CLOCK,ALPHA68K_HTOTAL,ALPHA68K_HBEND,ALPHA68K_HBSTART,ALPHA68K_VTOTAL,ALPHA68K_VBEND,ALPHA68K_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_II)
MCFG_SCREEN_PALETTE("palette")
@ -2141,10 +2141,10 @@ static MACHINE_CONFIG_START( alpha68k_II_gm, alpha68k_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ALPHA68K_PIXEL_CLOCK,ALPHA68K_HTOTAL,ALPHA68K_HBEND,ALPHA68K_HBSTART,ALPHA68K_VTOTAL,ALPHA68K_VBEND,ALPHA68K_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_II)
MCFG_SCREEN_PALETTE("palette")
@ -2187,10 +2187,10 @@ static MACHINE_CONFIG_START( alpha68k_V, alpha68k_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ALPHA68K_PIXEL_CLOCK,ALPHA68K_HTOTAL,ALPHA68K_HBEND,ALPHA68K_HBSTART,ALPHA68K_VTOTAL,ALPHA68K_VBEND,ALPHA68K_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_V)
MCFG_SCREEN_PALETTE("palette")
@ -2233,10 +2233,10 @@ static MACHINE_CONFIG_START( alpha68k_V_sb, alpha68k_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ALPHA68K_PIXEL_CLOCK,ALPHA68K_HTOTAL,ALPHA68K_HBEND,ALPHA68K_HBSTART,ALPHA68K_VTOTAL,ALPHA68K_VBEND,ALPHA68K_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_V_sb)
MCFG_SCREEN_PALETTE("palette")
@ -2278,10 +2278,10 @@ static MACHINE_CONFIG_START( tnextspc, alpha68k_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ALPHA68K_PIXEL_CLOCK,ALPHA68K_HTOTAL,ALPHA68K_HBEND,ALPHA68K_HBSTART,ALPHA68K_VTOTAL,ALPHA68K_VBEND,ALPHA68K_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(alpha68k_state, screen_update_alpha68k_I)
MCFG_SCREEN_PALETTE("palette")

View File

@ -1248,10 +1248,10 @@ static MACHINE_CONFIG_START( arkanoid, arkanoid_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ARKANOID_PIXEL_CLOCK,ARKANOID_HTOTAL,ARKANOID_HBEND,ARKANOID_HBSTART,ARKANOID_VTOTAL,ARKANOID_VBEND,ARKANOID_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(arkanoid_state, screen_update_arkanoid)
MCFG_SCREEN_PALETTE("palette")
@ -1282,10 +1282,10 @@ static MACHINE_CONFIG_START( hexa, arkanoid_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ARKANOID_PIXEL_CLOCK,ARKANOID_HTOTAL,ARKANOID_HBEND,ARKANOID_HBSTART,ARKANOID_VTOTAL,ARKANOID_VBEND,ARKANOID_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(arkanoid_state, screen_update_hexa)
MCFG_SCREEN_PALETTE("palette")
@ -1338,10 +1338,10 @@ static MACHINE_CONFIG_START( brixian, arkanoid_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ARKANOID_PIXEL_CLOCK,ARKANOID_HTOTAL,ARKANOID_HBEND,ARKANOID_HBSTART,ARKANOID_VTOTAL,ARKANOID_VBEND,ARKANOID_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(arkanoid_state, screen_update_hexa)
MCFG_SCREEN_PALETTE("palette")

Some files were not shown because too many files have changed in this diff Show More