Previous 199869 Revisions Next

r17960 Monday 17th September, 2012 at 06:49:13 UTC by Miodrag Milanović
Clean-ups and version bump

note: hoarded dump removed too from coco_cart.xml, this will not be tolerated
[hash]coco_cart.xml fm7_disk.xml mz2000_cass.xml neogeo.xml snes.xml stv.xml
[src]version.c
[src/emu]devcpu.h distate.c distate.h drawgfx.c drawgfx.h emuopts.c romload.c sprite.c sprite.h
[src/emu/cpu]drcbec.c
[src/emu/cpu/am29000]am29000.c am29ops.h
[src/emu/cpu/apexc]apexcdsm.c
[src/emu/cpu/arm]arm.c
[src/emu/cpu/arm7]arm7core.h
[src/emu/cpu/cosmac]cosdasm.c
[src/emu/cpu/cubeqcpu]cubeqcpu.c
[src/emu/cpu/dsp56k]dsp56k.h dsp56pcu.c
[src/emu/cpu/esrip]esrip.c
[src/emu/cpu/g65816]g65816ds.c
[src/emu/cpu/h6280]h6280.h
[src/emu/cpu/h83002]h8priv.h h8speriph.c
[src/emu/cpu/hcd62121]hcd62121d.c
[src/emu/cpu/hd61700]hd61700d.c
[src/emu/cpu/hd6309]6309dasm.c
[src/emu/cpu/i386]cycles.h i386priv.h
[src/emu/cpu/i86]i286.c
[src/emu/cpu/i860]i860dis.c
[src/emu/cpu/i960]i960dis.c
[src/emu/cpu/lh5801]5801dasm.c
[src/emu/cpu/m37710]m7700ds.c
[src/emu/cpu/m6502]m6502.c m6502.h m6509.c
[src/emu/cpu/m68000]m68k_in.c m68kdasm.c m68kmake.c
[src/emu/cpu/m6805]m6805.c
[src/emu/cpu/m6809]6809dasm.c
[src/emu/cpu/mb86233]mb86233.c
[src/emu/cpu/mips]mips3.c
[src/emu/cpu/nec]necpriv.h v25priv.h
[src/emu/cpu/powerpc]ppc_dasm.c ppccom.c
[src/emu/cpu/rsp]rsp.h
[src/emu/cpu/saturn]saturnds.c
[src/emu/cpu/sc61860]scdasm.c
[src/emu/cpu/sh2]sh2comn.h
[src/emu/cpu/sh4]sh4comn.h
[src/emu/cpu/sharc]sharc.c sharc.h sharcdma.c sharcdsm.h sharcops.h
[src/emu/cpu/spc700]spc700.c spc700ds.c
[src/emu/cpu/superfx]superfx.c
[src/emu/cpu/tlcs900]900tbl.c dasm900.c
[src/emu/cpu/tms32051]tms32051.c
[src/emu/cpu/tms9900]9900dasm.c 99xxcore.h tms9900.h tms9900l.h tms9995.h
[src/emu/cpu/upd7810]upd7810.h
[src/emu/imagedev]floppy.c
[src/emu/machine]53c810.c 6526cia.h 68681.c 8042kbdc.h latch8.h m6m80011ap.h matsucd.c msm6242.h net_lib.c net_lib.h netlist.c netlist.h pc16552d.c pckeybrd.h pic8259.c pit8253.c rp5h01.c rtc9701.h s3520cf.c s3520cf.h s3c2400.c s3c2400.h s3c2410.c s3c2410.h s3c2440.c s3c2440.h scsibus.c scsibus.h seibu_cop.c tms9901.h tms9902.h v3021.h wd33c93.c
[src/emu/sound]c140.c c352.h discrete.c discrete.h es5503.h fm.c fm2612.c fmopl.c i5000.h k005289.c k007232.c k051649.c mos6560.c n63701x.c namco.c nes_defs.h s14001a.c sid6581.c sid6581.h sn76496.h tms5220.h upd7759.c ym2151.c ym2413.c ymf262.c ymf271.c ymf278b.c ymz770.h
[src/emu/video]cdp1862.c huc6272.c m50458.c m50458.h mb90082.c mc6845.c pc_vga.c saa5050.c saa5050.h tlc34076.c vector.c
[src/lib/formats]ace_tap.h d88_dsk.c flopimg.c xdf_dsk.h
[src/lib/util]bitmap.h opresolv.h options.c
[src/mame/audio]cage.c exidy440.c flower.c gomoku.c micro3d.c snk6502.c taito_en.c wiping.c
[src/mame/drivers]atlantis.c boogwing.c calchase.c carpolo.c chihiro.c circusc.c cobra.c cyclemb.c ddenlovr.c djmain.c finalizr.c firebeat.c funkball.c g627.c galaga.c galaxold.c gamecstl.c gberet.c glass.c goldstar.c gticlub.c guab.c hankin.c homedata.c homerun.c hornet.c jaguar.c jpmmps.c kinst.c konamigx.c konamim2.c lasso.c littlerb.c magictg.c majorpkr.c maygayv1.c mcr.c mediagx.c meritm.c midqslvr.c midvunit.c mrdo.c mrjong.c namcoic.c namcos2.c namcos23.c naomi.c nbmj9195.c nss.c nwk-tr.c pachifev.c panicr.c peplus.c pingpong.c polepos.c pong.c qdrmfgp.c queen.c retofinv.c savquest.c sbugger.c seattle.c segag80r.c segas16b.c segas32.c senjyo.c sfcbox.c sg1000a.c spaceg.c spectra.c sprcros2.c subsino2.c suna8.c taitogn.c taitotz.c taitowlf.c techno.c ttchamp.c tumbleb.c twinkle.c vegas.c vertigo.c viper.c voyager.c xtom3d.c zaxxon.c zn.c
[src/mame/includes]armedf.h asuka.h dec0.h deco32.h galaga.h gberet.h gstriker.h homerun.h irobot.h jaguar.h megadriv.h micro3d.h midtunit.h namcoic.h namcos1.h namcos2.h playch10.h qix.h segag80r.h segahang.h snes.h spcforce.h suna8.h suprnova.h vectrex.h vertigo.h zodiack.h
[src/mame/machine]atarigen.c cdi070.h decoprot.c kaneko_calc3.c kaneko_calc3.h kaneko_hit.h md_cart.c mega32x.c mega32x.h megacd.c megacd.h megavdp.c pckeybrd.c pxa255.h qix.c segaic16.c segaic16.h seicop.c snes.c snes7110.c snescx4.h snessdd1.c steppers.c stvcd.c
[src/mame/video]armedf.c bfm_dm01.c bwing.c dc.c deco16ic.h galaxian.c gp9001.h hng64.c homerun.c jaguar.c kaneko_spr.h konamigx.c konicdev.h legionna.c madalien.c mcd212.h midzeus2.c model2.c model3.c namcona1.c namcos21.c namcos22.c sega16sp.c sega16sp.h segahang.c system16.c taitoic.h vdc.c
[src/mess/audio]mea8000.c mos7360.c socrates.c spchroms.h svision.c
[src/mess/devices]sonydriv.c
[src/mess/drivers]a2600.c aim65.c apollo.c apricot.c apricotp.c bebox.c c128.c c64.c cgenie.c cybiko.c gba.c geneve.c hp49gp.c ht68k.c ip20.c ip22.c juicebox.c mycom.c mz2000.c mz700.c ng_aes.c pc.c pc8801.c pc88va.c pc9801.c pcfx.c pcw16.c pockstat.c psx.c pv1000.c pv2000.c rvoice.c sgi_ip6.c sitcom.c smc777.c ti99_4x.c ti99_8.c vboy.c vic10.c vic20.c vk100.c
[src/mess/formats]spec_snqk.h timex_dck.h
[src/mess/includes]amstrad.h apple1.h apple2.h apple2gs.h bebox.h c65.h cgenie.h channelf.h compis.h concept.h cxhumax.h cybiko.h dgn_beta.h electron.h fm7.h gamecom.h gb.h gmaster.h gp32.h hp48.h intv.h kyocera.h lisa.h lynx.h mac.h macpci.h mbc55x.h nascom1.h nes.h odyssey2.h oric.h p2000t.h pc8401a.h pce.h pdp1.h pet.h pokemini.h rmnimbus.h spectrum.h ssystem3.h svi318.h svision.h tx0.h vc4000.h vic20.h wswan.h x07.h x1.h z80ne.h
[src/mess/machine]990_hd.c 990_tap.c a2cffa.c amigacrt.c amigakbd.c apollo_net.c applefdc.c at45dbxx.c ay31015.c ay31015.h c128.c c1541.c c64_ide64.c cbmiec.c coco_fdc.h diag264_lb_iec.h diag264_lb_user.h ds1315.c i8271.c i8271.h isa_ide.c isa_sblaster.c isa_stereo_fx.c kay_kbd.c kc_d004.c kr2376.h mc68328.h mc6843.c mc6846.c mc6854.c mos8722.c nes_unif.c petcass.h rmnimbus.c s3c44b0.h sgi.c smartmed.c smc92x4.h strata.c thomson.c upd765.c upd765.h vp620.c wangpc_mvc.c
[src/mess/machine/ti99]datamux.h genboard.h grom.h gromport.h joyport.h mapper8.h peribox.h speech8.h ti99_hd.h tn_ide.c videowrp.h
[src/mess/tools/imgtool]charconv.h imgterrs.h library.h stream.c
[src/mess/tools/imgtool/modules]amiga.c concept.c fat.c mac.c macutil.h os9.c prodos.c ti99.c ti990hd.c vzdos.c
[src/mess/video]733_asr.c 733_asr.h 911_chr.h 911_vdt.c 911_vdt.h apollo.c apple1.c crt.c dl1416.c epnick.c isa_vga_ati.c isa_vga_ati.h mos6566.c newport.c vic4567.h vic6567.h
[src/osd]osdnet.h
[src/tools]jedutil.c

trunk/hash/coco_cart.xml
r17959r17960
5252-->
5353<softwarelist name="coco_cart" description="Tandy Radio Shack Color Computer cartridges">
5454
55   <software name="alphazoo">
55   <!--software name="alphazoo">
5656      <description>Alphabet Zoo</description>
5757      <year>1984</year>
5858      <publisher>Tandy</publisher>
r17959r17960
6464            <rom name="alphabet zoo (1984)(26-3170)(spinnaker).rom" size="32768" crc="a8a83f53" sha1="b6c8048549c60909c6a9e8e808df342d6491eae2" status="baddump" offset="0" />
6565         </dataarea>
6666      </part>
67   </software>
67   </software-->
6868
6969   <software name="amazing">
7070      <description>A Mazing World of Malcom Mortar</description>
trunk/hash/fm7_disk.xml
r17959r17960
15501550タイトル:メイガス
15511551メーカー:ソフトプロ          機  種 :FM-7
15521552ジャンル:TBL               備  考 :RUN"MAGUS"で起動
1553     
1553
15541554タイトル:リザード
15551555メーカー:マイクロキャビン      機  種 :FM-7
15561556ジャンル:RPG                備  考 :RUN"LIZARD"で起動
trunk/hash/stv.xml
r17959r17960
77-->
88
99<softwarelist name="stv" description="Sega Titan Video cartridges">
10 
10
1111  <!-- Game: Astra SuperStars -->
1212  <software name="astrass" supported="no" >
1313    <description>Astra SuperStars (J 980514 V1.002)</description>
r17959r17960
2727      </dataarea>
2828    </part>
2929  </software>
30 
30
3131  <!-- Game: Baku Baku Animal -->
3232  <software name="bakubaku">
3333    <description>Baku Baku Animal (J 950407 V1.000)</description>
r17959r17960
4343      </dataarea>
4444    </part>
4545  </software>
46 
46
4747  <!-- Game: Batman Forever -->
4848  <software name="batmanfr" supported="no" >
4949    <description>Batman Forever (JUE 960507 V1.000)</description>
r17959r17960
6868      </dataarea>
6969    </part>
7070  </software>
71 
71
7272  <!-- Game: Columns '97 -->
7373  <software name="colmns97" supported="no">
7474    <description>Columns '97 (JET 961209 V1.000)</description>
r17959r17960
8282      </dataarea>
8383    </part>
8484  </software>
85 
85
8686  <!-- Game: Cotton 2 -->
8787  <software name="cotton2">
8888    <description>Cotton 2 (JUET 970902 V1.000)</description>
r17959r17960
101101      </dataarea>
102102    </part>
103103  </software>
104 
104
105105  <!-- Game: Cotton Boomerang -->
106106  <software name="cottonbm" supported="no">
107107    <description>Cotton Boomerang (JUET 980709 V1.000)</description>
r17959r17960
119119      </dataarea>
120120    </part>
121121  </software>
122 
122
123123  <!-- Game: Critter Crusher -->
124124  <software name="critcrsh" supported="no" >
125125    <description>Critter Crusher (EA 951204 V1.000)</description>
r17959r17960
134134      </dataarea>
135135    </part>
136136  </software>
137 
137
138138  <!-- Game: Danchi de Hanafuda -->
139139  <software name="danchih" supported="no">
140140    <description>Danchi de Hanafuda (J 990607 V1.400)</description>
r17959r17960
150150      </dataarea>
151151    </part>
152152  </software>
153 
153
154154  <!-- Game: Danchi de Quiz Okusan Yontaku Desuyo! -->
155155  <software name="danchiq" supported="no">
156156    <description>Danchi de Quiz Okusan Yontaku Desuyo! (J 001128 V1.200)</description>
r17959r17960
171171      </dataarea>
172172    </part>
173173  </software>
174 
174
175175  <!-- Game: Decathlete -->
176176  <software name="decathlt" supported="no">
177177    <description>Decathlete (JUET 960709 V1.001)</description>
r17959r17960
188188      </dataarea>
189189    </part>
190190  </software>
191 
191
192192  <!-- Game: Decathlete -->
193193  <software name="decathlto" cloneof="decathlt" supported="no">
194194    <description>Decathlete (JUET 960424 V1.000)</description>
r17959r17960
205205      </dataarea>
206206    </part>
207207  </software>
208 
208
209209  <!-- Game: Die Hard Arcade -->
210210  <software name="diehard">
211211    <description>Die Hard Arcade (UET 960515 V1.000)</description>
r17959r17960
221221      </dataarea>
222222    </part>
223223  </software>
224 
224
225225  <!-- Game: Dynamite Deka -->
226226  <software name="dnmtdeka" cloneof="diehard">
227227    <description>Dynamite Deka (J 960515 V1.000)</description>
r17959r17960
237237      </dataarea>
238238    </part>
239239  </software>
240 
240
241241  <!-- Game: Ejihon Tantei Jimusyo -->
242242  <software name="ejihon">
243243    <description>Ejihon Tantei Jimusyo (J 950613 V1.000)</description>
r17959r17960
255255      </dataarea>
256256    </part>
257257  </software>
258 
258
259259  <!-- Game: Touryuu Densetsu Elan-Doree / Elan Doree - Legend of Dragoon -->
260260  <software name="elandore" supported="no">
261261    <description>Touryuu Densetsu Elan-Doree / Elan Doree - Legend of Dragoon (JUET 980922 V1.006)</description>
r17959r17960
274274      </dataarea>
275275    </part>
276276  </software>
277 
277
278278  <!-- Game: Final Fight Revenge -->
279279  <software name="ffreveng" supported="no">
280280    <description>Final Fight Revenge (JUET 990714 V1.000)</description>
r17959r17960
292292      </dataarea>
293293    </part>
294294  </software>
295 
295
296296  <!-- Game: Funky Head Boxers -->
297297  <software name="fhboxers" supported="no" >
298298    <description>Funky Head Boxers (JUETBKAL 951218 V1.000)</description>
r17959r17960
313313      </dataarea>
314314    </part>
315315  </software>
316 
316
317317  <!-- Game: Find Love -->
318318  <software name="findlove" supported="no" >
319319    <description>Find Love (J 971212 V1.000)</description>
r17959r17960
337337      </dataarea>
338338    </part>
339339  </software>
340 
340
341341  <!-- Game: Final Arch -->
342342  <software name="finlarch" cloneof="smleague">
343343    <description>Final Arch (J 950714 V1.001)</description>
r17959r17960
359359      </dataarea>
360360    </part>
361361  </software>
362 
362
363363  <!-- Game: Golden Axe - The Duel -->
364364  <software name="gaxeduel">
365365    <description>Golden Axe - The Duel (JUETL 950117 V1.000)</description>
r17959r17960
378378      </dataarea>
379379    </part>
380380  </software>
381 
381
382382  <!-- Game: Guardian Force -->
383383  <software name="grdforce" supported="no">
384384    <description>Guardian Force (JUET 980318 V0.105)</description>
r17959r17960
395395      </dataarea>
396396    </part>
397397  </software>
398 
398
399399  <!-- Game: Groove on Fight - Gouketsuji Ichizoku 3 -->
400400  <software name="groovef" supported="no">
401401    <description>Groove on Fight - Gouketsuji Ichizoku 3 (J 970416 V1.001)</description>
r17959r17960
415415      </dataarea>
416416    </part>
417417  </software>
418 
418
419419  <!-- Game: Hanagumi Taisen Columns - Sakura Wars -->
420420  <software name="hanagumi" supported="no">
421421    <description>Hanagumi Taisen Columns - Sakura Wars (J 971007 V1.010)</description>
r17959r17960
438438      </dataarea>
439439    </part>
440440  </software>
441 
441
442442  <!-- Game: Karaoke Quiz Intro Don Don! -->
443443  <software name="introdon" supported="no">
444444    <description>Karaoke Quiz Intro Don Don! (J 960213 V1.000)</description>
r17959r17960
458458      </dataarea>
459459    </part>
460460  </software>
461 
461
462462  <!-- Game: Pro Mahjong Kiwame S -->
463463  <!-- Note: you have to init it manually via test mode -->
464464  <software name="kiwames">
r17959r17960
475475      </dataarea>
476476    </part>
477477  </software>
478 
478
479479  <!-- Game: Magical Zunou Power -->
480480  <software name="magzun" supported="no" >
481481    <description>Magical Zunou Power (J 961031 V1.000)</description>
r17959r17960
493493      </dataarea>
494494    </part>
495495  </software>
496 
496
497497  <!-- Game: Maru-Chan de Goo! -->
498498  <software name="maruchan">
499499    <description>Maru-Chan de Goo! (J 971216 V1.000)</description>
r17959r17960
513513      </dataarea>
514514    </part>
515515  </software>
516 
516
517517  <!-- Game: Mausuke no Ojama the World -->
518518  <software name="mausuke">
519519    <description>Mausuke no Ojama the World (J 960314 V1.000)</description>
r17959r17960
534534      </dataarea>
535535    </part>
536536  </software>
537 
537
538538  <!-- Game: Microman Battle Charge -->
539539  <software name="micrombc" supported="no" >
540540    <description>Microman Battle Charge (J 990326 V1.000)</description>
r17959r17960
553553      </dataarea>
554554    </part>
555555  </software>
556 
556
557557  <!-- Game: Virtual Mahjong 2 - My Fair Lady -->
558558  <software name="myfairld" supported="no" >
559559    <description>Virtual Mahjong 2 - My Fair Lady (J 980608 V1.000)</description>
r17959r17960
572572      </dataarea>
573573    </part>
574574  </software>
575 
575
576576  <!-- Game: Name Club Ver.3 -->
577577  <software name="nclubv3" supported="no" >
578578    <description>Name Club Ver.3 (J 970723 V1.000)</description>
r17959r17960
593593      </dataarea>
594594    </part>
595595  </software>
596 
596
597597  <!-- Game: Othello Shiyouyo -->
598598  <software name="othellos" supported="no">
599599    <description>Othello Shiyouyo (J 980423 V1.002)</description>
r17959r17960
609609      </dataarea>
610610    </part>
611611  </software>
612 
612
613613  <!-- Game: Pebble Beach - The Great Shot -->
614614  <software name="pblbeach">
615615    <description>Pebble Beach - The Great Shot (JUE 950913 V0.990)</description>
r17959r17960
626626      </dataarea>
627627    </part>
628628  </software>
629 
629
630630  <!-- Game: Print Club 2 -->
631631  <software name="pclub2" supported="no">
632632    <description>Print Club 2 (U 970921 V1.000)</description>
r17959r17960
642642      </dataarea>
643643    </part>
644644  </software>
645 
645
646646  <!-- Game: Print Club 2 Vol. 3 -->
647647  <software name="pclub2v3" cloneof="pclub2" supported="no">
648648    <description>Print Club 2 Vol. 3 (U 990310 V1.000)</description>
r17959r17960
658658      </dataarea>
659659    </part>
660660  </software>
661 
661
662662  <!-- Game: Print Club Pokemon B -->
663663  <software name="pclubpok" supported="no">
664664    <description>Print Club Pokemon B (U 991126 V1.000)</description>
r17959r17960
674674      </dataarea>
675675    </part>
676676  </software>
677 
677
678678  <!-- Game: Princess Clara Daisakusen -->
679679  <software name="prikura">
680680    <description>Princess Clara Daisakusen (J 960910 V1.000)</description>
r17959r17960
690690      </dataarea>
691691    </part>
692692  </software>
693 
693
694694  <!-- Game: Puyo Puyo Sun -->
695695  <software name="puyosun" supported="no">
696696    <description>Puyo Puyo Sun (J 961115 V0.001)</description>
r17959r17960
711711      </dataarea>
712712    </part>
713713  </software>
714 
714
715715  <!-- Game: Radiant Silvergun -->
716716  <software name="rsgun" supported="no">
717717    <description>Radiant Silvergun (JUET 980523 V1.000)</description>
r17959r17960
727727      </dataarea>
728728    </part>
729729  </software>
730 
730
731731  <!-- Game: Puzzle &amp; Action: Sando-R -->
732732  <software name="sandor">
733733    <description>Puzzle &amp; Action: Sando-R (J 951114 V1.000)</description>
r17959r17960
747747      </dataarea>
748748    </part>
749749  </software>
750 
750
751751  <!-- Game: DaeJeon! SanJeon SuJeon -->
752752  <software name="sanjeon" cloneof="sasissu" supported="no" >
753753    <description>DaeJeon! SanJeon SuJeon (AJTUE 990412 V1.000)</description>
r17959r17960
770770      </dataarea>
771771    </part>
772772  </software>
773 
773
774774  <!-- Game: Taisen Tanto-R Sashissu!! -->
775775  <software name="sasissu" supported="no">
776776    <description>Taisen Tanto-R Sashissu!! (J 980216 V1.000)</description>
r17959r17960
788788      </dataarea>
789789    </part>
790790  </software>
791 
791
792792  <!-- Game: Sea Bass Fishing -->
793793  <software name="seabass" supported="no" >
794794    <description>Sea Bass Fishing (JUET 971110 V0.001)</description>
r17959r17960
808808      </dataarea>
809809    </part>
810810  </software>
811 
811
812812  <!-- Game: Shanghai - The Great Wall / Shanghai Triple Threat -->
813813  <software name="shanhigw">
814814    <description>Shanghai - The Great Wall / Shanghai Triple Threat (JUE 950623 V1.005)</description>
r17959r17960
821821      </dataarea>
822822    </part>
823823  </software>
824 
824
825825  <!-- Game: Shienryu -->
826826  <software name="shienryu" supported="no" >
827827    <description>Shienryu (JUET 961226 V1.000)</description>
r17959r17960
836836      </dataarea>
837837    </part>
838838  </software>
839 
839
840840  <!-- Game: Super Major League -->
841841  <software name="smleague">
842842    <description>Super Major League (U 960108 V1.000)</description>
r17959r17960
854854      </dataarea>
855855    </part>
856856  </software>
857 
857
858858  <!-- Game: Soukyugurentai / Terra Diver -->
859859  <software name="sokyugrt" supported="no" >
860860    <description>Soukyugurentai / Terra Diver (JUET 960821 V1.000)</description>
r17959r17960
870870      </dataarea>
871871    </part>
872872  </software>
873 
873
874874  <!-- Game: Steep Slope Sliders -->
875875  <software name="sss" supported="no" >
876876    <description>Steep Slope Sliders (JUET 981110 V1.000)</description>
r17959r17960
888888      </dataarea>
889889    </part>
890890  </software>
891 
891
892892  <!-- Game: Stress Busters -->
893893  <software name="stress" supported="no" >
894894    <description>Stress Busters (J 981020 V1.000)</description>
r17959r17960
910910      </dataarea>
911911    </part>
912912  </software>
913 
913
914914  <!-- Game: Suikoenbu / Outlaws of the Lost Dynasty -->
915915  <software name="suikoenb">
916916    <description>Suikoenbu / Outlaws of the Lost Dynasty (JUETL 950314 V2.001)</description>
r17959r17960
930930      </dataarea>
931931    </part>
932932  </software>
933 
933
934934  <!-- Game: Technical Bowling -->
935935  <software name="techbowl" supported="no" >
936936    <description>Technical Bowling (J 971212 V1.000)</description>
r17959r17960
946946      </dataarea>
947947    </part>
948948  </software>
949 
949
950950  <!-- Game: Puzzle &amp; Action: Treasure Hunt -->
951951  <software name="thunt" supported="no"  cloneof="sandor">
952952    <description>Puzzle &amp; Action: Treasure Hunt (JUET 970901 V2.00E)</description>
r17959r17960
963963      </dataarea>
964964    </part>
965965  </software>
966 
966
967967  <!-- Game: Puzzle &amp; Action: BoMulEul Chajara -->
968968  <software name="thuntk" supported="no"  cloneof="sandor">
969969    <description>Puzzle &amp; Action: BoMulEul Chajara (JUET 970125 V2.00K)</description>
r17959r17960
984984      </dataarea>
985985    </part>
986986  </software>
987 
987
988988  <!-- Game: Tecmo World Cup '98 -->
989989  <software name="twcup98" supported="no" >
990990    <description>Tecmo World Cup '98 (JUET 980410 V1.000)</description>
r17959r17960
10001000      </dataarea>
10011001    </part>
10021002  </software>
1003 
1003
10041004  <!-- Game: Virtua Fighter Kids -->
10051005  <software name="vfkids" supported="no" >
10061006    <description>Virtua Fighter Kids (JUET 960319 V0.000)</description>
r17959r17960
10211021      </dataarea>
10221022    </part>
10231023  </software>
1024 
1024
10251025  <!-- Game: Virtua Fighter Remix -->
10261026  <software name="vfremix">
10271027    <description>Virtua Fighter Remix (JUETBKAL 950428 V1.000)</description>
r17959r17960
10391039      </dataarea>
10401040    </part>
10411041  </software>
1042 
1042
10431043  <!-- Game: Virtual Mahjong -->
10441044  <software name="vmahjong" supported="no" >
10451045    <description>Virtual Mahjong (J 961214 V1.000)</description>
r17959r17960
10581058      </dataarea>
10591059    </part>
10601060  </software>
1061 
1061
10621062  <!-- Game: Winter Heat -->
10631063  <software name="winterht" supported="no" >
10641064    <description>Winter Heat (JUET 971012 V1.000)</description>
r17959r17960
10771077      </dataarea>
10781078    </part>
10791079  </software>
1080 
1080
10811081  <!-- Game: Zen Nippon Pro-Wrestling Featuring Virtua -->
10821082  <software name="znpwfv" supported="no" >
10831083    <description>Zen Nippon Pro-Wrestling Featuring Virtua (J 971123 V1.000)</description>
trunk/hash/neogeo.xml
r17959r17960
62946294            <rom name="242-v3.v3" offset="0x800000" size="0x400000" crc="044ea4e1" sha1="062a2f2e52098d73bc31c9ad66f5db8080395ce8" />            <!-- TC5332204 -->
62956295            <rom name="242-v4.v4" offset="0xc00000" size="0x400000" crc="7985ea30" sha1="54ed5f0324de6164ea81943ebccb3e8d298368ec" />            <!-- TC5332204 -->
62966296         </dataarea>
6297       <dataarea name="sprites" size="0x4000000">
6297      <dataarea name="sprites" size="0x4000000">
62986298            <rom loadflag="load16_byte" name="242-c1.c1" offset="0x000000" size="0x800000" crc="e564ecd6" sha1="78f22787a204f26bae9b2b1c945ddbc27143352f" />            <!-- Plane 0,1 -->            <!-- TC5364205 -->
62996299            <rom loadflag="load16_byte" name="242-c2.c2" offset="0x000001" size="0x800000" crc="bd959b60" sha1="2c97c59e77c9a3fe7d664e741d37944f3d56c10b" />            <!-- Plane 2,3 -->            <!-- TC5364205 -->
63006300            <rom loadflag="load16_byte" name="242-c3.c3" offset="0x1000000" size="0x800000" crc="22127b4f" sha1="bd0d00f889d9da7c6ac48f287d9ed8c605ae22cf" />            <!-- Plane 0,1 -->            <!-- TC5364205 -->
trunk/hash/mz2000_cass.xml
r17959r17960
4848      </part>
4949   </software>
5050
51<!-- This was was obtained by removing the MTW header from the available jelda.mtw.
51<!-- This was was obtained by removing the MTW header from the available jelda.mtw.
5252     was any info lost? i.e. was the wav inside the mtw the complete content of the MZ tape? -->
5353   <software name="jelda" supported="no">
5454      <description>Jelda</description>
r17959r17960
6161      </part>
6262   </software>
6363
64<!-- This was was obtained by removing the MTW header from the available jelda.mtw.
64<!-- This was was obtained by removing the MTW header from the available jelda.mtw.
6565     was any info lost? i.e. was the wav inside the mtw the complete content of the MZ tape? -->
6666   <software name="jelda2" supported="no">
6767      <description>Jelda 2</description>
trunk/hash/snes.xml
r17959r17960
2473024730<!-- End of verified prototypes -->
2473124731
2473224732
24733<!-- Unconfirmed prototypes
24733<!-- Unconfirmed prototypes
2473424734     ROMs labeled as prototypes without documentation or with doubts on their legitimacy -->
2473524735
2473624736   <software name="arcus">
trunk/src/mame/audio/micro3d.c
r17959r17960
2020 *
2121 *************************************/
2222
23struct biquad
23struct biquad
2424{
2525   double a0, a1, a2;      /* Numerator coefficients */
2626   double b0, b1, b2;      /* Denominator coefficients */
2727};
2828
29struct lp_filter
29struct lp_filter
3030{
3131   float *history;
3232   float *coef;
trunk/src/mame/audio/cage.c
r17959r17960
3434 *************************************/
3535
3636
37struct cage_t
37struct cage_t
3838{
3939   cpu_device *cpu;
4040   attotime cpu_h1_clock_period;
trunk/src/mame/audio/wiping.c
r17959r17960
1919
2020
2121/* this structure defines the parameters for a channel */
22struct sound_channel
22struct sound_channel
2323{
2424   int frequency;
2525   int counter;
trunk/src/mame/audio/gomoku.c
r17959r17960
1919
2020
2121/* this structure defines the parameters for a channel */
22struct sound_channel
22struct sound_channel
2323{
2424   int channel;
2525   int frequency;
trunk/src/mame/audio/taito_en.c
r17959r17960
284284 *************************************/
285285
286286/*
287   68681 I/O pin assignments
288   (according to Gun Buster schematics):
287    68681 I/O pin assignments
288    (according to Gun Buster schematics):
289289
290   IP0: 5V         OP0-OP5: N/C
291   IP1: 5V         OP6: ESPHALT
292   IP2: 1MHz      OP7: N/C
293   IP3: 0.5MHz
294   IP4: 0.5MHz
295   IP5: 1MHz
290    IP0: 5V         OP0-OP5: N/C
291    IP1: 5V         OP6: ESPHALT
292    IP2: 1MHz       OP7: N/C
293    IP3: 0.5MHz
294    IP4: 0.5MHz
295    IP5: 1MHz
296296*/
297297static const duart68681_config taito_en_duart68681_config =
298298{
trunk/src/mame/audio/flower.c
r17959r17960
2020
2121
2222/* this structure defines the parameters for a channel */
23struct sound_channel
23struct sound_channel
2424{
2525   UINT32 start;
2626   UINT32 pos;
trunk/src/mame/audio/snk6502.c
r17959r17960
2929#define FRAC_ONE   (1 << FRAC_BITS)
3030#define FRAC_MASK   (FRAC_ONE - 1)
3131
32struct TONE
32struct TONE
3333{
3434   int   mute;
3535   int   offset;
trunk/src/mame/audio/exidy440.c
r17959r17960
3838
3939
4040/* channel_data structure holds info about each 6844 DMA channel */
41struct m6844_channel_data
41struct m6844_channel_data
4242{
4343   int active;
4444   int address;
r17959r17960
5050
5151
5252/* channel_data structure holds info about each active sound channel */
53struct sound_channel_data
53struct sound_channel_data
5454{
5555   INT16 *base;
5656   int offset;
r17959r17960
5959
6060
6161/* sound_cache_entry structure contains info on each decoded sample */
62struct sound_cache_entry
62struct sound_cache_entry
6363{
6464   struct sound_cache_entry *next;
6565   int address;
r17959r17960
7171
7272
7373
74struct exidy440_audio_state
74struct exidy440_audio_state
7575{
7676   UINT8 sound_command;
7777   UINT8 sound_command_ack;
trunk/src/mame/machine/snes7110.c
r17959r17960
788788
789789static const UINT32 spc7110_months[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
790790
791struct snes_spc7110_t
791struct snes_spc7110_t
792792{
793793   //==================
794794   //decompression unit
trunk/src/mame/machine/kaneko_hit.h
r17959r17960
11/* Kaneko Hit protection */
22
33
4struct calc1_hit_t
4struct calc1_hit_t
55{
66   UINT16 x1p, y1p, x1s, y1s;
77   UINT16 x2p, y2p, x2s, y2s;
r17959r17960
1111   UINT16 mult_a, mult_b;
1212};
1313
14struct calc3_hit_t
14struct calc3_hit_t
1515{
1616   int x1p, y1p, z1p, x1s, y1s, z1s;
1717   int x2p, y2p, z2p, x2s, y2s, z2s;
trunk/src/mame/machine/mega32x.c
r17959r17960
224224     m_lch_pwm(*this, "lch_pwm"),
225225     m_rch_pwm(*this, "rch_pwm")
226226{
227   
227
228228}
229229
230230sega_32x_ntsc_device::sega_32x_ntsc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
231231   : sega_32x_device(mconfig, tag, owner, clock, SEGA_32X_NTSC)
232232{
233   
233
234234}
235235
236236sega_32x_pal_device::sega_32x_pal_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
237237   : sega_32x_device(mconfig, tag, owner, clock, SEGA_32X_PAL)
238238{
239   
239
240240}
241241
242242TIMER_CALLBACK( _32x_pwm_callback );
r17959r17960
15201520
15211521   AM_RANGE(0x00004100, 0x0000410b) AM_READWRITE16(_32x_common_vdp_regs_r, _32x_common_vdp_regs_w , 0xffffffff)
15221522   AM_RANGE(0x00004200, 0x000043ff) AM_READWRITE16(_32x_68k_palette_r, _32x_68k_palette_w, 0xffffffff)
1523   
1523
15241524   AM_RANGE(0x04000000, 0x0401ffff) AM_READWRITE16(_32x_68k_dram_r, _32x_68k_dram_w, 0xffffffff)
15251525   AM_RANGE(0x04020000, 0x0403ffff) AM_READWRITE16(_32x_68k_dram_overwrite_r, _32x_68k_dram_overwrite_w, 0xffffffff)
15261526
r17959r17960
17351735
17361736#if 0
17371737// for now we just use the regular loading because we have 2 different BIOS roms, and you can't use -bios within a device for obvious reasons
1738ROM_START( 32x )   
1738ROM_START( 32x )
17391739   ROM_REGION( 0x400000, "32x_master_sh2", 0 )
17401740   ROM_REGION( 0x400000, "32x_slave_sh2", 0 )
17411741ROM_END
r17959r17960
17781778   MCFG_CPU_PROGRAM_MAP(sh2_main_map)
17791779   MCFG_CPU_CONFIG(sh2_conf_master)
17801780#endif
1781   
1781
17821782   MCFG_DAC_ADD("lch_pwm")
17831783   MCFG_SOUND_ROUTE(ALL_OUTPUTS, ":lspeaker", 0.40)
17841784
r17959r17960
18051805   MCFG_CPU_PROGRAM_MAP(sh2_main_map)
18061806   MCFG_CPU_CONFIG(sh2_conf_master)
18071807#endif
1808   
1808
18091809   MCFG_DAC_ADD("lch_pwm")
18101810   MCFG_SOUND_ROUTE(ALL_OUTPUTS, ":lspeaker", 0.40)
18111811
r17959r17960
19001900   machine().device(":maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa15104, 0xa15105, read16_delegate(FUNC(sega_32x_device::_32x_68k_a15104_r),this), write16_delegate(FUNC(sega_32x_device::_32x_68k_a15104_w),this)); // 68k BANK rom set
19011901   machine().device(":maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa15106, 0xa15107, read16_delegate(FUNC(sega_32x_device::_32x_68k_a15106_r),this), write16_delegate(FUNC(sega_32x_device::_32x_68k_a15106_w),this)); // dreq stuff
19021902   machine().device(":maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa15108, 0xa15113, read16_delegate(FUNC(sega_32x_device::_32x_dreq_common_r),this), write16_delegate(FUNC(sega_32x_device::_32x_dreq_common_w),this)); // dreq src / dst / length /fifo
1903   
1903
19041904   machine().device(":maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa1511a, 0xa1511b, read16_delegate(FUNC(sega_32x_device::_32x_68k_a1511a_r),this), write16_delegate(FUNC(sega_32x_device::_32x_68k_a1511a_w),this)); // SEGA TV
19051905
19061906   machine().device(":maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0xa15120, 0xa1512f, read16_delegate(FUNC(sega_32x_device::_32x_68k_m_commsram_r),this), write16_delegate(FUNC(sega_32x_device::_32x_68k_m_commsram_w),this)); // comms reg 0-7
trunk/src/mame/machine/mega32x.h
r17959r17960
3333
3434   required_device<dac_device> m_lch_pwm;
3535   required_device<dac_device> m_rch_pwm;
36   
36
3737   DECLARE_READ32_MEMBER( _32x_sh2_master_4000_common_4002_r );
3838   DECLARE_READ32_MEMBER( _32x_sh2_slave_4000_common_4002_r );
3939   DECLARE_READ32_MEMBER( _32x_sh2_common_4004_common_4006_r );
r17959r17960
4646   DECLARE_WRITE32_MEMBER( _32x_sh2_slave_4014_slave_4016_w );
4747   DECLARE_WRITE32_MEMBER( _32x_sh2_slave_4018_slave_401a_w );
4848   DECLARE_WRITE32_MEMBER( _32x_sh2_slave_401c_slave_401e_w );
49     
5049
50
5151   DECLARE_READ16_MEMBER( _32x_68k_palette_r );
5252   DECLARE_WRITE16_MEMBER( _32x_68k_palette_w );
5353   DECLARE_READ16_MEMBER( _32x_68k_dram_r );
r17959r17960
9898   DECLARE_WRITE16_MEMBER( _32x_sh2_slave_401c_w );
9999   DECLARE_WRITE16_MEMBER( _32x_sh2_master_401e_w );
100100   DECLARE_WRITE16_MEMBER( _32x_sh2_slave_401e_w );
101   
101
102102   UINT32* _32x_render_videobuffer_to_screenbuffer_helper(running_machine &machine, int scanline);
103103   int sh2_master_pwmint_enable, sh2_slave_pwmint_enable;
104104
r17959r17960
138138   virtual void device_reset();
139139
140140   // optional information overrides
141//   virtual const rom_entry *device_rom_region() const;
141//  virtual const rom_entry *device_rom_region() const;
142142   virtual machine_config_constructor device_mconfig_additions() const;
143143private:
144//   virtual void device_config_complete();
144//  virtual void device_config_complete();
145145   int m_32x_adapter_enabled;
146146   int m_32x_access_auth;
147147   int m_32x_screenshift;
trunk/src/mame/machine/stvcd.c
r17959r17960
4646#define MAX_BLOCKS   (200)
4747#define MAX_DIR_SIZE   (256*1024)
4848
49struct direntryT
49struct direntryT
5050{
5151   UINT8 record_size;
5252   UINT8 xa_record_size;
r17959r17960
6666   UINT8 name[128];
6767};
6868
69struct filterT
69struct filterT
7070{
7171   UINT8 mode;
7272   UINT8 chan;
r17959r17960
8181   UINT32 range;
8282};
8383
84struct blockT
84struct blockT
8585{
8686   INT32 size;   // size of block
8787   INT32 FAD;   // FAD on disc
r17959r17960
9292   UINT8 cinf;   // coding information
9393};
9494
95struct partitionT
95struct partitionT
9696{
9797   INT32 size;
9898   blockT *blocks[MAX_BLOCKS];
r17959r17960
101101};
102102
103103// 16-bit transfer types
104enum transT
104enum transT
105105{
106106   XFERTYPE_INVALID,
107107   XFERTYPE_TOC,
r17959r17960
112112};
113113
114114// 32-bit transfer types
115enum trans32T
115enum trans32T
116116{
117117   XFERTYPE32_INVALID,
118118   XFERTYPE32_GETSECTOR,
trunk/src/mame/machine/pckeybrd.c
r17959r17960
167167
168168#define AT_KEYBOARD_QUEUE_MAXSIZE   256
169169
170struct at_keyboard
170struct at_keyboard
171171{
172172   AT_KEYBOARD_TYPE type;
173173   int on;
r17959r17960
188188
189189static at_keyboard keyboard;
190190
191struct extended_keyboard_code
191struct extended_keyboard_code
192192{
193193   const char *pressed;
194194   const char *released;
trunk/src/mame/machine/decoprot.c
r17959r17960
9494   deco16_mask=0xffff;
9595   decoprot_last_write=decoprot_last_write_val=0;
9696   decoprot_buffer_ram_selected=0;
97   
97
9898   deco16_prot_ram = reinterpret_cast<UINT16 *>(machine.root_device().memshare("prot16ram")->ptr());
9999   deco32_prot_ram = reinterpret_cast<UINT32 *>(machine.root_device().memshare("prot32ram")->ptr());
100100
trunk/src/mame/machine/megacd.c
r17959r17960
1919sega_segacd_device::sega_segacd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock, device_type type)
2020   : device_t(mconfig, type, "sega_segacd_device", tag, owner, clock)
2121{
22   
22
2323}
2424
2525sega_segacd_us_device::sega_segacd_us_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
2626   : sega_segacd_device(mconfig, tag, owner, clock, SEGA_SEGACD_US)
2727{
28   
28
2929}
3030
3131sega_segacd_japan_device::sega_segacd_japan_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
3232   : sega_segacd_device(mconfig, tag, owner, clock, SEGA_SEGACD_JAPAN)
3333{
34   
34
3535}
3636
3737sega_segacd_europe_device::sega_segacd_europe_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
3838   : sega_segacd_device(mconfig, tag, owner, clock, SEGA_SEGACD_EUROPE)
3939{
40   
40
4141}
4242
4343
r17959r17960
23052305void segacd_init_main_cpu( running_machine& machine )
23062306{
23072307   address_space* space = machine.device("maincpu")->memory().space(AS_PROGRAM);
2308   
2308
23092309   segacd_font_bits = reinterpret_cast<UINT16 *>(machine.root_device().memshare(":segacd:segacd_font")->ptr());
23102310   segacd_backupram = reinterpret_cast<UINT16 *>(machine.root_device().memshare(":segacd:backupram")->ptr());
23112311   segacd_dataram = reinterpret_cast<UINT16 *>(machine.root_device().memshare(":segacd:dataram")->ptr());
23122312   segacd_dataram2 = reinterpret_cast<UINT16 *>(machine.root_device().memshare(":segacd:dataram2")->ptr());
23132313   segacd_4meg_prgram = reinterpret_cast<UINT16 *>(machine.root_device().memshare(":segacd:segacd_program")->ptr());
2314   
2314
23152315   segacd_4meg_prgbank = 0;
23162316
23172317
trunk/src/mame/machine/megacd.h
r17959r17960
1313   virtual void device_reset();
1414
1515   // optional information overrides
16//   virtual const rom_entry *device_rom_region() const;
16//  virtual const rom_entry *device_rom_region() const;
1717   virtual machine_config_constructor device_mconfig_additions() const;
1818private:
19//   virtual void device_config_complete();
19//  virtual void device_config_complete();
2020
2121};
2222
r17959r17960
3434   public:
3535      sega_segacd_japan_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
3636   protected:
37//      virtual machine_config_constructor device_mconfig_additions() const;
37//      virtual machine_config_constructor device_mconfig_additions() const;
3838};
3939
4040class sega_segacd_europe_device : public sega_segacd_device
r17959r17960
4242   public:
4343      sega_segacd_europe_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
4444   protected:
45//      virtual machine_config_constructor device_mconfig_additions() const;
45//      virtual machine_config_constructor device_mconfig_additions() const;
4646};
4747
4848
trunk/src/mame/machine/megavdp.c
r17959r17960
26572657               }
26582658            }
26592659         }
2660         
2660
26612661         if (!(dat&0x20000))
26622662            m_render_line_raw[x] = 0x100;
26632663         else
r17959r17960
28192819
28202820      //if (genesis_get_scanline_counter(machine)==0) irq4_on_timer->adjust(attotime::from_usec(2));
28212821
2822   
2822
28232823      if (_32xdev) _32xdev->_32x_scanline_cb1();
28242824
28252825
trunk/src/mame/machine/pxa255.h
r17959r17960
163163      #define PXA255_DCMD_WIDTH_2   (0x00008000)
164164      #define PXA255_DCMD_WIDTH_4   (0x0000c000)
165165
166struct PXA255_DMA_Regs
166struct PXA255_DMA_Regs
167167{
168168   UINT32 dcsr[16];
169169
r17959r17960
230230#define PXA255_SADIV         (PXA255_I2S_BASE_ADDR + 0x00000060)
231231#define PXA255_SADR            (PXA255_I2S_BASE_ADDR + 0x00000080)
232232
233struct PXA255_I2S_Regs
233struct PXA255_I2S_Regs
234234{
235235   UINT32 sacr0;
236236   UINT32 sacr1;
r17959r17960
279279   #define PXA255_OIER_E2      (0x00000004)
280280   #define PXA255_OIER_E3      (0x00000008)
281281
282struct PXA255_OSTMR_Regs
282struct PXA255_OSTMR_Regs
283283{
284284   UINT32 osmr[4];
285285   UINT32 oscr;
r17959r17960
331331#define PXA255_INT_RTC_HZ      (1 << 30)
332332#define PXA255_INT_RTC_ALARM   (1 << 31)
333333
334struct PXA255_INTC_Regs
334struct PXA255_INTC_Regs
335335{
336336   UINT32 icip;
337337   UINT32 icmr;
r17959r17960
378378#define PXA255_GAFR2_L         (PXA255_GPIO_BASE_ADDR + 0x00000064)
379379#define PXA255_GAFR2_U         (PXA255_GPIO_BASE_ADDR + 0x00000068)
380380
381struct PXA255_GPIO_Regs
381struct PXA255_GPIO_Regs
382382{
383383   UINT32 gplr0; // GPIO Pin-Leve
384384   UINT32 gplr1;
r17959r17960
476476#define PXA255_FIDR1         (PXA255_LCD_BASE_ADDR + 0x00000218)
477477#define PXA255_LDCMD1         (PXA255_LCD_BASE_ADDR + 0x0000021c)
478478
479struct PXA255_LCD_DMA_Regs
479struct PXA255_LCD_DMA_Regs
480480{
481481   UINT32 fdadr;
482482   UINT32 fsadr;
r17959r17960
485485   emu_timer *eof;
486486};
487487
488struct PXA255_LCD_Regs
488struct PXA255_LCD_Regs
489489{
490490   UINT32 lccr0;
491491   UINT32 lccr1;
trunk/src/mame/machine/md_cart.c
r17959r17960
10441044/* ST M95320 32Kbit serial EEPROM implementation */
10451045
10461046#define M95320_SIZE 0x1000
1047enum STMSTATE
1047enum STMSTATE
10481048{
10491049   IDLE = 0,
10501050   CMD_WRSR,
trunk/src/mame/machine/kaneko_calc3.c
r17959r17960
7070
7171
7272
73struct calc3_t
73struct calc3_t
7474{
7575
7676   int data_header[2];
trunk/src/mame/machine/kaneko_calc3.h
r17959r17960
33#define CALC3_VERBOSE_OUTPUT 0
44
55
6struct calc3_t
6struct calc3_t
77{
88   int mcu_status;
99   int mcu_command_offset;
trunk/src/mame/machine/snessdd1.c
r17959r17960
178178}
179179
180180
181struct SDD1_PEM_state
181struct SDD1_PEM_state
182182{
183183   UINT8 code_num;
184184   UINT8 nextIfMPS;
r17959r17960
222222   { 7,24,22}
223223};
224224
225struct SDD1_PEM_ContextInfo
225struct SDD1_PEM_ContextInfo
226226{
227227   UINT8 status;
228228   UINT8 MPS;
trunk/src/mame/machine/segaic16.c
r17959r17960
8383
8484//-------------------------------------------------
8585//  open_bus_r - return value from reading an
86//   unmapped address
86//  unmapped address
8787//-------------------------------------------------
8888
8989READ16_MEMBER( sega_16bit_common_base::open_bus_r )
r17959r17960
110110
111111//-------------------------------------------------
112112//  palette_init - precompute weighted RGB values
113//   for each input value 0-31
113//  for each input value 0-31
114114//-------------------------------------------------
115115
116116void sega_16bit_common_base::palette_init()
117117{
118118   //
119   //   Color generation details
119   //  Color generation details
120120   //
121   //   Each color is made up of 5 bits, connected through one or more resistors like so:
121   //  Each color is made up of 5 bits, connected through one or more resistors like so:
122122   //
123   //   Bit 0 = 1 x 3.9K ohm
124   //   Bit 1 = 1 x 2.0K ohm
125   //   Bit 2 = 1 x 1.0K ohm
126   //   Bit 3 = 2 x 1.0K ohm
127   //   Bit 4 = 4 x 1.0K ohm
123   //  Bit 0 = 1 x 3.9K ohm
124   //  Bit 1 = 1 x 2.0K ohm
125   //  Bit 2 = 1 x 1.0K ohm
126   //  Bit 3 = 2 x 1.0K ohm
127   //  Bit 4 = 4 x 1.0K ohm
128128   //
129   //   Another data bit is connected by a tristate buffer to the color output through a
130   //   470 ohm resistor. The buffer allows the resistor to have no effect (tristate),
131   //   halve brightness (pull-down) or double brightness (pull-up). The data bit source
132   //   is bit 15 of each color RAM entry.
129   //  Another data bit is connected by a tristate buffer to the color output through a
130   //  470 ohm resistor. The buffer allows the resistor to have no effect (tristate),
131   //  halve brightness (pull-down) or double brightness (pull-up). The data bit source
132   //  is bit 15 of each color RAM entry.
133133   //
134   
134
135135   // compute weight table for regular palette entries
136136   static const int resistances_normal[6] = { 3900, 2000, 1000, 1000/2, 1000/4, 0   };
137137   double weights_normal[6];
trunk/src/mame/machine/segaic16.h
r17959r17960
9090
9191   // open bus read helpers
9292   DECLARE_READ16_MEMBER( open_bus_r );
93   
93
9494   // palette helpers
9595   DECLARE_WRITE16_MEMBER( paletteram_w );
9696
r17959r17960
102102   // memory pointers
103103   required_shared_ptr<UINT16> m_paletteram;
104104protected:
105   
105
106106   // internal state
107107   bool      m_open_bus_recurse;         // flag to track recursion through open_bus_r
108108   UINT32      m_palette_entries;         // number of palette entries
trunk/src/mame/machine/snescx4.h
r17959r17960
88
99***************************************************************************/
1010
11struct CX4
11struct CX4
1212{
1313       UINT8 ram[0x0c00];
1414       UINT8 reg[0x0100];
trunk/src/mame/machine/qix.c
r17959r17960
1414
1515
1616
17   
18   
17
18
1919/*************************************
2020 *
2121 *  Static function prototypes
r17959r17960
501501 static WRITE8_DEVICE_HANDLER( slither_76489_0_w )
502502{
503503   qix_state *state = device->machine().driver_data<qix_state>();
504   
504
505505   /* write to the sound chip */
506506   state->m_sn1->write(*device->machine().device<legacy_cpu_device>("maincpu")->space(), 0, data);
507507
r17959r17960
515515static WRITE8_DEVICE_HANDLER( slither_76489_1_w )
516516{
517517   qix_state *state = device->machine().driver_data<qix_state>();
518   
518
519519   /* write to the sound chip */
520520   state->m_sn2->write(*device->machine().device<legacy_cpu_device>("maincpu")->space(), 0, data);
521521
trunk/src/mame/machine/steppers.c
r17959r17960
4747
4848/* local vars */
4949
50struct stepper
50struct stepper
5151{
5252   const stepper_interface *intf;
5353   UINT8    pattern,   /* coil pattern */
trunk/src/mame/machine/snes.c
r17959r17960
577577                        break;
578578   }
579579
580//   printf("unsupported read: offset == %08x\n", offset);
580//  printf("unsupported read: offset == %08x\n", offset);
581581
582582   /* Unsupported reads returns open bus */
583583//  printf("%02x %02x\n",offset,snes_open_bus_r(space, 0));
r17959r17960
735735      case MPYM:      /* Multiplication result (mid) */
736736      case MPYH:      /* Multiplication result (high) */
737737      case RDIO:
738//      case RDDIVL:
739//      case RDDIVH:
740//      case RDMPYL:
741//      case RDMPYH:
738//      case RDDIVL:
739//      case RDDIVH:
740//      case RDMPYL:
741//      case RDMPYH:
742742      case JOY1L:
743743      case JOY1H:
744744      case JOY2L:
r17959r17960
16811681   state->m_superfx = machine.device<cpu_device>("superfx");
16821682
16831683   state->m_maincpu->space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(snes_state::snes_direct), state));
1684//   state->m_soundcpu->space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(snes_state::snes_spc_direct), state));
1684//  state->m_soundcpu->space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(snes_state::snes_spc_direct), state));
16851685
16861686   // power-on sets these registers like this
16871687   snes_ram[WRIO] = 0xff;
1688//   snes_ram[WRMPYA] = 0xff;
1689//   snes_ram[WRDIVL] = 0xff;
1690//   snes_ram[WRDIVH] = 0xff;
1688//  snes_ram[WRMPYA] = 0xff;
1689//  snes_ram[WRDIVL] = 0xff;
1690//  snes_ram[WRDIVH] = 0xff;
16911691
16921692   switch (state->m_has_addon_chip)
16931693   {
trunk/src/mame/machine/atarigen.c
r17959r17960
15371537         c1base += gx1->rowbytes();
15381538      }
15391539   }
1540   
1541//   int newdepth = gx0->depth() * gx1->depth();
1540
1541//  int newdepth = gx0->depth() * gx1->depth();
15421542   int granularity = gx0->granularity();
15431543   gx0->set_raw_layout(srcdata, gx0->width(), gx0->height(), gx0->elements(), 8 * gx0->width(), 8 * gx0->width() * gx0->height());
15441544   gx0->set_granularity(granularity);
trunk/src/mame/machine/seicop.c
r17959r17960
14081408status always 0x8007 (doesn't seem to care)
14091409raw | amp | scale | sin       | cos      |
14101410------------------------------------------
1411y     0x00     x    0x00000000 0x00000000 (i.e. if amp is 0 then sin/cos are zero too)
1411y     0x00     x    0x00000000 0x00000000 (i.e. if amp is 0 then sin/cos are zero too)
141214120     0x40     0    0x00000000 0x00020000
141314130     0x40     1    0x00000000 0x00040000
141414140     0x40     2    0x00000000 0x00080000
r17959r17960
20582058      case (0x03c/2): { cop_43c = data; break; }
20592059      case (0x03e/2):
20602060         /*
2061         0 in all 68k based games
2062         0xffff in raiden2 / raidendx
2063         0x2000 in zeroteam / xsedae
2064         it's always setted up just before the 0x474 register
2065         */
2061            0 in all 68k based games
2062            0xffff in raiden2 / raidendx
2063            0x2000 in zeroteam / xsedae
2064            it's always setted up just before the 0x474 register
2065            */
20662066         break;
20672067
20682068      /* brightness control */
r17959r17960
20722072      /* DMA / layer clearing section */
20732073      case (0x074/2):
20742074         /*
2075         This sets up a DMA mode of some sort
2076            0x0e00: grainbow, cupsoc
2077            0x0a00: legionna, godzilla, denjinmk
2078            0x0600: heatbrl
2079            0x1e00: zeroteam, xsedae
2080         raiden2 and raidendx doesn't set this up, this could indicate that this is related to the non-private buffer DMAs
2081         (both only uses 0x14 and 0x15 as DMAs)
2082         */
2075            This sets up a DMA mode of some sort
2076                0x0e00: grainbow, cupsoc
2077                0x0a00: legionna, godzilla, denjinmk
2078                0x0600: heatbrl
2079                0x1e00: zeroteam, xsedae
2080            raiden2 and raidendx doesn't set this up, this could indicate that this is related to the non-private buffer DMAs
2081            (both only uses 0x14 and 0x15 as DMAs)
2082            */
20832083         break;
20842084
20852085      /* used in palette DMAs, for fading effects */
trunk/src/mame/machine/cdi070.h
r17959r17960
2424
2525#include "emu.h"
2626
27struct scc68070_i2c_regs_t
27struct scc68070_i2c_regs_t
2828{
2929   UINT8 reserved0;
3030   UINT8 data_register;
r17959r17960
4747#define ISR_AD0      0x02   // Address Zero
4848#define ISR_LRB      0x01   // Last Received Bit
4949
50struct scc68070_uart_regs_t
50struct scc68070_uart_regs_t
5151{
5252   UINT8 reserved0;
5353   UINT8 mode_register;
r17959r17960
9090#define USR_TXRDY      0x04
9191#define USR_RXRDY      0x01
9292
93struct scc68070_timer_regs_t
93struct scc68070_timer_regs_t
9494{
9595   UINT8 timer_status_register;
9696   UINT8 timer_control_register;
r17959r17960
130130#define TCR_M2_CAPTURE   0x02
131131#define TCR_M2_COUNT   0x03
132132
133struct scc68070_dma_channel_t
133struct scc68070_dma_channel_t
134134{
135135   UINT8 channel_status;
136136   UINT8 channel_error;
r17959r17960
193193#define CCR_INE         0x08
194194#define CCR_IPL         0x07
195195
196struct scc68070_dma_regs_t
196struct scc68070_dma_regs_t
197197{
198198   scc68070_dma_channel_t channel[2];
199199};
200200
201struct scc68070_mmu_desc_t
201struct scc68070_mmu_desc_t
202202{
203203   UINT16 attr;
204204   UINT16 length;
r17959r17960
207207   UINT16 base;
208208};
209209
210struct scc68070_mmu_regs_t
210struct scc68070_mmu_regs_t
211211{
212212   UINT8 status;
213213   UINT8 control;
r17959r17960
217217   scc68070_mmu_desc_t desc[8];
218218};
219219
220struct scc68070_regs_t
220struct scc68070_regs_t
221221{
222222   UINT16 lir;
223223   UINT8 picr1;
trunk/src/mame/includes/midtunit.h
r17959r17960
2121   required_memory_region m_gfxrom;
2222   optional_device<williams_cvsd_sound_device> m_cvsd_sound;
2323   optional_device<williams_adpcm_sound_device> m_adpcm_sound;
24   
24
2525   DECLARE_WRITE16_MEMBER(midtunit_cmos_enable_w);
2626   DECLARE_WRITE16_MEMBER(midtunit_cmos_w);
2727   DECLARE_READ16_MEMBER(midtunit_cmos_r);
trunk/src/mame/includes/suprnova.h
r17959r17960
1struct hit_t
1struct hit_t
22{
33   UINT16 x1p, y1p, z1p, x1s, y1s, z1s;
44   UINT16 x2p, y2p, z2p, x2s, y2s, z2s;
trunk/src/mame/includes/megadriv.h
r17959r17960
117117   DECLARE_DRIVER_INIT(megadriv);
118118   DECLARE_DRIVER_INIT(megadrij);
119119   DECLARE_DRIVER_INIT(mpnew);
120   
120
121121   TILE_GET_INFO_MEMBER( get_stampmap_16x16_1x1_tile_info );
122122   TILE_GET_INFO_MEMBER( get_stampmap_32x32_1x1_tile_info );
123123   TILE_GET_INFO_MEMBER( get_stampmap_16x16_16x16_tile_info );
r17959r17960
449449   segacd_state(const machine_config &mconfig, device_type type, const char *tag)
450450   : _32x_state(mconfig, type, tag),
451451     m_font_bits(*this,"segacd_font") { }
452   
452
453453   required_shared_ptr<UINT16> m_font_bits;
454454};
455455
trunk/src/mame/includes/deco32.h
r17959r17960
130130   DECLARE_DRIVER_INIT(dragngun);
131131   DECLARE_DRIVER_INIT(lockload);
132132   DECLARE_VIDEO_START(dragngun);
133   DECLARE_VIDEO_START(lockload);   
133   DECLARE_VIDEO_START(lockload);
134134};
135135
136136
trunk/src/mame/includes/vertigo.h
r17959r17960
1212
1313#define MC_LENGTH 512
1414
15struct am2901
15struct am2901
1616{
1717   UINT32 ram[16];     /* internal ram */
1818   UINT32 d;        /* direct data D input */
r17959r17960
5050   running_machine *m_machine;
5151};
5252
53struct microcode
53struct microcode
5454{
5555   UINT32 x;
5656   UINT32 a;
r17959r17960
7070   UINT32 ma;
7171};
7272
73struct vproc
73struct vproc
7474{
7575   UINT16 sram[64]; /* external sram */
7676   UINT16 ramlatch; /* latch between 2901 and sram */
trunk/src/mame/includes/armedf.h
r17959r17960
100100   DECLARE_READ16_MEMBER(sharedram_r);
101101   DECLARE_DRIVER_INIT(bigfghtr);
102102   DECLARE_MACHINE_START(bigfghtr);
103   DECLARE_MACHINE_RESET(bigfghtr);   
103   DECLARE_MACHINE_RESET(bigfghtr);
104104};
105105
106106/*----------- defined in video/armedf.c -----------*/
trunk/src/mame/includes/suna8.h
r17959r17960
3939   int m_trombank;
4040   int m_page;
4141
42   TILE_GET_INFO_MEMBER(get_tile_info);   
42   TILE_GET_INFO_MEMBER(get_tile_info);
4343#endif
4444
4545   INT16 *m_samplebuf;
trunk/src/mame/includes/gstriker.h
r17959r17960
55
66#define MAX_VS920A 2
77
8struct sVS920A
8struct sVS920A
99{
1010   tilemap_t* tmap;
1111   UINT16* vram;
r17959r17960
1818
1919#define MAX_MB60553 2
2020
21struct tMB60553
21struct tMB60553
2222{
2323   tilemap_t* tmap;
2424   UINT16* vram;
r17959r17960
3333
3434#define MAX_CG10103 2
3535
36struct tCG10103
36struct tCG10103
3737{
3838   UINT16* vram;
3939   UINT16 pal_base;
trunk/src/mame/includes/segag80r.h
r17959r17960
1616      m_videoram(*this, "videoram"),
1717      m_sn1(*this, "sn1"),
1818      m_sn2(*this, "sn2"){ }
19     
19
2020   required_shared_ptr<UINT8> m_mainram;
2121   required_shared_ptr<UINT8> m_videoram;
22   
22
2323   optional_device<sn76496_new_device> m_sn1;
2424   optional_device<sn76496_new_device> m_sn2;
2525
trunk/src/mame/includes/zodiack.h
r17959r17960
6363   virtual void machine_start();
6464   virtual void machine_reset();
6565public:
66   virtual void video_start();   
66   virtual void video_start();
6767   TILE_GET_INFO_MEMBER(get_bg_tile_info);
6868   TILE_GET_INFO_MEMBER(get_fg_tile_info);
6969   DECLARE_PALETTE_INIT(zodiack);
trunk/src/mame/includes/qix.h
r17959r17960
3838   /* devices */
3939   optional_device<sn76489_new_device> m_sn1;
4040   optional_device<sn76489_new_device> m_sn2;
41   
41
4242   /* machine state */
4343   optional_shared_ptr<UINT8> m_68705_port_out;
4444   optional_shared_ptr<UINT8> m_68705_ddr;
trunk/src/mame/includes/snes.h
r17959r17960
439439   emu_timer             *m_hblank_timer;
440440   emu_timer             *m_nmi_timer;
441441   emu_timer             *m_hirq_timer;
442//   emu_timer             *m_div_timer;
443//   emu_timer             *m_mult_timer;
442//  emu_timer             *m_div_timer;
443//  emu_timer             *m_mult_timer;
444444   emu_timer             *m_io_timer;
445445
446446   /* DMA/HDMA-related */
trunk/src/mame/includes/dec0.h
r17959r17960
9494      COMBINE_DATA(&m_automat_scroll_regs[offset]);
9595   }
9696   UINT16 m_automat_scroll_regs[4];
97   
97
9898   DECLARE_VIDEO_START(automat);
9999};
100100
trunk/src/mame/includes/jaguar.h
r17959r17960
9898   UINT16 m_serial_frequency;
9999   UINT8 m_gpu_irq_state;
100100   emu_timer *m_serial_timer;
101   
101
102102   // blitter variables
103103   UINT32 m_blitter_regs[40];
104104   UINT16 m_gpu_regs[0x100/2];
r17959r17960
114114   static void (jaguar_state::*const bitmap8[8])(UINT16 *, INT32, INT32, UINT32 *, INT32, UINT16 *);
115115   static void (jaguar_state::*const bitmap16[8])(UINT16 *, INT32, INT32, UINT32 *, INT32);
116116   static void (jaguar_state::*const bitmap32[8])(UINT16 *, INT32, INT32, UINT32 *, INT32);
117   
117
118118   DECLARE_WRITE32_MEMBER(eeprom_w);
119119   DECLARE_READ32_MEMBER(eeprom_clk);
120120   DECLARE_READ32_MEMBER(eeprom_cs);
trunk/src/mame/includes/namcos1.h
r17959r17960
11#define NAMCOS1_MAX_BANK 0x400
22
33/* Bank handler definitions */
4struct bankhandler
4struct bankhandler
55{
66   read8_space_func bank_handler_r;
77   write8_space_func bank_handler_w;
trunk/src/mame/includes/galaga.h
r17959r17960
8989   DECLARE_PALETTE_INIT(xevious);
9090   DECLARE_MACHINE_RESET(xevios);
9191   DECLARE_PALETTE_INIT(battles);
92   DECLARE_MACHINE_RESET(battles);     
92   DECLARE_MACHINE_RESET(battles);
9393};
9494
9595
r17959r17960
118118   TILE_GET_INFO_MEMBER(bg_get_tile_info);
119119   TILE_GET_INFO_MEMBER(fg_get_tile_info);
120120   DECLARE_VIDEO_START(bosco);
121   DECLARE_PALETTE_INIT(bosco);   
121   DECLARE_PALETTE_INIT(bosco);
122122};
123123
124124class digdug_state : public galaga_state
r17959r17960
143143   TILE_GET_INFO_MEMBER(bg_get_tile_info);
144144   TILE_GET_INFO_MEMBER(tx_get_tile_info);
145145   DECLARE_VIDEO_START(digdug);
146   DECLARE_PALETTE_INIT(digdug);     
146   DECLARE_PALETTE_INIT(digdug);
147147};
148148
149149
trunk/src/mame/includes/namcos2.h
r17959r17960
101101        m_c355_obj_gfxbank(0),
102102        m_c355_obj_palxor(0)
103103   { }
104   
104
105105   // game type helpers
106106   bool is_system21();
107107   int m_gametype;
r17959r17960
231231   DECLARE_DRIVER_INIT(ordyne);
232232   DECLARE_DRIVER_INIT(marvland);
233233   DECLARE_DRIVER_INIT(rthun2);
234   
234
235235   virtual void video_start();
236236   void video_start_finallap();
237237   void video_start_luckywld();
r17959r17960
245245   UINT32 screen_update_sgunner(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
246246
247247   TILE_GET_INFO_MEMBER( roz_tile_info );
248   
248
249249   DECLARE_READ16_MEMBER( paletteram_word_r );
250250   DECLARE_WRITE16_MEMBER( paletteram_word_w );
251251   DECLARE_WRITE16_MEMBER( rozram_word_w );
trunk/src/mame/includes/spcforce.h
r17959r17960
1717   required_shared_ptr<UINT8> m_videoram;
1818   required_shared_ptr<UINT8> m_colorram;
1919
20   required_device<sn76496_new_device> m_sn1;
20   required_device<sn76496_new_device> m_sn1;
2121    required_device<sn76496_new_device> m_sn2;
2222    required_device<sn76496_new_device> m_sn3;
2323
trunk/src/mame/includes/micro3d.h
r17959r17960
116116   virtual void video_reset();
117117};
118118
119struct micro3d_vtx
119struct micro3d_vtx
120120{
121121   INT32 x, y, z;
122122};
trunk/src/mame/includes/playch10.h
r17959r17960
1struct chr_bank
1struct chr_bank
22{
33   int writable;   // 1 for RAM, 0 for ROM
44   UINT8* chr;      // direct access to the memory
trunk/src/mame/includes/irobot.h
r17959r17960
66
77#define IR_TIMING            1      /* try to emulate MB and VG running time */
88
9struct irmb_ops
9struct irmb_ops
1010{
1111   const struct irmb_ops *nxtop;
1212   UINT32 func;
trunk/src/mame/includes/namcoic.h
r17959r17960
142142   TILE_GET_INFO_MEMBER( get_road_info );
143143
144144   // internal state
145   pen_t          m_transparent_color;
145   pen_t         m_transparent_color;
146146   gfx_element *   m_gfx;
147147   tilemap_t *      m_tilemap;
148148   UINT16         m_ram[0x20000/2]; // at 0x880000 in Final Lap; at 0xa00000 in Lucky&Wild
trunk/src/mame/includes/segahang.h
r17959r17960
8989   DECLARE_DRIVER_INIT(enduror);
9090   DECLARE_DRIVER_INIT(endurobl);
9191   DECLARE_DRIVER_INIT(endurob2);
92   
92
9393   // video updates
9494   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
9595
r17959r17960
120120   required_device<i8255_device> m_i8255_1;
121121   required_device<i8255_device> m_i8255_2;
122122   required_device<sega_16bit_sprite_device> m_sprites;
123   
123
124124   // memory pointers
125125   required_shared_ptr<UINT16> m_workram;
126126
trunk/src/mame/includes/vectrex.h
r17959r17960
1111
1212#define NVECT 10000
1313
14struct vectrex_point
14struct vectrex_point
1515{
1616   int x; int y;
1717   rgb_t col;
trunk/src/mame/includes/gberet.h
r17959r17960
2626   required_shared_ptr<UINT8> m_spriteram;
2727   optional_shared_ptr<UINT8> m_scrollram;
2828   optional_shared_ptr<UINT8> m_soundlatch;
29   
29
3030   /* devices */
3131   required_device<sn76489a_new_device> m_sn;
3232
trunk/src/mame/includes/homerun.h
r17959r17960
3434   int m_gfx_ctrl;
3535   int m_scrollx;
3636   int m_scrolly;
37   
37
3838   DECLARE_WRITE8_MEMBER(homerun_control_w);
3939   DECLARE_WRITE8_MEMBER(homerun_d7756_sample_w);
4040   DECLARE_WRITE8_MEMBER(homerun_videoram_w);
trunk/src/mame/includes/asuka.h
r17959r17960
2929   /* misc */
3030   int         m_adpcm_pos;
3131   int         m_adpcm_data;
32   
32
3333   optional_shared_ptr<UINT8> m_cadash_shared_ram;
3434
3535   /* devices */
trunk/src/mame/video/mcd212.h
r17959r17960
2424
2525#include "emu.h"
2626
27struct mcd212_channel_t
27struct mcd212_channel_t
2828{
2929    UINT8 csrr;
3030    UINT16 csrw;
trunk/src/mame/video/namcona1.c
r17959r17960
277277
278278void namcona1_state::video_start()
279279{
280   static const tilemap_get_info_delegate get_info[4] = {
281      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info0),this),
282      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info1),this),
283      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info2),this),
284      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info3),this)
280   static const tilemap_get_info_delegate get_info[4] = {
281      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info0),this),
282      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info1),this),
283      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info2),this),
284      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info3),this)
285285   };
286286   int i;
287287
trunk/src/mame/video/armedf.c
r17959r17960
121121   m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_bg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
122122   m_fg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_fg_tile_info),this), TILEMAP_SCAN_COLS, 16, 16, 64, 32);
123123
124   m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_nb1414m4_tx_tile_info),this),
124   m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_nb1414m4_tx_tile_info),this),
125125      (m_scroll_type == 2) ? tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type3),this) : tilemap_mapper_delegate(FUNC(armedf_state::armedf_scan_type2),this), 8, 8, 64, 32);
126126
127127   m_bg_tilemap->set_transparent_pen(0xf);
trunk/src/mame/video/vdc.c
r17959r17960
2020
2121/* the VDC context */
2222
23struct VDC
23struct VDC
2424{
2525   int dvssr_write;         /* Set when the DVSSR register has been written to */
2626   int physical_width;         /* Width of the display */
trunk/src/mame/video/system16.c
r17959r17960
665665      {
666666         UINT16 *dest = &bitmap.pix(y);
667667         UINT16 *src = &sprites.pix(y);
668//         UINT8 *pri = &screen.machine().priority_bitmap.pix(y);
668//          UINT8 *pri = &screen.machine().priority_bitmap.pix(y);
669669         for (int x = rect->min_x; x <= rect->max_x; x++)
670670         {
671671            // only process written pixels
r17959r17960
673673            if (pix != 0xffff)
674674            {
675675               // compare sprite priority against tilemap priority
676//               int priority = (pix >> 12) & 3;
676//                  int priority = (pix >> 12) & 3;
677677               if (1)
678678               {
679679                  // if the color is set to maximum, shadow pixels underneath us
r17959r17960
737737      {
738738         UINT16 *dest = &bitmap.pix(y);
739739         UINT16 *src = &sprites.pix(y);
740//         UINT8 *pri = &screen.machine().priority_bitmap.pix(y);
740//          UINT8 *pri = &screen.machine().priority_bitmap.pix(y);
741741         for (int x = rect->min_x; x <= rect->max_x; x++)
742742         {
743743            // only process written pixels
r17959r17960
745745            if (pix != 0xffff)
746746            {
747747               // compare sprite priority against tilemap priority
748//               int priority = (pix >> 12) & 3;
748//                  int priority = (pix >> 12) & 3;
749749               if (1)
750750               {
751751                  // if the color is set to maximum, shadow pixels underneath us
r17959r17960
818818      {
819819         UINT16 *dest = &bitmap.pix(y);
820820         UINT16 *src = &sprites.pix(y);
821//         UINT8 *pri = &screen.machine().priority_bitmap.pix(y);
821//          UINT8 *pri = &screen.machine().priority_bitmap.pix(y);
822822         for (int x = rect->min_x; x <= rect->max_x; x++)
823823         {
824824            // only process written pixels
r17959r17960
826826            if (pix != 0xffff)
827827            {
828828               // compare sprite priority against tilemap priority
829//               int priority = (pix >> 12) & 3;
829//                  int priority = (pix >> 12) & 3;
830830               if (1)
831831               {
832832                  // if the color is set to maximum, shadow pixels underneath us
r17959r17960
883883      {
884884         UINT16 *dest = &bitmap.pix(y);
885885         UINT16 *src = &sprites.pix(y);
886//         UINT8 *pri = &screen.machine().priority_bitmap.pix(y);
886//          UINT8 *pri = &screen.machine().priority_bitmap.pix(y);
887887         for (int x = rect->min_x; x <= rect->max_x; x++)
888888         {
889889            // only process written pixels
r17959r17960
891891            if (pix != 0xffff)
892892            {
893893               // compare sprite priority against tilemap priority
894//               int priority = (pix >> 12) & 3;
894//                  int priority = (pix >> 12) & 3;
895895               if (1)
896896               {
897897                  // if the color is set to maximum, shadow pixels underneath us
trunk/src/mame/video/taitoic.h
r17959r17960
112112private:
113113   // internal state
114114   void *m_token;
115   
115
116116   TILE_GET_INFO_MEMBER(pc080sn_get_bg_tile_info);
117117   TILE_GET_INFO_MEMBER(pc080sn_get_fg_tile_info);
118118};
r17959r17960
154154private:
155155   // internal state
156156   void *m_token;
157   
157
158158   TILE_GET_INFO_MEMBER(tc0080vco_get_bg0_tile_info);
159159   TILE_GET_INFO_MEMBER(tc0080vco_get_bg1_tile_info);
160   TILE_GET_INFO_MEMBER(tc0080vco_get_tx_tile_info);   
160   TILE_GET_INFO_MEMBER(tc0080vco_get_tx_tile_info);
161161};
162162
163163extern const device_type TC0080VCO;
r17959r17960
178178private:
179179   // internal state
180180   void *m_token;
181   
181
182182   TILE_GET_INFO_MEMBER(tc0100scn_get_bg_tile_info);
183183   TILE_GET_INFO_MEMBER(tc0100scn_get_fg_tile_info);
184   TILE_GET_INFO_MEMBER(tc0100scn_get_tx_tile_info);   
184   TILE_GET_INFO_MEMBER(tc0100scn_get_tx_tile_info);
185185};
186186
187187extern const device_type TC0100SCN;
r17959r17960
202202private:
203203   // internal state
204204   void *m_token;
205   
205
206206   TILE_GET_INFO_MEMBER(tc0280grd_get_tile_info);
207207};
208208
r17959r17960
245245private:
246246   // internal state
247247   void *m_token;
248     
248
249249   TILE_GET_INFO_MEMBER(tc0480scp_get_bg0_tile_info);
250250   TILE_GET_INFO_MEMBER(tc0480scp_get_bg1_tile_info);
251251   TILE_GET_INFO_MEMBER(tc0480scp_get_bg2_tile_info);
252252   TILE_GET_INFO_MEMBER(tc0480scp_get_bg3_tile_info);
253   TILE_GET_INFO_MEMBER(tc0480scp_get_tx_tile_info);   
253   TILE_GET_INFO_MEMBER(tc0480scp_get_tx_tile_info);
254254};
255255
256256extern const device_type TC0480SCP;
r17959r17960
310310private:
311311   // internal state
312312   void *m_token;
313   
313
314314   TILE_GET_INFO_MEMBER(get_bg_tile_info);
315315   TILE_GET_INFO_MEMBER(get_fg_tile_info);
316   TILE_GET_INFO_MEMBER(get_tx_tile_info);   
316   TILE_GET_INFO_MEMBER(get_tx_tile_info);
317317};
318318
319319extern const device_type TC0180VCU;
trunk/src/mame/video/galaxian.c
r17959r17960
554554
555555   /* the existence of +1 (sprite vs tile layer) is supported by a LOT of games */
556556   const int hoffset = 1;
557   
557
558558   /* 16 of the 256 pixels of the sprites are hard-clipped at the line buffer */
559559   /* according to the schematics, it should be the first 16 pixels */
560560   clip.min_x = MAX(clip.min_x, (!state->m_flipscreen_x) * (16 + hoffset) * GALAXIAN_XSCALE);
trunk/src/mame/video/model2.c
r17959r17960
104104 *
105105 *******************************************/
106106
107struct plane
107struct plane
108108{
109109   poly_vertex   normal;
110110   float      distance;
111111};
112112
113struct texture_parameter
113struct texture_parameter
114114{
115115   float   diffuse;
116116   float   ambient;
r17959r17960
118118   float   specular_scale;
119119};
120120
121struct triangle
121struct triangle
122122{
123123   void *            next;
124124   poly_vertex         v[3];
r17959r17960
129129   INT16            center[2];
130130};
131131
132struct quad_m2
132struct quad_m2
133133{
134134   poly_vertex         v[4];
135135   UINT16            z;
trunk/src/mame/video/dc.c
r17959r17960
150150   float x, y, w, u, v;
151151} vert;
152152
153struct strip
153struct strip
154154{
155155   int svert, evert;
156156   texinfo ti;
trunk/src/mame/video/midzeus2.c
r17959r17960
7777static float zbase;
7878
7979#if TRACK_REG_USAGE
80struct reg_info
80struct reg_info
8181{
8282   struct reg_info *next;
8383   UINT32 value;
trunk/src/mame/video/namcos21.c
r17959r17960
233233
234234/*********************************************************************************************/
235235
236struct vertex
236struct vertex
237237{
238238   double x,y;
239239   double z;
240240};
241241
242struct edge
242struct edge
243243{
244244   double x;
245245   double z;
trunk/src/mame/video/model3.c
r17959r17960
1212
1313
1414
15struct TRIANGLE
15struct TRIANGLE
1616{
1717   poly_vertex v[3];
1818   UINT8 texture_x, texture_y;
trunk/src/mame/video/namcos22.c
r17959r17960
317317   mClip.scissor.set(0, 639, 0, 479);
318318}
319319
320struct Poly3dVertex
320struct Poly3dVertex
321321{
322322   float x,y,z;
323323   int u,v; /* 0..0xfff */
r17959r17960
953953   int power;   /* 0.0..1.0 */
954954} mCamera;
955955
956enum SceneNodeType
956enum SceneNodeType
957957{
958958   eSCENENODE_NONLEAF,
959959   eSCENENODE_QUAD3D,
trunk/src/mame/video/jaguar.c
r17959r17960
151151#define LOG_UNHANDLED_BLITS   0
152152
153153
154// FIXME: this should be 1, but then MAME performance will be s*** with this
154// FIXME: this should be 1, but then MAME performance will be s*** with this
155155//    (i.e. it drops the performance from 400% to 6% on an i5 machine).
156// But the PIT irq is definitely needed by some games (for example Pitfall refuses
156// But the PIT irq is definitely needed by some games (for example Pitfall refuses
157157//    to enter into gameplay without this enabled).
158158const int PIT_MULT_DBG_HACK = 64;
159159
r17959r17960
715715      case TID_SCANLINE:
716716         scanline_update(param);
717717         break;
718     
718
719719      case TID_BLITTER_DONE:
720720         m_blitter_status = 1;
721721         break;
722     
722
723723      case TID_PIT:
724724         m_cpu_irq_state |= 4;
725725         update_cpu_irq();
r17959r17960
729729            timer_set(sample_period, TID_PIT);
730730         }
731731         break;
732     
732
733733      case TID_SERIAL:
734734         serial_update();
735735         break;
736     
736
737737      case TID_GPU_SYNC:
738738         // if a command is still pending, and we haven't maxed out our timer, set a new one
739739         if (m_gpu_command_pending && param < 1000)
trunk/src/mame/video/deco16ic.h
r17959r17960
4141   ~deco16ic_device() { global_free(m_token); }
4242
4343   // access to legacy token
44   void *token() const { assert(m_token != NULL); return m_token; }   
44   void *token() const { assert(m_token != NULL); return m_token; }
4545protected:
4646   // device-level overrides
4747   virtual void device_config_complete();
r17959r17960
5555   TILE_GET_INFO_MEMBER(get_pf2_tile_info);
5656   TILE_GET_INFO_MEMBER(get_pf1_tile_info);
5757   TILE_GET_INFO_MEMBER(get_pf2_tile_info_b);
58   TILE_GET_INFO_MEMBER(get_pf1_tile_info_b);   
58   TILE_GET_INFO_MEMBER(get_pf1_tile_info_b);
5959};
6060
6161extern const device_type DECO16IC;
trunk/src/mame/video/madalien.c
r17959r17960
123123
124124   static const tilemap_mapper_delegate scan_functions[4] =
125125   {
126      tilemap_mapper_delegate(FUNC(madalien_state::scan_mode0),this),
127      tilemap_mapper_delegate(FUNC(madalien_state::scan_mode1),this),
126      tilemap_mapper_delegate(FUNC(madalien_state::scan_mode0),this),
127      tilemap_mapper_delegate(FUNC(madalien_state::scan_mode1),this),
128128      tilemap_mapper_delegate(FUNC(madalien_state::scan_mode2),this),
129129      tilemap_mapper_delegate(FUNC(madalien_state::scan_mode3),this)
130130   };
trunk/src/mame/video/legionna.c
r17959r17960
22
33    Legionnaire / Heated Barrel video hardware (derived from D-Con)
44
5   priority test (preliminary):
6   - OBJ 0
7   - TXT
8   - OBJ 1
9   - BK3
10   - OBJ 2
11   - MBK
12   - OBJ 3
13   - LBK
5    priority test (preliminary):
6    - OBJ 0
7    - TXT
8    - OBJ 1
9    - BK3
10    - OBJ 2
11    - MBK
12    - OBJ 3
13    - LBK
1414
1515***************************************************************************/
1616
r17959r17960
175175   m_has_extended_banking = 1;
176176   m_has_extended_priority = 0;
177177
178//   m_background_layer->set_transparent_pen(15);
178//  m_background_layer->set_transparent_pen(15);
179179   m_midground_layer->set_transparent_pen(15);
180180   m_foreground_layer->set_transparent_pen(15);
181181   m_text_layer->set_transparent_pen(7);//?
trunk/src/mame/video/bfm_dm01.c
r17959r17960
5252
5353#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
5454
55struct bfmdm01
55struct bfmdm01
5656{
5757   const bfmdm01_interface *intf;
5858   int       data_avail,
trunk/src/mame/video/sega16sp.c
r17959r17960
137137void sega_hangon_sprite_device::draw(bitmap_ind16 &bitmap, const rectangle &cliprect)
138138{
139139   //
140   //   Hang On-style sprites
140   //  Hang On-style sprites
141141   //
142   //       Offs  Bits               Usage
143   //        +0   bbbbbbbb --------  Bottom scanline of sprite - 1
144   //        +0   -------- tttttttt  Top scanline of sprite - 1
145   //        +2   bbbb---- --------  Sprite bank
146   //        +2   -------x xxxxxxxx  X position of sprite (position $BD is screen position 0)
147   //        +4   pppppppp pppppppp  Signed 16-bit pitch value between scanlines
148   //        +6   -ooooooo oooooooo  Offset within selected sprite bank
149   //        +6   f------- --------  Horizontal flip: read the data backwards if set
150   //        +8   --cccccc --------  Sprite color palette
151   //        +8   -------- zzzzzz--  Zoom factor
152   //        +8   -------- ------pp  Sprite priority
153   //        +E   dddddddd dddddddd  Scratch space for current address
142   //      Offs  Bits               Usage
143   //       +0   bbbbbbbb --------  Bottom scanline of sprite - 1
144   //       +0   -------- tttttttt  Top scanline of sprite - 1
145   //       +2   bbbb---- --------  Sprite bank
146   //       +2   -------x xxxxxxxx  X position of sprite (position $BD is screen position 0)
147   //       +4   pppppppp pppppppp  Signed 16-bit pitch value between scanlines
148   //       +6   -ooooooo oooooooo  Offset within selected sprite bank
149   //       +6   f------- --------  Horizontal flip: read the data backwards if set
150   //       +8   --cccccc --------  Sprite color palette
151   //       +8   -------- zzzzzz--  Zoom factor
152   //       +8   -------- ------pp  Sprite priority
153   //       +E   dddddddd dddddddd  Scratch space for current address
154154   //
155   //    Final bitmap format:
155   // Final bitmap format:
156156   //
157   //             ----pp-- --------  Sprite priority
158   //             ------cc cccc----  Sprite color palette
159   //             -------- ----llll  4-bit pixel data
157   //            ----pp-- --------  Sprite priority
158   //            ------cc cccc----  Sprite color palette
159   //            -------- ----llll  4-bit pixel data
160160   //
161   //   Special notes:
161   //  Special notes:
162162   //
163   //       There is an interaction between the horizonal flip bit and the offset.
164   //       The offset is maintained as a 16-bit value, even though only the lower
165   //       15 bits are used for the address. The top bit is used to control flipping.
166   //       This means that if the low 15 bits overflow during rendering, the sprite
167   //       data will be read backwards after the overflow. This is important to
168   //       emulate correctly as many games make use of this feature to render sprites
169   //       at the beginning of a bank.
163   //      There is an interaction between the horizonal flip bit and the offset.
164   //      The offset is maintained as a 16-bit value, even though only the lower
165   //      15 bits are used for the address. The top bit is used to control flipping.
166   //      This means that if the low 15 bits overflow during rendering, the sprite
167   //      data will be read backwards after the overflow. This is important to
168   //      emulate correctly as many games make use of this feature to render sprites
169   //      at the beginning of a bank.
170170   //
171171
172172   // render the sprites in order
r17959r17960
275275                     break;
276276               }
277277            }
278           
278
279279            // update bounds
280280            if (x > maxx) maxx = x;
281281            if (miny == -1) miny = y;
282282            maxy = y;
283283         }
284284      }
285     
285
286286      // mark dirty
287287      if (miny != -1)
288288         mark_dirty(minx, maxx, miny, maxy);
r17959r17960
313313void sega_sharrier_sprite_device::draw(bitmap_ind16 &bitmap, const rectangle &cliprect)
314314{
315315   //
316   //   Space Harrier-style sprites
316   //  Space Harrier-style sprites
317317   //
318   //      Offs  Bits               Usage
319   //       +0   bbbbbbbb --------  Bottom scanline of sprite - 1
320   //       +0   -------- tttttttt  Top scanline of sprite - 1
321   //       +2   bbbb---- --------  Sprite bank
322   //       +2   -------x xxxxxxxx  X position of sprite (position $BD is screen position 0)
323   //       +4   s------- --------  Sprite shadow disable (0=enable, 1=disable)
324   //       +4   -p------ --------  Sprite priority
325   //       +4   --cccccc --------  Sprite color palette
326   //       +4   -------- -ppppppp  Signed 7-bit pitch value between scanlines
327   //       +6   f------- --------  Horizontal flip: read the data backwards if set
328   //       +6   -ooooooo oooooooo  Offset within selected sprite bank
329   //       +8   --zzzzzz --------  Horizontal zoom factor
330   //       +8   -------- --zzzzzz  Vertical zoom factor
331   //       +E   dddddddd dddddddd  Scratch space for current address
318   //      Offs  Bits               Usage
319   //       +0   bbbbbbbb --------  Bottom scanline of sprite - 1
320   //       +0   -------- tttttttt  Top scanline of sprite - 1
321   //       +2   bbbb---- --------  Sprite bank
322   //       +2   -------x xxxxxxxx  X position of sprite (position $BD is screen position 0)
323   //       +4   s------- --------  Sprite shadow disable (0=enable, 1=disable)
324   //       +4   -p------ --------  Sprite priority
325   //       +4   --cccccc --------  Sprite color palette
326   //       +4   -------- -ppppppp  Signed 7-bit pitch value between scanlines
327   //       +6   f------- --------  Horizontal flip: read the data backwards if set
328   //       +6   -ooooooo oooooooo  Offset within selected sprite bank
329   //       +8   --zzzzzz --------  Horizontal zoom factor
330   //       +8   -------- --zzzzzz  Vertical zoom factor
331   //       +E   dddddddd dddddddd  Scratch space for current address
332332   //
333   //    Final bitmap format:
333   // Final bitmap format:
334334   //
335   //             ----s--- --------  Sprite shadow disable
336   //             -----p-- --------  Sprite priority
337   //             ------cc cccc----  Sprite color palette
338   //             -------- ----llll  4-bit pixel data
335   //            ----s--- --------  Sprite shadow disable
336   //            -----p-- --------  Sprite priority
337   //            ------cc cccc----  Sprite color palette
338   //            -------- ----llll  4-bit pixel data
339339   //
340   //   Special notes:
340   //  Special notes:
341341   //
342   //      There is an interaction between the horizonal flip bit and the offset.
343   //      The offset is maintained as a 16-bit value, even though only the lower
344   //      15 bits are used for the address. The top bit is used to control flipping.
345   //      This means that if the low 15 bits overflow during rendering, the sprite
346   //      data will be read backwards after the overflow. This is important to
347   //      emulate correctly as many games make use of this feature to render sprites
348   //      at the beginning of a bank.
342   //      There is an interaction between the horizonal flip bit and the offset.
343   //      The offset is maintained as a 16-bit value, even though only the lower
344   //      15 bits are used for the address. The top bit is used to control flipping.
345   //      This means that if the low 15 bits overflow during rendering, the sprite
346   //      data will be read backwards after the overflow. This is important to
347   //      emulate correctly as many games make use of this feature to render sprites
348   //      at the beginning of a bank.
349349   //
350   
350
351351   // render the sprites in order
352352   const UINT32 *spritebase = reinterpret_cast<const UINT32 *>(region()->base());
353353   UINT8 numbanks = region()->bytes() / 0x20000;
r17959r17960
462462                     break;
463463               }
464464            }
465           
465
466466            // update bounds
467467            if (x > maxx) maxx = x;
468468            if (miny == -1) miny = y;
469469            maxy = y;
470470         }
471471      }
472     
472
473473      // mark dirty
474474      if (miny != -1)
475475         mark_dirty(minx, maxx, miny, maxy);
r17959r17960
500500void sega_sys16a_sprite_device::draw(bitmap_ind16 &bitmap, const rectangle &cliprect)
501501{
502502   //
503   //   System 16A-style sprites
503   //  System 16A-style sprites
504504   //
505   //      Offs  Bits               Usage
506   //       +0   bbbbbbbb --------  Bottom scanline of sprite - 1
507   //       +0   -------- tttttttt  Top scanline of sprite - 1
508   //       +2   -------x xxxxxxxx  X position of sprite (position $BD is screen position 0)
509   //       +4   pppppppp pppppppp  Signed 16-bit pitch value between scanlines
510   //       +6   -ooooooo oooooooo  Offset within selected sprite bank
511   //       +6   f------- --------  Horizontal flip: read the data backwards if set
512   //       +8   --cccccc --------  Sprite color palette
513   //       +8   -------- -bbb----  Sprite bank
514   //       +8   -------- ------pp  Sprite priority
515   //       +E   dddddddd dddddddd  Scratch space for current address
505   //      Offs  Bits               Usage
506   //       +0   bbbbbbbb --------  Bottom scanline of sprite - 1
507   //       +0   -------- tttttttt  Top scanline of sprite - 1
508   //       +2   -------x xxxxxxxx  X position of sprite (position $BD is screen position 0)
509   //       +4   pppppppp pppppppp  Signed 16-bit pitch value between scanlines
510   //       +6   -ooooooo oooooooo  Offset within selected sprite bank
511   //       +6   f------- --------  Horizontal flip: read the data backwards if set
512   //       +8   --cccccc --------  Sprite color palette
513   //       +8   -------- -bbb----  Sprite bank
514   //       +8   -------- ------pp  Sprite priority
515   //       +E   dddddddd dddddddd  Scratch space for current address
516516   //
517   //    Final bitmap format:
517   // Final bitmap format:
518518   //
519   //             ----pp-- --------  Sprite priority
520   //             ------cc cccc----  Sprite color palette
521   //             -------- ----llll  4-bit pixel data
519   //            ----pp-- --------  Sprite priority
520   //            ------cc cccc----  Sprite color palette
521   //            -------- ----llll  4-bit pixel data
522522   //
523   //   Special notes:
523   //  Special notes:
524524   //
525   //      There is an interaction between the horizonal flip bit and the offset.
526   //      The offset is maintained as a 16-bit value, even though only the lower
527   //      15 bits are used for the address. The top bit is used to control flipping.
528   //      This means that if the low 15 bits overflow during rendering, the sprite
529   //      data will be read backwards after the overflow. This is important to
530   //      emulate correctly as many games make use of this feature to render sprites
531   //      at the beginning of a bank.
525   //      There is an interaction between the horizonal flip bit and the offset.
526   //      The offset is maintained as a 16-bit value, even though only the lower
527   //      15 bits are used for the address. The top bit is used to control flipping.
528   //      This means that if the low 15 bits overflow during rendering, the sprite
529   //      data will be read backwards after the overflow. This is important to
530   //      emulate correctly as many games make use of this feature to render sprites
531   //      at the beginning of a bank.
532532   //
533533
534534   // render the sprites in order
r17959r17960
636636                     break;
637637               }
638638            }
639           
639
640640            // update bounds
641641            if (x > maxx) maxx = x;
642642            if (x < minx) minx = x;
r17959r17960
644644            maxy = y;
645645         }
646646      }
647     
647
648648      // mark dirty
649649      if (miny != -1)
650650         mark_dirty(minx, maxx, miny, maxy);
r17959r17960
677677
678678//-------------------------------------------------
679679//  static_set_remap -- configure sprite address
680//   remapping
680//  remapping
681681//-------------------------------------------------
682682
683683void bootleg_sys16a_sprite_device::static_set_remap(device_t &device, UINT8 offs0, UINT8 offs1, UINT8 offs2, UINT8 offs3, UINT8 offs4, UINT8 offs5, UINT8 offs6, UINT8 offs7)
r17959r17960
701701void bootleg_sys16a_sprite_device::draw(bitmap_ind16 &bitmap, const rectangle &cliprect)
702702{
703703   //
704   //   Bootleg System 16A-style sprites
704   //  Bootleg System 16A-style sprites
705705   //
706   //   These are identical to regular System 16A sprites (see above), with two exceptions:
706   //  These are identical to regular System 16A sprites (see above), with two exceptions:
707707   //
708   //      1. Addresses within each sprite entry are generally shuffled relative
709   //         to the original, and
708   //      1. Addresses within each sprite entry are generally shuffled relative
709   //          to the original, and
710710   //
711   //      2. The pitch increment happens at the end, not at the beginning of
712   //         the loop.
711   //      2. The pitch increment happens at the end, not at the beginning of
712   //          the loop.
713713   //
714714
715715   // render the sprites in order
r17959r17960
815815                     break;
816816               }
817817            }
818           
818
819819            // update bounds
820820            if (x > maxx) maxx = x;
821821            if (x < minx) minx = x;
r17959r17960
826826         // advance a row - must be done at the end on the bootlegs!
827827         addr += pitch;
828828      }
829     
829
830830      // mark dirty
831831      if (miny != -1)
832832         mark_dirty(minx, maxx, miny, maxy);
r17959r17960
848848{
849849   set_origin(184, 0x00);
850850}
851   
852851
852
853853//-------------------------------------------------
854854//  draw -- render the sprites within the cliprect
855855//-------------------------------------------------
r17959r17960
857857void sega_sys16b_sprite_device::draw(bitmap_ind16 &bitmap, const rectangle &cliprect)
858858{
859859   //
860   //   System 16B-style sprites
860   //  System 16B-style sprites
861861   //
862   //      Offs  Bits               Usage
863   //       +0   bbbbbbbb --------  Bottom scanline of sprite - 1
864   //       +0   -------- tttttttt  Top scanline of sprite - 1
865   //       +2   -------x xxxxxxxx  X position of sprite (position $BD is screen position 0)
866   //       +2   ---iiii- --------  Sprite/sprite priority for Y-board
867   //       +4   e------- --------  Signify end of sprite list
868   //       +4   -h------ --------  Hide this sprite
869   //       +4   -------f --------  Horizontal flip: read the data backwards if set
870   //       +4   -------- pppppppp  Signed 8-bit pitch value between scanlines
871   //       +6   oooooooo oooooooo  Offset within selected sprite bank
872   //       +8   ----bbbb --------  Sprite bank
873   //       +8   -------- pp------  Sprite priority, relative to tilemaps
874   //       +8   -------- --cccccc  Sprite color palette
875   //       +A   ------vv vvv-----  Vertical zoom factor (0 = full size, 0x10 = half size)
876   //       +A   -------- ---hhhhh  Horizontal zoom factor (0 = full size, 0x10 = half size)
877   //       +E   dddddddd dddddddd  Scratch space for current address
862   //      Offs  Bits               Usage
863   //       +0   bbbbbbbb --------  Bottom scanline of sprite - 1
864   //       +0   -------- tttttttt  Top scanline of sprite - 1
865   //       +2   -------x xxxxxxxx  X position of sprite (position $BD is screen position 0)
866   //       +2   ---iiii- --------  Sprite/sprite priority for Y-board
867   //       +4   e------- --------  Signify end of sprite list
868   //       +4   -h------ --------  Hide this sprite
869   //       +4   -------f --------  Horizontal flip: read the data backwards if set
870   //       +4   -------- pppppppp  Signed 8-bit pitch value between scanlines
871   //       +6   oooooooo oooooooo  Offset within selected sprite bank
872   //       +8   ----bbbb --------  Sprite bank
873   //       +8   -------- pp------  Sprite priority, relative to tilemaps
874   //       +8   -------- --cccccc  Sprite color palette
875   //       +A   ------vv vvv-----  Vertical zoom factor (0 = full size, 0x10 = half size)
876   //       +A   -------- ---hhhhh  Horizontal zoom factor (0 = full size, 0x10 = half size)
877   //       +E   dddddddd dddddddd  Scratch space for current address
878878   //
879   //    Final bitmap format:
879   // Final bitmap format:
880880   //
881   //             iiii---- --------  Sprite/sprite priority for Y-board
882   //             ----pp-- --------  Sprite priority
883   //             ------cc cccc----  Sprite color palette
884   //             -------- ----llll  4-bit pixel data
881   //            iiii---- --------  Sprite/sprite priority for Y-board
882   //            ----pp-- --------  Sprite priority
883   //            ------cc cccc----  Sprite color palette
884   //            -------- ----llll  4-bit pixel data
885885   //
886   //   Note that the zooming described below is 100% accurate to the real board.
886   //  Note that the zooming described below is 100% accurate to the real board.
887887   //
888888
889889   // render the sprites in order
r17959r17960
10081008                     break;
10091009               }
10101010            }
1011           
1011
10121012            // update bounds
10131013            if (x > maxx) maxx = x;
10141014            if (x < minx) minx = x;
r17959r17960
10161016            maxy = y;
10171017         }
10181018      }
1019     
1019
10201020      // mark dirty
10211021      if (miny != -1)
10221022         mark_dirty(minx, maxx, miny, maxy);
r17959r17960
10651065void sega_outrun_sprite_device::draw(bitmap_ind16 &bitmap, const rectangle &cliprect)
10661066{
10671067   //
1068   //   Out Run/X-Board-style sprites
1068   //  Out Run/X-Board-style sprites
10691069   //
1070   //      Offs  Bits               Usage
1071   //       +0   e------- --------  Signify end of sprite list
1072   //       +0   -h-h---- --------  Hide this sprite if either bit is set
1073   //       +0   ----bbb- --------  Sprite bank
1074   //       +0   -------t tttttttt  Top scanline of sprite + 256
1075   //       +2   oooooooo oooooooo  Offset within selected sprite bank
1076   //       +4   ppppppp- --------  Signed 7-bit pitch value between scanlines
1077   //       +4   -------x xxxxxxxx  X position of sprite (position $BE is screen position 0)
1078   //       +6   -s------ --------  Enable shadows
1079   //       +6   --pp---- --------  Sprite priority, relative to tilemaps
1080   //       +6   ------vv vvvvvvvv  Vertical zoom factor (0x200 = full size, 0x100 = half size, 0x300 = 2x size)
1081   //       +8   y------- --------  Render from top-to-bottom (1) or bottom-to-top (0) on screen
1082   //       +8   -f------ --------  Horizontal flip: read the data backwards if set
1083   //       +8   --x----- --------  Render from left-to-right (1) or right-to-left (0) on screen
1084   //       +8   ------hh hhhhhhhh  Horizontal zoom factor (0x200 = full size, 0x100 = half size, 0x300 = 2x size)
1085   //       +E   dddddddd dddddddd  Scratch space for current address
1070   //      Offs  Bits               Usage
1071   //       +0   e------- --------  Signify end of sprite list
1072   //       +0   -h-h---- --------  Hide this sprite if either bit is set
1073   //       +0   ----bbb- --------  Sprite bank
1074   //       +0   -------t tttttttt  Top scanline of sprite + 256
1075   //       +2   oooooooo oooooooo  Offset within selected sprite bank
1076   //       +4   ppppppp- --------  Signed 7-bit pitch value between scanlines
1077   //       +4   -------x xxxxxxxx  X position of sprite (position $BE is screen position 0)
1078   //       +6   -s------ --------  Enable shadows
1079   //       +6   --pp---- --------  Sprite priority, relative to tilemaps
1080   //       +6   ------vv vvvvvvvv  Vertical zoom factor (0x200 = full size, 0x100 = half size, 0x300 = 2x size)
1081   //       +8   y------- --------  Render from top-to-bottom (1) or bottom-to-top (0) on screen
1082   //       +8   -f------ --------  Horizontal flip: read the data backwards if set
1083   //       +8   --x----- --------  Render from left-to-right (1) or right-to-left (0) on screen
1084   //       +8   ------hh hhhhhhhh  Horizontal zoom factor (0x200 = full size, 0x100 = half size, 0x300 = 2x size)
1085   //       +E   dddddddd dddddddd  Scratch space for current address
10861086   //
1087   //   Out Run only:
1088   //       +A   hhhhhhhh --------  Height in scanlines - 1
1089   //       +A   -------- -ccccccc  Sprite color palette
1087   //  Out Run only:
1088   //       +A   hhhhhhhh --------  Height in scanlines - 1
1089   //       +A   -------- -ccccccc  Sprite color palette
10901090   //
10911091   //  X-Board only:
1092   //       +A   ----hhhh hhhhhhhh  Height in scanlines - 1
1093   //       +C   -------- cccccccc  Sprite color palette
1092   //       +A   ----hhhh hhhhhhhh  Height in scanlines - 1
1093   //       +C   -------- cccccccc  Sprite color palette
10941094   //
1095   //    Final bitmap format:
1095   // Final bitmap format:
10961096   //
1097   //             -s------ --------  Shadow control
1098   //             --pp---- --------  Sprite priority
1099   //             ----cccc cccc----  Sprite color palette
1100   //             -------- ----llll  4-bit pixel data
1097   //            -s------ --------  Shadow control
1098   //            --pp---- --------  Sprite priority
1099   //            ----cccc cccc----  Sprite color palette
1100   //            -------- ----llll  4-bit pixel data
11011101   //
11021102
11031103   // render the sprites in order
r17959r17960
12141214                     break;
12151215               }
12161216            }
1217           
1217
12181218            // update bounds
12191219            if (x > maxx) maxx = x;
12201220            if (x < minx) minx = x;
r17959r17960
12271227         addr += pitch * (yacc >> 9);
12281228         yacc &= 0x1ff;
12291229      }
1230     
1230
12311231      // mark dirty
12321232      if (miny != -1)
12331233         mark_dirty(minx, maxx, miny, maxy);
r17959r17960
12581258void sega_yboard_sprite_device::draw(bitmap_ind16 &bitmap, const rectangle &cliprect)
12591259{
12601260   //
1261   //   Y-Board-style sprites
1261   //  Y-Board-style sprites
12621262   //
1263   //      Offs  Bits               Usage
1264   //       +0   e------- --------  Signify end of sprite list
1265   //       +0   -----iii iiiiiiii  Address of indirection table (/16)
1266   //       +2   bbbb---- --------  Upper 4 bits of bank index
1267   //       +2   ----xxxx xxxxxxxx  X position of sprite (position $600 is screen position 0)
1268   //       +4   bbbb---- --------  Lower 4 bits of bank index
1269   //       +4   ----yyyy yyyyyyyy  Y position of sprite (position $600 is screen position 0)
1270   //       +6   oooooooo oooooooo  Offset within selected sprite bank
1271   //       +8   hhhhhhhh hhhhhhhh  Height of sprite
1272   //       +A   -y------ --------  Render from top-to-bottom (1) or bottom-to-top (0) on screen
1273   //       +A   --f----- --------  Horizontal flip: read the data backwards if set
1274   //       +A   ---x---- --------  Render from left-to-right (1) or right-to-left (0) on screen
1275   //       +A   -----zzz zzzzzzzz  Zoom factor
1276   //       +C   -ccc---- --------  Sprite color
1277   //       +C   ----rrrr --------  Sprite priority
1278   //       +C   -------- pppppppp  Signed 8-bit pitch value between scanlines
1279   //       +E   ----nnnn nnnnnnnn  Index of next sprite
1263   //      Offs  Bits               Usage
1264   //       +0   e------- --------  Signify end of sprite list
1265   //       +0   -----iii iiiiiiii  Address of indirection table (/16)
1266   //       +2   bbbb---- --------  Upper 4 bits of bank index
1267   //       +2   ----xxxx xxxxxxxx  X position of sprite (position $600 is screen position 0)
1268   //       +4   bbbb---- --------  Lower 4 bits of bank index
1269   //       +4   ----yyyy yyyyyyyy  Y position of sprite (position $600 is screen position 0)
1270   //       +6   oooooooo oooooooo  Offset within selected sprite bank
1271   //       +8   hhhhhhhh hhhhhhhh  Height of sprite
1272   //       +A   -y------ --------  Render from top-to-bottom (1) or bottom-to-top (0) on screen
1273   //       +A   --f----- --------  Horizontal flip: read the data backwards if set
1274   //       +A   ---x---- --------  Render from left-to-right (1) or right-to-left (0) on screen
1275   //       +A   -----zzz zzzzzzzz  Zoom factor
1276   //       +C   -ccc---- --------  Sprite color
1277   //       +C   ----rrrr --------  Sprite priority
1278   //       +C   -------- pppppppp  Signed 8-bit pitch value between scanlines
1279   //       +E   ----nnnn nnnnnnnn  Index of next sprite
12801280   //
1281   //    Final bitmap format:
1281   // Final bitmap format:
12821282   //
1283   //             ccc----- --------  Sprite color
1284   //             ---rrrr- --------  Sprite priority
1285   //             -------i iiiiiiii  Indirected color data
1283   //            ccc----- --------  Sprite color
1284   //            ---rrrr- --------  Sprite priority
1285   //            -------i iiiiiiii  Indirected color data
12861286   //
1287   //   In addition to these parameters, the sprite area is clipped using scanline extents
1288   //   stored for every pair of scanlines in the rotation RAM. It's a bit of a cheat for us
1289   //   to poke our nose into the rotation structure, but there are no known cases of Y-board
1290   //   sprites without rotation RAM.
1287   //  In addition to these parameters, the sprite area is clipped using scanline extents
1288   //  stored for every pair of scanlines in the rotation RAM. It's a bit of a cheat for us
1289   //  to poke our nose into the rotation structure, but there are no known cases of Y-board
1290   //  sprites without rotation RAM.
12911291   //
12921292
12931293   // clear out any scanlines we might be using
r17959r17960
14391439                        break;
14401440                  }
14411441               }
1442           
1442
14431443               // update bounds
14441444               if (x > dmaxx) dmaxx = x;
14451445               if (x < dminx) dminx = x;
r17959r17960
14531453         addr += pitch * (yacc >> 9);
14541454         yacc &= 0x1ff;
14551455      }
1456     
1456
14571457      // mark dirty
14581458      if (dminy != -1)
14591459         mark_dirty(dminx, dmaxx, dminy, dmaxy);
trunk/src/mame/video/sega16sp.h
r17959r17960
7272
7373#define MCFG_BOOTLEG_SYS16A_SPRITES_ADD(_tag) \
7474   MCFG_DEVICE_ADD(_tag, BOOTLEG_SYS16A_SPRITES, 0) \
75   
75
7676#define MCFG_BOOTLEG_SYS16A_SPRITES_REMAP(_0,_1,_2,_3,_4,_5,_6,_7) \
7777   bootleg_sys16a_sprite_device::static_set_remap(*device, _0,_1,_2,_3,_4,_5,_6,_7);
78   
78
7979#define MCFG_BOOTLEG_SYS16A_SPRITES_XORIGIN(_xorigin) \
8080   bootleg_sys16a_sprite_device::static_set_xorigin(*device, _xorigin);
8181
r17959r17960
8585
8686#define MCFG_BOOTLEG_SYS16B_SPRITES_ADD(_tag) \
8787   MCFG_DEVICE_ADD(_tag, SEGA_SYS16B_SPRITES, 0) \
88   
88
8989#define MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(_xorigin) \
9090   bootleg_sys16a_sprite_device::static_set_xorigin(*device, _xorigin);
9191
r17959r17960
129129public:
130130   // construction/destruction
131131   sega_hangon_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
132   
132
133133protected:
134134   // subclass overrides
135135   virtual void draw(bitmap_ind16 &bitmap, const rectangle &cliprect);
r17959r17960
143143public:
144144   // construction/destruction
145145   sega_sharrier_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
146   
146
147147protected:
148148   // subclass overrides
149149   virtual void draw(bitmap_ind16 &bitmap, const rectangle &cliprect);
r17959r17960
162162
163163   // subclass overrides
164164   virtual void draw(bitmap_ind16 &bitmap, const rectangle &cliprect);
165   
165
166166   // configuration
167167   bool         m_is_xboard;
168168};
r17959r17960
196196public:
197197   // construction/destruction
198198   bootleg_sys16a_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
199   
199
200200   // configuration
201201   static void static_set_remap(device_t &device, UINT8 offs0, UINT8 offs1, UINT8 offs2, UINT8 offs3, UINT8 offs4, UINT8 offs5, UINT8 offs6, UINT8 offs7);
202202
203203protected:
204204   // subclass overrides
205205   virtual void draw(bitmap_ind16 &bitmap, const rectangle &cliprect);
206   
206
207207   // internal state
208208   UINT8      m_addrmap[8];
209209};
r17959r17960
216216public:
217217   // construction/destruction
218218   sega_sys16b_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
219   
219
220220protected:
221221   // subclass overrides
222222   virtual void draw(bitmap_ind16 &bitmap, const rectangle &cliprect);
r17959r17960
230230public:
231231   // construction/destruction
232232   sega_yboard_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
233   
233
234234protected:
235235   // subclass overrides
236236   virtual void draw(bitmap_ind16 &bitmap, const rectangle &cliprect);
trunk/src/mame/video/konicdev.h
r17959r17960
180180private:
181181   // internal state
182182   void *m_token;
183   
183
184184   TILEMAP_MAPPER_MEMBER(k007342_scan);
185185   TILE_GET_INFO_MEMBER(k007342_get_tile_info0);
186186   TILE_GET_INFO_MEMBER(k007342_get_tile_info1);
r17959r17960
224224private:
225225   // internal state
226226   void *m_token;
227   
227
228228   TILE_GET_INFO_MEMBER(k052109_get_tile_info0);
229229   TILE_GET_INFO_MEMBER(k052109_get_tile_info1);
230230   TILE_GET_INFO_MEMBER(k052109_get_tile_info2);
r17959r17960
330330private:
331331   // internal state
332332   void *m_token;
333   
333
334334   TILE_GET_INFO_MEMBER(k051316_get_tile_info0);
335335};
336336
r17959r17960
549549private:
550550   // internal state
551551   void *m_token;
552   
552
553553   TILEMAP_MAPPER_MEMBER(k001604_scan_layer_8x8_0_size0);
554554   TILEMAP_MAPPER_MEMBER(k001604_scan_layer_8x8_0_size1);
555555   TILEMAP_MAPPER_MEMBER(k001604_scan_layer_8x8_1_size0);
r17959r17960
582582private:
583583   // internal state
584584   void *m_token;
585   
585
586586   TILE_GET_INFO_MEMBER(k037122_tile_info_layer0);
587587   TILE_GET_INFO_MEMBER(k037122_tile_info_layer1);
588588};
trunk/src/mame/video/konamigx.c
r17959r17960
355355static void K053936GP_1_zoom_draw(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect,
356356      tilemap_t *tmap, int tilebpp, int blend, int alpha, int pixeldouble_output)
357357{
358//   konamigx_state *state = machine.driver_data<konamigx_state>();
359//   K053936GP_zoom_draw(machine, 1,K053936_1_ctrl,K053936_1_linectrl,bitmap,cliprect,tmap,tilebpp,blend,alpha, pixeldouble_output);
358//  konamigx_state *state = machine.driver_data<konamigx_state>();
359//  K053936GP_zoom_draw(machine, 1,K053936_1_ctrl,K053936_1_linectrl,bitmap,cliprect,tmap,tilebpp,blend,alpha, pixeldouble_output);
360360}
361361
362362
trunk/src/mame/video/segahang.c
r17959r17960
101101         UINT16 *dest = &bitmap.pix(y);
102102         UINT16 *src = &sprites.pix(y);
103103         UINT8 *pri = &machine().priority_bitmap.pix(y);
104         
104
105105         // hangon mixing
106106         if (!m_sharrier_video)
107107         {
r17959r17960
126126               }
127127            }
128128         }
129         
129
130130         // sharrier mixing
131131         else
132132         {
trunk/src/mame/video/hng64.c
r17959r17960
681681}
682682
683683/* internal set of transparency states for rendering */
684enum hng64trans_t
684enum hng64trans_t
685685{
686686   HNG64_TILEMAP_NORMAL = 1,
687687   HNG64_TILEMAP_ADDITIVE,
trunk/src/mame/video/homerun.c
r17959r17960
3232WRITE8_DEVICE_HANDLER(homerun_banking_w)
3333{
3434   homerun_state *state = device->machine().driver_data<homerun_state>();
35   
35
3636   // games do mid-screen gfx bank switching
3737   int vpos = device->machine().primary_screen->vpos();
3838   device->machine().primary_screen->update_partial(vpos);
39   
39
4040   // d0-d1: gfx bank
4141   // d2-d4: ?
4242   // d5-d7: prg bank
r17959r17960
5656   m_colorram[offset] = data;
5757
5858   /* from PCB photo:
59       bit 7:  470 ohm resistor \
60       bit 6:  220 ohm resistor -  --> 470 ohm resistor  --> blue
61       bit 5:  470 ohm resistor \
62       bit 4:  220 ohm resistor -  --> 470 ohm resistor  --> green
63       bit 3:  1  kohm resistor /
64       bit 2:  470 ohm resistor \
65       bit 1:  220 ohm resistor -  --> 470 ohm resistor  --> red
66       bit 0:  1  kohm resistor /
67   */
59        bit 7:  470 ohm resistor \
60        bit 6:  220 ohm resistor -  --> 470 ohm resistor  --> blue
61        bit 5:  470 ohm resistor \
62        bit 4:  220 ohm resistor -  --> 470 ohm resistor  --> green
63        bit 3:  1  kohm resistor /
64        bit 2:  470 ohm resistor \
65        bit 1:  220 ohm resistor -  --> 470 ohm resistor  --> red
66        bit 0:  1  kohm resistor /
67    */
6868
6969   // let's implement it the old fashioned way until it's found out how exactly the resnet is hooked up
7070   int r, g, b;
r17959r17960
124124            color,
125125            flipx,flipy,
126126            sx,sy,0);
127     
127
128128      // wraparound
129129      drawgfx_transpen(bitmap, cliprect, machine.gfx[1],
130130            code,
trunk/src/mame/video/bwing.c
r17959r17960
195195
196196void bwing_state::video_start()
197197{
198//   UINT32 *dwptr;
198//  UINT32 *dwptr;
199199   int i;
200200
201201   m_charmap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(bwing_state::get_charinfo),this), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
r17959r17960
225225//  m_bgfx = machine().gfx[3];
226226   machine().gfx[3]->set_source(m_srbase[1] + 0x1000);
227227/*
228   WTF??
229   
230   dwptr = machine().gfx[2]->pen_usage();
231   if (dwptr)
232   {
233      dwptr[0] = 0;
234      for(i = 1; i < BW_NTILES; i++)
235         dwptr[i] = -1;
236   }
228    WTF??
229
230    dwptr = machine().gfx[2]->pen_usage();
231    if (dwptr)
232    {
233        dwptr[0] = 0;
234        for(i = 1; i < BW_NTILES; i++)
235            dwptr[i] = -1;
236    }
237237*/
238238}
239239
trunk/src/mame/video/kaneko_spr.h
r17959r17960
1111
1212
1313
14struct kaneko16_priority_t
14struct kaneko16_priority_t
1515{
1616   int sprite[4];
1717};
trunk/src/mame/video/gp9001.h
r17959r17960
7272
7373   address_space_config      m_space_config;
7474   UINT8                  m_gfxregion;
75   
75
7676   TILE_GET_INFO_MEMBER(get_top0_tile_info);
7777   TILE_GET_INFO_MEMBER(get_fg0_tile_info);
78   TILE_GET_INFO_MEMBER(get_bg0_tile_info);   
78   TILE_GET_INFO_MEMBER(get_bg0_tile_info);
7979};
8080
8181extern const device_type GP9001_VDP;
trunk/src/mame/drivers/sbugger.c
r17959r17960
228228 *  Sound interface
229229 *
230230 *************************************/
231 
232 
231
232
233233//-------------------------------------------------
234234//  sn76496_config psg_intf
235235//-------------------------------------------------
r17959r17960
265265   MCFG_SOUND_ADD("sn76489.1", SN76489_NEW, 3000000)
266266   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
267267   MCFG_SOUND_CONFIG(psg_intf)
268   
268
269269   MCFG_SOUND_ADD("sn76489.2", SN76489_NEW, 3000000)
270270   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
271271   MCFG_SOUND_CONFIG(psg_intf)
trunk/src/mame/drivers/nbmj9195.c
r17959r17960
11771177static ADDRESS_MAP_START( shabdama_map, AS_PROGRAM, 8, nbmj9195_state )
11781178   AM_RANGE(0x0000, 0x7fff) AM_ROM
11791179   AM_RANGE(0xe000, 0xe7ff) AM_RAM
1180//   AM_RANGE(0xd000, 0xd1ff) AM_READWRITE(nbmj9195_palette_r,nbmj9195_palette_w)
1181//   AM_RANGE(0xd800, 0xdfff) AM_RAM
1180//  AM_RANGE(0xd000, 0xd1ff) AM_READWRITE(nbmj9195_palette_r,nbmj9195_palette_w)
1181//  AM_RANGE(0xd800, 0xdfff) AM_RAM
11821182ADDRESS_MAP_END
11831183
11841184static ADDRESS_MAP_START( shabdama_io_map, AS_IO, 8, nbmj9195_state )
1185//   ADDRESS_MAP_UNMAP_HIGH
1185//  ADDRESS_MAP_UNMAP_HIGH
11861186   ADDRESS_MAP_GLOBAL_MASK(0xff)
11871187   AM_IMPORT_FROM( tmpz84c011_regs )
11881188
1189//   AM_RANGE(0x60, 0x61) AM_READ(nbmj9195_blitter_0_r)
1190//   AM_RANGE(0x60, 0x6f) AM_WRITE(nbmj9195_blitter_0_w)
1191//   AM_RANGE(0x70, 0x7f) AM_WRITE(nbmj9195_clut_0_w)
1189//  AM_RANGE(0x60, 0x61) AM_READ(nbmj9195_blitter_0_r)
1190//  AM_RANGE(0x60, 0x6f) AM_WRITE(nbmj9195_blitter_0_w)
1191//  AM_RANGE(0x70, 0x7f) AM_WRITE(nbmj9195_clut_0_w)
11921192ADDRESS_MAP_END
11931193
11941194/********************************************************************************
trunk/src/mame/drivers/hornet.c
r17959r17960
979979
980980static const voodoo_config hornet_voodoo_intf =
981981{
982   2, //            fbmem;
983   4,//            tmumem0;
984   0,//            tmumem1;
985   "screen",//         screen;
986   "dsp",//         cputag;
987   voodoo_vblank_0,//   vblank;
988   NULL,//            stall;
982   2, //               fbmem;
983   4,//                tmumem0;
984   0,//                tmumem1;
985   "screen",//         screen;
986   "dsp",//            cputag;
987   voodoo_vblank_0,//  vblank;
988   NULL,//             stall;
989989};
990990
991991static MACHINE_CONFIG_START( hornet, hornet_state )
r17959r17960
10581058
10591059static const voodoo_config voodoo_l_intf =
10601060{
1061   2, //            fbmem;
1062   4,//            tmumem0;
1063   0,//            tmumem1;
1064   "lscreen",//      screen;
1065   "dsp",//         cputag;
1066   voodoo_vblank_0,//   vblank;
1067   NULL,//            stall;
1061   2, //               fbmem;
1062   4,//                tmumem0;
1063   0,//                tmumem1;
1064   "lscreen",//        screen;
1065   "dsp",//            cputag;
1066   voodoo_vblank_0,//  vblank;
1067   NULL,//             stall;
10681068};
10691069
10701070static const voodoo_config voodoo_r_intf =
10711071{
1072   2, //            fbmem;
1073   4,//            tmumem0;
1074   0,//            tmumem1;
1075   "rscreen",//      screen;
1076   "dsp2",//         cputag;
1077   voodoo_vblank_1,//   vblank;
1078   NULL,//            stall;
1072   2, //               fbmem;
1073   4,//                tmumem0;
1074   0,//                tmumem1;
1075   "rscreen",//        screen;
1076   "dsp2",//           cputag;
1077   voodoo_vblank_1,//  vblank;
1078   NULL,//             stall;
10791079};
10801080
10811081static MACHINE_CONFIG_DERIVED( hornet_2board, hornet )
trunk/src/mame/drivers/mediagx.c
r17959r17960
11511151   0
11521152};
11531153
1154static const ide_config ide_intf =
1154static const ide_config ide_intf =
11551155{
1156   ide_interrupt,
1157   NULL,
1156   ide_interrupt,
1157   NULL,
11581158   0
11591159};
11601160
trunk/src/mame/drivers/carpolo.c
r17959r17960
223223   GFXDECODE_ENTRY( "gfx3", 0, alphalayout,  12*2+2*16, 4 )
224224GFXDECODE_END
225225
226static const ttl74148_config carpolo_ttl74148_intf =
226static const ttl74148_config carpolo_ttl74148_intf =
227227{
228228   carpolo_74148_3s_cb
229229};
230230
231static const ttl74153_config carpolo_ttl74153_intf =
231static const ttl74153_config carpolo_ttl74153_intf =
232232{
233233   NULL
234234};
trunk/src/mame/drivers/sfcbox.c
r17959r17960
196196WRITE8_MEMBER( sfcbox_state::port_80_w )
197197{
198198/*
199   x--- ----   (often same as bit5)
200   -x-- ----   Unknown/unused
201   --x- ----     ??         PLENTY used (often same as bit7)
202   ---x ----   ?? pulsed while [C094] is nonzero (0370h timer0 steps)
203   ---- x---   Unknown/unused
204   ---- -x--   SNES Transfer DATA to SNES  (Bit1 of WRIO/RDIO on SNES side)
205   ---- --x-   SNES Transfer CLOCK to SNES (Bit5 of WRIO/RDIO on SNES side)
206   ---- ---x   SNES Transfer STAT to SNES  (Bit2 of WRIO/RDIO on SNES side)
199    x--- ----   (often same as bit5)
200    -x-- ----   Unknown/unused
201    --x- ----     ??         PLENTY used (often same as bit7)
202    ---x ----   ?? pulsed while [C094] is nonzero (0370h timer0 steps)
203    ---- x---   Unknown/unused
204    ---- -x--   SNES Transfer DATA to SNES  (Bit1 of WRIO/RDIO on SNES side)
205    ---- --x-   SNES Transfer CLOCK to SNES (Bit5 of WRIO/RDIO on SNES side)
206    ---- ---x   SNES Transfer STAT to SNES  (Bit2 of WRIO/RDIO on SNES side)
207207*/
208208   snes_ram[WRIO] = ((data & 4) >> 1) | (snes_ram[WRIO] & ~0x02); // DATA
209209   snes_ram[WRIO] = ((data & 2) << 4) | (snes_ram[WRIO] & ~0x20); // CLOCK
r17959r17960
214214READ8_MEMBER( sfcbox_state::port_81_r )
215215{
216216/*
217   x--- ----   Vblank, Vsync, or Whatever flag (must toggle on/off at whatever speed)
218   -x-- ----   Int1 Request (Joypad is/was accessed by SNES or so?) (0=IRQ, 1=No)
219   --x- ----   Unknown/unused  ;/(for "joy2/slot1" or so, use [A0].4-5)
220   ---x ----   Unknown/unused  ;\joy1/slot0 or so, used by an UNUSED function (08A0h)
221   ---- x---   Boot mode or so (maybe a jumper, or watchdog-flag, or Bit0 of WRIO/RDIO?)
222   ---- -x--   SNES Transfer DATA from SNES (Bit4 of WRIO/RDIO on SNES side)
223   ---- --x-   SNES Transfer ACK from SNES  (Bit3 of WRIO/RDIO on SNES side)
224   ---- ---x   Int0 Request (Coin-Input, Low for 44ms..80ms) (0=IRQ, 1=No)
217    x--- ----   Vblank, Vsync, or Whatever flag (must toggle on/off at whatever speed)
218    -x-- ----   Int1 Request (Joypad is/was accessed by SNES or so?) (0=IRQ, 1=No)
219    --x- ----   Unknown/unused  ;/(for "joy2/slot1" or so, use [A0].4-5)
220    ---x ----   Unknown/unused  ;\joy1/slot0 or so, used by an UNUSED function (08A0h)
221    ---- x---   Boot mode or so (maybe a jumper, or watchdog-flag, or Bit0 of WRIO/RDIO?)
222    ---- -x--   SNES Transfer DATA from SNES (Bit4 of WRIO/RDIO on SNES side)
223    ---- --x-   SNES Transfer ACK from SNES  (Bit3 of WRIO/RDIO on SNES side)
224    ---- ---x   Int0 Request (Coin-Input, Low for 44ms..80ms) (0=IRQ, 1=No)
225225*/
226226   UINT8 res;
227227
r17959r17960
285285   AM_RANGE(0x00, 0x3f) AM_RAM // internal i/o
286286   AM_RANGE(0x80, 0x80) AM_READ_PORT("KEY") AM_WRITE(port_80_w) // Keyswitch and Button Inputs / SNES Transfer and Misc Output
287287   AM_RANGE(0x81, 0x81) AM_READWRITE(port_81_r,port_81_w) // SNES Transfer and Misc Input / Misc Output
288//   AM_RANGE(0x82, 0x82) // Unknown/unused
288//  AM_RANGE(0x82, 0x82) // Unknown/unused
289289   AM_RANGE(0x83, 0x83) AM_READWRITE(port_83_r,port_83_w) // Joypad Input/Status / Joypad Output/Control
290//   AM_RANGE(0x84, 0x84) // Joypad 1, MSB (1st 8 bits) (eg. Bit7=ButtonB, 0=Low=Pressed)
291//    AM_RANGE(0x85, 0x85) // Joypad 1, LSB (2nd 8 bits) (eg. Bit0=LSB of ID, 0=Low=One)
292//   AM_RANGE(0x86, 0x86) // Joypad 2, MSB (1st 8 bits) (eg. Bit7=ButtonB, 0=Low=Pressed)
290//  AM_RANGE(0x84, 0x84) // Joypad 1, MSB (1st 8 bits) (eg. Bit7=ButtonB, 0=Low=Pressed)
291//  AM_RANGE(0x85, 0x85) // Joypad 1, LSB (2nd 8 bits) (eg. Bit0=LSB of ID, 0=Low=One)
292//  AM_RANGE(0x86, 0x86) // Joypad 2, MSB (1st 8 bits) (eg. Bit7=ButtonB, 0=Low=Pressed)
293293//  AM_RANGE(0x87, 0x87) // Joypad 2, LSB (2nd 8 bits) (eg. Bit0=LSB of ID, 0=Low=One)
294294   AM_RANGE(0xa0, 0xa0) AM_READ_PORT("RTC_R") AM_WRITE_PORT("RTC_W") //  Real Time Clock
295295   AM_RANGE(0xc0, 0xc0) AM_WRITE(snes_map_0_w) // SNES Mapping Register 0
r17959r17960
500500   MCFG_SCREEN_ADD("osd", RASTER)
501501   MCFG_SCREEN_REFRESH_RATE(60)
502502   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
503//   MCFG_SCREEN_SIZE(24*12+22, 12*18+22)
504//   MCFG_SCREEN_VISIBLE_AREA(0*8, 24*12-1, 0*8, 12*18-1)
503//  MCFG_SCREEN_SIZE(24*12+22, 12*18+22)
504//  MCFG_SCREEN_VISIBLE_AREA(0*8, 24*12-1, 0*8, 12*18-1)
505505   MCFG_SCREEN_SIZE(24*16+22, 12*16+22)
506506   MCFG_SCREEN_VISIBLE_AREA(0*8, 24*16-1, 0*8, 12*16-1)
507507   MCFG_SCREEN_UPDATE_DRIVER(sfcbox_state,screen_update)
trunk/src/mame/drivers/zn.c
r17959r17960
15321532   machine().device("ide")->reset();
15331533}
15341534
1535static const ide_config ide_intf =
1535static const ide_config ide_intf =
15361536{
1537   atpsx_interrupt,
1538   NULL,
1537   atpsx_interrupt,
1538   NULL,
15391539   0
15401540};
15411541
r17959r17960
22132213   MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000a )
22142214MACHINE_CONFIG_END
22152215
2216static const ide_config jdredd_ide_intf =
2216static const ide_config jdredd_ide_intf =
22172217{
2218   jdredd_ide_interrupt,
2219   NULL,
2218   jdredd_ide_interrupt,
2219   NULL,
22202220   0
22212221};
22222222
trunk/src/mame/drivers/vertigo.c
r17959r17960
110110INPUT_PORTS_END
111111
112112
113static const ttl74148_config vertigo_ttl74148_intf =
113static const ttl74148_config vertigo_ttl74148_intf =
114114{
115115   vertigo_update_irq
116116};
trunk/src/mame/drivers/zaxxon.c
r17959r17960
939939 *  Sound interface
940940 *
941941 *************************************/
942 
943 
942
943
944944//-------------------------------------------------
945945//  sn76496_config psg_intf
946946//-------------------------------------------------
r17959r17960
10401040   MCFG_SOUND_ADD("sn1", SN76496_NEW, SOUND_CLOCK)
10411041   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
10421042   MCFG_SOUND_CONFIG(psg_intf)
1043   
1043
10441044   MCFG_SOUND_ADD("sn2", SN76496_NEW, SOUND_CLOCK/4)
10451045   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
10461046   MCFG_SOUND_CONFIG(psg_intf)
trunk/src/mame/drivers/ddenlovr.c
r17959r17960
19811981   AM_RANGE(0x6000, 0x6fff) AM_RAM                                    // RAM
19821982   AM_RANGE(0x7000, 0x7fff) AM_RAMBANK("bank2")                        // RAM (Banked)
19831983   AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")                        // ROM (Banked)
1984   AM_RANGE(0x8000, 0x81ff) AM_WRITE(rongrong_palette_w)   
1984   AM_RANGE(0x8000, 0x81ff) AM_WRITE(rongrong_palette_w)
19851985ADDRESS_MAP_END
19861986
19871987static ADDRESS_MAP_START( quizchq_portmap, AS_IO, 8, dynax_state )
trunk/src/mame/drivers/atlantis.c
r17959r17960
141141   16384            /* data cache size */
142142};
143143
144static const ide_config ide_intf =
144static const ide_config ide_intf =
145145{
146   ide_interrupt,
147   NULL,
146   ide_interrupt,
147   NULL,
148148   0
149149};
150150
trunk/src/mame/drivers/techno.c
r17959r17960
6969
7070//static ADDRESS_MAP_START( techno_sub_map, AS_IO, 8, techno_state )
7171//       no ram here, must be internal to the cpu
72//   AM_RANGE(0x0000, 0x3fff) AM_READ(rd_r) // to TKY2016A audio processor which has its own 3.58MHz clock
73//   AM_RANGE(0x4000, 0x7fff) AM_WRITE(wr_w) // A11=LED;A12=WR2 (DAC) ;A13=WR1 (TKY2016A as above)
74//   AM_RANGE(0x4000, 0xbfff) AM_ROM // 4000-7FFF is same as 8000-BFFF; 4x 16k ROMS bankswitched
75//   AM_RANGE(0xc000, 0xffff) AM_ROM // another 16k ROM
72//  AM_RANGE(0x0000, 0x3fff) AM_READ(rd_r) // to TKY2016A audio processor which has its own 3.58MHz clock
73//  AM_RANGE(0x4000, 0x7fff) AM_WRITE(wr_w) // A11=LED;A12=WR2 (DAC) ;A13=WR1 (TKY2016A as above)
74//  AM_RANGE(0x4000, 0xbfff) AM_ROM // 4000-7FFF is same as 8000-BFFF; 4x 16k ROMS bankswitched
75//  AM_RANGE(0xc000, 0xffff) AM_ROM // another 16k ROM
7676//ADDRESS_MAP_END
7777
7878WRITE16_MEMBER( techno_state::disp1_w )
trunk/src/mame/drivers/viper.c
r17959r17960
447447#define I2C_STATE_DATA_TRANSFER      2
448448
449449
450struct MPC8240_IRQ
450struct MPC8240_IRQ
451451{
452452   UINT32 vector;
453453   int priority;
r17959r17960
457457   int mask;
458458};
459459
460struct MPC8240_GLOBAL_TIMER
460struct MPC8240_GLOBAL_TIMER
461461{
462462   UINT32 base_count;
463463   int enable;
r17959r17960
466466
467467
468468
469struct MPC8240_EPIC
469struct MPC8240_EPIC
470470{
471471   UINT32 iack;
472472   UINT32 eicr;
r17959r17960
19681968   ide_features[67*2+1] = 0x00;
19691969}
19701970
1971static const ide_config ide_intf =
1971static const ide_config ide_intf =
19721972{
1973   ide_interrupt,
1974   NULL,
1973   ide_interrupt,
1974   NULL,
19751975   0
19761976};
19771977
19781978static const voodoo_config voodoo_intf =
19791979{
1980   8, //            fbmem;
1981   0,//            tmumem0;
1982   0,//            tmumem1;
1983   "screen",//         screen;
1984   "maincpu",//      cputag;
1985   voodoo_vblank,//   vblank;
1986   NULL,//            stall;
1980   8, //               fbmem;
1981   0,//                tmumem0;
1982   0,//                tmumem1;
1983   "screen",//         screen;
1984   "maincpu",//        cputag;
1985   voodoo_vblank,//    vblank;
1986   NULL,//             stall;
19871987};
19881988
19891989static MACHINE_CONFIG_START( viper, viper_state )
trunk/src/mame/drivers/suna8.c
r17959r17960
706706   m_spritebank = (data >> 1) & 1;
707707
708708   logerror("CPU #0 - PC %04X: protection_val = %02X\n",space.device().safe_pc(),data);
709//   if (data & ~0x03)   logerror("CPU #0 - PC %04X: unknown spritebank bits: %02X\n",space.device().safe_pc(),data);
709//  if (data & ~0x03)   logerror("CPU #0 - PC %04X: unknown spritebank bits: %02X\n",space.device().safe_pc(),data);
710710}
711711
712712/*
trunk/src/mame/drivers/majorpkr.c
r17959r17960
461461{
462462public:
463463   majorpkr_state(const machine_config &mconfig, device_type type, const char *tag)
464      : driver_device(mconfig, type, tag),
464      : driver_device(mconfig, type, tag),
465465        oki(*this, "oki") { }
466466
467467   int m_mux_data;
trunk/src/mame/drivers/kinst.c
r17959r17960
662662   16384            /* data cache size */
663663};
664664
665static const ide_config ide_intf =
665static const ide_config ide_intf =
666666{
667   ide_interrupt,
668   NULL,
667   ide_interrupt,
668   NULL,
669669   0
670670};
671671
trunk/src/mame/drivers/hankin.c
r17959r17960
6868   ROM_REGION(0x10000, "maincpu", 0)
6969   ROM_LOAD( "fj_ic2.mpu", 0x1000, 0x0800, CRC(b47bc2c7) SHA1(42c985d83a9454fcd08b87e572e5563ebea0d052))
7070   ROM_LOAD( "fj_ic3.mpu", 0x1800, 0x0800, CRC(ceaeb7d3) SHA1(9e479b985f8500983e71d6ff33ee94160e99650d))
71   
71
7272   ROM_REGION(0x10000, "cpu2", 0)
7373   ROM_LOAD("fj_ic14.snd", 0x1000, 0x0800, CRC(34fe3587) SHA1(132714675a23c101ceb5a4d544818650ae5ccea2))
7474   ROM_RELOAD( 0xf800, 0x0800)
trunk/src/mame/drivers/voyager.c
r17959r17960
764764   pic8259_ir1_w(drvstate->m_pic8259_1, state);
765765}
766766
767static const ide_config ide_intf =
767static const ide_config ide_intf =
768768{
769   ide_interrupt,
770   NULL,
769   ide_interrupt,
770   NULL,
771771   0
772772};
773773
trunk/src/mame/drivers/maygayv1.c
r17959r17960
193193
194194#define DRAM_BANK_SEL      (banks[(VREG(DSBA) >> 7) & 3])
195195
196struct i82716_t
196struct i82716_t
197197{
198198   UINT16   r[16];
199199   UINT16   *dram;
r17959r17960
202202};
203203
204204
205struct i8279_t
205struct i8279_t
206206{
207207   UINT8   command;
208208   UINT8   mode;
trunk/src/mame/drivers/littlerb.c
r17959r17960
594594
595595void littlerb_state::video_start()
596596{
597//   machine().primary_screen->register_screen_bitmap(m_temp_bitmap_sprites_back);
598//   machine().primary_screen->register_screen_bitmap(m_temp_bitmap_sprites);
597//  machine().primary_screen->register_screen_bitmap(m_temp_bitmap_sprites_back);
598//  machine().primary_screen->register_screen_bitmap(m_temp_bitmap_sprites);
599599
600600   m_temp_bitmap_sprites_back = auto_bitmap_ind16_alloc(machine(),512,512);
601601   m_temp_bitmap_sprites = auto_bitmap_ind16_alloc(machine(),512,512);
trunk/src/mame/drivers/chihiro.c
r17959r17960
18221822   SLOT_INTERFACE("bb", IDE_BASEBOARD)
18231823SLOT_INTERFACE_END
18241824
1825static const ide_config ide_intf =
1825static const ide_config ide_intf =
18261826{
1827   ide_interrupt,
1828   "maincpu",
1827   ide_interrupt,
1828   "maincpu",
18291829   AS_PROGRAM
18301830};
18311831
trunk/src/mame/drivers/namcos23.c
r17959r17960
12691269enum { RENDER_MAX_ENTRIES = 1000, POLY_MAX_ENTRIES = 10000 };
12701270
12711271
1272struct c417_t
1272struct c417_t
12731273{
12741274   UINT16 ram[0x10000];
12751275   UINT16 adr;
12761276   UINT32 pointrom_adr;
12771277};
12781278
1279struct c412_t
1279struct c412_t
12801280{
12811281   UINT16 sdram_a[0x100000]; // Framebuffers, probably
12821282   UINT16 sdram_b[0x100000];
r17959r17960
12851285   UINT32 adr;
12861286};
12871287
1288struct c421_t
1288struct c421_t
12891289{
12901290   UINT16 dram_a[0x40000];
12911291   UINT16 dram_b[0x40000];
r17959r17960
12931293   UINT32 adr;
12941294};
12951295
1296struct c422_t
1296struct c422_t
12971297{
12981298   INT16 regs[0x10];
12991299};
13001300
1301struct c361_t
1301struct c361_t
13021302{
13031303   emu_timer *timer;
13041304   int scanline;
13051305};
13061306
1307struct render_t
1307struct render_t
13081308{
13091309   poly_manager *polymgr;
13101310   int cur;
trunk/src/mame/drivers/jaguar.c
r17959r17960
15641564   &jaguar_state::dsp_cpu_int
15651565};
15661566
1567static const ide_config ide_intf =
1567static const ide_config ide_intf =
15681568{
1569   &jaguar_state::external_int,
1570   NULL,
1569   &jaguar_state::external_int,
1570   NULL,
15711571   0
15721572};
15731573
trunk/src/mame/drivers/naomi.c
r17959r17960
78627862   AW_BIOS
78637863
78647864   ROM_REGION( 0x8000100, "rom_board", ROMREGION_ERASE)
7865    ROM_LOAD( "u3.bin",       0x0000000, 0x1000100, CRC(5bb65194) SHA1(5fa8c38e6aadf5d999e260da24b001c0c7805d48) )
7866    ROM_LOAD( "u1.bin",       0x1000000, 0x1000100, CRC(526fc1af) SHA1(dd8a37fa73a9ef193b6f4fb962345bdfc4854b5d) )
7867    ROM_LOAD( "u4.bin",       0x2000000, 0x1000100, CRC(55f4e762) SHA1(a11f7d69458e647dd2b8d86c98a54f309b1f1bbc) )
7868    ROM_LOAD( "u2.bin",       0x3000000, 0x1000100, CRC(c40dae68) SHA1(29ec47c76373eeaa686684f10907d551de7d9c59) )
7869    ROM_LOAD( "u15.bin",      0x4000000, 0x1000100, CRC(b82dcb0a) SHA1(36dc89a388ac0c7e0a0e72428c8149cbda12805a) )
7870    ROM_LOAD( "u17.bin",      0x5000000, 0x1000100, CRC(2f973eb4) SHA1(45409b5517cda119315f198892224889ac3a0f53) )
7871    ROM_LOAD( "u14.bin",      0x6000000, 0x1000100, CRC(2e7d966f) SHA1(3304fd0c5140a13f6fe2ea9aaa74d7885e1505e1) )
7872    ROM_LOAD( "u16.bin",      0x7000000, 0x1000100, CRC(14f8ca87) SHA1(778c048da9434ffda600e35ad5aca29e02cc98c0) )
7865    ROM_LOAD( "u3.bin",       0x0000000, 0x1000100, CRC(5bb65194) SHA1(5fa8c38e6aadf5d999e260da24b001c0c7805d48) )
7866    ROM_LOAD( "u1.bin",       0x1000000, 0x1000100, CRC(526fc1af) SHA1(dd8a37fa73a9ef193b6f4fb962345bdfc4854b5d) )
7867    ROM_LOAD( "u4.bin",       0x2000000, 0x1000100, CRC(55f4e762) SHA1(a11f7d69458e647dd2b8d86c98a54f309b1f1bbc) )
7868    ROM_LOAD( "u2.bin",       0x3000000, 0x1000100, CRC(c40dae68) SHA1(29ec47c76373eeaa686684f10907d551de7d9c59) )
7869    ROM_LOAD( "u15.bin",      0x4000000, 0x1000100, CRC(b82dcb0a) SHA1(36dc89a388ac0c7e0a0e72428c8149cbda12805a) )
7870    ROM_LOAD( "u17.bin",      0x5000000, 0x1000100, CRC(2f973eb4) SHA1(45409b5517cda119315f198892224889ac3a0f53) )
7871    ROM_LOAD( "u14.bin",      0x6000000, 0x1000100, CRC(2e7d966f) SHA1(3304fd0c5140a13f6fe2ea9aaa74d7885e1505e1) )
7872    ROM_LOAD( "u16.bin",      0x7000000, 0x1000100, CRC(14f8ca87) SHA1(778c048da9434ffda600e35ad5aca29e02cc98c0) )
78737873
78747874   ROM_REGION( 4, "rom_key", 0 )
7875    ROM_LOAD( "cckey.bin",    0x000000, 0x000004, CRC(553dd361) SHA1(a60a26b5ee786cf0bb3d09bb6f00374598fbd7cc) )
7875    ROM_LOAD( "cckey.bin",    0x000000, 0x000004, CRC(553dd361) SHA1(a60a26b5ee786cf0bb3d09bb6f00374598fbd7cc) )
78767876ROM_END
78777877
78787878/* All games have the regional titles at the start of the IC22 rom in the following order
trunk/src/mame/drivers/queen.c
r17959r17960
672672
673673
674674
675static const ide_config ide_intf =
675static const ide_config ide_intf =
676676{
677   ide_interrupt,
678   NULL,
677   ide_interrupt,
678   NULL,
679679   0
680680};
681681
trunk/src/mame/drivers/mrdo.c
r17959r17960
169169 *  Sound interface
170170 *
171171 *************************************/
172 
173 
172
173
174174//-------------------------------------------------
175175//  sn76496_config psg_intf
176176//-------------------------------------------------
trunk/src/mame/drivers/mrjong.c
r17959r17960
177177 *  Sound interface
178178 *
179179 *************************************/
180 
181 
180
181
182182//-------------------------------------------------
183183//  sn76496_config psg_intf
184184//-------------------------------------------------
r17959r17960
221221   MCFG_SOUND_ADD("sn1", SN76489_NEW, 15468000/6)
222222   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
223223   MCFG_SOUND_CONFIG(psg_intf)
224   
224
225225   MCFG_SOUND_ADD("sn2", SN76489_NEW, 15468000/6)
226226   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
227227   MCFG_SOUND_CONFIG(psg_intf)
trunk/src/mame/drivers/meritm.c
r17959r17960
164164#include "machine/nvram.h"
165165
166166
167struct ds1204_t
167struct ds1204_t
168168{
169169   int state;
170170   int read_ptr;
trunk/src/mame/drivers/subsino2.c
r17959r17960
900900WRITE16_MEMBER(subsino2_state::bishjan_sel_w)
901901{
902902   /*
903      sound writes in service mode:
904      01 88 04 00 (coin in)
905      02 89 04 0v (v = voice = 0..3)
906   */
903        sound writes in service mode:
904        01 88 04 00 (coin in)
905        02 89 04 0v (v = voice = 0..3)
906    */
907907   if (ACCESSING_BITS_8_15)
908908      m_bishjan_sel = data >> 8;
909909}
trunk/src/mame/drivers/tumbleb.c
r17959r17960
33773377GAME( 1996, fncywld,  0,       fncywld,     fncywld, tumbleb_state,  fncywld,  ROT0, "Unico",   "Fancy World - Earth of Crisis" , GAME_SUPPORTS_SAVE ) // game says 1996, testmode 1995?
33783378// Unico - Magic Purple almost certainly goes here
33793379
3380/* First Amusement / Mijin / SemiCom hardware (MCU protected) */
3380/* First Amusement / Mijin / SemiCom hardware (MCU protected) */
33813381GAME( 1994, metlsavr, 0,       metlsavr,    metlsavr, tumbleb_state, chokchok, ROT0, "First Amusement", "Metal Saver", GAME_SUPPORTS_SAVE )
33823382GAME( 1994, magicbal, 0,       metlsavr,    magicbal, tumbleb_state, chokchok, ROT0, "SemiCom", "Magicball Fighting (Korea)", GAME_SUPPORTS_SAVE) // also still has the Metal Saver (c)1994 First Amusement tiles in the GFX
33833383GAME( 1995, chokchok, 0,       cookbib,     chokchok, tumbleb_state, chokchok, ROT0, "SemiCom", "Choky! Choky!", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE  )
trunk/src/mame/drivers/taitotz.c
r17959r17960
373373   int specular_r, specular_g, specular_b;
374374};
375375
376struct PLANE
376struct PLANE
377377{
378378   float x, y, z, d;
379379};
r17959r17960
24702470   DEVCB_DRIVER_MEMBER(taitotz_state, tlcs900_port_write),
24712471};
24722472
2473static const ide_config ide_intf =
2473static const ide_config ide_intf =
24742474{
2475   ide_interrupt,
2476   NULL,
2475   ide_interrupt,
2476   NULL,
24772477   0
24782478};
24792479
trunk/src/mame/drivers/spaceg.c
r17959r17960
405405 *  Sound interface
406406 *
407407 *************************************/
408 
409 
408
409
410410//-------------------------------------------------
411411//  sn76496_config psg_intf
412412//-------------------------------------------------
r17959r17960
445445
446446//  MCFG_SOUND_ADD("sn1", SN76496_NEW, 15468480/4)
447447//  MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
448//   MCFG_SOUND_CONFIG(psg_intf)
448//  MCFG_SOUND_CONFIG(psg_intf)
449449
450450//  MCFG_SOUND_ADD("sn2", SN76496_NEW, 15468480/4)
451451//  MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
452//   MCFG_SOUND_CONFIG(psg_intf)
452//  MCFG_SOUND_CONFIG(psg_intf)
453453
454454//  MCFG_SOUND_ADD("sn3", SN76496_NEW, 15468480/4)
455455//  MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
456//   MCFG_SOUND_CONFIG(psg_intf)
456//  MCFG_SOUND_CONFIG(psg_intf)
457457
458458//  MCFG_DAC_ADD("dac")
459459//  MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
trunk/src/mame/drivers/segas32.c
r17959r17960
42924292   machine().device("maincpu")->memory().space(AS_PROGRAM)->install_readwrite_handler(0x800000, 0x800fff, read16_delegate(FUNC(segas32_state::dual_pcb_comms_r),this), write16_delegate(FUNC(segas32_state::dual_pcb_comms_w),this));
42934293   machine().device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x801000, 0x801003, read16_delegate(FUNC(segas32_state::dual_pcb_masterslave),this));
42944294
4295//   machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x800048, 0x800049, write16_delegate(FUNC(segas32_state::f1en_comms_echo_w),this));
4295//  machine().device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x800048, 0x800049, write16_delegate(FUNC(segas32_state::f1en_comms_echo_w),this));
42964296   m_system32_prot_vblank = f1lap_fd1149_vblank;
42974297
42984298   m_sw1_output = f1lap_sw1_output;
trunk/src/mame/drivers/boogwing.c
r17959r17960
580580   deco56_remap_gfx(machine(), "gfx6");
581581   deco102_decrypt_cpu(machine(), "maincpu", 0x42ba, 0x00, 0x18);
582582   memcpy(dst, src, 0x100000);
583   
583
584584   decoprot_reset(machine());
585585}
586586
trunk/src/mame/drivers/djmain.c
r17959r17960
14461446   djmain_tile_callback, "none"
14471447};
14481448
1449static const ide_config ide_intf =
1449static const ide_config ide_intf =
14501450{
1451   ide_interrupt,
1452   NULL,
1451   ide_interrupt,
1452   NULL,
14531453   0
14541454};
14551455
trunk/src/mame/drivers/namcoic.c
r17959r17960
911911   if (pri == 0)
912912      machine().priority_bitmap.fill(0, cliprect);
913913
914//  if (offs == 0)   // boot
914//  if (offs == 0)  // boot
915915      c355_obj_draw_list(bitmap, cliprect, pri, &m_c355_obj_ram[0x02000/2], &m_c355_obj_ram[0x00000/2]);
916916//  else
917917      c355_obj_draw_list(bitmap, cliprect, pri, &m_c355_obj_ram[0x14000/2], &m_c355_obj_ram[0x10000/2]);
r17959r17960
923923   if (pri == 0)
924924      machine().priority_bitmap.fill(0, cliprect);
925925
926//  if (offs == 0)   // boot
926//  if (offs == 0)  // boot
927927      c355_obj_draw_list(bitmap, cliprect, pri, &m_c355_obj_ram[0x02000/2], &m_c355_obj_ram[0x00000/2]);
928928//  else
929929      c355_obj_draw_list(bitmap, cliprect, pri, &m_c355_obj_ram[0x14000/2], &m_c355_obj_ram[0x10000/2]);
r17959r17960
11671167      int row = line / 8;
11681168      int offs = row * 0x100 + (line & 7) * 0x10 + 0xe080;
11691169      UINT16 *source = &m_c169_roz_videoram[offs / 2];
1170     
1170
11711171      // if enabled
11721172      if ((source[1] & 0x8000) == 0)
11731173      {
11741174         roz_parameters params;
11751175         c169_roz_unpack_params(source, params);
1176         
1176
11771177         // check priority
11781178         if (pri == params.priority)
11791179         {
r17959r17960
11941194   {
11951195      const UINT16 *source = &m_c169_roz_control[which * 8];
11961196      UINT16 attrs = source[1];
1197     
1197
11981198      // if enabled
11991199      if ((attrs & 0x8000) == 0)
12001200      {
r17959r17960
12121212               c169_roz_draw_helper(bitmap, *m_c169_roz_tilemap[which], cliprect, params);
12131213         }
12141214      }
1215   }
1215   }
12161216}
12171217
12181218READ16_MEMBER( namcos2_shared_state::c169_roz_control_r )
r17959r17960
13341334WRITE16_MEMBER( namco_c45_road_device::write )
13351335{
13361336   COMBINE_DATA(&m_ram[offset]);
1337   
1337
13381338   // first half maps to the tilemap
13391339   if (offset < 0x10000/2)
13401340      m_tilemap->mark_tile_dirty(offset);
1341   
1341
13421342   // second half maps to the gfx elements
13431343   else
13441344   {
r17959r17960
13791379         continue;
13801380
13811381      // mask off priority bits and sign-extend
1382      screenx &= 0x0fff;
1382      screenx &= 0x0fff;
13831383      if (screenx & 0x0800)
13841384         screenx |= ~0x7ff;
13851385
r17959r17960
13881388
13891389      int numpixels = (44 * ROAD_TILE_SIZE << 16) / dsourcex;
13901390      unsigned sourcex = 0;
1391     
1391
13921392      // crop left
13931393      int clip_pixels = cliprect.min_x - screenx;
13941394      if (clip_pixels > 0)
r17959r17960
14491449   // create a tilemap for the road
14501450   m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namco_c45_road_device::get_road_info), this),
14511451      TILEMAP_SCAN_ROWS, ROAD_TILE_SIZE, ROAD_TILE_SIZE, ROAD_COLS, ROAD_ROWS);
1452}
1452}
14531453
14541454
14551455//-------------------------------------------------
trunk/src/mame/drivers/ttchamp.c
r17959r17960
7373   {
7474      return m_peno_mainram[offset];
7575   }
76   
76
7777   DECLARE_WRITE16_MEMBER( penocup_mainram_w )
7878   {
7979      offset &=0x7fff;
8080      COMBINE_DATA(&m_peno_mainram[offset]);
81//      COMBINE_DATA(&m_peno_vram[offset]);
81//      COMBINE_DATA(&m_peno_vram[offset]);
8282   }
8383
8484
r17959r17960
9393   m_peno_vram = (UINT16*)auto_alloc_array_clear(machine(), UINT16, 0x10000/2);
9494   m_peno_mainram = (UINT16*)auto_alloc_array_clear(machine(), UINT16, 0x10000/2);
9595
96   
9796
97
9898}
9999
100100static SCREEN_UPDATE_IND16(ttchamp)
r17959r17960
173173 /* 0x10000 - 0x1ffff is where it writes most image stuff, but other address get written to 0 where the left edge of 'sprites' would be? why? bad code execution, or some kind of write address based blitter?
174174   see for example the lines written down the side of where the (not displayed) CREDIT text would go, as well as beside the actual credit number.. also ingame if you can get it to start
175175 */
176   
176
177177   AM_RANGE(0x10000, 0xfffff) AM_WRITE(penocup_vid_w)
178178
179179   // how are these banked? what are the bank sizes? data needed for startup is at 0x20000-0x2ffff (strings) and 0x30000-0x3ffff (code) the rest seems to be graphics..
trunk/src/mame/drivers/cyclemb.c
r17959r17960
1212    - sound (controlled by three i8741);
1313    - add flipscreen;
1414    - color prom resistor network is guessed, cyclemb yellows are more reddish on pcb video and photos;
15   
15
1616    BTANB verified on pcb: cyclemb standing cones are reddish-yellow/black instead of red/white
1717
1818=====================================================================================================
trunk/src/mame/drivers/guab.c
r17959r17960
7878   guab_state(const machine_config &mconfig, device_type type, const char *tag)
7979      : driver_device(mconfig, type, tag) ,
8080      m_sn(*this, "snsnd") { }
81     
81
8282   /* devices */
8383   required_device<sn76489_new_device> m_sn;
84   
84
8585   struct ef9369 m_pal;
8686   emu_timer *m_fdc_timer;
8787   struct wd1770 m_fdc;
r17959r17960
784784 *  Sound interface
785785 *
786786 *************************************/
787 
788 
787
788
789789//-------------------------------------------------
790790//  sn76496_config psg_intf
791791//-------------------------------------------------
trunk/src/mame/drivers/mcr.c
r17959r17960
391391   {
392392      dpoker_coin_status &= ~8;
393393   }
394   
394
395395   coin_counter_w(timer.machine(), 3, dpoker_coin_status & 8);
396396}
397397
r17959r17960
443443{
444444   // d5: button lamp: service or change
445445   output_set_lamp_value(8, data >> 5 & 1);
446   
446
447447   // d0-d4: marquee lamps: coin 1 to 5 --> output lamps 9 to 13
448448   for (int i = 0; i < 5; i++)
449449      output_set_lamp_value(9 + i, data >> i & 1);
450   
450
451451   // d6, d7: unused?
452452}
453453
r17959r17960
456456   // d0: ? coin return
457457   // d1: ? divertor (active low)
458458   // d3: coin counter?
459   
459
460460   // d6: assume hopper coin flow
461461   // d7: assume hopper motor
462462   if (data & 0x40 & ~dpoker_output)
463463      m_dpoker_hopper_timer->adjust(attotime::from_msec(500));
464   
464
465465   // other bits: unused?
466466
467467   dpoker_output = data;
r17959r17960
10511051   PORT_DIPNAME( 0x80, 0x00, "Background Color" )   PORT_DIPLOCATION("B3:8")
10521052   PORT_DIPSETTING(    0x80, "Green" )
10531053   PORT_DIPSETTING(    0x00, "Blue" )
1054//   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) )   PORT_DIPLOCATION("B3:9")
1055//   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
1056//   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1057//   PORT_DIPNAME( 0x01, 0x00, "Freeze" )         PORT_DIPLOCATION("B3:10")
1058//   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
1059//   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1054//  PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) )   PORT_DIPLOCATION("B3:9")
1055//  PORT_DIPSETTING(    0x01, DEF_STR( On ) )
1056//  PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1057//  PORT_DIPNAME( 0x01, 0x00, "Freeze" )            PORT_DIPLOCATION("B3:10")
1058//  PORT_DIPSETTING(    0x01, DEF_STR( On ) )
1059//  PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
10601060
10611061   PORT_START("ssio:IP4")
10621062   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
r17959r17960
28112811   machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x30, 0x30, write8_delegate(FUNC(mcr_state::dpoker_lamps2_w),this));
28122812   machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x34, 0x34, write8_delegate(FUNC(mcr_state::dpoker_output_w),this));
28132813   machine().device("maincpu")->memory().space(AS_IO)->install_write_handler(0x3f, 0x3f, write8_delegate(FUNC(mcr_state::dpoker_meters_w),this));
2814   
2814
28152815   dpoker_coin_status = 0;
28162816   dpoker_output = 0;
28172817
trunk/src/mame/drivers/savquest.c
r17959r17960
537537   machine().root_device().membank("bank1")->set_base(machine().root_device().memregion("bios")->base() + 0x20000);
538538}
539539
540static const ide_config ide_intf =
540static const ide_config ide_intf =
541541{
542   ide_interrupt,
543   NULL,
542   ide_interrupt,
543   NULL,
544544   0
545545};
546546
trunk/src/mame/drivers/cobra.c
r17959r17960
11/*  Konami Cobra System
22
3   Driver by Ville Linde
3    Driver by Ville Linde
44
55
66    Games on this hardware
r17959r17960
160160
161161        0x0011c:        Same as above?
162162
163      0x00454:      (mask 0xff) 0x80000000                     Tex related
163        0x00454:        (mask 0xff) 0x80000000                          Tex related
164164
165165        0x00458:        Set to 0x02100000 (0xff) by texselect()
166166
167                  ------xx -------- -------- --------            Texture select (0-3)
168                  -------- ---x---- -------- --------            ?
167                        ------xx -------- -------- --------             Texture select (0-3)
168                        -------- ---x---- -------- --------             ?
169169
170      0x02900:      -------- -------- -------- --------            Texture[0] ?
170        0x02900:        -------- -------- -------- --------             Texture[0] ?
171171
172172        0x02904:        -------- ------xx xx------ --------             Texture[0] mag filter?
173173                        -------- -------- --xxxx-- --------             Texture[0] min filter?
r17959r17960
184184
185185        0x02914:        xxxxxxxx xxxxxxxx xxxx---- --------             Texture[0] address
186186
187      0x02980:      Texture[1] ?
188      0x02984:      Texture[1] min/mag filter
189      0x02988:      Texture[1] wrap
190      0x02990:      Texture[1] width/height/format
191      0x02994:      Texture[1] address
187        0x02980:        Texture[1] ?
188        0x02984:        Texture[1] min/mag filter
189        0x02988:        Texture[1] wrap
190        0x02990:        Texture[1] width/height/format
191        0x02994:        Texture[1] address
192192
193      0x02a00:      Texture[2] ?
194      0x02a04:      Texture[2] min/mag filter
195      0x02a08:      Texture[2] wrap
196      0x02a10:      Texture[2] width/height/format
197      0x02a14:      Texture[2] address
193        0x02a00:        Texture[2] ?
194        0x02a04:        Texture[2] min/mag filter
195        0x02a08:        Texture[2] wrap
196        0x02a10:        Texture[2] width/height/format
197        0x02a14:        Texture[2] address
198198
199      0x02a80:      Texture[3] ?
200      0x02a84:      Texture[3] min/mag filter
201      0x02a88:      Texture[3] wrap
202      0x02a90:      Texture[3] width/height/format
203      0x02a94:      Texture[3] address
199        0x02a80:        Texture[3] ?
200        0x02a84:        Texture[3] min/mag filter
201        0x02a88:        Texture[3] wrap
202        0x02a90:        Texture[3] width/height/format
203        0x02a94:        Texture[3] address
204204
205205        0x40018:        Set to 0x0001040a (0xc0) by mode_stipple()      (bits 24..27 = stipple pattern?)
206206        0x400d0:        Set to 0x80000000 (0x80) by mode_stipple()
207207
208        0x400f4:        xxx----- -------- -------- --------            Texture select (0-3)
208        0x400f4:        xxx----- -------- -------- --------             Texture select (0-3)
209209
210210        0x40114:        -------- ----x--- -------- --------             Scissor enable
211211
r17959r17960
226226        0x40198:        x------- -------- -------- --------             Alpha test enable?
227227                        -------- xxx----- -------- --------             Alpha test function (0 = never, 1 = less, 2 = lequal, 3 = greater,
228228                                                                                             4 = gequal, 5 = equal, 6 = notequal, 7 = always)
229                  -------- -------- xxxxxxxx xxxxxxxx            Alpha test reference value?
229                        -------- -------- xxxxxxxx xxxxxxxx             Alpha test reference value?
230230
231231        0x4019c:        x------- -------- -------- --------             Fog enable
232232                        ----x--- -------- -------- --------             0 = table fog, 1 = linear fog
233233
234      0x401a8:      (mask 0xff): 0x2CAB34FD                     ?
235      0x401ac:      (mask 0xf0): 0x48C70000                     ?
236      0x401b8:      (mask 0x20): 0x00400000                     ?
234        0x401a8:        (mask 0xff): 0x2CAB34FD                         ?
235        0x401ac:        (mask 0xf0): 0x48C70000                         ?
236        0x401b8:        (mask 0x20): 0x00400000                         ?
237237
238238        0x401bc:                                                        Texture env mode
239239                        xxx----- -------- -------- --------             ?
r17959r17960
249249                                    0xa92b0100 = (equal, 16)
250250
251251                        -------- -------- xxxxxxxx xxxx----             Stencil reference value?
252                  ----xxxx xxxxxxxx -------- --------            Stencil fill value?
252                        ----xxxx xxxxxxxx -------- --------             Stencil fill value?
253253                        xxx----- -------- -------- --------             Stencil function?
254254
255255
256256        0x80020:        -------- ----xxx- -------- --------             Depth test function (7 = always?)
257257
258      0x80040:      (mask 0x0f) 0x00002CAB (same value as 0x401a8)
259      0x80044:      (mask 0x0f) 0x000034FD (same value as 0x401a8)
260      0x80048:      (mask 0x0f) 0x000048C7 (same value as 0x401ac)
258        0x80040:        (mask 0x0f) 0x00002CAB (same value as 0x401a8)
259        0x80044:        (mask 0x0f) 0x000034FD (same value as 0x401a8)
260        0x80048:        (mask 0x0f) 0x000048C7 (same value as 0x401ac)
261261
262262        0x80050:        (mask 0x7c) 0x04445500 = (As, 1-As)             Blend register
263263                                    0x04111100 = (1, 1)
r17959r17960
407407
408408   UINT32 *m_gfx_gram;
409409   UINT32 *m_gfx_regmask;
410   
410
411411   UINT32 m_gfx_register_select;
412412   UINT64 *m_gfx_register;
413413
r17959r17960
582582            commit_encoded();
583583
584584            get_encoded_reply(rec_data, rec_size);
585   
585
586586            m_send_ptr = 0;
587587            return;
588588         }
r17959r17960
882882            UINT32 gour = (int)(gr);
883883            UINT32 goug = (int)(gg);
884884            UINT32 goub = (int)(gb);
885   
885
886886            int r = (RGB_RED(texel) * gour) >> 8;
887887            int g = (RGB_GREEN(texel) * goug) >> 8;
888888            int b = (RGB_BLUE(texel) * goub) >> 8;
r17959r17960
19261926   //printf("DMA write to unknown: size %d, data %08X\n", width, data);
19271927
19281928   /*
1929   static FILE *out;
1930   if (out == NULL)
1931      out = fopen("sound.bin", "wb");
1929    static FILE *out;
1930    if (out == NULL)
1931        out = fopen("sound.bin", "wb");
19321932
1933   fputc((data >> 24) & 0xff, out);
1934   fputc((data >> 16) & 0xff, out);
1935   fputc((data >> 8) & 0xff, out);
1936   fputc((data >> 0) & 0xff, out);
1937   */
1933    fputc((data >> 24) & 0xff, out);
1934    fputc((data >> 16) & 0xff, out);
1935    fputc((data >> 8) & 0xff, out);
1936    fputc((data >> 0) & 0xff, out);
1937    */
19381938
19391939   cobra_state *cobra = device->machine().driver_data<cobra_state>();
19401940
r17959r17960
19481948   if (cobra->m_sound_dma_ptr >= DMA_SOUND_BUFFER_SIZE)
19491949   {
19501950      cobra->m_sound_dma_ptr = 0;
1951     
1951
19521952      dmadac_transfer(&cobra->m_dmadac[0], 1, 0, 1, DMA_SOUND_BUFFER_SIZE, cobra->m_sound_dma_buffer_l);
19531953      dmadac_transfer(&cobra->m_dmadac[1], 1, 0, 1, DMA_SOUND_BUFFER_SIZE, cobra->m_sound_dma_buffer_r);
19541954   }
r17959r17960
20772077        fputc((UINT8)(m_texture_ram[i] >> 0), file);
20782078    }
20792079    fclose(file);
2080   */
2080    */
20812081}
20822082
20832083void cobra_renderer::gfx_reset(running_machine &machine)
r17959r17960
23672367            }
23682368
23692369
2370           
2370
23712371            float vp_width      = u2f(m_gfx_gram[0x00090/4]);
23722372            float vp_height      = u2f(m_gfx_gram[0x000a4/4]);
23732373            float vp_center_x   = u2f(m_gfx_gram[0x0009c/4]);
r17959r17960
23822382#if LOG_DRAW_COMMANDS
23832383            printf("--- Draw command %08X %08X ---\n", w1, w2);
23842384#endif
2385           
23862385
2386
23872387            // extract vertex data
23882388            for (int i=0; i < units; i++)
23892389            {
r17959r17960
32233223   dmadac_set_frequency(&m_dmadac[1], 1, 44100);
32243224}
32253225
3226static const ide_config ide_intf =
3226static const ide_config ide_intf =
32273227{
3228   ide_interrupt,
3229   NULL,
3228   ide_interrupt,
3229   NULL,
32303230   0
32313231};
32323232
r17959r17960
33833383   {
33843384      UINT8 *rom = (UINT8*)machine().root_device().memregion("m48t58")->base();
33853385      rom[0x00] = 0x47;      // G
3386      rom[0x01] = 0x4e;      // N      // N = 2-player, Q = 1-player?
3386      rom[0x01] = 0x4e;      // N        // N = 2-player, Q = 1-player?
33873387      rom[0x02] = 0x36;      // 6
33883388      rom[0x03] = 0x34;      // 4
33893389      rom[0x04] = 0x35;      // 5
r17959r17960
34123412
34133413   // hd patches
34143414   // (gfx)
3415   // 0x18932c = 0x38600000               skips check_one_scene()
3415   // 0x18932c = 0x38600000                    skips check_one_scene()
34163416
34173417   // (sub)
3418   // 0x2d3568 = 0x60000000 [0x4082001c]      skip IRQ fail
3418   // 0x2d3568 = 0x60000000 [0x4082001c]       skip IRQ fail
34193419
34203420   // (main)
3421   // 0x5025ac = 0x60000000 [0x4082055c]      skip IRQ fail...
3421   // 0x5025ac = 0x60000000 [0x4082055c]       skip IRQ fail...
34223422   // 0x503ec4 = 0x60000000 [0x4186fff8]
34233423   // 0x503f00 = 0x60000000 [0x4186fff8]
34243424
r17959r17960
35033503
35043504   // hd patches
35053505   // (gfx)
3506   // 0x144354 = 0x38600000 [0x4bfffb91]      skips check_one_scene()
3506   // 0x144354 = 0x38600000 [0x4bfffb91]       skips check_one_scene()
35073507
35083508   // (sub)
3509   // 0x2a5394 = 0x4800001c [0x4182001c]      sound chip check?
3510   // 0x2a53f4 = 0x4800001c [0x4082001c]      ?
3511   // 0x2a546c = 0x60000000 [0x48001a0d]      ?
3512   // 0x2a5510 = 0x48000014 [0x419e0014]      ?
3509   // 0x2a5394 = 0x4800001c [0x4182001c]       sound chip check?
3510   // 0x2a53f4 = 0x4800001c [0x4082001c]       ?
3511   // 0x2a546c = 0x60000000 [0x48001a0d]       ?
3512   // 0x2a5510 = 0x48000014 [0x419e0014]       ?
35133513
35143514   // (main)
3515   // 0x14aa48 = 0x60000000 [0x4182fff4]      ?
3515   // 0x14aa48 = 0x60000000 [0x4182fff4]       ?
35163516
35173517   m_has_psac = true;
35183518}
trunk/src/mame/drivers/senjyo.c
r17959r17960
555555 *  Sound interface
556556 *
557557 *************************************/
558 
559 
558
559
560560//-------------------------------------------------
561561//  sn76496_config psg_intf
562562//-------------------------------------------------
trunk/src/mame/drivers/twinkle.c
r17959r17960
898898   DEVCB_NULL
899899};
900900
901static const ide_config ide_intf =
901static const ide_config ide_intf =
902902{
903   ide_interrupt,
904   NULL,
903   ide_interrupt,
904   NULL,
905905   0
906906};
907907
trunk/src/mame/drivers/midqslvr.c
r17959r17960
686686   machine().root_device().membank("video_bank2")->set_base(machine().root_device().memregion("video_bios")->base() + 0x4000);
687687}
688688
689static const ide_config ide_intf =
689static const ide_config ide_intf =
690690{
691   ide_interrupt,
692   NULL,
691   ide_interrupt,
692   NULL,
693693   0
694694};
695695
trunk/src/mame/drivers/pong.c
r17959r17960
131131   NET_ALIAS(256H, ic_f6b.Q)
132132   NET_ALIAS(256HQ, ic_f6b.QQ)
133133
134   // vertical counter
134   // vertical counter
135135   TTL_7493(ic_e8, hreset, ic_e8.QA, ic_e7a.QQ, ic_e7a.QQ)   // e8, e9, d9b
136136   TTL_7493(ic_e9, ic_e8.QD,ic_e9.QA,  ic_e7a.QQ, ic_e7a.QQ)   // e8, e9, d9b
137137   TTL_74107(ic_d9b, ic_e9.QD, high, high, ic_e7a.Q)
r17959r17960
149149   NET_ALIAS(256VQ, ic_d9b.QQ)
150150
151151
152   // hblank flip flop
152   // hblank flip flop
153153
154154   TTL_7400_NAND(ic_g5b, 16H, 64H)
155155
156   // the time critical one
156   // the time critical one
157157   TTL_7400_NAND(ic_h5c, ic_h5b.Q, hresetQ)
158158   TTL_7400_NAND(ic_h5b, ic_h5c.Q, ic_g5b.Q)
159159
r17959r17960
161161   NET_ALIAS(hblankQ,  ic_h5b.Q)
162162   TTL_7400_NAND(hsyncQ, hblank, 32H)
163163
164   // vblank flip flop
164   // vblank flip flop
165165   TTL_7402_NOR(ic_f5c, ic_f5d.Q, vreset)
166166   TTL_7402_NOR(ic_f5d, ic_f5c.Q, 16V)
167167
r17959r17960
172172   TTL_7410_NAND(ic_g5a, vblank, 4V, ic_h5a.Q)
173173   NET_ALIAS(vsyncQ, ic_g5a.Q)
174174
175   // move logic
175   // move logic
176176
177177   TTL_7400_NAND(ic_e1d, hit_sound, ic_e1c.Q)
178178   TTL_7400_NAND(ic_e1c, ic_f1.QC, ic_f1.QD)
r17959r17960
201201   NET_ALIAS(Aa, ic_h4c.Q)
202202   NET_ALIAS(Ba, ic_h4b.Q)
203203
204   // hvid circuit
204   // hvid circuit
205205
206206   TTL_7400_NAND(hball_resetQ, Serve, attractQ)
207207
r17959r17960
212212   TTL_7420_NAND(ic_h6b, ic_g6b.Q, ic_h7.RC, ic_g7.QC, ic_g7.QD)
213213   NET_ALIAS(hvidQ, ic_h6b.Q)
214214
215   // vvid circuit
215   // vvid circuit
216216
217217   TTL_9316(ic_b3, hsyncQ, high, vblankQ, high, ic_b2b.Q, a6, b6, c6, d6)
218218   TTL_9316(ic_a3, hsyncQ, ic_b3.RC, high, high, ic_b2b.Q, low, low, low, low)
219219   TTL_7400_NAND(ic_b2b, ic_a3.RC, ic_b3.RC)
220220   TTL_7410_NAND(ic_e2b, ic_a3.RC, ic_b3.QC, ic_b3.QD)
221221   NET_ALIAS(vvidQ, ic_e2b.Q)
222   TTL_7404_INVERT(vvid, vvidQ)   // D2D
222   TTL_7404_INVERT(vvid, vvidQ)   // D2D
223223   NET_ALIAS(vpos256, ic_a3.RC)
224224   NET_ALIAS(vpos32, ic_a3.QB)
225225   NET_ALIAS(vpos16, ic_a3.QA)
226226
227   // vball ctrl circuit
227   // vball ctrl circuit
228228
229229   TTL_7450_ANDORINVERT(ic_a6a, b1, 256HQ, b2, 256H)
230230   TTL_7450_ANDORINVERT(ic_a6b, c1, 256HQ, c2, 256H)
r17959r17960
233233   TTL_7474(ic_a5b, hit, ic_a6a, attractQ, high)
234234   TTL_7474(ic_a5a, hit, ic_a6b, attractQ, high)
235235   TTL_7474(ic_b5a, hit, ic_b6b, attractQ, high)
236   TTL_74107(ic_h2x, vblank, vvid, vvid, hitQ)   // two marked at position h2a ==> this h2x
236   TTL_74107(ic_h2x, vblank, vvid, vvid, hitQ)   // two marked at position h2a ==> this h2x
237237
238238   TTL_7486_XOR(ic_a4c, ic_a5b.Q, ic_h2x.Q)
239239   TTL_7486_XOR(ic_a4b, ic_a5a.Q, ic_h2x.Q)
r17959r17960
248248   NET_ALIAS(c6, ic_b4.SC)
249249   NET_ALIAS(d6, ic_b4.SD)
250250
251   // serve monoflop
251   // serve monoflop
252252   TTL_7404_INVERT(f4_trig, rstspeed)
253253   NE555N_MSTABLE(ic_f4_serve, f4_trig, NC)
254254   NETDEV_PARAM(ic_f4_serve.R, RES_K(330))
r17959r17960
260260   NET_ALIAS(Serve, ic_b5b_serve.QQ)
261261   NET_ALIAS(ServeQ, ic_b5b_serve.Q)
262262
263   // score logic
263   // score logic
264264
265265   TTL_7474(ic_h3a, 4H, 128H, high, attractQ)
266266
267   // sound logic
267   // sound logic
268268   TTL_7474(ic_c2a, vpos256, high, hitQ, high)
269269   TTL_74107(ic_f3_topbot, vblank, vvid, vvidQ, ServeQ)
270270   NE555N_MSTABLE(ic_g4_sc, MissQ, NC)
271   NET_ALIAS(SC, ic_g4_sc.Q)       // monoflop with NE555 determines score sound
271   NET_ALIAS(SC, ic_g4_sc.Q)       // monoflop with NE555 determines score sound
272272   NETDEV_PARAM(ic_g4_sc.R, RES_K(220))
273273   NETDEV_PARAM(ic_g4_sc.C, CAP_U(1))
274274
r17959r17960
282282   NET_ALIAS(sound, ic_c1b.Q)
283283
284284
285   // paddle1 logic 1 
285   // paddle1 logic 1
286286
287287   NE555N_MSTABLE(ic_b9, 256VQ, P1)
288288   NETDEV_PARAM(ic_b9.R, RES_K(90))
r17959r17960
299299   NET_ALIAS(c1, ic_b8.QC)
300300   NET_ALIAS(d1, ic_b8.QD)
301301
302   // paddle1 logic 2
302   // paddle1 logic 2
303303
304304   NE555N_MSTABLE(ic_a9, 256VQ, P2)
305305   NETDEV_PARAM(ic_a9.R, RES_K(90))
r17959r17960
316316   NET_ALIAS(c2, ic_a8.QC)
317317   NET_ALIAS(d2, ic_a8.QD)
318318
319   // C5-EN Logic
319   // C5-EN Logic
320320
321321   TTL_7404_INVERT(ic_e3a, 128H)
322322   TTL_7427_NOR( ic_e3b, 256H, 64H, ic_e3a.Q)
r17959r17960
327327   TTL_7425_NOR(ic_f2a, ic_g1a.Q, 64V, 128V, ic_d2c.Q)
328328   NET_ALIAS(c5-en, ic_f2a.Q)
329329
330   // Score logic ...
330   // Score logic ...
331331
332332   TTL_7402_NOR(ic_f5b, L, Missed)
333333   TTL_7490(ic_c7, ic_f5b, SRST, SRST, low, low)
334334   TTL_74107(ic_c8a, ic_c7.QD, high, high, SRSTQ)
335335   NETDEV_SWITCH2(sw1a, high, ic_c7.QC)
336336   NETDEV_PARAM(sw1a.POS, 0)
337   TTL_7410_NAND(ic_d8a, ic_c7.QA, sw1a.Q, ic_c8a.Q)      // would be nand2 for 11 instead of 15 points, need a switch dev!
337   TTL_7410_NAND(ic_d8a, ic_c7.QA, sw1a.Q, ic_c8a.Q)      // would be nand2 for 11 instead of 15 points, need a switch dev!
338338
339339   NET_ALIAS(StopG1Q, ic_d8a.Q)
340340   NET_ALIAS(score1_1, ic_c7.QA)
r17959r17960
349349   TTL_74107(ic_c8b, ic_d7.QD, high, high, SRSTQ)
350350   NETDEV_SWITCH2(sw1b, high, ic_d7.QC)
351351   NETDEV_PARAM(sw1b.POS, 0)
352   TTL_7410_NAND(ic_d8b, ic_d7.QA, sw1b.Q, ic_c8b.Q)      // would be nand2 for 11 instead of 15 points, need a switch dev!
352   TTL_7410_NAND(ic_d8b, ic_d7.QA, sw1b.Q, ic_c8b.Q)      // would be nand2 for 11 instead of 15 points, need a switch dev!
353353
354354   NET_ALIAS(StopG2Q, ic_d8b.Q)
355355   NET_ALIAS(score2_1, ic_d7.QA)
r17959r17960
359359   NET_ALIAS(score2_10, ic_c8b.Q)
360360   NET_ALIAS(score2_10Q, ic_c8b.QQ)
361361
362   // Score display
362   // Score display
363363
364364   TTL_74153(ic_d6a, score1_10Q, score1_4, score2_10Q, score2_4, 32H, 64H, low)
365365   TTL_74153(ic_d6b, score1_10Q, score1_8, score2_10Q, score2_8, 32H, 64H, low)
r17959r17960
397397   TTL_7430_NAND(ic_d3, ic_d4a, ic_d5c, ic_c4c, ic_d5a, ic_d4c, ic_d4b, ic_d5b, high)
398398   NET_ALIAS(score, ic_d3.Q)      //FIXME
399399
400   // net
400   // net
401401   TTL_74107(ic_f3b, clk, 256H, 256HQ, high)
402402   TTL_7400_NAND(ic_g3b, ic_f3b.QQ, 256H)
403403   TTL_7427_NOR(ic_g2b, ic_g3b.Q, vblank, 4V)
404404   NET_ALIAS(net, ic_g2b.Q)
405405
406   // video
406   // video
407407   TTL_7402_NOR(ic_g1b, hvidQ, vvidQ)
408408   TTL_7425_NOR(ic_f2b, ic_g1b.Q, pad1, pad2, net)
409409   TTL_7404_INVERT(ic_e4e, ic_f2b.Q)
r17959r17960
675675   PORT_START("VR2")
676676   PORT_ADJUSTER( 63, "VR2 - 50k, Paddle 2 adjustment" )   PORT_CHANGED_MEMBER(DEVICE_SELF, pong_state, input_changed, IC_VR2)
677677   //PORT_START("GATESPEED")
678   //PORT_ADJUSTER( 100, "Logic Gate Delay" ) PORT_MINMAX(10, 200)   PORT_CHANGED_MEMBER(DEVICE_SELF, pong_state, input_changed, IC_GATEDELAY)
678   //PORT_ADJUSTER( 100, "Logic Gate Delay" ) PORT_MINMAX(10, 200) PORT_CHANGED_MEMBER(DEVICE_SELF, pong_state, input_changed, IC_GATEDELAY)
679679
680680INPUT_PORTS_END
681681
trunk/src/mame/drivers/calchase.c
r17959r17960
918918   pic8259_ir1_w(drvstate->m_pic8259_1, state);
919919}
920920
921static const ide_config ide_intf =
921static const ide_config ide_intf =
922922{
923   ide_interrupt,
924   NULL,
923   ide_interrupt,
924   NULL,
925925   0
926926};
927927
trunk/src/mame/drivers/vegas.c
r17959r17960
442442
443443
444444
445struct dynamic_address
445struct dynamic_address
446446{
447447   offs_t         start;
448448   offs_t         end;
r17959r17960
22222222   SYSTEM_CLOCK   /* system clock rate */
22232223};
22242224
2225static const ide_config ide_intf =
2225static const ide_config ide_intf =
22262226{
2227   ide_interrupt,
2228   "maincpu",
2227   ide_interrupt,
2228   "maincpu",
22292229   AS_PROGRAM
22302230};
22312231
2232static const smc91c9x_config ethernet_intf =
2232static const smc91c9x_config ethernet_intf =
22332233{
22342234   ethernet_interrupt
22352235};
22362236
22372237static const voodoo_config voodoo_intf =
22382238{
2239   2, //            fbmem;
2240   4,//            tmumem0;
2241   4,//            tmumem1;
2242   "screen",//      screen;
2243   "maincpu",//         cputag;
2244   vblank_assert,//   vblank;
2245   NULL,//            stall;
2239   2, //               fbmem;
2240   4,//                tmumem0;
2241   4,//                tmumem1;
2242   "screen",//     screen;
2243   "maincpu",//            cputag;
2244   vblank_assert,//    vblank;
2245   NULL,//             stall;
22462246};
22472247
22482248static MACHINE_CONFIG_START( vegascore, vegas_state )
r17959r17960
22922292
22932293static const voodoo_config vegasban_voodoo_intf =
22942294{
2295   16, //            fbmem;
2296   0,//            tmumem0;
2297   0,//            tmumem1;
2298   "screen",//      screen;
2299   "maincpu",//         cputag;
2300   vblank_assert,//   vblank;
2301   NULL,//            stall;
2295   16, //              fbmem;
2296   0,//                tmumem0;
2297   0,//                tmumem1;
2298   "screen",//     screen;
2299   "maincpu",//            cputag;
2300   vblank_assert,//    vblank;
2301   NULL,//             stall;
23022302};
23032303static MACHINE_CONFIG_DERIVED( vegasban, vegascore )
23042304   MCFG_FRAGMENT_ADD(dcs2_audio_2104)
r17959r17960
23072307   MCFG_CPU_PROGRAM_MAP(vegas_map_32mb)
23082308
23092309   MCFG_DEVICE_REMOVE("voodoo")
2310   MCFG_3DFX_VOODOO_BANSHEE_ADD("voodoo", STD_VOODOO_BANSHEE_CLOCK, vegasban_voodoo_intf)   
2310   MCFG_3DFX_VOODOO_BANSHEE_ADD("voodoo", STD_VOODOO_BANSHEE_CLOCK, vegasban_voodoo_intf)
23112311MACHINE_CONFIG_END
23122312
23132313
trunk/src/mame/drivers/magictg.c
r17959r17960
901901
902902static const voodoo_config voodoo_1_intf =
903903{
904   2, //            fbmem;
905   4,//            tmumem0;
906   0,//            tmumem1;
907   "screen",//         screen;
908   "mips",//         cputag;
909   NULL,//            vblank;
910   NULL,//            stall;
904   2, //               fbmem;
905   4,//                tmumem0;
906   0,//                tmumem1;
907   "screen",//         screen;
908   "mips",//           cputag;
909   NULL,//             vblank;
910   NULL,//             stall;
911911};
912912
913913static const voodoo_config voodoo_2_intf =
914914{
915   2, //            fbmem;
916   4,//            tmumem0;
917   0,//            tmumem1;
918   "screen",//         screen;
919   "mips",//         cputag;
920   NULL,//vblank_assert            vblank;
921   NULL,//   voodoo_stall         stall;
915   2, //               fbmem;
916   4,//                tmumem0;
917   0,//                tmumem1;
918   "screen",//         screen;
919   "mips",//           cputag;
920   NULL,//vblank_assert                vblank;
921   NULL,// voodoo_stall            stall;
922922};
923923/*************************************
924924 *
trunk/src/mame/drivers/finalizr.c
r17959r17960
240240 *  Sound interface
241241 *
242242 *************************************/
243 
244 
243
244
245245//-------------------------------------------------
246246//  sn76496_config psg_intf
247247//-------------------------------------------------
trunk/src/mame/drivers/xtom3d.c
r17959r17960
678678   machine().root_device().membank("video_bank2")->set_base(machine().root_device().memregion("video_bios")->base() + 0x4000);
679679}
680680
681static const ide_config ide_intf =
681static const ide_config ide_intf =
682682{
683   ide_interrupt,
684   NULL,
683   ide_interrupt,
684   NULL,
685685   0
686686};
687687
trunk/src/mame/drivers/gticlub.c
r17959r17960
885885
886886static const voodoo_config voodoo_l_intf =
887887{
888   2, //            fbmem;
889   2,//            tmumem0;
890   2,//            tmumem1;
891   "lscreen",//      screen;
892   "dsp",//         cputag;
893   voodoo_vblank_0,//   vblank;
894   NULL,//            stall;
888   2, //               fbmem;
889   2,//                tmumem0;
890   2,//                tmumem1;
891   "lscreen",//        screen;
892   "dsp",//            cputag;
893   voodoo_vblank_0,//  vblank;
894   NULL,//             stall;
895895};
896896
897897static const voodoo_config voodoo_r_intf =
898898{
899   2, //            fbmem;
900   2,//            tmumem0;
901   2,//            tmumem1;
902   "rscreen",//      screen;
903   "dsp2",//         cputag;
904   voodoo_vblank_1,//   vblank;
905   NULL,//            stall;
899   2, //               fbmem;
900   2,//                tmumem0;
901   2,//                tmumem1;
902   "rscreen",//        screen;
903   "dsp2",//           cputag;
904   voodoo_vblank_1,//  vblank;
905   NULL,//             stall;
906906};
907907
908908static MACHINE_CONFIG_START( hangplt, gticlub_state )
trunk/src/mame/drivers/goldstar.c
r17959r17960
60466046   MCFG_SOUND_ADD("snsnd", SN76489_NEW, PSG_CLOCK)
60476047   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
60486048   MCFG_SOUND_CONFIG(psg_intf)
6049   
6049
60506050   MCFG_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
60516051   MCFG_SOUND_CONFIG(ay8910_config)
60526052   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
trunk/src/mame/drivers/spectra.c
r17959r17960
11/******************************************************************************************
2  Pinball 
2  Pinball
33  Valley Spectra IV
44  -----------------
55  Rotating game, like Midway's "Rotation VIII".
trunk/src/mame/drivers/polepos.c
r17959r17960
862862   1            /* stereo */
863863};
864864
865const namco_06xx_config polepos_namco_06xx_intf =
865const namco_06xx_config polepos_namco_06xx_intf =
866866{
867867   "maincpu", "51xx", "53xx", "52xx", "54xx"
868868};
869869
870const namco_54xx_config polepos_namco_54xx_intf =
870const namco_54xx_config polepos_namco_54xx_intf =
871871{
872872   "discrete", NODE_01
873873};
r17959r17960
953953   }
954954};
955955
956const namco_06xx_config topracern_namco_06xx_intf =
956const namco_06xx_config topracern_namco_06xx_intf =
957957{
958958   "maincpu", "51xx", NULL, NULL, NULL
959959};
trunk/src/mame/drivers/qdrmfgp.c
r17959r17960
665665 *  Machine driver
666666 *
667667 *************************************/
668static const ide_config ide_intf =
668static const ide_config ide_intf =
669669{
670   ide_interrupt,
671   NULL,
670   ide_interrupt,
671   NULL,
672672   0
673673};
674674
r17959r17960
707707   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
708708MACHINE_CONFIG_END
709709
710static const ide_config qdrmfgp2_ide_intf =
710static const ide_config qdrmfgp2_ide_intf =
711711{
712   gp2_ide_interrupt,
713   NULL,
712   gp2_ide_interrupt,
713   NULL,
714714   0
715715};
716716static MACHINE_CONFIG_START( qdrmfgp2, qdrmfgp_state )
trunk/src/mame/drivers/pachifev.c
r17959r17960
253253 *  Sound interface
254254 *
255255 *************************************/
256 
257 
256
257
258258//-------------------------------------------------
259259//  sn76496_config psg_intf
260260//-------------------------------------------------
trunk/src/mame/drivers/segag80r.c
r17959r17960
819819 *  Sound interface
820820 *
821821 *************************************/
822 
823 
822
823
824824//-------------------------------------------------
825825//  sn76496_config psg_intf
826826//-------------------------------------------------
trunk/src/mame/drivers/glass.c
r17959r17960
308308/* How does the protection work?
309309
310310  We know in World Rally it shares the whole of main RAM with the Dallas, with subtle reads and writes / values being checked.. so I guess this will be similar at least
311  and thus very hard to figure out if done properly
311  and thus very hard to figure out if done properly
312312
313313 */
314314
r17959r17960
323323
324324      // there are also various code segments like the one below
325325      /*
326      start:
327      tst.b   this address
328      bne     end
329      tst.b   $fede1d.l
330      nop << why?
331      bne     start
332      end:
333      */
326        start:
327        tst.b   this address
328        bne     end
329        tst.b   $fede1d.l
330        nop << why?
331        bne     start
332        end:
333        */
334334      return 0x0000;
335335      //printf("%06x read %06x - %04x %04x\n", pc , (offset*2 + 0xfec000), ret, mem_mask);
336336   }
r17959r17960
354354
355355   if (offset == (0xfede02 - 0xfec000)>>1)
356356   {
357//      printf("%06x write %06x - %04x %04x\n",  pc, (offset*2 + 0xfec000), data, mem_mask);
357//      printf("%06x write %06x - %04x %04x\n",  pc, (offset*2 + 0xfec000), data, mem_mask);
358358      // several checks write here then expect it to appear mirrored, might be some kind of command + command ack
359359      if (mem_mask & 0xff00) // sometimes mask 0xff00, but not in cases which poll for change
360360      {
r17959r17960
390390   }
391391
392392}
393   
394393
394
395395DRIVER_INIT_MEMBER(glass_state,glass)
396396{
397397   /*
trunk/src/mame/drivers/seattle.c
r17959r17960
25202520   SYSTEM_CLOCK   /* system clock rate */
25212521};
25222522
2523static const ide_config ide_intf =
2523static const ide_config ide_intf =
25242524{
2525   ide_interrupt,
2526   "maincpu",
2525   ide_interrupt,
2526   "maincpu",
25272527   AS_PROGRAM
25282528};
25292529
25302530static const voodoo_config voodoo_intf =
25312531{
2532   2, //            fbmem;
2533   4,//            tmumem0;
2534   0,//            tmumem1;
2535   "screen",//         screen;
2536   "maincpu",//         cputag;
2537   vblank_assert,//   vblank;
2538   voodoo_stall,//            stall;
2532   2, //               fbmem;
2533   4,//                tmumem0;
2534   0,//                tmumem1;
2535   "screen",//         screen;
2536   "maincpu",//            cputag;
2537   vblank_assert,//    vblank;
2538   voodoo_stall,//             stall;
25392539};
25402540
25412541static MACHINE_CONFIG_START( seattle_common, seattle_state )
r17959r17960
25792579   MCFG_CPU_PROGRAM_MAP(seattle_map)
25802580MACHINE_CONFIG_END
25812581
2582static const smc91c9x_config ethernet_intf =
2582static const smc91c9x_config ethernet_intf =
25832583{
25842584   ethernet_interrupt
25852585};
r17959r17960
26042604
26052605static const voodoo_config voodoo_2_intf =
26062606{
2607   2, //            fbmem;
2608   4,//            tmumem0;
2609   4,//            tmumem1;
2610   "screen",//         screen;
2611   "maincpu",//         cputag;
2612   vblank_assert,//   vblank;
2613   voodoo_stall,//            stall;
2607   2, //               fbmem;
2608   4,//                tmumem0;
2609   4,//                tmumem1;
2610   "screen",//         screen;
2611   "maincpu",//            cputag;
2612   vblank_assert,//    vblank;
2613   voodoo_stall,//             stall;
26142614};
26152615
26162616static MACHINE_CONFIG_DERIVED( flagstaff, seattle_common )
trunk/src/mame/drivers/galaxold.c
r17959r17960
21452145 *  Sound interface
21462146 *
21472147 *************************************/
2148 
2149 
2148
2149
21502150//-------------------------------------------------
21512151//  sn76496_config psg_intf
21522152//-------------------------------------------------
trunk/src/mame/drivers/circusc.c
r17959r17960
303303 *  Sound interface
304304 *
305305 *************************************/
306 
307 
306
307
308308//-------------------------------------------------
309309//  sn76496_config psg_intf
310310//-------------------------------------------------
trunk/src/mame/drivers/midvunit.c
r17959r17960
10371037   MCFG_FRAGMENT_ADD(dcs_audio_2k)
10381038MACHINE_CONFIG_END
10391039
1040static const ide_config ide_intf =
1040static const ide_config ide_intf =
10411041{
1042   NULL,
1043   NULL,
1042   NULL,
1043   NULL,
10441044   0
10451045};
10461046
trunk/src/mame/drivers/firebeat.c
r17959r17960
121121#include "firebeat.lh"
122122
123123
124struct GCU_REGS
124struct GCU_REGS
125125{
126126   UINT32 *vram;
127127   UINT32 vram_read_address;
r17959r17960
129129   UINT32 visible_area;
130130};
131131
132struct IBUTTON_SUBKEY
132struct IBUTTON_SUBKEY
133133{
134134   UINT8 identifier[8];
135135   UINT8 password[8];
136136   UINT8 data[0x30];
137137};
138138
139struct IBUTTON
139struct IBUTTON
140140{
141141   IBUTTON_SUBKEY subkey[3];
142142};
trunk/src/mame/drivers/sg1000a.c
r17959r17960
271271 *  Sound interface
272272 *
273273 *************************************/
274 
275 
274
275
276276//-------------------------------------------------
277277//  sn76496_config psg_intf
278278//-------------------------------------------------
trunk/src/mame/drivers/panicr.c
r17959r17960
304304   // d6, d7: play counter? (it only triggers on 1st coin)
305305   coin_counter_w(machine(), 0, (data & 0x40) ? 1 : 0);
306306   coin_counter_w(machine(), 1, (data & 0x80) ? 1 : 0);
307   
307
308308   // other bits: ?
309309}
310310
trunk/src/mame/drivers/galaga.c
r17959r17960
16531653      device->execute().set_input_line(0, ASSERT_LINE);
16541654}
16551655
1656const namco_06xx_config bosco_namco_06xx_0_intf =
1656const namco_06xx_config bosco_namco_06xx_0_intf =
16571657{
16581658   "maincpu", "51xx",   NULL,   "50xx_1", "54xx"
16591659};
16601660
1661const namco_06xx_config bosco_namco_06xx_1_intf =
1661const namco_06xx_config bosco_namco_06xx_1_intf =
16621662{
16631663   "sub",     "50xx_2", "52xx", NULL,     NULL
16641664};
16651665
1666const namco_54xx_config namco_54xx_intf =
1666const namco_54xx_config namco_54xx_intf =
16671667{
16681668   "discrete", NODE_01
16691669};
r17959r17960
17231723MACHINE_CONFIG_END
17241724
17251725
1726const namco_06xx_config galaga_namco_06xx_intf =
1726const namco_06xx_config galaga_namco_06xx_intf =
17271727{
17281728   "maincpu", "51xx", NULL, NULL, "54xx"
17291729};
r17959r17960
17781778   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
17791779MACHINE_CONFIG_END
17801780
1781const namco_06xx_config galagab_namco_06xx_intf =
1781const namco_06xx_config galagab_namco_06xx_intf =
17821782{
17831783   "maincpu", "51xx", NULL, NULL, NULL
17841784};
r17959r17960
18001800   MCFG_DEVICE_REMOVE("discrete")
18011801MACHINE_CONFIG_END
18021802
1803const namco_06xx_config xevious_namco_06xx_intf =
1803const namco_06xx_config xevious_namco_06xx_intf =
18041804{
18051805   "maincpu", "51xx", NULL, "50xx", "54xx"
18061806};
r17959r17960
18551855   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
18561856MACHINE_CONFIG_END
18571857
1858const namco_06xx_config battles_namco_06xx_intf =
1858const namco_06xx_config battles_namco_06xx_intf =
18591859{
18601860   "maincpu", "51xx", NULL, NULL, NULL
18611861};
r17959r17960
18891889   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
18901890MACHINE_CONFIG_END
18911891
1892const namco_06xx_config digdug_namco_06xx_intf =
1892const namco_06xx_config digdug_namco_06xx_intf =
18931893{
18941894   "maincpu", "51xx", "53xx", NULL, NULL
18951895};
trunk/src/mame/drivers/lasso.c
r17959r17960
463463 *  Sound interface
464464 *
465465 *************************************/
466 
467 
466
467
468468//-------------------------------------------------
469469//  sn76496_config psg_intf
470470//-------------------------------------------------
r17959r17960
480480
481481   m_maincpu = machine().device<cpu_device>("maincpu");
482482   m_audiocpu = machine().device<cpu_device>("audiocpu");
483   
483
484484   save_item(NAME(m_gfxbank));
485485}
486486
trunk/src/mame/drivers/nss.c
r17959r17960
11/***************************************************************************
22
3   Nintendo Super System
3    Nintendo Super System
44
5   driver by Angelo Salese, based off info from Noca$h
5    driver by Angelo Salese, based off info from Noca$h
66
7   TODO:
8   - EEPROM doesn't save?
9   - Fix sound CPU halt / reset lines, particularly needed by this to work
10     correctly;
11   - Fix continue behaviour, might be the same issue as the one above.
12   - Various M50458 bits
13   - OSD should actually super-impose with the SNES video somehow;
7    TODO:
8    - EEPROM doesn't save?
9    - Fix sound CPU halt / reset lines, particularly needed by this to work
10      correctly;
11    - Fix continue behaviour, might be the same issue as the one above.
12    - Various M50458 bits
13    - OSD should actually super-impose with the SNES video somehow;
1414
15   Notes:
16   - Multi-Cart BIOS works only with F-Zero, Super Tennis and Super Mario
17     World;
15    Notes:
16    - Multi-Cart BIOS works only with F-Zero, Super Tennis and Super Mario
17      World;
1818
1919***************************************************************************
2020
r17959r17960
505505READ8_MEMBER(nss_state::port_00_r)
506506{
507507/*
508   x--- ----   SNES Watchdog (0=SNES did read Joypads, 1=Didn't do so) (ack via 07h.W)
509   -x-- ----   Vblank or Vsync or so       (0=What, 1=What?)
510   --x- ----   Button "Joypad Button B?"   (0=Released, 1=Pressed)
511   ---x ----   Button "Joypad Button A"    (0=Released, 1=Pressed)
512   ---- x---   Button "Joypad Down"        (0=Released, 1=Pressed)
513   ---- -x--   Button "Joypad Up"          (0=Released, 1=Pressed)
514   ---- --x-   Button "Joypad Left"        (0=Released, 1=Pressed)
515   ---- ---x   Button "Joypad Right"       (0=Released, 1=Pressed)
508    x--- ----   SNES Watchdog (0=SNES did read Joypads, 1=Didn't do so) (ack via 07h.W)
509    -x-- ----   Vblank or Vsync or so       (0=What, 1=What?)
510    --x- ----   Button "Joypad Button B?"   (0=Released, 1=Pressed)
511    ---x ----   Button "Joypad Button A"    (0=Released, 1=Pressed)
512    ---- x---   Button "Joypad Down"        (0=Released, 1=Pressed)
513    ---- -x--   Button "Joypad Up"          (0=Released, 1=Pressed)
514    ---- --x-   Button "Joypad Left"        (0=Released, 1=Pressed)
515    ---- ---x   Button "Joypad Right"       (0=Released, 1=Pressed)
516516*/
517517   UINT8 res;
518518
r17959r17960
531531WRITE8_MEMBER(nss_state::port_00_w)
532532{
533533/*
534   xxxx ---- Unknown/unused      (should be always 0)
535    ---- x--- Maybe SNES CPU/PPU reset (usually same as Port 01h.W.Bit1)
536   ---- -x-- RAM at 9000h-9FFFh  (0=Disable/Protect, 1=Enable/Unlock)
537   ---- --x- Looks like maybe somehow NMI Related ?    ;\or one of these is PC10-style
538   ---- ---x Looks like NMI Enable                     ;/hardware-watchdog reload?
534    xxxx ---- Unknown/unused      (should be always 0)
535    ---- x--- Maybe SNES CPU/PPU reset (usually same as Port 01h.W.Bit1)
536    ---- -x-- RAM at 9000h-9FFFh  (0=Disable/Protect, 1=Enable/Unlock)
537    ---- --x- Looks like maybe somehow NMI Related ?    ;\or one of these is PC10-style
538    ---- ---x Looks like NMI Enable                     ;/hardware-watchdog reload?
539539*/
540540   m_wram_wp_flag = (data & 4) >> 2;
541541   m_nmi_enable = data & 1;
r17959r17960
545545WRITE8_MEMBER(nss_state::port_01_w)
546546{
547547/*
548   x--- ---- Maybe SNES Joypad Enable? (0=Disable/Demo, 1=Enable/Game)
549   -x-- ---- Unknown/unused        (should be always 0)
550   --x- ---- SNES Sound Mute       (0=Normal, 1=Mute) (for optional mute in demo mode)
551   ---x ---- Unknown  ;from INST-ROM flag! (Lo/HiROM, 2-player, zapper, volume or so?)
552   ---- xx-- Slot Select        (0..2 for Slot 1..3) (mapping to both SNES and Z80)
553   ---- --x- Maybe SNES CPU pause?  (cleared on deposit coin to continue) (1=Run)
554   ---- ---x Maybe SNES CPU/PPU reset?   (0=Reset, 1=Run)
548    x--- ---- Maybe SNES Joypad Enable? (0=Disable/Demo, 1=Enable/Game)
549    -x-- ---- Unknown/unused        (should be always 0)
550    --x- ---- SNES Sound Mute       (0=Normal, 1=Mute) (for optional mute in demo mode)
551    ---x ---- Unknown  ;from INST-ROM flag! (Lo/HiROM, 2-player, zapper, volume or so?)
552    ---- xx-- Slot Select        (0..2 for Slot 1..3) (mapping to both SNES and Z80)
553    ---- --x- Maybe SNES CPU pause?  (cleared on deposit coin to continue) (1=Run)
554    ---- ---x Maybe SNES CPU/PPU reset?   (0=Reset, 1=Run)
555555*/
556556   m_input_disabled = ((data & 0x80) >> 7) ^ 1;
557557   spc700_set_volume(machine().device("spc700"),data & 0x20 ? 0.0 : 100.0);
r17959r17960
570570WRITE8_MEMBER(nss_state::port_02_w)
571571{
572572/*
573   x--- ----  OSD Clock ?       (usually same as Bit6)  ;\Chip Select when Bit6=Bit7 ?
574   -x-- ----  OSD Clock ?       (usually same as Bit7)  ;/
575   --x- ----  OSD Data Out      (0=Low=Zero, 1=High=One)
576   ---x ----  OSD Special       (?)  ... or just /CS ? (or software index DC3F/DD3F?)
577   ---- x---  RTC /CLK          (0=Low=Clock,  1=High=Idle)              ;S-3520
578   ---- -x--  RTC Data Out      (0=Low=Zero,   1=High=One)
579   ---- --x-  RTC Direction     (0=Low=Write,  1=High=Read)
580   ---- ---x  RTC /CS           (0=Low/Select, 1=High/No)
573    x--- ----  OSD Clock ?       (usually same as Bit6)  ;\Chip Select when Bit6=Bit7 ?
574    -x-- ----  OSD Clock ?       (usually same as Bit7)  ;/
575    --x- ----  OSD Data Out      (0=Low=Zero, 1=High=One)
576    ---x ----  OSD Special       (?)  ... or just /CS ? (or software index DC3F/DD3F?)
577    ---- x---  RTC /CLK          (0=Low=Clock,  1=High=Idle)              ;S-3520
578    ---- -x--  RTC Data Out      (0=Low=Zero,   1=High=One)
579    ---- --x-  RTC Direction     (0=Low=Write,  1=High=Read)
580    ---- ---x  RTC /CS           (0=Low/Select, 1=High/No)
581581*/
582//   printf("%02x\n",data & 0xf);
582//  printf("%02x\n",data & 0xf);
583583   ioport("RTC_OSD")->write(data, 0xff);
584584}
585585
586586WRITE8_MEMBER(nss_state::port_03_w)
587587{
588588/*
589   x--- ----     Layer SNES Enable?             (used by token proc, see 7A46h) SNES?
590   -x-- ----     Layer OSD Enable?
591   --xx ---- Unknown/unused (should be always 0)
592   ---- x---   LED Instructions (0=Off, 1=On)  ;-glows in demo (prompt for INST button)
593   ---- -x--   LED Game 3       (0=Off, 1=On)  ;\
594   ---- --x-   LED Game 2       (0=Off, 1=On)  ; blinked when enough credits inserted
595   ---- ---x   LED Game 1       (0=Off, 1=On)  ;/
589    x--- ----     Layer SNES Enable?             (used by token proc, see 7A46h) SNES?
590    -x-- ----     Layer OSD Enable?
591    --xx ---- Unknown/unused (should be always 0)
592    ---- x---   LED Instructions (0=Off, 1=On)  ;-glows in demo (prompt for INST button)
593    ---- -x--   LED Game 3       (0=Off, 1=On)  ;\
594    ---- --x-   LED Game 2       (0=Off, 1=On)  ; blinked when enough credits inserted
595    ---- ---x   LED Game 1       (0=Off, 1=On)  ;/
596596
597597*/
598//   popmessage("%02x",data);
598//  popmessage("%02x",data);
599599}
600600
601601WRITE8_MEMBER(nss_state::port_04_w)
trunk/src/mame/drivers/namcos2.c
r17959r17960
17601760   MCFG_PALETTE_LENGTH(0x2000)
17611761
17621762   MCFG_VIDEO_START_OVERRIDE(namcos2_state, finallap)
1763   
1763
17641764   MCFG_NAMCO_C45_ROAD_ADD("c45_road")
17651765
17661766   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
trunk/src/mame/drivers/pingpong.c
r17959r17960
447447 *  Sound interface
448448 *
449449 *************************************/
450 
451 
450
451
452452//-------------------------------------------------
453453//  sn76496_config psg_intf
454454//-------------------------------------------------
trunk/src/mame/drivers/retofinv.c
r17959r17960
350350 *  Sound interface
351351 *
352352 *************************************/
353 
354 
353
354
355355//-------------------------------------------------
356356//  sn76496_config psg_intf
357357//-------------------------------------------------
r17959r17960
400400   MCFG_SOUND_ADD("sn1", SN76496_NEW, 18432000/6)
401401   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
402402   MCFG_SOUND_CONFIG(psg_intf)
403   
403
404404   MCFG_SOUND_ADD("sn2", SN76496_NEW, 18432000/6)
405405   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
406406   MCFG_SOUND_CONFIG(psg_intf)
trunk/src/mame/drivers/taitowlf.c
r17959r17960
618618}
619619#endif
620620
621static const ide_config ide_intf =
621static const ide_config ide_intf =
622622{
623   ide_interrupt,
624   NULL,
623   ide_interrupt,
624   NULL,
625625   0
626626};
627627
trunk/src/mame/drivers/taitogn.c
r17959r17960
938938   }
939939}
940940
941static const ide_config ide_intf =
941static const ide_config ide_intf =
942942{
943   NULL,
944   NULL,
943   NULL,
944   NULL,
945945   0
946946};
947947
trunk/src/mame/drivers/jpmmps.c
r17959r17960
152152 *  Sound interface
153153 *
154154 *************************************/
155 
156 
155
156
157157//-------------------------------------------------
158158//  sn76496_config psg_intf
159159//-------------------------------------------------
trunk/src/mame/drivers/funkball.c
r17959r17960
11401140   return 0;
11411141}
11421142
1143static const ide_config ide_intf =
1143static const ide_config ide_intf =
11441144{
1145   ide_interrupt,
1146   NULL,
1145   ide_interrupt,
1146   NULL,
11471147   0
11481148};
11491149
11501150static const voodoo_config voodoo_intf =
11511151{
1152   2, //            fbmem;
1153   4,//            tmumem0;
1154   0,//            tmumem1;
1155   "screen",//         screen;
1156   "maincpu",//      cputag;
1157   NULL,//            vblank;
1158   NULL,//            stall;
1152   2, //               fbmem;
1153   4,//                tmumem0;
1154   0,//                tmumem1;
1155   "screen",//         screen;
1156   "maincpu",//        cputag;
1157   NULL,//             vblank;
1158   NULL,//             stall;
11591159};
11601160
11611161static MACHINE_CONFIG_START( funkball, funkball_state )
trunk/src/mame/drivers/g627.c
r17959r17960
167167   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Test 4") PORT_CODE(KEYCODE_N)
168168   PORT_START("Y5")
169169   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("END") PORT_CODE(KEYCODE_END)
170   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Test 10")
171   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Test 9")
170   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Test 10")
171   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Test 9")
172172   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Test 8") PORT_CODE(KEYCODE_STOP)
173173INPUT_PORTS_END
174174
trunk/src/mame/drivers/peplus.c
r17959r17960
583583READ8_MEMBER(peplus_state::peplus_input0_r)
584584{
585585/*
586      PE+ bill validators have a dip switch setting to switch between ID-022 and ID-023 protocols.
586        PE+ bill validators have a dip switch setting to switch between ID-022 and ID-023 protocols.
587587
588588        Emulating IGT IDO22 Pulse Protocol (IGT Smoke 2.2)
589      ID022 protocol requires a 20ms on/off pulse x times for denomination followed by a 50ms stop pulse.
590      The DBV then waits for at least 3 toggling (ACK) pulses of alternating 20ms each from the game.
591      If no toggling received within 200ms, the bill was rejected by the game (e.g. Max Credits reached).
592      Once toggling received, the DBV stacks the bill and sends a 10ms stacked pulses.
589        ID022 protocol requires a 20ms on/off pulse x times for denomination followed by a 50ms stop pulse.
590        The DBV then waits for at least 3 toggling (ACK) pulses of alternating 20ms each from the game.
591        If no toggling received within 200ms, the bill was rejected by the game (e.g. Max Credits reached).
592        Once toggling received, the DBV stacks the bill and sends a 10ms stacked pulses.
593593
594594        Emulating IGT IDO23 Pulse Protocol (IGT 2.5)
595      ID023 protocol requires a start pulse of 50ms ON followed by a 20ms pause.  Next a 15-bit data stream
596      is sent based on the country code and denomination (see table below).  And finally a 90ms stop pulse.
597      There is then a 200ms pause and the entire sequence is transmitted again two more times.
598      The DBV then waits for the toggling much like the ID-022 protocol above, however ends with two 10ms
599      stack pulses instead of one.
595        ID023 protocol requires a start pulse of 50ms ON followed by a 20ms pause.  Next a 15-bit data stream
596        is sent based on the country code and denomination (see table below).  And finally a 90ms stop pulse.
597        There is then a 200ms pause and the entire sequence is transmitted again two more times.
598        The DBV then waits for the toggling much like the ID-022 protocol above, however ends with two 10ms
599        stack pulses instead of one.
600600
601      Ticket handling has not been emulated.
601        Ticket handling has not been emulated.
602602
603      IDO23 Country Codes
603        IDO23 Country Codes
604604        -------------------
605      0x07 = Canada
605        0x07 = Canada
606606        0x25 = USA
607607
608608        IDO23 USA 15-bit Data Samples:
609      ---------+--------------+--------------+-----------+
610      Bill Amt | Country Code |  Denom Code  |  Checksum |
611609        ---------+--------------+--------------+-----------+
610        Bill Amt | Country Code |  Denom Code  |  Checksum |
611        ---------+--------------+--------------+-----------+
612612        $1       | 1 0 0 1 0 1  |  0 0 1 1 0   |  1 1 0 0  |
613      $2       | 1 0 0 1 0 1  |  0 0 1 1 1   |  1 0 1 1  |
613        $2       | 1 0 0 1 0 1  |  0 0 1 1 1   |  1 0 1 1  |
614614        $5       | 1 0 0 1 0 1  |  0 0 1 0 0   |  1 0 1 1  |
615615        $10      | 1 0 0 1 0 1  |  0 0 1 0 1   |  1 0 1 0  |
616616        $20      | 1 0 0 1 0 1  |  0 0 0 1 0   |  1 0 1 1  |
617617        $50      | 1 0 0 1 0 1  |  0 0 0 0 0   |  1 0 1 0  |
618618        $100     | 1 0 0 1 0 1  |  0 0 0 0 1   |  1 0 0 1  |
619      Ticket   | 1 0 0 1 0 1  |  0 0 0 1 1   |  1 0 1 0  |
620      ---------+--------------+--------------+-----------+
619        Ticket   | 1 0 0 1 0 1  |  0 0 0 1 1   |  1 0 1 0  |
620        ---------+--------------+--------------+-----------+
621621
622622        Direction Data
623623        --------------
r17959r17960
643643         if (m_bv_protocol == 0) {
644644            // ID-022
645645            m_bv_denomination = id_022[m_bv_denomination];
646         
646
647647            if (m_bv_denomination == 0)
648648               m_bv_state = 0x03; // $1 So Skip Credit Pulse
649649            else
r17959r17960
657657
658658            m_bv_state = 0x11;
659659         }
660         
661         m_bv_cycles = curr_cycles;         
660
661         m_bv_cycles = curr_cycles;
662662         m_bv_pulse = 1;
663663         m_bv_enable_count = 0;
664664      }
r17959r17960
682682            m_bv_pulse = 1;
683683
684684            m_bv_denomination--;
685           
685
686686            if (m_bv_denomination == 0)
687687               m_bv_state++; // Done with Credit Pulse
688688            else
r17959r17960
11301130   PORT_CONFSETTING( 0x04, "$20" )
11311131   PORT_CONFSETTING( 0x05, "$50" )
11321132   PORT_CONFSETTING( 0x06, "$100" )
1133   
1133
11341134   PORT_START("BP")
11351135   PORT_CONFNAME( 0x1f, 0x00, "Bill Protocol" )
11361136   PORT_CONFSETTING( 0x00, "ID-022" )
trunk/src/mame/drivers/sprcros2.c
r17959r17960
233233 *  Sound interface
234234 *
235235 *************************************/
236 
237 
236
237
238238//-------------------------------------------------
239239//  sn76496_config psg_intf
240240//-------------------------------------------------
trunk/src/mame/drivers/konamigx.c
r17959r17960
36603660   }
36613661}
36623662
3663struct GXGameInfoT
3663struct GXGameInfoT
36643664{
36653665   const char *romname;
36663666   UINT32 cfgport;
trunk/src/mame/drivers/gberet.c
r17959r17960
384384 *  Sound interface
385385 *
386386 *************************************/
387 
388 
387
388
389389//-------------------------------------------------
390390//  sn76496_config psg_intf
391391//-------------------------------------------------
trunk/src/mame/drivers/homedata.c
r17959r17960
11281128 *  Sound interface
11291129 *
11301130 *************************************/
1131 
1132 
1131
1132
11331133//-------------------------------------------------
11341134//  sn76496_config psg_intf
11351135//-------------------------------------------------
trunk/src/mame/drivers/gamecstl.c
r17959r17960
687687   }
688688};
689689
690static const ide_config ide_intf =
690static const ide_config ide_intf =
691691{
692   ide_interrupt,
693   NULL,
692   ide_interrupt,
693   NULL,
694694   0
695695};
696696
trunk/src/mame/drivers/segas16b.c
r17959r17960
71237123   MCFG_CPU_ADD("maincpu", M68000, 16000000) // no obvious CPU, but seems to be clocked faster than an original system16 based on the boot times
71247124   MCFG_CPU_PROGRAM_MAP(isgsm_map)
71257125   MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)
7126   
7126
71277127MACHINE_CONFIG_END
71287128
71297129DRIVER_INIT_MEMBER(isgsm_state,isgsm)
trunk/src/mame/drivers/nwk-tr.c
r17959r17960
711711
712712static const voodoo_config voodoo_intf =
713713{
714   2, //            fbmem;
715   2,//            tmumem0;
716   2,//            tmumem1;
717   "screen",//         screen;
718   "dsp",//         cputag;
719   voodoo_vblank_0,//   vblank;
720   NULL,//            stall;
714   2, //               fbmem;
715   2,//                tmumem0;
716   2,//                tmumem1;
717   "screen",//         screen;
718   "dsp",//            cputag;
719   voodoo_vblank_0,//  vblank;
720   NULL,//             stall;
721721};
722722
723723static MACHINE_CONFIG_START( nwktr, nwktr_state )
trunk/src/mame/drivers/homerun.c
r17959r17960
1010 *weird* hardware - based on NES version
1111 (gfx bank changed in the middle of screen,
1212  sprites in NES format etc)
13
13
1414 homerun and ganjaja use an extra soundchip for playing voice/samples
15
15
1616Todo :
1717 - dump homerun sample rom
1818 - improve controls/dips
trunk/src/mame/drivers/konamim2.c
r17959r17960
191191#include "cpu/powerpc/ppc.h"
192192
193193
194struct CDE_DMA
194struct CDE_DMA
195195{
196196   UINT32 dst_addr;
197197   int length;
r17959r17960
498498      memcpy(&state->m_cde_toc, toc, sizeof(cdrom_toc));
499499
500500      /*
501      printf("%d tracks\n", toc->numtrks);
502      for (int i=0; i < toc->numtrks; i++)
503      {
504         const cdrom_track_info *track = &toc->tracks[i];
505         printf("Track %d: type %d, subtype %d, datasize %d, subsize %d, frames %d, extraframes %d, physframeofs %d\n",
506               i, track->trktype, track->subtype, track->datasize, track->subsize,track->frames, track->extraframes, track->physframeofs);
507      }
508      */
501        printf("%d tracks\n", toc->numtrks);
502        for (int i=0; i < toc->numtrks; i++)
503        {
504            const cdrom_track_info *track = &toc->tracks[i];
505            printf("Track %d: type %d, subtype %d, datasize %d, subsize %d, frames %d, extraframes %d, physframeofs %d\n",
506                    i, track->trktype, track->subtype, track->datasize, track->subsize,track->frames, track->extraframes, track->physframeofs);
507        }
508        */
509509
510510      cdrom_close(cdfile);
511511   }
trunk/src/tools/jedutil.c
r17959r17960
227227    {14, CNoOutputEnableFuseRow, 240, 264},
228228    {15, CNoOutputEnableFuseRow, 192, 216},
229229    {16, CNoOutputEnableFuseRow, 144, 168},
230    {17, CNoOutputEnableFuseRow, 96, 120},
230    {17, CNoOutputEnableFuseRow, 96, 120},
231231    {18, CNoOutputEnableFuseRow, 0, 72}};
232232
233233static pin_fuse_rows pal12h6pinfuserows[] = {
r17959r17960
235235    {14, CNoOutputEnableFuseRow, 240, 264},
236236    {15, CNoOutputEnableFuseRow, 192, 216},
237237    {16, CNoOutputEnableFuseRow, 144, 168},
238    {17, CNoOutputEnableFuseRow, 96, 120},
238    {17, CNoOutputEnableFuseRow, 96, 120},
239239    {18, CNoOutputEnableFuseRow, 0, 72}};
240240
241241static pin_fuse_rows pal14l4pinfuserows[] = {
r17959r17960
529529    {5, 13, 12},
530530    {6, 17, 16},
531531    {7, 21, 20},
532    {8, 25, 24},
532    {8, 25, 24},
533533    {9, 29, 28},
534534    {12, 31, 30},
535535    {13, 27, 26},
r17959r17960
17021702    else
17031703    {
17041704        fprintf(stderr, "Viewing product terms not supported for this pal type.");
1705       
1705
17061706        return 1;
17071707    }
17081708
trunk/src/osd/osdnet.h
r17959r17960
88#define CREATE_NETDEV(name) class netdev *name(const char *ifname, class device_network_interface *ifdev, int rate)
99typedef class netdev *(*create_netdev)(const char *ifname, class device_network_interface *ifdev, int rate);
1010
11struct netdev_entry_t
11struct netdev_entry_t
1212{
1313   int id;
1414   char name[256];
trunk/src/version.c
r17959r17960
3838***************************************************************************/
3939
4040extern const char build_version[];
41const char build_version[] = "0.146u5 ("__DATE__")";
41const char build_version[] = "0.147 ("__DATE__")";
trunk/src/lib/formats/d88_dsk.c
r17959r17960
446446{
447447   int size = io_generic_size(io);
448448   UINT8 h[32];
449   
449
450450   io_generic_read(io, h, 0, 32);
451451   if((LITTLE_ENDIANIZE_INT32(*(UINT32 *)(h+0x1c)) == size) &&
452452      (h[0x1b] == 0x00 || h[0x1b] == 0x10 || h[0x1b] == 0x20 || h[0x1b] == 0x30 || h[0x1b] == 0x40))
r17959r17960
458458bool d88_format::load(io_generic *io, UINT32 form_factor, floppy_image *image)
459459{
460460   UINT8 h[32];
461   
461
462462   io_generic_read(io, h, 0, 32);
463463
464464   int cell_count = 0;
trunk/src/lib/formats/flopimg.c
r17959r17960
24492449      } else
24502450         memset(sd, 0, sector_size);
24512451   }
2452}
No newline at end of file
2452}
trunk/src/lib/formats/ace_tap.h
r17959r17960
1111
1212#include "cassimg.h"
1313
14struct ace_tape_t
14struct ace_tape_t
1515{
1616   UINT8 hdr_type;
1717   UINT8 hdr_name[10];
trunk/src/lib/formats/xdf_dsk.h
r17959r17960
11/*********************************************************************
22
3   formats/xdf_dsk.h
3    formats/xdf_dsk.h
44
5   x68k bare-bones formats
5    x68k bare-bones formats
66
77*********************************************************************/
88
trunk/src/lib/util/opresolv.h
r17959r17960
9191#define OPTION_ENUM_END
9292
9393
94enum optreserr_t
94enum optreserr_t
9595{
9696   OPTIONRESOLUTION_ERROR_SUCCESS,
9797   OPTIONRESOLUTION_ERROR_OUTOFMEMORY,
trunk/src/lib/util/bitmap.h
r17959r17960
7676   rectangle() { }
7777   rectangle(INT32 minx, INT32 maxx, INT32 miny, INT32 maxy)
7878      : min_x(minx), max_x(maxx), min_y(miny), max_y(maxy) { }
79   
79
8080   // getters
8181   INT32 left() const { return min_x; }
8282   INT32 right() const { return max_x; }
r17959r17960
102102      if (src.max_y > max_y) max_y = src.max_y;
103103      return *this;
104104   }
105   
105
106106   // comparisons
107107   bool operator==(const rectangle &rhs) const { return min_x == rhs.min_x && max_x == rhs.max_x && min_y == rhs.min_y && max_y == rhs.max_y; }
108108   bool operator!=(const rectangle &rhs) const { return min_x != rhs.min_x || max_x != rhs.max_x || min_y != rhs.min_y || max_y != rhs.max_y; }
r17959r17960
128128   void set_height(INT32 height) { max_y = min_y + height - 1; }
129129   void set_origin(INT32 x, INT32 y) { max_x += x - min_x; max_y += y - min_y; min_x = x; min_y = y; }
130130   void set_size(INT32 width, INT32 height) { set_width(width); set_height(height); }
131   
131
132132   // offset helpers
133133   void offset(INT32 xdelta, INT32 ydelta) { min_x += xdelta; max_x += xdelta; min_y += ydelta; max_y += ydelta; }
134134   void offsetx(INT32 delta) { min_x += delta; max_x += delta; }
trunk/src/lib/util/options.c
r17959r17960
813813}
814814
815815//-------------------------------------------------
816//  options_count - take number of existing
816//  options_count - take number of existing
817817//  number of options in structure
818818//-------------------------------------------------
819819
r17959r17960
822822   int number = 0;
823823   for (entry *curentry = m_entrylist; curentry != NULL; curentry = curentry->next()) number++;
824824   return number;
825}
No newline at end of file
825}
trunk/src/emu/sprite.c
r17959r17960
7171   // compute a rectangle in dirty space, and fill it with 1
7272   rectangle rect(left >> m_granularity, right >> m_granularity, top >> m_granularity, bottom >> m_granularity);
7373   m_bitmap.fill(1, rect);
74   
74
7575   // invalidate existing rect list
7676   invalidate_rect_list();
7777}
r17959r17960
9393   // compute a rectangle in dirty space, and fill it with 0
9494   rectangle rect((left + round) >> m_granularity, (right - round) >> m_granularity, (top + round) >> m_granularity, (bottom - round) >> m_granularity);
9595   m_bitmap.fill(0, rect);
96   
96
9797   // invalidate existing rect list
9898   invalidate_rect_list();
9999}
r17959r17960
108108   // set new size
109109   m_width = width;
110110   m_height = height;
111   
111
112112   // resize the bitmap
113113   int round = (1 << m_granularity) - 1;
114114   m_bitmap.resize((width + round) >> m_granularity, (height + round) >> m_granularity);
115   
115
116116   // reset everything
117117   dirty_all();
118118}
r17959r17960
120120
121121//-------------------------------------------------
122122//  first_dirty_rect -- return the first dirty
123//   rectangle in the list
123//  rectangle in the list
124124//-------------------------------------------------
125125
126126sparse_dirty_rect *sparse_dirty_bitmap::first_dirty_rect(const rectangle &cliprect)
r17959r17960
128128   // if what we have is valid, just return it again
129129   if (m_rect_list_bounds == cliprect)
130130      return m_rect_list.first();
131   
131
132132   // reclaim the dirty list and start over
133133   m_rect_allocator.reclaim_all(m_rect_list);
134   
134
135135   // compute dirty space rectangle coordinates
136136   int sx = cliprect.min_x >> m_granularity;
137137   int ex = cliprect.max_x >> m_granularity;
r17959r17960
156156            currect = NULL;
157157            continue;
158158         }
159     
159
160160         // if we can't add to an existing rect, create a new one
161161         if (currect == NULL)
162162         {
trunk/src/emu/cpu/m6805/m6805.c
r17959r17960
4545};
4646
4747/* 6805 Registers */
48struct m6805_Regs
48struct m6805_Regs
4949{
5050   /* Pre-pointerafied public globals */
5151   int iCount;
trunk/src/emu/cpu/lh5801/5801dasm.c
r17959r17960
2424
2525#include "lh5801.h"
2626
27enum Adr
27enum Adr
2828{
2929   Imp,
3030   Reg,
r17959r17960
4646   RelM
4747};
4848
49enum Regs
49enum Regs
5050{
5151   RegNone,
5252   A,
r17959r17960
6464#undef SEC
6565#endif
6666
67enum Ins
67enum Ins
6868{
6969   ILL, ILL2, PREFD, NOP,
7070
trunk/src/emu/cpu/m6809/6809dasm.c
r17959r17960
2020#include "m6809.h"
2121
2222// Opcode structure
23struct opcodeinfo
23struct opcodeinfo
2424{
2525   UINT8   opcode;      // 8-bit opcode value
2626   UINT8   length;      // Opcode length in bytes
trunk/src/emu/cpu/h83002/h8priv.h
r17959r17960
1111
1212#define H8_MAX_PORTS (16)  // number of I/O ports defined architecturally (1-9 and A-G = 16)
1313
14struct H8S2XXX_TPU_ITEM
14struct H8S2XXX_TPU_ITEM
1515{
1616   UINT32 tgr, irq, out;
1717};
1818
19struct H8S2XXX_TPU
19struct H8S2XXX_TPU
2020{
2121   emu_timer *timer;
2222   int cycles_per_tick;
2323   UINT64 timer_cycles;
2424};
2525
26struct H8S2XXX_SCI
26struct H8S2XXX_SCI
2727{
2828   emu_timer *timer;
2929   UINT32 bitrate;
3030};
3131
32struct H8S2XXX_TMR
32struct H8S2XXX_TMR
3333{
3434   emu_timer *timer;
3535   int cycles_per_tick;
trunk/src/emu/cpu/h83002/h8speriph.c
r17959r17960
11581158// SERIAL CONTROLLER INTERFACE //
11591159/////////////////////////////////
11601160
1161struct H8S_SCI_ENTRY
1161struct H8S_SCI_ENTRY
11621162{
11631163   UINT32 reg_smr, reg_brr, reg_scr, reg_tdr, reg_ssr, reg_rdr;
11641164   UINT32 reg_pdr, reg_port;
trunk/src/emu/cpu/am29000/am29ops.h
r17959r17960
6161    STRUCTS
6262***************************************************************************/
6363
64struct op_info
64struct op_info
6565{
6666   void (*opcode)(am29000_state *);
6767   UINT32 flags;
trunk/src/emu/cpu/am29000/am29000.c
r17959r17960
7575    STRUCTURES & TYPEDEFS
7676***************************************************************************/
7777
78struct am29000_state
78struct am29000_state
7979{
8080   INT32         icount;
8181   UINT32         pc;
trunk/src/emu/cpu/m68000/m68k_in.c
r17959r17960
128128unsigned char m68ki_cycles[NUM_CPU_TYPES][0x10000]; /* Cycles used by CPU type */
129129
130130/* This is used to generate the opcode handler jump table */
131struct opcode_handler_struct
131struct opcode_handler_struct
132132{
133133   void (*opcode_handler)(m68ki_cpu_core *m68k);        /* handler function */
134134   unsigned int  mask;                  /* mask on opcode */
trunk/src/emu/cpu/m68000/m68kmake.c
r17959r17960
175175
176176
177177/* Everything we need to know about an opcode */
178struct opcode_struct
178struct opcode_struct
179179{
180180   char name[MAX_NAME_LENGTH];           /* opcode handler name */
181181   unsigned char size;                   /* Size of operation */
r17959r17960
192192
193193
194194/* All modifications necessary for a specific EA mode of an instruction */
195struct ea_info_struct
195struct ea_info_struct
196196{
197197   const char* fname_add;
198198   const char* ea_add;
r17959r17960
202202
203203
204204/* Holds the body of a function */
205struct body_struct
205struct body_struct
206206{
207207   char body[MAX_BODY_LENGTH][MAX_LINE_LENGTH+1];
208208   int length;
r17959r17960
210210
211211
212212/* Holds a sequence of search / replace strings */
213struct replace_struct
213struct replace_struct
214214{
215215   char replace[MAX_REPLACE_LENGTH][2][MAX_LINE_LENGTH+1];
216216   int length;
trunk/src/emu/cpu/m68000/m68kdasm.c
r17959r17960
174174static int DECL_SPEC compare_nof_true_bits(const void *aptr, const void *bptr);
175175
176176/* used to build opcode handler jump table */
177struct opcode_struct
177struct opcode_struct
178178{
179179   void (*opcode_handler)(void); /* handler function */
180180   UINT32 mask;                    /* mask on opcode */
trunk/src/emu/cpu/superfx/superfx.c
r17959r17960
22#include "debugger.h"
33#include "superfx.h"
44
5struct pixelcache_t
5struct pixelcache_t
66{
77   UINT16 offset;
88   UINT8 bitpend;
99   UINT8 data[8];
1010};
1111
12struct cache_t
12struct cache_t
1313{
1414   UINT8 buffer[0x200];
1515   UINT8 valid[0x20];
trunk/src/emu/cpu/m37710/m7700ds.c
r17959r17960
1616
1717#define ADDRESS_24BIT(A) ((A)&0xffffff)
1818
19struct opcode_struct
19struct opcode_struct
2020{
2121   unsigned char name;
2222   unsigned char flag;
trunk/src/emu/cpu/sharc/sharc.c
r17959r17960
3939   SHARC_B12,      SHARC_B13,      SHARC_B14,      SHARC_B15,
4040};
4141
42struct SHARC_DAG
42struct SHARC_DAG
4343{
4444   UINT32 i[8];
4545   UINT32 m[8];
r17959r17960
4747   UINT32 l[8];
4848};
4949
50union SHARC_REG
50union SHARC_REG
5151{
5252   INT32 r;
5353   float f;
5454};
5555
56struct DMA_REGS
56struct DMA_REGS
5757{
5858   UINT32 control;
5959   UINT32 int_index;
r17959r17960
6666   UINT32 ext_count;
6767};
6868
69struct LADDR
69struct LADDR
7070{
7171   UINT32 addr;
7272   UINT32 code;
7373   UINT32 loop_type;
7474};
7575
76struct DMA_OP
76struct DMA_OP
7777{
7878   UINT32 src;
7979   UINT32 dst;
r17959r17960
580580
581581         sharc_dma_exec(cpustate, 6);
582582         dma_op(cpustate, 6);
583         
583
584584         cpustate->dma_op[6].timer->adjust(attotime::never, 0);
585585         break;
586586      }
r17959r17960
766766            }
767767         }
768768      }
769     
769
770770      sharc_op[(cpustate->opcode >> 39) & 0x1ff](cpustate);
771771
772772
trunk/src/emu/cpu/sharc/sharcdma.c
r17959r17960
3535   }
3636   else                  // Receive from external
3737   {
38      cpustate->dma_op[channel].src          = ext_index;
38      cpustate->dma_op[channel].src         = ext_index;
3939      cpustate->dma_op[channel].src_modifier   = ext_modifier;
4040      cpustate->dma_op[channel].src_count      = ext_count;
4141      cpustate->dma_op[channel].dst         = int_index;
r17959r17960
8989   int src_modifier   = cpustate->dma_op[channel].src_modifier;
9090   int dst_modifier   = cpustate->dma_op[channel].dst_modifier;
9191   int src_count      = cpustate->dma_op[channel].src_count;
92   //int dst_count      = cpustate->dma_op[channel].dst_count;
92   //int dst_count     = cpustate->dma_op[channel].dst_count;
9393   int pmode         = cpustate->dma_op[channel].pmode;
9494
9595   //printf("dma_op: %08X, %08X, %08X, %08X, %08X, %08X, %d\n", src, dst, src_modifier, dst_modifier, src_count, dst_count, pmode);
trunk/src/emu/cpu/sharc/sharc.h
r17959r17960
99#define SHARC_INPUT_FLAG2      5
1010#define SHARC_INPUT_FLAG3      6
1111
12enum SHARC_BOOT_MODE
12enum SHARC_BOOT_MODE
1313{
1414   BOOT_MODE_EPROM,
1515   BOOT_MODE_HOST,
trunk/src/emu/cpu/sharc/sharcops.h
r17959r17960
1struct SHARC_OP
1struct SHARC_OP
22{
33   UINT32 op_mask;
44   UINT32 op_bits;
trunk/src/emu/cpu/sharc/sharcdsm.h
r17959r17960
6969   "???",   "???",   "???",   "???",   "???",   "???",   "???",   "???"
7070};
7171
72struct SHARC_DASM_OP
72struct SHARC_DASM_OP
7373{
7474   UINT32 op_mask;
7575   UINT32 op_bits;
trunk/src/emu/cpu/i86/i286.c
r17959r17960
2626/* cpu state                                                               */
2727/***************************************************************************/
2828/* I86 registers */
29union i80286basicregs
29union i80286basicregs
3030{                   /* eight general registers */
3131    UINT16 w[8];    /* viewed as 16 bits registers */
3232    UINT8  b[16];   /* or as 8 bit registers */
trunk/src/emu/cpu/cubeqcpu/cubeqcpu.c
r17959r17960
7171    STRUCTURES & TYPEDEFS
7272***************************************************************************/
7373
74struct cquestsnd_state
74struct cquestsnd_state
7575{
7676   /* AM2901 internals */
7777   UINT16   ram[16];
r17959r17960
104104};
105105
106106
107struct cquestrot_state
107struct cquestrot_state
108108{
109109   /* AM2901 internals */
110110   UINT16   ram[16];
r17959r17960
146146};
147147
148148
149struct cquestlin_state
149struct cquestlin_state
150150{
151151   /* 12-bit AM2901 internals */
152152   UINT16   ram[16];
trunk/src/emu/cpu/upd7810/upd7810.h
r17959r17960
1111*/
1212
1313// unfortunatly memory configuration differs with internal rom size
14enum UPD7810_TYPE
14enum UPD7810_TYPE
1515{
1616   TYPE_7801,
1717   TYPE_78C05,
trunk/src/emu/cpu/sc61860/scdasm.c
r17959r17960
7979*/
8080
8181
82enum Adr
82enum Adr
8383{
8484   Ill,
8585   Imp,
trunk/src/emu/cpu/spc700/spc700ds.c
r17959r17960
2020
2121
2222
23struct opcode_struct
23struct opcode_struct
2424{
2525   unsigned char name;
2626   unsigned char args[2];
trunk/src/emu/cpu/spc700/spc700.c
r17959r17960
6666#include "spc700.h"
6767
6868/* CPU Structure */
69struct spc700i_cpu
69struct spc700i_cpu
7070{
7171   uint a;      /* Accumulator */
7272   uint x;      /* Index Register X */
trunk/src/emu/cpu/dsp56k/dsp56pcu.c
r17959r17960
236236/***************************************************************************
237237    INTERRUPT HANDLING
238238***************************************************************************/
239struct dsp56k_irq_data
239struct dsp56k_irq_data
240240{
241241   UINT16 irq_vector;
242242   char   irq_source[128];
trunk/src/emu/cpu/dsp56k/dsp56k.h
r17959r17960
3030    STRUCTURES & TYPEDEFS
3131***************************************************************************/
3232// 5-4 Host Interface
33struct dsp56k_host_interface
33struct dsp56k_host_interface
3434{
3535   // **** Dsp56k side **** //
3636   // Host Control Register
r17959r17960
6565};
6666
6767// 1-9 ALU
68struct dsp56k_data_alu
68struct dsp56k_data_alu
6969{
7070   // Four 16-bit input registers (can be accessed as 2 32-bit registers)
7171   PAIR x;
r17959r17960
8282};
8383
8484// 1-10 Address Generation Unit (AGU)
85struct dsp56k_agu
85struct dsp56k_agu
8686{
8787   // Four address registers
8888   UINT16 r0;
r17959r17960
112112};
113113
114114// 1-11 Program Control Unit (PCU)
115struct dsp56k_pcu
115struct dsp56k_pcu
116116{
117117   // Program Counter
118118   UINT16 pc;
r17959r17960
149149};
150150
151151// 1-8 The dsp56156 CORE
152struct dsp56k_core
152struct dsp56k_core
153153{
154154   // PROGRAM CONTROLLER
155155   dsp56k_pcu PCU;
trunk/src/emu/cpu/hd6309/6309dasm.c
r17959r17960
2525#include "hd6309.h"
2626
2727// Opcode structure
28struct opcodeinfo
28struct opcodeinfo
2929{
3030   UINT8   opcode;      // 8-bit opcode value
3131   UINT8   length;      // Opcode length in bytes
trunk/src/emu/cpu/i860/i860dis.c
r17959r17960
374374};
375375
376376
377struct decode_tbl_t
377struct decode_tbl_t
378378{
379379   /* Disassembly function for this opcode.
380380       Call with buffer, mnemonic, pc, insn.  */
trunk/src/emu/cpu/i386/i386priv.h
r17959r17960
1919
2020enum SREGS { ES, CS, SS, DS, FS, GS };
2121
22enum BREGS
22enum BREGS
2323{
2424   AL = NATIVE_ENDIAN_VALUE_LE_BE(0,3),
2525   AH = NATIVE_ENDIAN_VALUE_LE_BE(1,2),
r17959r17960
3131   BH = NATIVE_ENDIAN_VALUE_LE_BE(13,14)
3232};
3333
34enum WREGS
34enum WREGS
3535{
3636   AX = NATIVE_ENDIAN_VALUE_LE_BE(0,1),
3737   CX = NATIVE_ENDIAN_VALUE_LE_BE(2,3),
r17959r17960
206206   bool valid;
207207};
208208
209struct I386_CALL_GATE
209struct I386_CALL_GATE
210210{
211211   UINT16 segment;
212212   UINT16 selector;
trunk/src/emu/cpu/i386/cycles.h
r17959r17960
33#ifndef __CYCLES_H__
44#define __CYCLES_H__
55
6enum X86_CYCLES
6enum X86_CYCLES
77{
88   CYCLES_MOV_REG_REG,
99   CYCLES_MOV_REG_MEM,
r17959r17960
337337#define CPU_CYCLES_MEDIAGX      3
338338
339339
340struct X86_CYCLE_TABLE
340struct X86_CYCLE_TABLE
341341{
342342   X86_CYCLES op;
343343   UINT8 cpu_cycles[X86_NUM_CPUS][2];
trunk/src/emu/cpu/hcd62121/hcd62121d.c
r17959r17960
3232   _4,         /* for nibble shifts */
3333};
3434
35struct hcd62121_dasm
35struct hcd62121_dasm
3636{
3737   const char *str;
3838   UINT8      arg1;
trunk/src/emu/cpu/tlcs900/900tbl.c
r17959r17960
38523852}
38533853
38543854
3855struct tlcs900inst
3855struct tlcs900inst
38563856{
38573857   void (*opfunc)(tlcs900_state *cpustate);
38583858   int      operand1;
trunk/src/emu/cpu/tlcs900/dasm900.c
r17959r17960
8888};
8989
9090
91struct tlcs900inst
91struct tlcs900inst
9292{
9393   e_mnemonics   mnemonic;
9494   e_operand   operand1;
trunk/src/emu/cpu/drcbec.c
r17959r17960
11211121         case MAKE_OPCODE_SHORT(OP_SHL, 4, 1):
11221122            shift = PARAM2 & 31;
11231123            temp32 = PARAM1 << shift;
1124            if (shift != 0)
1124            if (shift != 0)
11251125                {
11261126                    flags = FLAGS32_NZ(temp32);
11271127                    flags |= ((PARAM1 << (shift - 1)) >> 31) & FLAG_C;
r17959r17960
11361136         case MAKE_OPCODE_SHORT(OP_SHR, 4, 1):
11371137            shift = PARAM2 & 31;
11381138            temp32 = PARAM1 >> shift;
1139            if (shift != 0)
1139            if (shift != 0)
11401140                {
11411141                    flags = FLAGS32_NZ(temp32);
11421142                    flags |= (PARAM1 >> (shift - 1)) & FLAG_C;
r17959r17960
11671167         case MAKE_OPCODE_SHORT(OP_ROL, 4, 1):
11681168            shift = PARAM2 & 31;
11691169            temp32 = (PARAM1 << shift) | (PARAM1 >> ((32 - shift) & 31));
1170            if (shift != 0)
1170            if (shift != 0)
11711171                {
11721172                    flags = FLAGS32_NZ(temp32);
11731173                    flags |= ((PARAM1 << (shift - 1)) >> 31) & FLAG_C;
trunk/src/emu/cpu/rsp/rsp.h
r17959r17960
138138
139139#define RSPDRC_STRICT_VERIFY   0x0001         /* verify all instructions */
140140
141union VECTOR_REG
141union VECTOR_REG
142142{
143143   UINT64 d[2];
144144   UINT32 l[4];
r17959r17960
146146   UINT8 b[16];
147147};
148148
149union ACCUMULATOR_REG
149union ACCUMULATOR_REG
150150{
151151   INT64 q;
152152   INT32 l[2];
trunk/src/emu/cpu/m6502/m6502.c
r17959r17960
147147      cpustate->wrmem_id.resolve(intf->write_indexed_func, *device);
148148      cpustate->in_port_func.resolve(intf->in_port_func, *device);
149149      cpustate->out_port_func.resolve(intf->out_port_func, *device);
150     
150
151151      cpustate->pullup = intf->external_port_pullup;
152152      cpustate->pulldown = intf->external_port_pulldown;
153153   }
trunk/src/emu/cpu/m6502/m6502.h
r17959r17960
5454
5555/* Optional interface to set callbacks */
5656#define M6510_INTERFACE(name) \
57      const m6502_interface (name) =
57   const m6502_interface (name) =
5858
5959struct m6502_interface
6060{
trunk/src/emu/cpu/m6502/m6509.c
r17959r17960
155155      devcb_write8 nullwcb = DEVCB_NULL;
156156
157157      cpustate->rdmem_id.resolve(nullrcb, *device);
158      cpustate->wrmem_id.resolve(nullwcb, *device);     
158      cpustate->wrmem_id.resolve(nullwcb, *device);
159159   }
160160}
161161
trunk/src/emu/cpu/arm/arm.c
r17959r17960
227227/* Private Data */
228228
229229/* sArmRegister defines the CPU state */
230struct ARM_REGS
230struct ARM_REGS
231231{
232232   int icount;
233233   UINT32 sArmRegister[kNumRegisters];
trunk/src/emu/cpu/powerpc/ppccom.c
r17959r17960
18281828            ppc->dcr[DCR4XX_DMASR] |= 1 << (7 - dmachan);
18291829            break;
18301830      }
1831     
1831
18321832      ppc4xx_dma_update_irq_states(ppc);
18331833
18341834      INT64 numdata = dmaregs[DCR4XX_DMACT0];
r17959r17960
19521952            dmaregs[DCR4XX_DMADA0] += destinc;
19531953         } while (!ppc4xx_dma_decrement_count(ppc, dmachan));
19541954         break;
1955      }   
1955      }
19561956   }
19571957}
19581958
trunk/src/emu/cpu/powerpc/ppc_dasm.c
r17959r17960
102102 * Describes the layout of an instruction.
103103 */
104104
105struct IDESCR
105struct IDESCR
106106{
107107   char   mnem[32];   // mnemonic
108108   UINT32   match;      // bit pattern of instruction after it has been masked
trunk/src/emu/cpu/sh2/sh2comn.h
r17959r17960
9090      sh2_exception(sh2,message,irq);         \
9191} while(0)
9292
93struct sh2_state
93struct sh2_state
9494{
9595   UINT32   ppc;
9696   UINT32   pc;
trunk/src/emu/cpu/tms32051/tms32051.c
r17959r17960
4646   TMS32051_AR7,
4747};
4848
49struct PMST
49struct PMST
5050{
5151   UINT16 iptr;
5252   UINT16 avis;
r17959r17960
5858   UINT16 braf;
5959};
6060
61struct ST0
61struct ST0
6262{
6363   UINT16 dp;
6464   UINT16 intm;
r17959r17960
6767   UINT16 arp;
6868};
6969
70struct ST1
70struct ST1
7171{
7272   UINT16 arb;
7373   UINT16 cnf;
trunk/src/emu/cpu/sh4/sh4comn.h
r17959r17960
4949#endif
5050
5151
52struct sh4_state
52struct sh4_state
5353{
5454   UINT32   ppc;
5555   UINT32   pc, spc;
trunk/src/emu/cpu/g65816/g65816ds.c
r17959r17960
2626#define ADDRESS_65816(A) ((A)&0xffffff)
2727
2828
29struct opcode_struct
29struct opcode_struct
3030{
3131   unsigned char name;
3232   unsigned char flag;
trunk/src/emu/cpu/apexc/apexcdsm.c
r17959r17960
6363*/
6464enum format_type {branch, shiftl, shiftr, multiply, store, swap, one_address, two_address};
6565
66struct instr_desc
66struct instr_desc
6767{
6868   const char *mnemonic;
6969   format_type format;   /* -> X and Y are format */
trunk/src/emu/cpu/nec/v25priv.h
r17959r17960
3535};
3636
3737/* interrupt sources */
38enum INTSOURCES
38enum INTSOURCES
3939{
4040   BRK      = 0,
4141   INT_IRQ   = 1,
r17959r17960
6060};
6161
6262/* internal RAM and register banks */
63union internalram
63union internalram
6464{
6565   UINT16 w[128];
6666   UINT8  b[256];
trunk/src/emu/cpu/nec/necpriv.h
r17959r17960
1919};
2020
2121/* interrupt sources */
22enum INTSOURCES
22enum INTSOURCES
2323{
2424   BRK = 0,
2525   INT_IRQ = 1,
r17959r17960
2727};
2828
2929/* NEC registers */
30union necbasicregs
30union necbasicregs
3131{                   /* eight general registers */
3232    UINT16 w[8];    /* viewed as 16 bits registers */
3333    UINT8  b[16];   /* or as 8 bit registers */
trunk/src/emu/cpu/cosmac/cosdasm.c
r17959r17960
2424
2525#include "cosmac.h"
2626
27enum Adr
27enum Adr
2828{
2929   Ill,
3030   Imm,
trunk/src/emu/cpu/mips/mips3.c
r17959r17960
8686***************************************************************************/
8787
8888/* MIPS3 Registers */
89struct mips3_regs
89struct mips3_regs
9090{
9191   /* core state */
9292   mips3_state   core;
trunk/src/emu/cpu/esrip/esrip.c
r17959r17960
6161    STRUCTURES & TYPEDEFS
6262***************************************************************************/
6363
64struct esrip_state
64struct esrip_state
6565{
6666   UINT16   ram[32];
6767   UINT16   acc;
trunk/src/emu/cpu/tms9900/99xxcore.h
r17959r17960
394394#define R14 28
395395#define R15 30
396396
397struct map_file_t
397struct map_file_t
398398{
399399   UINT16 L[3], B[3];         /* actual registers */
400400   UINT32 limit[3], bias[3];   /* equivalent in a more convenient form */
r17959r17960
19931993
19941994#endif
19951995
1996enum cru_error_code
1996enum cru_error_code
19971997{
19981998   CRU_OK = 0,
19991999   CRU_PRIVILEGE_VIOLATION = -1
trunk/src/emu/cpu/tms9900/tms9900l.h
r17959r17960
6161    structure with the parameters ti990_10_reset wants.
6262*/
6363
64struct ti990_10reset_param
64struct ti990_10reset_param
6565{
6666   ti99xx_idle_func   idle_callback;
6767   ti99xx_rset_func   rset_callback;
r17959r17960
8787/*
8888    structure with optional parameters for tms9900_reset.
8989*/
90struct tms9900reset_param
90struct tms9900reset_param
9191{
9292   ti99xx_idle_func   idle_callback;
9393};
r17959r17960
9999/*
100100    structure with optional parameters for tms9940_reset.
101101*/
102struct tms9940reset_param
102struct tms9940reset_param
103103{
104104   ti99xx_idle_func   idle_callback;
105105};
r17959r17960
111111/*
112112    structure with optional parameters for tms9980a_reset.
113113*/
114struct tms9980areset_param
114struct tms9980areset_param
115115{
116116   ti99xx_idle_func   idle_callback;
117117};
r17959r17960
123123/*//
124124    structure with optional parameters for tms9985_reset.
125125*/
126struct tms9985reset_param
126struct tms9985reset_param
127127{
128128   ti99xx_idle_func   idle_callback;
129129};
r17959r17960
135135/*
136136    structure with optional parameters for tms9989_reset.
137137*/
138struct tms9989reset_param
138struct tms9989reset_param
139139{
140140   ti99xx_idle_func   idle_callback;
141141};
r17959r17960
147147/*
148148  structure with the parameters tms9995_reset wants.
149149*/
150struct tms9995reset_param
150struct tms9995reset_param
151151{
152152   /* auto_wait_state : a non-zero value makes tms9995 generate a wait state automatically on each
153153       memory access */
r17959r17960
175175/*
176176    structure with optional parameters for tms99000_reset.
177177*/
178struct tms99000reset_param
178struct tms99000reset_param
179179{
180180   ti99xx_idle_func   idle_callback;
181181};
r17959r17960
187187/*
188188    structure with optional parameters for tms99105a_reset.
189189*/
190struct tms99105areset_param
190struct tms99105areset_param
191191{
192192   ti99xx_idle_func   idle_callback;
193193};
r17959r17960
199199/*
200200    structure with optional parameters for tms99110a_reset.
201201*/
202struct tms99110areset_param
202struct tms99110areset_param
203203{
204204   ti99xx_idle_func   idle_callback;
205205};
trunk/src/emu/cpu/tms9900/9900dasm.c
r17959r17960
2727#define   MASK   0x0000ffff
2828#define BITS(val,n1,n2)   ((val>>(15-(n2))) & (MASK>>(15-((n2)-(n1)))))
2929
30enum format_t
30enum format_t
3131{
3232   format_1,   /* 2 address instructions */
3333   format_2a,   /* jump instructions */
r17959r17960
7373   sd_11_15   = 0x200      /* bits 11-15 should be cleared in lwpi, limi, idle, rset, rtwp, ckon, ckof, lrex */
7474};
7575
76struct description_t
76struct description_t
7777{
7878   const char *mnemonic;
7979   format_t format;
trunk/src/emu/cpu/tms9900/tms9995.h
r17959r17960
6060    Configuration for the TMS9995. The connections are provided by the
6161    main board which contains the processor.
6262*/
63struct tms9995_config
63struct tms9995_config
6464{
6565   devcb_write8      external_callback;
6666   devcb_write_line   iaq_line;
trunk/src/emu/cpu/tms9900/tms9900.h
r17959r17960
109109   "*int"
110110};
111111
112struct tms99xx_config
112struct tms99xx_config
113113{
114114   devcb_write8      external_callback;
115115   devcb_read8         irq_level;
trunk/src/emu/cpu/i960/i960dis.c
r17959r17960
88#include "i960.h"
99#include "i960dis.h"
1010
11struct mnemonic_t
11struct mnemonic_t
1212{
1313   const char      *mnem;
1414   unsigned short   type;
trunk/src/emu/cpu/hd61700/hd61700d.c
r17959r17960
3939   OP_RSIR,
4040};
4141
42struct hd61700_dasm
42struct hd61700_dasm
4343{
4444   const char *str;
4545   UINT8      arg1;
trunk/src/emu/cpu/mb86233/mb86233.c
r17959r17960
2323    STRUCTURES & TYPEDEFS
2424***************************************************************************/
2525
26union MB86233_REG
26union MB86233_REG
2727{
2828   INT32   i;
2929   UINT32   u;
trunk/src/emu/cpu/arm7/arm7core.h
r17959r17960
185185
186186
187187/* CPU state struct */
188struct arm_state
188struct arm_state
189189{
190190   ARM7CORE_REGS         // these must be included in your cpu specific register implementation
191191   ARM7COPRO_REGS
trunk/src/emu/cpu/h6280/h6280.h
r17959r17960
3737/****************************************************************************
3838 * The 6280 registers.
3939 ****************************************************************************/
40struct h6280_Regs
40struct h6280_Regs
4141{
4242   int ICount;
4343
trunk/src/emu/cpu/saturn/saturnds.c
r17959r17960
7171
7272
7373// don't split branch and return, source relies on this ordering
74enum MNEMONICS
74enum MNEMONICS
7575{
7676   Return, ReturnSetXM, ReturnSetCarry, ReturnClearCarry, ReturnFromInterrupt,
7777   jump3,jump4,jump,
r17959r17960
584584   AdrImmCount
585585};
586586
587struct OPCODE
587struct OPCODE
588588{
589589   opcode_sel sel;
590590   opcode_adr adr;
trunk/src/emu/sprite.h
r17959r17960
5555public:
5656   // getters
5757   const sparse_dirty_rect *next() const { return m_next; }
58   
58
5959private:
6060   // internal state
6161   sparse_dirty_rect *   m_next;
r17959r17960
7575   void dirty(const rectangle &rect) { dirty(rect.left(), rect.right(), rect.top(), rect.bottom()); }
7676   void dirty(INT32 left, INT32 right, INT32 top, INT32 bottom);
7777   void dirty_all() { dirty(0, m_width - 1, 0, m_height - 1); }
78   
78
7979   // cleaning operations - partially intersecting tiles are NOT cleaned
8080   void clean(const rectangle &rect) { clean(rect.left(), rect.right(), rect.top(), rect.bottom()); }
8181   void clean(INT32 left, INT32 right, INT32 top, INT32 bottom);
r17959r17960
8585   sparse_dirty_rect *first_dirty_rect() { rectangle fullrect(0, m_width - 1, 0, m_height - 1); return first_dirty_rect(fullrect); }
8686   sparse_dirty_rect *first_dirty_rect(const rectangle &cliprect);
8787
88   // dynamic resizing   
88   // dynamic resizing
8989   void resize(int width, int height);
90   
90
9191private:
9292   // invalidate cached rect list
9393   void invalidate_rect_list() { m_rect_list_bounds.set(0, -1, 0, -1); }
r17959r17960
135135   UINT32 spriteram_bytes() const { return m_spriteram_bytes; }
136136   UINT32 spriteram_elements() const { return m_spriteram_bytes / sizeof(_SpriteRAMType); }
137137   _SpriteRAMType *buffer() { return &m_buffer[0]; }
138   
138
139139   // static configuration
140140   static void static_set_xorigin(device_t &device, int origin) { downcast<sprite_device &>(device).m_xorigin = origin; }
141141   static void static_set_yorigin(device_t &device, int origin) { downcast<sprite_device &>(device).m_yorigin = origin; }
142142   static void static_set_origin(device_t &device, int xorigin, int yorigin) { static_set_xorigin(device, xorigin); static_set_yorigin(device, yorigin); }
143   
143
144144   // configuration
145145   void set_origin(INT32 xorigin = 0, INT32 yorigin = 0) { m_xorigin = xorigin; m_yorigin = yorigin; }
146   
146
147147   // buffering
148148   void copy_to_buffer() { memcpy(m_buffer, m_spriteram, m_spriteram_bytes); }
149   
149
150150   // clearing
151151   void clear() { clear(m_bitmap.cliprect()); }
152152   void clear(const rectangle &cliprect)
r17959r17960
155155         m_bitmap.fill(~0, *rect);
156156      m_dirty.clean(cliprect);
157157   }
158   
158
159159   // force clear (don't use dirty rects)
160160   void force_clear()
161161   {
r17959r17960
174174         m_bitmap.resize(new_width, new_height, BITMAP_SLOP, BITMAP_SLOP);
175175         m_dirty.resize(new_width, new_height);
176176      }
177     
177
178178      // clear out the region
179179      if (clearit)
180180         clear(cliprect);
181     
181
182182      // wrap the bitmap, adjusting for x/y origins
183183      _BitmapType wrapped(&m_bitmap.pix(0) - m_xorigin - m_yorigin * m_bitmap.rowpixels(), m_xorigin + cliprect.right() + 1, m_yorigin + cliprect.bottom() + 1, m_bitmap.rowpixels());
184184
185185      // compute adjusted cliprect in source space
186186      rectangle adjusted = cliprect;
187187      adjusted.offset(m_xorigin, m_yorigin);
188     
188
189189      // render
190190      draw(wrapped, adjusted);
191191   }
r17959r17960
202202      // set up pointers
203203      m_spriteram = reinterpret_cast<_SpriteRAMType *>(spriteram->ptr());
204204      m_spriteram_bytes = spriteram->bytes();
205     
205
206206      // allocate the double buffer to match the RAM size
207207      m_buffer.resize(m_spriteram_bytes / sizeof(_SpriteRAMType));
208208
209209      // save states
210210      save_item(NAME(m_buffer));
211211   }
212   
212
213213   // subclass overrides
214214   virtual void draw(_BitmapType &bitmap, const rectangle &cliprect) = 0;
215215
216216   // subclass helpers
217217   void mark_dirty(const rectangle &rect) { mark_dirty(rect.left(), rect.right(), rect.top(), rect.bottom()); }
218218   void mark_dirty(INT32 left, INT32 right, INT32 top, INT32 bottom) { m_dirty.dirty(left - m_xorigin, right - m_xorigin, top - m_yorigin, bottom - m_yorigin); }
219   
219
220220private:
221221   // configuration
222222   INT32                     m_xorigin;            // X origin for drawing
r17959r17960
226226   _SpriteRAMType *            m_spriteram;         // pointer to spriteram pointer
227227   INT32                     m_spriteram_bytes;      // size of sprite RAM in bytes
228228   dynamic_array<_SpriteRAMType>   m_buffer;            // buffered spriteram for those that use it
229   
229
230230   // bitmaps
231231   _BitmapType                  m_bitmap;            // live bitmap
232232   sparse_dirty_bitmap            m_dirty;            // dirty bitmap
trunk/src/emu/video/mc6845.c
r17959r17960
2424
2525/*
2626
27   TODO:
27    TODO:
2828
29   - mos8563
29    - mos8563
3030
31      - horizontal scroll
32      - vertical scroll
33      - pixel double width
34      - bitmap modes
35      - display enable begin/end
31        - horizontal scroll
32        - vertical scroll
33        - pixel double width
34        - bitmap modes
35        - display enable begin/end
3636
3737*/
3838
r17959r17960
7777#define HSS_ATTR               BIT(m_horiz_scroll, 6)
7878#define HSS_TEXT               BIT(m_horiz_scroll, 7)
7979
80#define ATTR_COLOR                (attr & 0x0f)
81#define ATTR_BLINK                BIT(attr, 4)
82#define ATTR_UNDERLINE             BIT(attr, 5)
83#define ATTR_REVERSE             BIT(attr, 6)
80#define ATTR_COLOR               (attr & 0x0f)
81#define ATTR_BLINK               BIT(attr, 4)
82#define ATTR_UNDERLINE            BIT(attr, 5)
83#define ATTR_REVERSE            BIT(attr, 6)
8484#define ATTR_ALTERNATE_CHARSET      BIT(attr, 7)
8585
8686
r17959r17960
377377      case 0x0f:  m_cursor_addr      = ((data & 0xff) << 0) | (m_cursor_addr & 0xff00); break;
378378      case 0x10: /* read-only */ break;
379379      case 0x11: /* read-only */ break;
380      case 0x12:  m_update_addr       = ((data & 0xff) << 8) | (m_update_addr & 0x00ff); break;
381      case 0x13:   m_update_addr       = ((data & 0xff) << 0) | (m_update_addr & 0xff00); break;
380      case 0x12:  m_update_addr      = ((data & 0xff) << 8) | (m_update_addr & 0x00ff); break;
381      case 0x13:   m_update_addr      = ((data & 0xff) << 0) | (m_update_addr & 0xff00); break;
382382      case 0x14:  m_attribute_addr   = ((data & 0xff) << 8) | (m_attribute_addr & 0x00ff); break;
383383      case 0x15:  m_attribute_addr   = ((data & 0xff) << 0) | (m_attribute_addr & 0xff00); break;
384      case 0x16:    m_horiz_char       =   data & 0xff; break;
384      case 0x16:   m_horiz_char       =   data & 0xff; break;
385385      case 0x17:   m_vert_char_disp   =   data & 0x1f; break;
386386      case 0x18:   m_vert_scroll      =   data & 0xff; break;
387387      case 0x19:   m_horiz_scroll      =   data & 0xff; break;
388      case 0x1a:   m_color               =   data & 0xff; break;
388      case 0x1a:   m_color            =   data & 0xff; break;
389389      case 0x1b:   m_row_addr_incr      =   data & 0xff; break;
390390      case 0x1c:   m_char_base_addr   =   data & 0xf0; break;
391391      case 0x1d:   m_underline_ras    =   data & 0x1f; break;
392392      case 0x1e:
393393         m_word_count = data & 0xff;
394         
394
395395         do
396396         {
397397            UINT8 byte = VSS_COPY ? read_videoram(m_block_addr++) : m_data;
r17959r17960
404404
405405         write_videoram(m_update_addr++, m_data);
406406         break;
407      case 0x20:  m_block_addr         = ((data & 0xff) << 8) | (m_block_addr & 0x00ff); break;
408      case 0x21:  m_block_addr         = ((data & 0xff) << 0) | (m_block_addr & 0xff00); break;
409      case 0x22:  m_de_begin         = ((data & 0xff) << 8) | (m_de_begin & 0x00ff); break;
410      case 0x23:  m_de_begin         = ((data & 0xff) << 0) | (m_de_begin & 0xff00); break;
407      case 0x20:  m_block_addr      = ((data & 0xff) << 8) | (m_block_addr & 0x00ff); break;
408      case 0x21:  m_block_addr      = ((data & 0xff) << 0) | (m_block_addr & 0xff00); break;
409      case 0x22:  m_de_begin        = ((data & 0xff) << 8) | (m_de_begin & 0x00ff); break;
410      case 0x23:  m_de_begin        = ((data & 0xff) << 0) | (m_de_begin & 0xff00); break;
411411      case 0x24:   m_dram_refresh     =   data & 0x0f; break;
412412      case 0x25:   m_sync_polarity    =   data & 0xc0; break;
413413   }
trunk/src/emu/video/tlc34076.c
r17959r17960
3434   rgb_t pens[0x100];
3535};
3636
37const tlc34076_config tlc34076_6_bit_intf =
37const tlc34076_config tlc34076_6_bit_intf =
3838{
3939   TLC34076_6_BIT
4040};
trunk/src/emu/video/mb90082.c
r17959r17960
11/***************************************************************************
22
3   Fujitsu MB90082 OSD
3    Fujitsu MB90082 OSD
44
5   preliminary device by Angelo Salese
5    preliminary device by Angelo Salese
66
7   TODO:
8   - get a real charset ROM;
7    TODO:
8    - get a real charset ROM;
99
1010***************************************************************************/
1111
r17959r17960
2424static ADDRESS_MAP_START( mb90082_vram, AS_0, 16, mb90082_device )
2525   AM_RANGE(0x0000, 0x023f) AM_RAM // main screen vram
2626   AM_RANGE(0x0400, 0x063f) AM_RAM // main screen attr
27//   AM_RANGE(0x0800, 0x0a3f) AM_RAM // sub screen vram
28//   AM_RANGE(0x0c00, 0x0e3f) AM_RAM // sub screen attr
27//  AM_RANGE(0x0800, 0x0a3f) AM_RAM // sub screen vram
28//  AM_RANGE(0x0c00, 0x0e3f) AM_RAM // sub screen attr
2929ADDRESS_MAP_END
3030
3131/* charset is undumped, but apparently a normal ASCII one is enough for the time being (for example "fnt0808.x1" in Sharp X1) */
trunk/src/emu/video/cdp1862.c
r17959r17960
218218   copybitmap(bitmap, m_bitmap, 0, 0, 0, 0, cliprect);
219219
220220   m_bitmap.fill(m_palette[CDP1862_BACKGROUND_COLOR_SEQUENCE[m_bgcolor] + 8], cliprect);
221   
221
222222   return 0;
223223}
trunk/src/emu/video/pc_vga.c
r17959r17960
992992         return 0;  // cursor only works in VGA or SVGA modes
993993
994994      src = s3.cursor_start_addr * 1024;  // start address is in units of 1024 bytes
995//      for(x=0;x<64;x++)
996//         printf("%08x: %02x %02x %02x %02x\n",src+x*4,vga.memory[src+x*4],vga.memory[src+x*4+1],vga.memory[src+x*4+2],vga.memory[src+x*4+3]);
995//      for(x=0;x<64;x++)
996//          printf("%08x: %02x %02x %02x %02x\n",src+x*4,vga.memory[src+x*4],vga.memory[src+x*4+1],vga.memory[src+x*4+2],vga.memory[src+x*4+3]);
997997      for(y=0;y<64;y++)
998998      {
999999         dst = &bitmap.pix32(cy + y, cx);
r17959r17960
49404940      clock = XTAL_42_9545MHz;
49414941      logerror("Invalid dot clock %i selected.\n",clock_type);
49424942   }
4943//   logerror("ATI: Clock select type %i (%iHz / %i)\n",clock_type,clock,div);
4943//  logerror("ATI: Clock select type %i (%iHz / %i)\n",clock_type,clock,div);
49444944   recompute_params_clock(machine,divisor,clock / div);
49454945}
49464946
r17959r17960
51385138{
51395139   ibm8514.subctrl = data;
51405140   ibm8514.substatus &= ~(data & 0x0f);  // reset interrupts
5141//   logerror("8514/A: Subsystem control write %04x\n",data);
5141//  logerror("8514/A: Subsystem control write %04x\n",data);
51425142}
51435143
51445144READ16_HANDLER(mach8_subcontrol_r)
r17959r17960
51595159WRITE16_HANDLER(mach8_vtotal_w)
51605160{
51615161   ibm8514.vtotal = data;
5162//   vga.crtc.vert_total = data;
5162//  vga.crtc.vert_total = data;
51635163   logerror("8514/A: Vertical total write %04x\n",data);
51645164}
51655165
r17959r17960
51715171WRITE16_HANDLER(mach8_vdisp_w)
51725172{
51735173   ibm8514.vdisp = data;
5174//   vga.crtc.vert_disp_end = data >> 3;
5174//  vga.crtc.vert_disp_end = data >> 3;
51755175   logerror("8514/A: Vertical Displayed write %04x\n",data);
51765176}
51775177
trunk/src/emu/video/m50458.c
r17959r17960
11/***************************************************************************
22
3   Mitsubishi M50458 OSD chip
3    Mitsubishi M50458 OSD chip
44
5   device by Angelo Salese
5    device by Angelo Salese
66
7   TODO:
8   - vertical scrolling needs references (might work differently and/or in
9     "worse" ways, the one currently implemented guesses that the screen is
10      masked at the top and the end when in scrolling mode).
11   - Understand what the "vertical start position" really does (vblank?)
12   - Check if the ROM source is actually 2bpp once that a redump is made
13     (the shadow ROM copy doesn't convince me 100%);
7    TODO:
8    - vertical scrolling needs references (might work differently and/or in
9      "worse" ways, the one currently implemented guesses that the screen is
10       masked at the top and the end when in scrolling mode).
11    - Understand what the "vertical start position" really does (vblank?)
12    - Check if the ROM source is actually 2bpp once that a redump is made
13      (the shadow ROM copy doesn't convince me 100%);
1414
1515***************************************************************************/
1616
r17959r17960
4646
4747WRITE16_MEMBER( m50458_device::vreg_120_w)
4848{
49//   printf("%04x\n",data);
49//  printf("%04x\n",data);
5050}
5151
5252WRITE16_MEMBER( m50458_device::vreg_121_w)
r17959r17960
8585   /* char part of vertical scrolling */
8686   m_scrr = (data & 0x0f00) >> 8;
8787
88//   printf("%02x %02x %02x\n",m_scrr,m_scrf,m_space);
88//  printf("%02x %02x %02x\n",m_scrr,m_scrf,m_space);
8989}
9090
9191WRITE16_MEMBER( m50458_device::vreg_124_w)
trunk/src/emu/video/m50458.h
r17959r17960
2828//  TYPE DEFINITIONS
2929//**************************************************************************
3030
31enum m50458_state_t
31enum m50458_state_t
3232{
3333   OSD_SET_ADDRESS = 0,
3434   OSD_SET_DATA
trunk/src/emu/video/huc6272.c
r17959r17960
112112   if((offset & 1) == 0)
113113   {
114114      /*
115      xxxx xxxx ---- ---- ---- ---- ---- ---- Sub Channel Buffer
116      ---- ---- x--- ---- ---- ---- ---- ---- SCSI RST flag
117      ---- ---- -x-- ---- ---- ---- ---- ---- SCSI BUSY flag
118      ---- ---- --x- ---- ---- ---- ---- ---- SCSI REQ flag
119      ---- ---- ---x ---- ---- ---- ---- ---- SCSI MSG flag
120      ---- ---- ---- x--- ---- ---- ---- ---- SCSI CD flag
121      ---- ---- ---- -x-- ---- ---- ---- ---- SCSI IO flag
122      ---- ---- ---- --x- ---- ---- ---- ---- SCSI SEL flag
123      ---- ---- ---- ---- -x-- ---- ---- ---- SCSI IRQ pending
124      ---- ---- ---- ---- --x- ---- ---- ---- DMA IRQ pending
125      ---- ---- ---- ---- ---x ---- ---- ---- CD Sub Channel IRQ pending
126      ---- ---- ---- ---- ---- x--- ---- ---- Raster IRQ pending
127      ---- ---- ---- ---- ---- -x-- ---- ---- ADPCM IRQ pending
128      ---- ---- ---- ---- ---- ---- -xxx xxxx register read-back
129      */
115        xxxx xxxx ---- ---- ---- ---- ---- ---- Sub Channel Buffer
116        ---- ---- x--- ---- ---- ---- ---- ---- SCSI RST flag
117        ---- ---- -x-- ---- ---- ---- ---- ---- SCSI BUSY flag
118        ---- ---- --x- ---- ---- ---- ---- ---- SCSI REQ flag
119        ---- ---- ---x ---- ---- ---- ---- ---- SCSI MSG flag
120        ---- ---- ---- x--- ---- ---- ---- ---- SCSI CD flag
121        ---- ---- ---- -x-- ---- ---- ---- ---- SCSI IO flag
122        ---- ---- ---- --x- ---- ---- ---- ---- SCSI SEL flag
123        ---- ---- ---- ---- -x-- ---- ---- ---- SCSI IRQ pending
124        ---- ---- ---- ---- --x- ---- ---- ---- DMA IRQ pending
125        ---- ---- ---- ---- ---x ---- ---- ---- CD Sub Channel IRQ pending
126        ---- ---- ---- ---- ---- x--- ---- ---- Raster IRQ pending
127        ---- ---- ---- ---- ---- -x-- ---- ---- ADPCM IRQ pending
128        ---- ---- ---- ---- ---- ---- -xxx xxxx register read-back
129        */
130130      res = m_register & 0x7f;
131131      res |= (0) << 16;
132132   }
r17959r17960
135135      switch(m_register)
136136      {
137137         /*
138         x--- ---- ---- ---- ----
139         */
138            x--- ---- ---- ---- ----
139            */
140140         case 0x0c: // KRAM load address
141141            res = (m_kram_addr_r & 0x3ffff) | ((m_kram_inc_r & 0x1ff) << 18) | ((m_kram_page_r & 1) << 31);
142142            break;
r17959r17960
179179            //printf("%08x DMA STATUS\n",data);
180180            break;
181181         /*
182         ---- ---- ---- ---- ----
183         */
182            ---- ---- ---- ---- ----
183            */
184184         case 0x0c: // KRAM load address
185185            m_kram_addr_r = (data & 0x0003ffff);
186186            m_kram_inc_r =  (data & 0x07fc0000) >> 18;
r17959r17960
199199            break;
200200
201201         /*
202         ---x ---- ---- ---- ADPCM page setting
203         ---- ---x ---- ---- RAINBOW page setting
204         ---- ---- ---x ---- BG page setting
205         ---- ---- ---- ---x SCSI page setting
206         */
202            ---x ---- ---- ---- ADPCM page setting
203            ---- ---x ---- ---- RAINBOW page setting
204            ---- ---- ---x ---- BG page setting
205            ---- ---- ---- ---x SCSI page setting
206            */
207207         case 0x0f:
208208            m_page_setting = data;
209209            break;
trunk/src/emu/video/vector.c
r17959r17960
127127#define VCLIP   2
128128
129129/* The vertices are buffered here */
130struct point
130struct point
131131{
132132   int x; int y;
133133   rgb_t col;
trunk/src/emu/video/saa5050.c
r17959r17960
1313
1414    TODO:
1515
16   - character rounding
17   - remote controller input
18   - boxing
16    - character rounding
17    - remote controller input
18    - boxing
1919
2020*/
2121
r17959r17960
237237   case STEADY:
238238      m_flash = false;
239239      break;
240     
240
241241   case END_BOX:
242242   case START_BOX:
243243      // TODO
r17959r17960
336336   {
337337      m_ra = 19;
338338      m_double_height_top_row = false;
339     
339
340340      m_frame_count++;
341341      if (m_frame_count > 50) m_frame_count = 0;
342342   }
trunk/src/emu/video/saa5050.h
r17959r17960
8989
9090   // NOTE: the following are provided for convenience only, SAA5050 is not a display controller
9191   // this emulates the common setup where bit 7 of data inverts the display, and the
92   // bottom half of a double height row gets the same character data as the top half
92   // bottom half of a double height row gets the same character data as the top half
9393   UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
9494
9595protected:
trunk/src/emu/emuopts.c
r17959r17960
518518      add_device_options(true);
519519      int num = 0;
520520      do {
521         num = options_count();     
521         num = options_count();
522522         update_slot_options();
523523         while (add_slot_options(false));
524524         add_device_options(false);
r17959r17960
568568
569569
570570const char *emu_options::main_value(astring &buffer, const char *name) const
571{   
571{
572572   buffer = value(name);
573573   int pos = buffer.chr(0,',');
574574   if (pos!=-1) {
r17959r17960
578578}
579579
580580const char *emu_options::sub_value(astring &buffer, const char *name, const char *subname) const
581{   
581{
582582   astring tmp = ",";
583583   tmp.cat(subname);
584584   tmp.cat("=");
trunk/src/emu/distate.c
r17959r17960
464464
465465
466466//-------------------------------------------------
467//  set_state_int - set the value of the given
468//   piece of indexed state from a UINT64
467//  set_state_int - set the value of the given
468//  piece of indexed state from a UINT64
469469//-------------------------------------------------
470470
471471void device_state_interface::set_state_int(int index, UINT64 value)
trunk/src/emu/distate.h
r17959r17960
163163   void set_state_int(int index, UINT64 value);
164164   void set_state_string(int index, const char *string);
165165   void set_pc(offs_t pc) { set_state_int(STATE_GENPC, pc); }
166   
166
167167   // deliberately ambiguous functions; if you have the state interface
168168   // just use it or pc() and pcbase() directly
169169   device_state_interface &state() { return *this; }
r17959r17960
213213
214214//-------------------------------------------------
215215//  device_t::safe_pc - return the current PC
216//   or 0 if no state object exists
216//  or 0 if no state object exists
217217//-------------------------------------------------
218218
219219inline offs_t device_t::safe_pc()
r17959r17960
223223
224224
225225//-------------------------------------------------
226//  device_t::safe_pcbase - return the current PC
227//   base or 0 if no state object exists
226//  device_t::safe_pcbase - return the current PC
227//  base or 0 if no state object exists
228228//-------------------------------------------------
229229
230230inline offs_t device_t::safe_pcbase()
trunk/src/emu/sound/ym2413.c
r17959r17960
164164
165165
166166
167struct OPLL_SLOT
167struct OPLL_SLOT
168168{
169169   UINT32   ar;         /* attack rate: AR<<2           */
170170   UINT32   dr;         /* decay rate:  DR<<2           */
r17959r17960
209209   unsigned int wavetable;
210210};
211211
212struct OPLL_CH
212struct OPLL_CH
213213{
214214   OPLL_SLOT SLOT[2];
215215   /* phase generator state */
r17959r17960
221221};
222222
223223/* chip state */
224struct YM2413
224struct YM2413
225225{
226226   OPLL_CH   P_CH[9];            /* OPLL chips have 9 channels*/
227227   UINT8   instvol_r[9];         /* instrument/volume (or volume/volume in percussive mode)*/
trunk/src/emu/sound/fm2612.c
r17959r17960
531531
532532
533533/* struct describing a single operator (SLOT) */
534struct FM_SLOT
534struct FM_SLOT
535535{
536536   INT32   *DT;      /* detune          :dt_tab[DT] */
537537   UINT8   KSR;      /* key scale rate  :3-KSR */
r17959r17960
572572
573573};
574574
575struct FM_CH
575struct FM_CH
576576{
577577   FM_SLOT   SLOT[4];   /* four SLOTs (operators) */
578578
r17959r17960
597597};
598598
599599
600struct FM_ST
600struct FM_ST
601601{
602602   device_t *device;
603603   void *      param;            /* this chip parameter  */
r17959r17960
634634/***********************************************************/
635635
636636/* OPN 3slot struct */
637struct FM_3SLOT
637struct FM_3SLOT
638638{
639639   UINT32  fc[3];         /* fnum3,blk3: calculated */
640640   UINT8   fn_h;         /* freq3 latch */
r17959r17960
644644};
645645
646646/* OPN/A/B common state */
647struct FM_OPN
647struct FM_OPN
648648{
649649   UINT8   type;         /* chip type */
650650   FM_ST   ST;            /* general state */
r17959r17960
678678};
679679
680680/* here's the virtual YM2612 */
681struct YM2612
681struct YM2612
682682{
683683   UINT8      REGS[512];         /* registers            */
684684   FM_OPN      OPN;            /* OPN state            */
trunk/src/emu/sound/c352.h
r17959r17960
6363       C352_FLG_REVERSE   = 0x0001,   // play sample backwards
6464    };
6565
66    struct c352_ch_t
66    struct c352_ch_t
6767    {
6868       UINT8   vol_l;
6969       UINT8   vol_r;
trunk/src/emu/sound/k051649.c
r17959r17960
3030
3131
3232/* this structure defines the parameters for a channel */
33struct k051649_sound_channel
33struct k051649_sound_channel
3434{
3535   unsigned long counter;
3636   int frequency;
trunk/src/emu/sound/c140.c
r17959r17960
6565   UINT8 reserved[4];
6666};
6767
68struct VOICE
68struct VOICE
6969{
7070   long   ptoffset;
7171   long   pos;
trunk/src/emu/sound/nes_defs.h
r17959r17960
4848#define QUEUE_SIZE 0x2000
4949#define QUEUE_MAX  (QUEUE_SIZE-1)
5050
51struct queue_t
51struct queue_t
5252{
5353   int pos;
5454   unsigned char reg,val;
r17959r17960
8484/* CHANNEL TYPE DEFINITIONS */
8585
8686/* Square Wave */
87struct square_t
87struct square_t
8888{
8989   uint8 regs[4];
9090   int vbl_length;
r17959r17960
9999};
100100
101101/* Triangle Wave */
102struct triangle_t
102struct triangle_t
103103{
104104   uint8 regs[4]; /* regs[1] unused */
105105   int linear_length;
r17959r17960
113113};
114114
115115/* Noise Wave */
116struct noise_t
116struct noise_t
117117{
118118   uint8 regs[4]; /* regs[1] unused */
119119   int cur_pos;
r17959r17960
126126};
127127
128128/* DPCM Wave */
129struct dpcm_t
129struct dpcm_t
130130{
131131   uint8 regs[4];
132132   uint32 address;
r17959r17960
142142};
143143
144144/* APU type */
145struct apu_t
145struct apu_t
146146{
147147   /* Sound channels */
148148   square_t   squ[2];
trunk/src/emu/sound/mos6560.c
r17959r17960
156156inline UINT8 mos6560_device::read_videoram(offs_t offset)
157157{
158158   m_last_data = space(AS_0)->read_byte(offset & 0x3fff);
159   
159
160160   return m_last_data;
161161}
162162
trunk/src/emu/sound/ymz770.h
r17959r17960
3434
3535class ymz770_device : public device_t, public device_sound_interface
3636{
37    struct ymz_channel
37    struct ymz_channel
3838    {
3939        UINT8 phrase;
4040        UINT8 pan;
trunk/src/emu/sound/k005289.c
r17959r17960
3131#define FREQBASEBITS   16
3232
3333/* this structure defines the parameters for a channel */
34struct k005289_sound_channel
34struct k005289_sound_channel
3535{
3636   int frequency;
3737   int counter;
trunk/src/emu/sound/ymf262.c
r17959r17960
141141#define OPL3_TYPE_YMF262 (0)   /* 36 operators, 8 waveforms */
142142
143143
144struct OPL3_SLOT
144struct OPL3_SLOT
145145{
146146   UINT32   ar;         /* attack rate: AR<<2           */
147147   UINT32   dr;         /* decay rate:  DR<<2           */
r17959r17960
192192
193193};
194194
195struct OPL3_CH
195struct OPL3_CH
196196{
197197   OPL3_SLOT SLOT[2];
198198
r17959r17960
218218};
219219
220220/* OPL3 state */
221struct OPL3
221struct OPL3
222222{
223223   OPL3_CH   P_CH[18];            /* OPL3 chips have 18 channels  */
224224
trunk/src/emu/sound/i5000.h
r17959r17960
4747   virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples);
4848
4949private:
50    struct channel_t
50    struct channel_t
5151    {
5252        bool is_playing;
5353       oki_adpcm_state m_adpcm;
trunk/src/emu/sound/sn76496.h
r17959r17960
176176extern const device_type GAMEGEAR_NEW;
177177extern const device_type SEGAPSG_NEW;
178178
179struct sn76496_config
179struct sn76496_config
180180{
181181   devcb_write_line      ready;
182182};
trunk/src/emu/sound/upd7759.c
r17959r17960
107107
108108    The other chip models don't support slave mode, and have an internal ROM.
109109    Other than that, they are thought to be nearly identical to uPD7759.
110   
110
111111    55C    18-pin DIP   96 Kbit ROM
112112    55G    24-pin SOP   96 Kbit ROM
113113    56C    18-pin DIP  256 Kbit ROM
r17959r17960
174174
175175   /* chip configuration */
176176   UINT8      sample_offset_shift;      /* header sample address shift (access data > 0xffff) */
177   
177
178178   /* internal clock to output sample rate mapping */
179179   UINT32      pos;                  /* current output sample position */
180180   UINT32      step;                  /* step value per output sample */
r17959r17960
670670
671671   /* chip configuration */
672672   chip->sample_offset_shift = (device->type() == UPD7759) ? 1 : 0;
673   
673
674674   /* allocate a stream channel */
675675   chip->channel = device->machine().sound().stream_alloc(*device, 0, 1, device->clock()/4, chip, upd7759_update);
676676
trunk/src/emu/sound/ymf271.c
r17959r17960
3333
3434//#define log2(n) (log((float) n)/log((float) 2))
3535
36struct YMF271Slot
36struct YMF271Slot
3737{
3838   INT8  extout;
3939   UINT8 lfoFreq;
r17959r17960
8282   double lfo_phasemod;
8383};
8484
85struct YMF271Group
85struct YMF271Group
8686{
8787   INT8 sync, pfm;
8888};
8989
90struct YMF271Chip
90struct YMF271Chip
9191{
9292   YMF271Slot slots[48];
9393   YMF271Group groups[12];
trunk/src/emu/sound/n63701x.c
r17959r17960
1717#include "n63701x.h"
1818
1919
20struct voice
20struct voice
2121{
2222   int select;
2323   int playing;
trunk/src/emu/sound/ym2151.c
r17959r17960
2323
2424
2525/* struct describing a single operator */
26struct YM2151Operator
26struct YM2151Operator
2727{
2828   UINT32      phase;               /* accumulated operator phase */
2929   UINT32      freq;               /* operator frequency count */
r17959r17960
7676};
7777
7878
79struct YM2151
79struct YM2151
8080{
8181   signed int chanout[8];
8282   signed int m2,c1,c2; /* Phase Modulation input for operators 2,3,4 */
trunk/src/emu/sound/discrete.c
r17959r17960
8383 *
8484 *************************************/
8585
86struct output_buffer
86struct output_buffer
8787{
8888   double                  *node_buf;
8989   const double            *source;
r17959r17960
9191   int                     node_num;
9292};
9393
94struct input_buffer
94struct input_buffer
9595{
9696   volatile const double      *ptr;            /* pointer into linked_outbuf.nodebuf */
9797   output_buffer *            linked_outbuf;      /* what output are we connected to ? */
trunk/src/emu/sound/discrete.h
r17959r17960
41394139 *
41404140 *************************************/
41414141
4142enum discrete_node_type
4142enum discrete_node_type
41434143{
41444144   DSS_NULL,         /* Nothing, nill, zippo, only to be used as terminating node */
41454145   DSS_NOP,         /* just do nothing, placeholder for potential DISCRETE_REPLACE in parent block */
trunk/src/emu/sound/fmopl.c
r17959r17960
198198
199199
200200
201struct OPL_SLOT
201struct OPL_SLOT
202202{
203203   UINT32   ar;         /* attack rate: AR<<2           */
204204   UINT32   dr;         /* decay rate:  DR<<2           */
r17959r17960
239239   UINT16   wavetable;
240240};
241241
242struct OPL_CH
242struct OPL_CH
243243{
244244   OPL_SLOT SLOT[2];
245245   /* phase generator state */
r17959r17960
250250};
251251
252252/* OPL state */
253struct FM_OPL
253struct FM_OPL
254254{
255255   /* FM channel slots */
256256   OPL_CH   P_CH[9];            /* OPL/OPL2 chips have 9 channels*/
trunk/src/emu/sound/s14001a.c
r17959r17960
237237#include "emu.h"
238238#include "s14001a.h"
239239
240struct S14001AChip
240struct S14001AChip
241241{
242242   sound_stream * stream;
243243
trunk/src/emu/sound/fm.c
r17959r17960
519519
520520
521521/* struct describing a single operator (SLOT) */
522struct FM_SLOT
522struct FM_SLOT
523523{
524524   INT32   *DT;      /* detune          :dt_tab[DT] */
525525   UINT8   KSR;      /* key scale rate  :3-KSR */
r17959r17960
560560
561561};
562562
563struct FM_CH
563struct FM_CH
564564{
565565   FM_SLOT   SLOT[4];   /* four SLOTs (operators) */
566566
r17959r17960
585585};
586586
587587
588struct FM_ST
588struct FM_ST
589589{
590590   device_t *device;
591591   void *      param;            /* this chip parameter  */
r17959r17960
622622/***********************************************************/
623623
624624/* OPN 3slot struct */
625struct FM_3SLOT
625struct FM_3SLOT
626626{
627627   UINT32  fc[3];         /* fnum3,blk3: calculated */
628628   UINT8   fn_h;         /* freq3 latch */
r17959r17960
631631};
632632
633633/* OPN/A/B common state */
634struct FM_OPN
634struct FM_OPN
635635{
636636   UINT8   type;         /* chip type */
637637   FM_ST   ST;            /* general state */
r17959r17960
20892089/*****************************************************************************/
20902090
20912091/* here's the virtual YM2203(OPN) */
2092struct YM2203
2092struct YM2203
20932093{
20942094   UINT8 REGS[256];      /* registers         */
20952095   FM_OPN OPN;            /* OPN state         */
r17959r17960
23852385#if (BUILD_YM2608||BUILD_YM2610||BUILD_YM2610B)
23862386
23872387/* ADPCM type A channel struct */
2388struct ADPCM_CH
2388struct ADPCM_CH
23892389{
23902390   UINT8      flag;         /* port state               */
23912391   UINT8      flagMask;      /* arrived flag mask        */
r17959r17960
24052405};
24062406
24072407/* here's the virtual YM2610 */
2408struct YM2610
2408struct YM2610
24092409{
24102410   UINT8      REGS[512];         /* registers            */
24112411   FM_OPN      OPN;            /* OPN state            */
trunk/src/emu/sound/ymf278b.c
r17959r17960
7373
7474struct YMF278BChip;
7575
76struct YMF278BSlot
76struct YMF278BSlot
7777{
7878   INT16 wave;      /* wavetable number */
7979   INT16 F_NUMBER;   /* frequency */
r17959r17960
115115   YMF278BChip *chip;   /* pointer back to parent chip */
116116};
117117
118struct YMF278BChip
118struct YMF278BChip
119119{
120120   UINT8 pcmregs[256];
121121   YMF278BSlot slots[24];
trunk/src/emu/sound/sid6581.c
r17959r17960
3434   SID6581_t *sid = get_sid(device);
3535   const sid6581_interface *iface = (const sid6581_interface*) device->static_config();
3636   assert(iface);
37   
37
3838   // resolve callbacks
3939   sid->in_potx_func.resolve(iface->in_potx_cb, *device);
4040   sid->in_poty_func.resolve(iface->in_poty_cb, *device);
trunk/src/emu/sound/sid6581.h
r17959r17960
1414#include "devlegcy.h"
1515
1616
17enum SIDTYPE
17enum SIDTYPE
1818{
1919   MOS6581,
2020   MOS8580
trunk/src/emu/sound/namco.c
r17959r17960
3636
3737
3838/* this structure defines the parameters for a channel */
39struct sound_channel
39struct sound_channel
4040{
4141   UINT32 frequency;
4242   UINT32 counter;
trunk/src/emu/sound/k007232.c
r17959r17960
3030#define  KDAC_A_PCM_MAX    (2)      /* Channels per chip */
3131
3232
33struct KDAC_A_PCM
33struct KDAC_A_PCM
3434{
3535   UINT8         vol[KDAC_A_PCM_MAX][2];   /* volume for the left and right channel */
3636   UINT32         addr[KDAC_A_PCM_MAX];
trunk/src/emu/sound/tms5220.h
r17959r17960
121121extern const device_type TMS5200N;
122122
123123
124struct tms52xx_config
124struct tms52xx_config
125125{
126126   devcb_write_line      irq_func;               // IRQ callback function, active low, i.e. state=0  (TODO: change to ASSERT/CLEAR)
127127   devcb_write_line      readyq_func;            // Ready callback function, active low, i.e. state=0
trunk/src/emu/sound/es5503.h
r17959r17960
6767       MODE_SWAP = 3
6868    };
6969
70    struct ES5503Osc
70    struct ES5503Osc
7171    {
7272       UINT16 freq;
7373       UINT16 wtsize;
trunk/src/emu/romload.c
r17959r17960
14541454
14551455   /* figure out which BIOS we are using */
14561456   device_iterator deviter(romdata->machine().config().root_device());
1457   for (device_t *device = deviter.first(); device != NULL; device = deviter.next()) {   
1457   for (device_t *device = deviter.first(); device != NULL; device = deviter.next()) {
14581458      if (device->rom_region()) {
14591459         const char *specbios;
14601460         astring temp;
14611461         if (strcmp(device->tag(),":")==0) {
14621462            specbios = romdata->machine().options().bios();
14631463         } else {
1464            specbios = romdata->machine().options().sub_value(temp,device->owner()->tag()+1,"bios");           
1464            specbios = romdata->machine().options().sub_value(temp,device->owner()->tag()+1,"bios");
14651465         }
14661466         determine_bios_rom(romdata, device, specbios);
14671467      }
trunk/src/emu/imagedev/floppy.c
r17959r17960
444444   else
445445      next_position = 200000000 + (buf[1] & floppy_image::TIME_MASK);
446446
447   //   logerror("Floppy: cuspos=%d nextpos=%d\n", position, next_position);
447   //  logerror("Floppy: cuspos=%d nextpos=%d\n", position, next_position);
448448   return base + attotime::from_nsec(UINT64(next_position)*300/rpm);
449449}
450450
trunk/src/emu/devcpu.h
r17959r17960
7878      CPUINFO_INT_ADDRBUS_SHIFT_2 = CPUINFO_INT_ADDRBUS_SHIFT + 2,
7979      CPUINFO_INT_ADDRBUS_SHIFT_3 = CPUINFO_INT_ADDRBUS_SHIFT + 3,
8080      CPUINFO_INT_ADDRBUS_SHIFT_LAST = CPUINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACES - 1,
81     
81
8282      // CPU-specific additionsg
8383      CPUINFO_INT_CONTEXT_SIZE = 0x04000,   // R/O: size of CPU context in bytes
8484      CPUINFO_INT_INPUT_LINES,                     // R/O: number of input lines
r17959r17960
129129      CPUINFO_PTR_DEFAULT_MEMORY_MAP_2 = CPUINFO_PTR_DEFAULT_MEMORY_MAP + 2,
130130      CPUINFO_PTR_DEFAULT_MEMORY_MAP_3 = CPUINFO_PTR_DEFAULT_MEMORY_MAP + 3,
131131      CPUINFO_PTR_DEFAULT_MEMORY_MAP_LAST = CPUINFO_PTR_DEFAULT_MEMORY_MAP + ADDRESS_SPACES - 1,
132     
132
133133      // CPU-specific additions
134134      CPUINFO_PTR_INSTRUCTION_COUNTER = 0x14000,
135135                                             // R/O: int *icount
trunk/src/emu/machine/pc16552d.c
r17959r17960
3434#define INT_ENABLE_RX_LINE_STATUS   0x04
3535#define INT_ENABLE_MODEM_STATUS      0x08
3636
37struct PC16552D_CHANNEL
37struct PC16552D_CHANNEL
3838{
3939   UINT16 divisor;
4040   UINT8 reg[8];
r17959r17960
5050   emu_timer *tx_fifo_timer;
5151};
5252
53struct PC16552D_REGS
53struct PC16552D_REGS
5454{
5555   PC16552D_CHANNEL ch[2];
5656   int frequency;
trunk/src/emu/machine/seibu_cop.c
r17959r17960
11/***************************************************************************
22
3   Seibu COP protection device
3    Seibu COP protection device
44
5   (this header needs expanding)
5    (this header needs expanding)
66
77***************************************************************************/
88
r17959r17960
116116
117117      case 0x074/2:
118118         /*
119            This sets up a DMA mode of some sort
120               0x0e00: grainbow, cupsoc
121               0x0a00: legionna, godzilla, denjinmk
122               0x0600: heatbrl
123               0x1e00: zeroteam, xsedae
124            raiden2 and raidendx doesn't set this up, this could indicate that this is related to the non-private buffer DMAs
125            (both only uses 0x14 and 0x15 as DMAs)
126         */
119                This sets up a DMA mode of some sort
120                    0x0e00: grainbow, cupsoc
121                    0x0a00: legionna, godzilla, denjinmk
122                    0x0600: heatbrl
123                    0x1e00: zeroteam, xsedae
124                raiden2 and raidendx doesn't set this up, this could indicate that this is related to the non-private buffer DMAs
125                (both only uses 0x14 and 0x15 as DMAs)
126            */
127127         COMBINE_DATA(&m_dma_unk_param);
128128         break;
129129
trunk/src/emu/machine/pckeybrd.h
r17959r17960
1212#ifndef PCKEYBRD_H
1313#define PCKEYBRD_H
1414
15enum AT_KEYBOARD_TYPE
15enum AT_KEYBOARD_TYPE
1616{
1717   AT_KEYBOARD_TYPE_PC,
1818   AT_KEYBOARD_TYPE_AT,
trunk/src/emu/machine/scsibus.c
r17959r17960
11/*
2   SCSIBus.c
2    SCSIBus.c
33
4   Implementation of a raw SCSI/SASI bus for machines that don't use a SCSI
5   controler chip such as the RM Nimbus, which implements it as a bunch of
6   74LS series chips.
4    Implementation of a raw SCSI/SASI bus for machines that don't use a SCSI
5    controler chip such as the RM Nimbus, which implements it as a bunch of
6    74LS series chips.
77
88*/
99
trunk/src/emu/machine/scsibus.h
r17959r17960
100100
101101#define SCSI_SENSE_SIZE            4
102102
103struct adaptec_sense_t
103struct adaptec_sense_t
104104{
105105   // parameter list
106106   UINT8      reserved1[3];
trunk/src/emu/machine/tms9901.h
r17959r17960
5050    CLASS DEFINITION
5151***************************************************************************/
5252
53struct tms9901_interface
53struct tms9901_interface
5454{
5555   int             interrupt_mask;         // a bit for each input pin whose state is always notified to the TMS9901 core
5656   devcb_read8       read_handler;         // 4*8 bits, to be selected using the offset (0-3)
trunk/src/emu/machine/msm6242.h
r17959r17960
3030   devcb_write_line   m_out_int_cb;
3131};
3232
33struct rtc_regs_t
33struct rtc_regs_t
3434{
3535   UINT8 sec, min, hour, day, wday, month;
3636   UINT16 year;
trunk/src/emu/machine/53c810.c
r17959r17960
393393
394394UINT8 lsi53c810_device::lsi53c810_reg_r( int offset )
395395{
396//   logerror("53c810: read reg %d:0x%x (PC=%x)\n", offset, offset, space->device().safe_pc());
396//  logerror("53c810: read reg %d:0x%x (PC=%x)\n", offset, offset, space->device().safe_pc());
397397   switch(offset)
398398   {
399399      case 0x00:      /* SCNTL0 */
r17959r17960
476476
477477void lsi53c810_device::lsi53c810_reg_w(int offset, UINT8 data)
478478{
479//   logerror("53c810: %02x to reg %d:0x%x (PC=%x)\n", data, offset, offset, space->device().safe_pc());
479//  logerror("53c810: %02x to reg %d:0x%x (PC=%x)\n", data, offset, offset, space->device().safe_pc());
480480   switch(offset)
481481   {
482482      case 0x00:      /* SCNTL0 */
trunk/src/emu/machine/wd33c93.c
r17959r17960
419419   case WD_CMD_RESET:
420420      reset_cmd();
421421      break;
422     
422
423423   case WD_CMD_ABORT:
424424      abort_cmd();
425425      break;
426     
426
427427   case WD_CMD_NEGATE_ACK:
428428      negate_ack();
429429      break;
trunk/src/emu/machine/matsucd.c
r17959r17960
2727#define MATSU_STATUS_MEDIA      ( 1 << 6 )   /* media present (in caddy or tray) */
2828#define MATSU_STATUS_DOORCLOSED   ( 1 << 7 )   /* tray status */
2929
30struct matsucd
30struct matsucd
3131{
3232   UINT8   enabled;      /* /ENABLE - Unit enabled */
3333   UINT8   cmd_signal;      /* /CMD - Command mode   */
trunk/src/emu/machine/pic8259.c
r17959r17960
2020#define LOG_OCW      0
2121#define LOG_GENERAL    0
2222
23enum pic8259_state_t
23enum pic8259_state_t
2424{
2525   STATE_ICW1,
2626   STATE_ICW2,
trunk/src/emu/machine/m6m80011ap.h
r17959r17960
2424//  TYPE DEFINITIONS
2525//**************************************************************************
2626
27enum eeprom_cmd_t
27enum eeprom_cmd_t
2828{
2929   EEPROM_GET_CMD = 0,
3030   EEPROM_READ,
trunk/src/emu/machine/tms9902.h
r17959r17960
4242
4343extern const device_type TMS9902;
4444
45struct tms9902_interface
45struct tms9902_interface
4646{
4747   devcb_write_line   int_callback;
4848   devcb_write_line   rcv_callback;
trunk/src/emu/machine/s3c2440.c
r17959r17960
6767   space->install_legacy_readwrite_handler( *device, 0x5a000000, 0x5a000043, FUNC(s3c24xx_sdi_r), FUNC(s3c24xx_sdi_w));
6868   space->install_legacy_readwrite_handler( *device, 0x5b000000, 0x5b00001f, FUNC(s3c24xx_ac97_r), FUNC(s3c24xx_ac97_w));
6969   DEVICE_START_CALL(s3c24xx);
70   
70
7171   s3c24xx_video_start( device, device->machine());
7272}
7373
trunk/src/emu/machine/s3c2440.h
r17959r17960
4545public:
4646   s3c2440_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
4747   ~s3c2440_device() { global_free(m_token); }
48   
48
4949   // access to legacy token
5050   void *token() const { assert(m_token != NULL); return m_token; }
5151protected:
r17959r17960
5656private:
5757   // internal state
5858   void *m_token;
59public:   
59public:
6060   UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
6161};
6262
r17959r17960
527527    TYPE DEFINITIONS
528528*******************************************************************************/
529529
530struct s3c24xx_memcon_regs_t
530struct s3c24xx_memcon_regs_t
531531{
532532   UINT32 data[0x34/4];
533533};
534534
535struct s3c24xx_usbhost_regs_t
535struct s3c24xx_usbhost_regs_t
536536{
537537   UINT32 data[0x5C/4];
538538};
539539
540struct s3c24xx_irq_regs_t
540struct s3c24xx_irq_regs_t
541541{
542542   UINT32 srcpnd;
543543   UINT32 intmod;
r17959r17960
549549   UINT32 intsubmsk;
550550};
551551
552struct s3c24xx_dma_regs_t
552struct s3c24xx_dma_regs_t
553553{
554554   UINT32 disrc;
555555   UINT32 disrcc;
r17959r17960
562562   UINT32 dmasktrig;
563563};
564564
565struct s3c24xx_clkpow_regs_t
565struct s3c24xx_clkpow_regs_t
566566{
567567   UINT32 locktime;
568568   UINT32 mpllcon;
r17959r17960
573573   UINT32 camdivn;
574574};
575575
576struct s3c24xx_lcd_regs_t
576struct s3c24xx_lcd_regs_t
577577{
578578   UINT32 lcdcon1;
579579   UINT32 lcdcon2;
r17959r17960
595595   UINT32 tconsel;
596596};
597597
598struct s3c24xx_lcdpal_regs_t
598struct s3c24xx_lcdpal_regs_t
599599{
600600   UINT32 data[0x400/4];
601601};
602602
603struct s3c24xx_nand_regs_t
603struct s3c24xx_nand_regs_t
604604{
605605   UINT32 nfconf;
606606   UINT32 nfcont;
r17959r17960
620620   UINT32 nfeblk;
621621};
622622
623struct s3c24xx_cam_regs_t
623struct s3c24xx_cam_regs_t
624624{
625625   UINT32 data[0xA4/4];
626626};
627627
628struct s3c24xx_uart_regs_t
628struct s3c24xx_uart_regs_t
629629{
630630   UINT32 ulcon;
631631   UINT32 ucon;
r17959r17960
640640   UINT32 ubrdiv;
641641};
642642
643struct s3c24xx_pwm_regs_t
643struct s3c24xx_pwm_regs_t
644644{
645645   UINT32 tcfg0;
646646   UINT32 tcfg1;
r17959r17960
661661   UINT32 tcnto4;
662662};
663663
664struct s3c24xx_usbdev_regs_t
664struct s3c24xx_usbdev_regs_t
665665{
666666   UINT32 data[0x130/4];
667667};
668668
669struct s3c24xx_wdt_regs_t
669struct s3c24xx_wdt_regs_t
670670{
671671   UINT32 wtcon;
672672   UINT32 wtdat;
673673   UINT32 wtcnt;
674674};
675675
676struct s3c24xx_iic_regs_t
676struct s3c24xx_iic_regs_t
677677{
678678   UINT32 iiccon;
679679   UINT32 iicstat;
r17959r17960
682682   UINT32 iiclc;
683683};
684684
685struct s3c24xx_iis_regs_t
685struct s3c24xx_iis_regs_t
686686{
687687   UINT32 iiscon;
688688   UINT32 iismod;
r17959r17960
691691   UINT32 iisfifo;
692692};
693693
694struct s3c24xx_gpio_regs_t
694struct s3c24xx_gpio_regs_t
695695{
696696   UINT32 gpacon;
697697   UINT32 gpadat;
r17959r17960
750750   UINT32 gpjup;
751751};
752752
753struct s3c24xx_rtc_regs_t
753struct s3c24xx_rtc_regs_t
754754{
755755   UINT32 rtccon;
756756   UINT32 ticnt;
r17959r17960
772772   UINT32 bcdyear;
773773};
774774
775struct s3c24xx_adc_regs_t
775struct s3c24xx_adc_regs_t
776776{
777777   UINT32 adccon;
778778   UINT32 adctsc;
r17959r17960
782782   UINT32 adcupdn;
783783};
784784
785struct s3c24xx_spi_regs_t
785struct s3c24xx_spi_regs_t
786786{
787787   UINT32 spcon;
788788   UINT32 spsta;
r17959r17960
792792   UINT32 sprdat;
793793};
794794
795struct s3c24xx_sdi_regs_t
795struct s3c24xx_sdi_regs_t
796796{
797797   UINT32 data[0x44/4];
798798};
799799
800struct s3c24xx_ac97_regs_t
800struct s3c24xx_ac97_regs_t
801801{
802802   UINT32 data[0x20/4];
803803};
804804
805struct s3c24xx_memcon_t
805struct s3c24xx_memcon_t
806806{
807807   s3c24xx_memcon_regs_t regs;
808808};
809809
810struct s3c24xx_usbhost_t
810struct s3c24xx_usbhost_t
811811{
812812   s3c24xx_usbhost_regs_t regs;
813813};
814814
815struct s3c24xx_irq_t
815struct s3c24xx_irq_t
816816{
817817   s3c24xx_irq_regs_t regs;
818818   int line_irq, line_fiq;
819819};
820820
821struct s3c24xx_dma_t
821struct s3c24xx_dma_t
822822{
823823   s3c24xx_dma_regs_t regs;
824824   emu_timer *timer;
825825};
826826
827struct s3c24xx_clkpow_t
827struct s3c24xx_clkpow_t
828828{
829829   s3c24xx_clkpow_regs_t regs;
830830};
831831
832struct s3c24xx_lcd_t
832struct s3c24xx_lcd_t
833833{
834834   s3c24xx_lcd_regs_t regs;
835835   emu_timer *timer;
r17959r17960
848848   UINT32 dma_data, dma_bits;
849849};
850850
851struct s3c24xx_lcdpal_t
851struct s3c24xx_lcdpal_t
852852{
853853   s3c24xx_lcdpal_regs_t regs;
854854};
855855
856struct s3c24xx_nand_t
856struct s3c24xx_nand_t
857857{
858858   s3c24xx_nand_regs_t regs;
859859   UINT8 mecc[4];
r17959r17960
861861   int ecc_pos, data_count;
862862};
863863
864struct s3c24xx_cam_t
864struct s3c24xx_cam_t
865865{
866866   s3c24xx_cam_regs_t regs;
867867};
868868
869struct s3c24xx_uart_t
869struct s3c24xx_uart_t
870870{
871871   s3c24xx_uart_regs_t regs;
872872};
873873
874struct s3c24xx_pwm_t
874struct s3c24xx_pwm_t
875875{
876876   s3c24xx_pwm_regs_t regs;
877877   emu_timer *timer[5];
r17959r17960
880880   UINT32 freq[5];
881881};
882882
883struct s3c24xx_usbdev_t
883struct s3c24xx_usbdev_t
884884{
885885   s3c24xx_usbdev_regs_t regs;
886886};
887887
888struct s3c24xx_wdt_t
888struct s3c24xx_wdt_t
889889{
890890   s3c24xx_wdt_regs_t regs;
891891   emu_timer *timer;
892892};
893893
894struct s3c24xx_iic_t
894struct s3c24xx_iic_t
895895{
896896   s3c24xx_iic_regs_t regs;
897897   emu_timer *timer;
898898   int count;
899899};
900900
901struct s3c24xx_iis_t
901struct s3c24xx_iis_t
902902{
903903   s3c24xx_iis_regs_t regs;
904904   emu_timer *timer;
r17959r17960
906906   int fifo_index;
907907};
908908
909struct s3c24xx_gpio_t
909struct s3c24xx_gpio_t
910910{
911911   s3c24xx_gpio_regs_t regs;
912912};
913913
914struct s3c24xx_rtc_t
914struct s3c24xx_rtc_t
915915{
916916   s3c24xx_rtc_regs_t regs;
917917   emu_timer *timer_tick_count;
918918   emu_timer *timer_update;
919919};
920920
921struct s3c24xx_adc_t
921struct s3c24xx_adc_t
922922{
923923   s3c24xx_adc_regs_t regs;
924924};
925925
926struct s3c24xx_spi_t
926struct s3c24xx_spi_t
927927{
928928   s3c24xx_spi_regs_t regs;
929929};
930930
931struct s3c24xx_sdi_t
931struct s3c24xx_sdi_t
932932{
933933   s3c24xx_sdi_regs_t regs;
934934};
935935
936struct s3c24xx_ac97_t
936struct s3c24xx_ac97_t
937937{
938938   s3c24xx_ac97_regs_t regs;
939939};
940940
941struct s3c24xx_t
941struct s3c24xx_t
942942{
943943   const s3c2440_interface *iface;
944944   UINT8 steppingstone[4*1024];
trunk/src/emu/machine/netlist.c
r17959r17960
6868#if KEEP_STATISTICS
6969#define add_to_stat(v,x)      do { v += (x); } while (0)
7070#define inc_stat(v)            add_to_stat(v, 1)
71#define begin_timing(v)          do { (v) -= get_profile_ticks(); } while (0)
71#define begin_timing(v)         do { (v) -= get_profile_ticks(); } while (0)
7272#define end_timing(v)         do { (v) += get_profile_ticks(); } while (0)
7373#else
7474#define add_to_stat(v,x)      do { } while (0)
r17959r17960
386386   while ( (atime > 0) && (m_queue.is_not_empty()))
387387   {
388388      queue_t::entry_t e = m_queue.pop();
389       netlist_time delta = e.time() - m_time_ps + netlist_time::from_raw(m_rem);
389      netlist_time delta = e.time() - m_time_ps + netlist_time::from_raw(m_rem);
390390
391391      atime -= divu_64x32_rem(delta.as_raw(), m_div, &m_rem);
392392      m_time_ps = e.time();
r17959r17960
583583      if (out.object_type(net_output_t::SIGNAL_MASK) == net_output_t::SIGNAL_ANALOG
584584            && in->object_type(net_output_t::SIGNAL_MASK) == net_output_t::SIGNAL_DIGITAL)
585585      {
586         //          fatalerror("connecting analog output %s with %s\n", out.netdev()->name(), in->netdev()->name());
587         //          fatalerror("connecting analog output %s with %s\n", out.netdev()->name(), in->netdev()->name());
586         //          fatalerror("connecting analog output %s with %s\n", out.netdev()->name(), in->netdev()->name());
587         //          fatalerror("connecting analog output %s with %s\n", out.netdev()->name(), in->netdev()->name());
588588         netdev_a_to_d_proxy *proxy = new netdev_a_to_d_proxy(*in);
589589         proxy->init(this, "abc");
590590         proxy->start();
r17959r17960
933933void netlist_mame_device::device_stop()
934934{
935935   m_setup->print_stats();
936   
936
937937   global_free(m_setup);
938938   global_free(m_netlist);
939939}
r17959r17960
972972   //bool check_debugger = ((device_t::machine().debug_flags & DEBUG_FLAG_ENABLED) != 0);
973973
974974   // debugging
975   //m_ppc = m_pc;   // copy PC to previous PC
975   //m_ppc = m_pc; // copy PC to previous PC
976976   //if (check_debugger)
977   //   debugger_instruction_hook(this, 0); //m_pc);
977   //  debugger_instruction_hook(this, 0); //m_pc);
978978
979979   m_netlist->process_list(m_icount);
980980
trunk/src/emu/machine/8042kbdc.h
r17959r17960
1010#ifndef KBDC8042_H
1111#define KBDC8042_H
1212
13enum kbdc8042_type_t
13enum kbdc8042_type_t
1414{
1515   KBDC8042_STANDARD,
1616   KBDC8042_PS2,      /* another timing of integrated controller */
trunk/src/emu/machine/netlist.h
r17959r17960
5858#define USE_DELEGATES         (1)
5959#define USE_DELEGATES_A         (0)
6060
61#define NETLIST_CLOCK                (U64(1000000000))
61#define NETLIST_CLOCK             (U64(1000000000))
6262
6363#define NLTIME_FROM_NS(_t)   netlist_time::from_ns(_t)
6464#define NLTIME_FROM_US(_t)   netlist_time::from_us(_t)
r17959r17960
100100
101101#define NETLIST_END  }
102102
103#define NETLIST_INCLUDE(_name)                                           \
103#define NETLIST_INCLUDE(_name)                                          \
104104      NETLIST_NAME(_name)(netlist);                                    \
105105
106106
107#define NETLIST_MEMREGION(_name)                                        \
107#define NETLIST_MEMREGION(_name)                                       \
108108      netlist.parse((char *)downcast<netlist_t &>(netlist.netlist()).machine().root_device().memregion(_name)->base());      \
109109
110110#if defined(__GNUC__) && (__GNUC__ >= 3)
r17959r17960
129129#define NETLIB_SIGNAL(_name, _num_input, _check)                           \
130130   class _name : public net_signal_t<_num_input, _check>                     \
131131   {                                                            \
132   public:                                                         \
132   public:                                                         \
133133      _name () : net_signal_t<_num_input, _check>() { }                     \
134134   };                                                            \
135135
r17959r17960
168168
169169// MAME specific
170170
171#define MCFG_NETLIST_ADD(_tag, _setup )                                      \
172    MCFG_DEVICE_ADD(_tag, NETLIST, NETLIST_CLOCK)                            \
173    MCFG_NETLIST_SETUP(_setup)                                           \
171#define MCFG_NETLIST_ADD(_tag, _setup )                                    \
172    MCFG_DEVICE_ADD(_tag, NETLIST, NETLIST_CLOCK)                           \
173    MCFG_NETLIST_SETUP(_setup)                                          \
174174
175#define MCFG_NETLIST_REPLACE(_tag, _setup)                                   \
175#define MCFG_NETLIST_REPLACE(_tag, _setup)                                 \
176176    MCFG_DEVICE_REPLACE(_tag, NETLIST, NETLIST_CLOCK)                        \
177    MCFG_NETLIST_SETUP(_setup)                                           \
177    MCFG_NETLIST_SETUP(_setup)                                          \
178178
179#define MCFG_NETLIST_SETUP(_setup)                                        \
179#define MCFG_NETLIST_SETUP(_setup)                                       \
180180   netlist_mame_device::static_set_constructor(*device, NETLIST_NAME(_setup));      \
181181
182182
r17959r17960
402402      TYPE_MASK = 0x03,
403403      SIGNAL_DIGITAL = 0x00,
404404      SIGNAL_ANALOG =  0x10,
405      SIGNAL_MASK =     0x10,
405      SIGNAL_MASK =    0x10,
406406   };
407407
408408   net_object_t(int atype)
r17959r17960
510510
511511   friend net_sig_t logic_input_t::Q() const;
512512
513   ATTR_HOT inline const net_sig_t last_Q() const   { return m_last_Q;    }
514   ATTR_HOT inline const net_sig_t new_Q() const   { return m_new_Q;    }
513   ATTR_HOT inline const net_sig_t last_Q() const   { return m_last_Q;   }
514   ATTR_HOT inline const net_sig_t new_Q() const   { return m_new_Q;   }
515515
516516   ATTR_HOT inline const double Q_Analog() const
517517   {
r17959r17960
519519      {
520520      case SIGNAL_DIGITAL:   return m_Q ? m_high_V : m_low_V;
521521      case SIGNAL_ANALOG:      return m_Q_analog;
522      default:             assert(true);
522      default:            assert(true);
523523      }
524524
525525      return 0;
526526   }
527527
528528   inline net_sig_t *Q_ptr()      { return &m_Q; }
529   inline net_sig_t *new_Q_ptr()    { return &m_new_Q; }
529   inline net_sig_t *new_Q_ptr()   { return &m_new_Q; }
530530
531531   ATTR_COLD void register_con(net_input_t &inp);
532532
r17959r17960
544544protected:
545545
546546   /* prohibit use in device functions
547    * current (pending) state can be inquired using new_Q()
548    */
549   ATTR_HOT inline const net_sig_t Q() const   { return m_Q;    }
547     * current (pending) state can be inquired using new_Q()
548     */
549   ATTR_HOT inline const net_sig_t Q() const   { return m_Q;   }
550550
551551   ATTR_HOT inline void register_in_listPS(const netlist_time &delay_ps);
552552
r17959r17960
612612   }
613613
614614   ATTR_COLD void initial(const net_sig_t val) { m_Q = val; m_new_Q = val; m_last_Q = !val; }
615   ATTR_HOT inline void clear()    { set_Q_PS(0, netlist_time::zero); }
616   ATTR_HOT inline void set()      { set_Q_PS(1, netlist_time::zero); }
615   ATTR_HOT inline void clear()   { set_Q_PS(0, netlist_time::zero); }
616   ATTR_HOT inline void set()     { set_Q_PS(1, netlist_time::zero); }
617617   ATTR_HOT inline void setToPS(const UINT8 val, const netlist_time &delay_ps) { set_Q_PS(val, delay_ps); }
618618   ATTR_HOT inline void setToNoCheckPS(const UINT8 val, const netlist_time &delay_ps) { set_Q_NoCheckPS(val, delay_ps); }
619619   ATTR_COLD inline void set_levels(const double low, const double high)
r17959r17960
768768   inline void initial(const double val) { m_param = val; }
769769   inline void initial(const int val) { m_param = val; }
770770
771   ATTR_HOT inline double Value() const      { return m_param;    }
771   ATTR_HOT inline double Value() const      { return m_param;   }
772772   ATTR_HOT inline int    ValueInt() const    { return (int) m_param;    }
773773
774774   ATTR_HOT inline net_core_device_t &netdev() const { return *m_netdev; }
r17959r17960
922922protected:
923923   netlist_time m_time_ps;
924924   UINT32    m_rem;
925   UINT32    m_div;
925   UINT32   m_div;
926926
927927   queue_t m_queue;
928928
trunk/src/emu/machine/latch8.h
r17959r17960
4646public:
4747   latch8_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
4848   ~latch8_device() { global_free(m_token); }
49   
49
5050   // access to legacy token
5151   void *token() const { assert(m_token != NULL); return m_token; }
5252   latch8_config m_inline_config;
53   
54   void set_maskout(UINT32 maskout) { m_inline_config.maskout = maskout; }
55   void set_xorvalue(UINT32 xorvalue) { m_inline_config.xorvalue = xorvalue; }
56   void set_nosync(UINT32 nosync) { m_inline_config.nosync = nosync; }
57   
58   void set_discrete_node(const char *dev_tag, int bit, UINT32 node) { m_inline_config.node_device[bit] = dev_tag;  m_inline_config.node_map[bit] = node;  }
59   void set_devread(int bit, const char *tag, read8_device_func handler, int from_bit)
53
54   void set_maskout(UINT32 maskout) { m_inline_config.maskout = maskout; }
55   void set_xorvalue(UINT32 xorvalue) { m_inline_config.xorvalue = xorvalue; }
56   void set_nosync(UINT32 nosync) { m_inline_config.nosync = nosync; }
57
58   void set_discrete_node(const char *dev_tag, int bit, UINT32 node) { m_inline_config.node_device[bit] = dev_tag;  m_inline_config.node_map[bit] = node;  }
59   void set_devread(int bit, const char *tag, read8_device_func handler, int from_bit)
6060   {
61      m_inline_config.devread[bit].from_bit = from_bit;
62      m_inline_config.devread[bit].tag = tag;
63      m_inline_config.devread[bit].devread_handler = handler;         
61      m_inline_config.devread[bit].from_bit = from_bit;
62      m_inline_config.devread[bit].tag = tag;
63      m_inline_config.devread[bit].devread_handler = handler;
6464   }
65   void set_read(int bit, read8_space_func handler, int from_bit)
65   void set_read(int bit, read8_space_func handler, int from_bit)
6666   {
67      m_inline_config.devread[bit].from_bit = from_bit;
68      m_inline_config.devread[bit].read_handler = handler;         
69   }     
67      m_inline_config.devread[bit].from_bit = from_bit;
68      m_inline_config.devread[bit].read_handler = handler;
69   }
7070protected:
7171   // device-level overrides
7272   virtual void device_config_complete();
r17959r17960
8888
8989/* Bit mask specifying bits to be masked *out* */
9090#define MCFG_LATCH8_MASKOUT(_maskout) \
91   static_cast<latch8_device *>(device)->set_maskout(_maskout);   
91   static_cast<latch8_device *>(device)->set_maskout(_maskout);
9292
9393/* Bit mask specifying bits to be inverted */
9494#define MCFG_LATCH8_INVERT(_xor) \
trunk/src/emu/machine/v3021.h
r17959r17960
2727//  TYPE DEFINITIONS
2828//**************************************************************************
2929
30struct rtc_regs_t
30struct rtc_regs_t
3131{
3232   UINT8 sec, min, hour, day, wday, month, year;
3333};
trunk/src/emu/machine/6526cia.h
r17959r17960
113113
114114   DECLARE_READ8_MEMBER( read );
115115   DECLARE_WRITE8_MEMBER( write );
116   
116
117117   UINT8 reg_r(UINT8 offset);
118118   void reg_w(UINT8 offset, UINT8 data);
119119
trunk/src/emu/machine/68681.c
r17959r17960
4444
4545#define RX_FIFO_SIZE            3
4646
47struct DUART68681_CHANNEL
47struct DUART68681_CHANNEL
4848{
4949   /* Registers */
5050   UINT8 CR;  /* Command register */
r17959r17960
7272
7373};
7474
75struct duart68681_state
75struct duart68681_state
7676{
7777   /* device */
7878   device_t *device;
trunk/src/emu/machine/s3c2400.c
r17959r17960
6262   space->install_legacy_readwrite_handler( *device, 0x15800000, 0x15800007, FUNC(s3c24xx_adc_r), FUNC(s3c24xx_adc_w));
6363   space->install_legacy_readwrite_handler( *device, 0x15900000, 0x15900017, FUNC(s3c24xx_spi_0_r), FUNC(s3c24xx_spi_0_w));
6464   space->install_legacy_readwrite_handler( *device, 0x15a00000, 0x15a0003f, FUNC(s3c24xx_mmc_r), FUNC(s3c24xx_mmc_w));
65   
65
6666   s3c24xx_video_start( device, device->machine());
6767}
6868
trunk/src/emu/machine/s3c2400.h
r17959r17960
3838public:
3939   s3c2400_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
4040   ~s3c2400_device() { global_free(m_token); }
41   
41
4242   // access to legacy token
4343   void *token() const { assert(m_token != NULL); return m_token; }
44   
44
4545   // device-level overrides
4646   virtual void device_config_complete();
4747   virtual void device_start();
r17959r17960
4949private:
5050   // internal state
5151   void *m_token;
52public:   
52public:
5353   UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
5454};
5555
r17959r17960
407407    TYPE DEFINITIONS
408408*******************************************************************************/
409409
410struct s3c24xx_memcon_regs_t
410struct s3c24xx_memcon_regs_t
411411{
412412   UINT32 data[0x34/4];
413413};
414414
415struct s3c24xx_usbhost_regs_t
415struct s3c24xx_usbhost_regs_t
416416{
417417   UINT32 data[0x5C/4];
418418};
419419
420struct s3c24xx_irq_regs_t
420struct s3c24xx_irq_regs_t
421421{
422422   UINT32 srcpnd;
423423   UINT32 intmod;
r17959r17960
427427   UINT32 intoffset;
428428};
429429
430struct s3c24xx_dma_regs_t
430struct s3c24xx_dma_regs_t
431431{
432432   UINT32 disrc;
433433   UINT32 didst;
r17959r17960
438438   UINT32 dmasktrig;
439439};
440440
441struct s3c24xx_clkpow_regs_t
441struct s3c24xx_clkpow_regs_t
442442{
443443   UINT32 locktime;
444444   UINT32 mpllcon;
r17959r17960
448448   UINT32 clkdivn;
449449};
450450
451struct s3c24xx_lcd_regs_t
451struct s3c24xx_lcd_regs_t
452452{
453453   UINT32 lcdcon1;
454454   UINT32 lcdcon2;
r17959r17960
466466   UINT32 tpal;
467467};
468468
469struct s3c24xx_lcdpal_regs_t
469struct s3c24xx_lcdpal_regs_t
470470{
471471   UINT32 data[0x400/4];
472472};
473473
474struct s3c24xx_uart_regs_t
474struct s3c24xx_uart_regs_t
475475{
476476   UINT32 ulcon;
477477   UINT32 ucon;
r17959r17960
486486   UINT32 ubrdiv;
487487};
488488
489struct s3c24xx_pwm_regs_t
489struct s3c24xx_pwm_regs_t
490490{
491491   UINT32 tcfg0;
492492   UINT32 tcfg1;
r17959r17960
507507   UINT32 tcnto4;
508508};
509509
510struct s3c24xx_usbdev_regs_t
510struct s3c24xx_usbdev_regs_t
511511{
512512   UINT32 data[0xBC/4];
513513};
514514
515struct s3c24xx_wdt_regs_t
515struct s3c24xx_wdt_regs_t
516516{
517517   UINT32 wtcon;
518518   UINT32 wtdat;
519519   UINT32 wtcnt;
520520};
521521
522struct s3c24xx_iic_regs_t
522struct s3c24xx_iic_regs_t
523523{
524524   UINT32 iiccon;
525525   UINT32 iicstat;
r17959r17960
527527   UINT32 iicds;
528528};
529529
530struct s3c24xx_iis_regs_t
530struct s3c24xx_iis_regs_t
531531{
532532   UINT32 iiscon;
533533   UINT32 iismod;
r17959r17960
536536   UINT32 iisfifo;
537537};
538538
539struct s3c24xx_gpio_regs_t
539struct s3c24xx_gpio_regs_t
540540{
541541   UINT32 gpacon;
542542   UINT32 gpadat;
r17959r17960
563563   UINT32 extint;
564564};
565565
566struct s3c24xx_rtc_regs_t
566struct s3c24xx_rtc_regs_t
567567{
568568   UINT32 rtccon;
569569   UINT32 ticnt;
r17959r17960
585585   UINT32 bcdyear;
586586};
587587
588struct s3c24xx_adc_regs_t
588struct s3c24xx_adc_regs_t
589589{
590590   UINT32 adccon;
591591   UINT32 adcdat;
592592};
593593
594struct s3c24xx_spi_regs_t
594struct s3c24xx_spi_regs_t
595595{
596596   UINT32 spcon;
597597   UINT32 spsta;
r17959r17960
601601   UINT32 sprdat;
602602};
603603
604struct s3c24xx_mmc_regs_t
604struct s3c24xx_mmc_regs_t
605605{
606606   UINT32 data[0x40/4];
607607};
608608
609struct s3c24xx_memcon_t
609struct s3c24xx_memcon_t
610610{
611611   s3c24xx_memcon_regs_t regs;
612612};
613613
614struct s3c24xx_usbhost_t
614struct s3c24xx_usbhost_t
615615{
616616   s3c24xx_usbhost_regs_t regs;
617617};
618618
619struct s3c24xx_irq_t
619struct s3c24xx_irq_t
620620{
621621   s3c24xx_irq_regs_t regs;
622622   int line_irq, line_fiq;
623623};
624624
625struct s3c24xx_dma_t
625struct s3c24xx_dma_t
626626{
627627   s3c24xx_dma_regs_t regs;
628628   emu_timer *timer;
629629};
630630
631struct s3c24xx_clkpow_t
631struct s3c24xx_clkpow_t
632632{
633633   s3c24xx_clkpow_regs_t regs;
634634};
635635
636struct s3c24xx_lcd_t
636struct s3c24xx_lcd_t
637637{
638638   s3c24xx_lcd_regs_t regs;
639639   emu_timer *timer;
r17959r17960
652652   UINT32 dma_data, dma_bits;
653653};
654654
655struct s3c24xx_lcdpal_t
655struct s3c24xx_lcdpal_t
656656{
657657   s3c24xx_lcdpal_regs_t regs;
658658};
659659
660struct s3c24xx_uart_t
660struct s3c24xx_uart_t
661661{
662662   s3c24xx_uart_regs_t regs;
663663};
664664
665struct s3c24xx_pwm_t
665struct s3c24xx_pwm_t
666666{
667667   s3c24xx_pwm_regs_t regs;
668668   emu_timer *timer[5];
r17959r17960
671671   UINT32 freq[5];
672672};
673673
674struct s3c24xx_usbdev_t
674struct s3c24xx_usbdev_t
675675{
676676   s3c24xx_usbdev_regs_t regs;
677677};
678678
679struct s3c24xx_wdt_t
679struct s3c24xx_wdt_t
680680{
681681   s3c24xx_wdt_regs_t regs;
682682   emu_timer *timer;
683683};
684684
685struct s3c24xx_iic_t
685struct s3c24xx_iic_t
686686{
687687   s3c24xx_iic_regs_t regs;
688688   emu_timer *timer;
689689   int count;
690690};
691691
692struct s3c24xx_iis_t
692struct s3c24xx_iis_t
693693{
694694   s3c24xx_iis_regs_t regs;
695695   emu_timer *timer;
r17959r17960
697697   int fifo_index;
698698};
699699
700struct s3c24xx_gpio_t
700struct s3c24xx_gpio_t
701701{
702702   s3c24xx_gpio_regs_t regs;
703703};
704704
705struct s3c24xx_rtc_t
705struct s3c24xx_rtc_t
706706{
707707   s3c24xx_rtc_regs_t regs;
708708   emu_timer *timer_tick_count;
709709   emu_timer *timer_update;
710710};
711711
712struct s3c24xx_adc_t
712struct s3c24xx_adc_t
713713{
714714   s3c24xx_adc_regs_t regs;
715715};
716716
717struct s3c24xx_spi_t
717struct s3c24xx_spi_t
718718{
719719   s3c24xx_spi_regs_t regs;
720720};
721721
722struct s3c24xx_mmc_t
722struct s3c24xx_mmc_t
723723{
724724   s3c24xx_mmc_regs_t regs;
725725};
726726
727struct s3c24xx_t
727struct s3c24xx_t
728728{
729729   const s3c2400_interface *iface;
730730   s3c24xx_memcon_t memcon;
trunk/src/emu/machine/rp5h01.c
r17959r17960
22
33    RP5H01
44
5   TODO:
6   - convert to modern and follow the datasheet better (all dumps
7     presumably needs to be redone from scratch?)
5    TODO:
6    - convert to modern and follow the datasheet better (all dumps
7      presumably needs to be redone from scratch?)
88
99    2009-06 Converted to be a device
1010
trunk/src/emu/machine/rtc9701.h
r17959r17960
2626//**************************************************************************
2727
2828
29enum rtc9701_state_t
29enum rtc9701_state_t
3030{
3131   RTC9701_CMD_WAIT = 0,
3232   RTC9701_RTC_READ,
r17959r17960
3737
3838};
3939
40struct rtc_regs_t
40struct rtc_regs_t
4141{
4242   UINT8 sec, min, hour, day, wday, month, year;
4343};
trunk/src/emu/machine/s3520cf.c
r17959r17960
210210WRITE_LINE_MEMBER( s3520cf_device::write_bit )
211211{
212212   m_latch = state;
213//   printf("%d LATCH LINE\n",state);
213//  printf("%d LATCH LINE\n",state);
214214}
215215
216216WRITE_LINE_MEMBER( s3520cf_device::set_clock_line )
trunk/src/emu/machine/s3520cf.h
r17959r17960
2323//  TYPE DEFINITIONS
2424//**************************************************************************
2525
26enum s3520cf_state_t
26enum s3520cf_state_t
2727{
2828   RTC_SET_ADDRESS = 0,
2929   RTC_SET_DATA
3030};
3131
32struct rtc_regs_t
32struct rtc_regs_t
3333{
3434   UINT8 sec, min, hour, day, wday, month, year;
3535};
trunk/src/emu/machine/s3c2410.c
r17959r17960
6565   space->install_legacy_readwrite_handler( *device, 0x59000000, 0x59000017, FUNC(s3c24xx_spi_0_r), FUNC(s3c24xx_spi_0_w));
6666   space->install_legacy_readwrite_handler( *device, 0x59000020, 0x59000037, FUNC(s3c24xx_spi_1_r), FUNC(s3c24xx_spi_1_w));
6767   space->install_legacy_readwrite_handler( *device, 0x5a000000, 0x5a000043, FUNC(s3c24xx_sdi_r), FUNC(s3c24xx_sdi_w));
68   
68
6969   s3c24xx_video_start( device, device->machine());
7070}
7171
trunk/src/emu/machine/s3c2410.h
r17959r17960
4646public:
4747   s3c2410_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
4848   ~s3c2410_device() { global_free(m_token); }
49   
49
5050   // access to legacy token
5151   void *token() const { assert(m_token != NULL); return m_token; }
5252   // device-level overrides
r17959r17960
5656private:
5757   // internal state
5858   void *m_token;
59public:     
59public:
6060   UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
6161};
6262
r17959r17960
498498    TYPE DEFINITIONS
499499*******************************************************************************/
500500
501struct s3c24xx_memcon_regs_t
501struct s3c24xx_memcon_regs_t
502502{
503503   UINT32 data[0x34/4];
504504};
505505
506struct s3c24xx_usbhost_regs_t
506struct s3c24xx_usbhost_regs_t
507507{
508508   UINT32 data[0x5C/4];
509509};
510510
511struct s3c24xx_irq_regs_t
511struct s3c24xx_irq_regs_t
512512{
513513   UINT32 srcpnd;
514514   UINT32 intmod;
r17959r17960
520520   UINT32 intsubmsk;
521521};
522522
523struct s3c24xx_dma_regs_t
523struct s3c24xx_dma_regs_t
524524{
525525   UINT32 disrc;
526526   UINT32 disrcc;
r17959r17960
533533   UINT32 dmasktrig;
534534};
535535
536struct s3c24xx_clkpow_regs_t
536struct s3c24xx_clkpow_regs_t
537537{
538538   UINT32 locktime;
539539   UINT32 mpllcon;
r17959r17960
543543   UINT32 clkdivn;
544544};
545545
546struct s3c24xx_lcd_regs_t
546struct s3c24xx_lcd_regs_t
547547{
548548   UINT32 lcdcon1;
549549   UINT32 lcdcon2;
r17959r17960
565565   UINT32 lpcsel;
566566};
567567
568struct s3c24xx_lcdpal_regs_t
568struct s3c24xx_lcdpal_regs_t
569569{
570570   UINT32 data[0x400/4];
571571};
572572
573struct s3c24xx_nand_regs_t
573struct s3c24xx_nand_regs_t
574574{
575575   UINT32 nfconf;
576576   UINT32 nfcmd;
r17959r17960
580580   UINT32 nfecc;
581581};
582582
583struct s3c24xx_uart_regs_t
583struct s3c24xx_uart_regs_t
584584{
585585   UINT32 ulcon;
586586   UINT32 ucon;
r17959r17960
595595   UINT32 ubrdiv;
596596};
597597
598struct s3c24xx_pwm_regs_t
598struct s3c24xx_pwm_regs_t
599599{
600600   UINT32 tcfg0;
601601   UINT32 tcfg1;
r17959r17960
616616   UINT32 tcnto4;
617617};
618618
619struct s3c24xx_usbdev_regs_t
619struct s3c24xx_usbdev_regs_t
620620{
621621   UINT32 data[0x130/4];
622622};
623623
624struct s3c24xx_wdt_regs_t
624struct s3c24xx_wdt_regs_t
625625{
626626   UINT32 wtcon;
627627   UINT32 wtdat;
628628   UINT32 wtcnt;
629629};
630630
631struct s3c24xx_iic_regs_t
631struct s3c24xx_iic_regs_t
632632{
633633   UINT32 iiccon;
634634   UINT32 iicstat;
r17959r17960
636636   UINT32 iicds;
637637};
638638
639struct s3c24xx_iis_regs_t
639struct s3c24xx_iis_regs_t
640640{
641641   UINT32 iiscon;
642642   UINT32 iismod;
r17959r17960
645645   UINT32 iisfifo;
646646};
647647
648struct s3c24xx_gpio_regs_t
648struct s3c24xx_gpio_regs_t
649649{
650650   UINT32 gpacon;
651651   UINT32 gpadat;
r17959r17960
697697   UINT32 gstatus4;
698698};
699699
700struct s3c24xx_rtc_regs_t
700struct s3c24xx_rtc_regs_t
701701{
702702   UINT32 rtccon;
703703   UINT32 ticnt;
r17959r17960
719719   UINT32 bcdyear;
720720};
721721
722struct s3c24xx_adc_regs_t
722struct s3c24xx_adc_regs_t
723723{
724724   UINT32 adccon;
725725   UINT32 adctsc;
r17959r17960
728728   UINT32 adcdat1;
729729};
730730
731struct s3c24xx_spi_regs_t
731struct s3c24xx_spi_regs_t
732732{
733733   UINT32 spcon;
734734   UINT32 spsta;
r17959r17960
738738   UINT32 sprdat;
739739};
740740
741struct s3c24xx_sdi_regs_t
741struct s3c24xx_sdi_regs_t
742742{
743743   UINT32 data[0x44/4];
744744};
745745
746struct s3c24xx_memcon_t
746struct s3c24xx_memcon_t
747747{
748748   s3c24xx_memcon_regs_t regs;
749749};
750750
751struct s3c24xx_usbhost_t
751struct s3c24xx_usbhost_t
752752{
753753   s3c24xx_usbhost_regs_t regs;
754754};
755755
756struct s3c24xx_irq_t
756struct s3c24xx_irq_t
757757{
758758   s3c24xx_irq_regs_t regs;
759759   int line_irq, line_fiq;
760760};
761761
762struct s3c24xx_dma_t
762struct s3c24xx_dma_t
763763{
764764   s3c24xx_dma_regs_t regs;
765765   emu_timer *timer;
766766};
767767
768struct s3c24xx_clkpow_t
768struct s3c24xx_clkpow_t
769769{
770770   s3c24xx_clkpow_regs_t regs;
771771};
772772
773struct s3c24xx_lcd_t
773struct s3c24xx_lcd_t
774774{
775775   s3c24xx_lcd_regs_t regs;
776776   emu_timer *timer;
r17959r17960
789789   UINT32 dma_data, dma_bits;
790790};
791791
792struct s3c24xx_lcdpal_t
792struct s3c24xx_lcdpal_t
793793{
794794   s3c24xx_lcdpal_regs_t regs;
795795};
796796
797struct s3c24xx_nand_t
797struct s3c24xx_nand_t
798798{
799799   s3c24xx_nand_regs_t regs;
800800   UINT8 mecc[3];
801801   int ecc_pos, data_count;
802802};
803803
804struct s3c24xx_uart_t
804struct s3c24xx_uart_t
805805{
806806   s3c24xx_uart_regs_t regs;
807807};
808808
809struct s3c24xx_pwm_t
809struct s3c24xx_pwm_t
810810{
811811   s3c24xx_pwm_regs_t regs;
812812   emu_timer *timer[5];
r17959r17960
815815   UINT32 freq[5];
816816};
817817
818struct s3c24xx_usbdev_t
818struct s3c24xx_usbdev_t
819819{
820820   s3c24xx_usbdev_regs_t regs;
821821};
822822
823struct s3c24xx_wdt_t
823struct s3c24xx_wdt_t
824824{
825825   s3c24xx_wdt_regs_t regs;
826826   emu_timer *timer;
827827   UINT32 freq, cnt;
828828};
829829
830struct s3c24xx_iic_t
830struct s3c24xx_iic_t
831831{
832832   s3c24xx_iic_regs_t regs;
833833   emu_timer *timer;
834834   int count;
835835};
836836
837struct s3c24xx_iis_t
837struct s3c24xx_iis_t
838838{
839839   s3c24xx_iis_regs_t regs;
840840   emu_timer *timer;
r17959r17960
842842   int fifo_index;
843843};
844844
845struct s3c24xx_gpio_t
845struct s3c24xx_gpio_t
846846{
847847   s3c24xx_gpio_regs_t regs;
848848};
849849
850struct s3c24xx_rtc_t
850struct s3c24xx_rtc_t
851851{
852852   s3c24xx_rtc_regs_t regs;
853853   emu_timer *timer_tick_count;
854854   emu_timer *timer_update;
855855};
856856
857struct s3c24xx_adc_t
857struct s3c24xx_adc_t
858858{
859859   s3c24xx_adc_regs_t regs;
860860};
861861
862struct s3c24xx_spi_t
862struct s3c24xx_spi_t
863863{
864864   s3c24xx_spi_regs_t regs;
865865};
866866
867struct s3c24xx_sdi_t
867struct s3c24xx_sdi_t
868868{
869869   s3c24xx_sdi_regs_t regs;
870870};
871871
872struct s3c24xx_t
872struct s3c24xx_t
873873{
874874   const s3c2410_interface *iface;
875875   UINT8 steppingstone[4*1024];
trunk/src/emu/machine/net_lib.c
r17959r17960
910910{
911911   ENTRY(netdev_ttl_const,      NETDEV_TTL_CONST)
912912   ENTRY(netdev_analog_const,   NETDEV_ANALOG_CONST)
913   ENTRY(netdev_logic_input,    NETDEV_LOGIC_INPUT)
913   ENTRY(netdev_logic_input,   NETDEV_LOGIC_INPUT)
914914   ENTRY(netdev_analog_input,  NETDEV_ANALOG_INPUT)
915915   ENTRY(netdev_clock,       NETDEV_CLOCK)
916   ENTRY(netdev_callback,       NETDEV_CALLBACK)
917   ENTRY(nicMultiSwitch,       NETDEV_SWITCH2)
916   ENTRY(netdev_callback,      NETDEV_CALLBACK)
917   ENTRY(nicMultiSwitch,      NETDEV_SWITCH2)
918918   ENTRY(nicRSFF,            NETDEV_RSFF)
919919   ENTRY(nicMixer8,         NETDEV_MIXER)
920920   ENTRY(nic7400,            TTL_7400_NAND)
trunk/src/emu/machine/net_lib.h
r17959r17960
9494
9595#define TTL_7402_NOR(_name, _I1, _I2)                                    \
9696      NET_REGISTER_DEV(nic7402, _name)                                 \
97      NET_CONNECT(_name, I1, _I1)                                       \
97      NET_CONNECT(_name, I1, _I1)                                       \
9898      NET_CONNECT(_name, I2, _I2)                                       \
9999
100100#define TTL_7404_INVERT(_name, _I1)                                       \
r17959r17960
147147
148148#define TTL_7486_XOR(_name, _I1, _I2)                                    \
149149      NET_REGISTER_DEV(nic7486, _name)                                 \
150      NET_CONNECT(_name, I1, _I1)                                       \
150      NET_CONNECT(_name, I1, _I1)                                       \
151151      NET_CONNECT(_name, I2, _I2)                                       \
152152
153153#define TTL_7448(_name, _A0, _A1, _A2, _A3, _LTQ, _BIQ, _RBIQ)                  \
r17959r17960
201201      NET_CONNECT(_name, K,  _K)                                       \
202202      NET_CONNECT(_name, CLRQ,  _CLRQ)                                 \
203203
204#define TTL_74107(_name, _CLK, _J, _K, _CLRQ)                               \
204#define TTL_74107(_name, _CLK, _J, _K, _CLRQ)                              \
205205      TTL_74107A(_name, _CLK, _J, _K, _CLRQ)
206206
207207#define TTL_74153(_name, _A1, _A2, _A3, _A4, _A, _B, _GA)                     \
r17959r17960
408408{
409409public:
410410   nic74107()
411   :    nic74107A() {}
411   :   nic74107A() {}
412412
413413};
414414
trunk/src/emu/machine/pit8253.c
r17959r17960
8282   UINT32 cycles_to_output;      /* cycles until output callback called */
8383};
8484
85struct    pit8253_t
85struct   pit8253_t
8686{
8787   const pit8253_config *config;
8888   int   device_type;
trunk/src/emu/drawgfx.c
r17959r17960
348348      m_pen_usage.resize(m_total_elements);
349349   else
350350      m_pen_usage.reset();
351   
351
352352   // set the source
353353   set_source(srcdata);
354354}
r17959r17960
402402      // zap the data to 0
403403      UINT8 *decode_base = m_gfxdata + code * m_char_modulo;
404404      memset(decode_base, 0, m_char_modulo);
405     
405
406406      // iterate over planes
407407      for (int plane = 0; plane < m_layout_planes; plane++)
408408      {
r17959r17960
414414         {
415415            int yoffs = planeoffs + m_layout_yoffset[y];
416416            UINT8 *dp = decode_base + y * rowbytes();
417           
417
418418            // iterate over columns
419419            for (int x = 0; x < m_origwidth; x++)
420420               if (readbit(m_srcdata, yoffs + m_layout_xoffset[x]))
trunk/src/emu/drawgfx.h
r17959r17960
133133   UINT32 colors() const { return m_total_colors; }
134134   UINT32 rowbytes() const { return m_line_modulo; }
135135   bool has_pen_usage() const { return (m_pen_usage.count() > 0); }
136   
136
137137   // a bit gross that people muck with this stuff...
138138   const UINT8 *srcdata() const { return m_srcdata; }
139139   UINT32 dirtyseq() const { return m_dirtyseq; }
r17959r17960
156156   const UINT8 *get_data(UINT32 code)
157157   {
158158      assert(code < elements());
159      if (code < m_dirty.count() && m_dirty[code]) decode(code);
159      if (code < m_dirty.count() && m_dirty[code]) decode(code);
160160      return m_gfxdata + code * m_char_modulo + m_starty * m_line_modulo + m_startx;
161161   }
162   
162
163163   UINT32 pen_usage(UINT32 code)
164164   {
165165      assert(code < m_pen_usage.count());
166      if (m_dirty[code]) decode(code);
166      if (m_dirty[code]) decode(code);
167167      return m_pen_usage[code];
168168   }
169   
169
170170private:
171171   // internal state
172172   UINT16         m_width;            // current pixel width of each element (changeble with source clipping)
trunk/src/mess/devices/sonydriv.c
r17959r17960
6060    Structure that describes the state of a floppy drive, and the associated
6161    disk image
6262*/
63struct floppy_t
63struct floppy_t
6464{
6565   device_t *img;
6666   emu_file *fd;
r17959r17960
8080    int is_400k;                /* drive is single-sided, which means 400K */
8181};
8282
83struct sonydriv_t
83struct sonydriv_t
8484{
8585   int lines;            /* four lines SONY_CA0 - SONY_LSTRB */
8686
trunk/src/mess/tools/imgtool/imgterrs.h
r17959r17960
1010#define IMGTERRS_H
1111
1212/* Error codes */
13enum imgtoolerr_t
13enum imgtoolerr_t
1414{
1515   IMGTOOLERR_SUCCESS,
1616   IMGTOOLERR_OUTOFMEMORY,
trunk/src/mess/tools/imgtool/charconv.h
r17959r17960
1212
1313
1414/* Supported character sets */
15enum imgtool_charset
15enum imgtool_charset
1616{
1717   IMGTOOL_CHARSET_UTF8,
1818   IMGTOOL_CHARSET_ISO_8859_1,
trunk/src/mess/tools/imgtool/library.h
r17959r17960
3030struct imgtool_directory;
3131struct imgtool_library;
3232
33enum imgtool_suggestion_viability_t
33enum imgtool_suggestion_viability_t
3434{
3535   SUGGESTION_END,
3636   SUGGESTION_POSSIBLE,
r17959r17960
5151
5252typedef void (*filter_getinfoproc)(UINT32 state, union filterinfo *info);
5353
54enum imgtool_libsort_t
54enum imgtool_libsort_t
5555{
5656   ITLS_NAME,
5757   ITLS_DESCRIPTION
5858};
5959
60struct imgtool_dirent
60struct imgtool_dirent
6161{
6262   char filename[1024];
6363   char attr[64];
r17959r17960
7777   unsigned int hardlink : 1;
7878};
7979
80struct imgtool_chainent
80struct imgtool_chainent
8181{
8282   UINT8 level;
8383   UINT64 block;
8484};
8585
86enum imgtool_forktype_t
86enum imgtool_forktype_t
8787{
8888   FORK_END,
8989   FORK_DATA,
r17959r17960
9191   FORK_ALTERNATE
9292};
9393
94struct imgtool_forkent
94struct imgtool_forkent
9595{
9696   imgtool_forktype_t type;
9797   UINT64 size;
9898   char forkname[64];
9999};
100100
101struct imgtool_transfer_suggestion
101struct imgtool_transfer_suggestion
102102{
103103   imgtool_suggestion_viability_t viability;
104104   filter_getinfoproc filter;
r17959r17960
134134   IMGTOOLATTR_TIME_LASTMODIFIED
135135};
136136
137union imgtool_attribute
137union imgtool_attribute
138138{
139139   INT64   i;
140140   time_t   t;
141141};
142142
143struct imgtool_iconinfo
143struct imgtool_iconinfo
144144{
145145   unsigned icon16x16_specified : 1;
146146   unsigned icon32x32_specified : 1;
trunk/src/mess/tools/imgtool/modules/ti99.c
r17959r17960
266266    Miscellaneous utilities that are used to handle TI data types
267267*/
268268
269struct UINT16BE
269struct UINT16BE
270270{
271271   UINT8 bytes[2];
272272};
273273
274struct UINT16LE
274struct UINT16LE
275275{
276276   UINT8 bytes[2];
277277};
r17959r17960
456456/*
457457    Disk geometry
458458*/
459struct ti99_geometry
459struct ti99_geometry
460460{
461461   int secspertrack;
462462   int cylinders;
r17959r17960
466466/*
467467    Physical sector address
468468*/
469struct ti99_sector_address
469struct ti99_sector_address
470470{
471471   int sector;
472472   int cylinder;
r17959r17960
476476/*
477477    Time stamp (used in fdr, and WIN VIB/DDR)
478478*/
479struct ti99_date_time
479struct ti99_date_time
480480{
481481   UINT8 time_MSB, time_LSB;/* 0-4: hour, 5-10: minutes, 11-15: seconds/2 */
482482   UINT8 date_MSB, date_LSB;/* 0-6: year, 7-10: month, 11-15: day */
r17959r17960
487487
488488    The HFDC supports up to 3 subdirectories.
489489*/
490struct dsk_subdir
490struct dsk_subdir
491491{
492492   char name[10];         /* subdirectory name (10 characters, pad with spaces) */
493493   UINT16BE fdir_aphysrec;   /* aphysrec address of fdir record for this subdirectory */
r17959r17960
499499    Most fields in this record are only revelant to level 2 routines, but level
500500    1 routines need the disk geometry information extracted from the VIB.
501501*/
502struct dsk_vib
502struct dsk_vib
503503{
504504   char name[10];         /* disk volume name (10 characters, pad with spaces) */
505505   UINT16BE totphysrecs;   /* total number of physrecs on disk (usually 360, */
r17959r17960
528528                        /* of byte 1, etc.) */
529529};
530530
531enum ti99_img_format
531enum ti99_img_format
532532{
533533   if_mess,
534534   if_v9t9,
r17959r17960
540540/*
541541    level-1 disk image descriptor
542542*/
543struct ti99_lvl1_imgref
543struct ti99_lvl1_imgref
544544{
545545   ti99_img_format img_format;   /* tells the image format */
546546   imgtool_stream *file_handle;      /* imgtool file handle */
r17959r17960
14421442/*
14431443    AU format
14441444*/
1445struct ti99_AUformat
1445struct ti99_AUformat
14461446{
14471447   int totAUs;            /* total number of AUs */
14481448   int physrecsperAU;      /* number of 256-byte physical records per AU */
r17959r17960
14571457/*
14581458    catalog entry (used for in-memory catalog)
14591459*/
1460struct dir_entry
1460struct dir_entry
14611461{
14621462   UINT16 dir_ptr;         /* DSK: unused */
14631463                     /* WIN: AU address of the DDR for this directory */
14641464   char name[10];         /* name of this directory (copied from the VIB for DSK, DDR for WIN) */
14651465};
14661466
1467struct file_entry
1467struct file_entry
14681468{
14691469   UINT16 fdr_ptr;         /* DSK: aphysrec address of the FDR for this file */
14701470                     /* WIN: AU address of the FDR for this file */
14711471   char name[10];         /* name of this file (copied from FDR) */
14721472};
14731473
1474struct ti99_catalog
1474struct ti99_catalog
14751475{
14761476   int num_subdirs;      /* number of subdirectories */
14771477   int num_files;         /* number of files */
r17959r17960
14821482/*
14831483    level-2 disk image descriptor
14841484*/
1485struct ti99_lvl2_imgref_dsk
1485struct ti99_lvl2_imgref_dsk
14861486{
14871487   UINT16 totphysrecs;            /* total number of aphysrecs (extracted from vib record in aphysrec 0) */
14881488   ti99_catalog catalogs[4];      /* catalog of root directory and up to 3 subdirectories */
r17959r17960
14951495   win_vib_v1,
14961496   win_vib_v2
14971497};
1498struct ti99_lvl2_imgref_win
1498struct ti99_lvl2_imgref_win
14991499{
15001500   win_vib_t vib_version;         /* version of the vib record in aphysrec 0 (see win_vib_ddr) */
15011501};
r17959r17960
15551555/*
15561556    DSK FDR record
15571557*/
1558struct dsk_fdr
1558struct dsk_fdr
15591559{
15601560   char name[10];         /* file name (10 characters, pad with spaces) */
15611561   UINT16BE xreclen;      /* extended record len: if record len is >= 256, */
r17959r17960
16011601/*
16021602    WIN FDR record
16031603*/
1604struct win_fdr
1604struct win_fdr
16051605{
16061606   char name[10];         /* file name (10 characters, pad with spaces) */
16071607   UINT16BE xreclen;      /* extended record len: if record len is >= 256, */
r17959r17960
16631663/*
16641664    tifile header: stand-alone file
16651665*/
1666struct tifile_header
1666struct tifile_header
16671667{
16681668   char tifiles[8];      /* always '\7TIFILES' */
16691669   UINT16BE fphysrecs;      /* file length in physrecs */
r17959r17960
17031703/*
17041704    level-2 file descriptor
17051705*/
1706struct ti99_lvl2_fileref_dsk
1706struct ti99_lvl2_fileref_dsk
17071707{
17081708   struct ti99_lvl2_imgref *l2_img;
17091709   int fdr_aphysrec;
17101710   dsk_fdr fdr;
17111711};
17121712
1713struct ti99_lvl2_fileref_win
1713struct ti99_lvl2_fileref_win
17141714{
17151715   struct ti99_lvl2_imgref *l2_img;
17161716   unsigned fphysrecs;            /* copy of field in the eldest FDR */
r17959r17960
17191719   win_fdr curfdr;               /* buffer with currently open sibling FDR */
17201720};
17211721
1722struct ti99_lvl2_fileref_tifiles
1722struct ti99_lvl2_fileref_tifiles
17231723{
17241724   imgtool_stream *file_handle;
17251725   tifile_header hdr;
r17959r17960
36963696    * files with variable-size records (sequential-access)
36973697*/
36983698
3699struct ti99_lvl3_fileref
3699struct ti99_lvl3_fileref
37003700{
37013701   ti99_lvl2_fileref l2_file;
37023702
r17959r17960
38273827/*
38283828    ti99 catalog iterator, used when imgtool reads the catalog
38293829*/
3830struct dsk_iterator
3830struct dsk_iterator
38313831{
38323832   struct ti99_lvl2_imgref *image;
38333833   int level;
r17959r17960
38363836   ti99_catalog *cur_catalog;   /* current catalog */
38373837};
38383838
3839struct win_iterator
3839struct win_iterator
38403840{
38413841   struct ti99_lvl2_imgref *image;
38423842   int level;
trunk/src/mess/tools/imgtool/modules/mac.c
r17959r17960
114114#pragma mark MISCELLANEOUS UTILITIES
115115#endif
116116
117struct UINT16BE
117struct UINT16BE
118118{
119119   UINT8 bytes[2];
120120};
121121
122struct UINT24BE
122struct UINT24BE
123123{
124124   UINT8 bytes[3];
125125};
126126
127struct UINT32BE
127struct UINT32BE
128128{
129129   UINT8 bytes[4];
130130};
r17959r17960
181181/*
182182    point record, with the y and x coordinates
183183*/
184struct mac_point
184struct mac_point
185185{
186186   UINT16BE v;      /* actually signed */
187187   UINT16BE h;      /* actually signed */
r17959r17960
190190/*
191191    rect record, with the corner coordinates
192192*/
193struct mac_rect
193struct mac_rect
194194{
195195   UINT16BE top;   /* actually signed */
196196   UINT16BE left;   /* actually signed */
r17959r17960
226226/*
227227    FXInfo (Finder extended file info) record -- not found in MFS
228228*/
229struct mac_FXInfo
229struct mac_FXInfo
230230{
231231   UINT16BE iconID;      /* System 7: An ID number for the file???s icon; the
232232                                numbers that identify icons are assigned by the
r17959r17960
264264/*
265265    DXInfo (Finder extended folder info) record -- not found in MFS
266266*/
267struct mac_DXInfo
267struct mac_DXInfo
268268{
269269   mac_point scroll;      /* Scroll position */
270270   UINT32BE openChain;      /* System 7: chain of directory IDs for open folders */
r17959r17960
609609/*
610610    disk image reference
611611*/
612struct mac_l1_imgref
612struct mac_l1_imgref
613613{
614614   imgtool_image *image;
615615   UINT32 heads;
r17959r17960
744744#pragma mark MFS/HFS WRAPPERS
745745#endif
746746
747enum mac_format
747enum mac_format
748748{
749749   L2I_MFS,
750750   L2I_HFS
r17959r17960
755755/*
756756    MFS image ref
757757*/
758struct mfs_l2_imgref
758struct mfs_l2_imgref
759759{
760760   UINT16 dir_num_files;
761761   UINT16 dir_start;
r17959r17960
772772/*
773773    HFS extent descriptor
774774*/
775struct hfs_extent
775struct hfs_extent
776776{
777777   UINT16BE stABN;         /* first allocation block */
778778   UINT16BE numABlks;      /* number of allocation blocks */
r17959r17960
787787/*
788788    MFS open file ref
789789*/
790struct mfs_fileref
790struct mfs_fileref
791791{
792792   UINT16 stBlk;               /* first allocation block of file */
793793};
r17959r17960
795795/*
796796    HFS open file ref
797797*/
798struct hfs_fileref
798struct hfs_fileref
799799{
800800   hfs_extent_3 extents;         /* first 3 file extents */
801801
r17959r17960
834834/*
835835    open BT ref
836836*/
837struct mac_BTref
837struct mac_BTref
838838{
839839   struct mac_fileref fileref;   /* open B-tree file ref */
840840
r17959r17960
864864/*
865865    HFS image ref
866866*/
867struct hfs_l2_imgref
867struct hfs_l2_imgref
868868{
869869   UINT16 VBM_start;
870870
r17959r17960
998998};
999999
10001000/* to save a little stack space, we use the same buffer for MDB and next blocks */
1001union img_open_buf
1001union img_open_buf
10021002{
10031003   struct mfs_mdb mfs_mdb;
10041004   struct hfs_mdb hfs_mdb;
r17959r17960
10081008/*
10091009    Information extracted from catalog/directory
10101010*/
1011struct mac_dirent
1011struct mac_dirent
10121012{
10131013   UINT16 dataRecType;         /* type of data record */
10141014
r17959r17960
10331033
10341034    And, no, I don't know the format of the 20-byte tag record of the HD20
10351035*/
1036struct floppy_tag_record
1036struct floppy_tag_record
10371037{
10381038   UINT32BE fileID;         /* a.k.a. CNID */
10391039                        /* a value of 1 seems to be the default for non-AB blocks, but this is not consistent */
r17959r17960
14521452    files appear does not match file names, and it does not always match file
14531453    IDs.
14541454*/
1455struct mfs_dir_entry
1455struct mfs_dir_entry
14561456{
14571457   UINT8    flags;            /* bit 7=1 if entry used, bit 0=1 if file locked */
14581458                        /* 0x00 means end of block: if we are not done
r17959r17960
15271527/*
15281528    MFS open dir ref
15291529*/
1530struct mfs_dirref
1530struct mfs_dirref
15311531{
15321532   struct mac_l2_imgref *l2_img;   /* image pointer */
15331533   UINT16 index;               /* current file index in the disk directory */
r17959r17960
27702770/*
27712771    HFS extents B-tree key
27722772*/
2773struct hfs_extentKey
2773struct hfs_extentKey
27742774{
27752775   UINT8    keyLength;      /* length of key, excluding this field */
27762776   UINT8    forkType;      /* 0 = data fork, FF = resource fork */
r17959r17960
27852785/*
27862786    HFS catalog B-tree key
27872787*/
2788struct hfs_catKey
2788struct hfs_catKey
27892789{
27902790   UINT8    keyLen;      /* key length */
27912791   UINT8    resrv1;      /* reserved */
r17959r17960
27982798/*
27992799    HFS catalog data record for a folder - 70 bytes
28002800*/
2801struct hfs_catFolderData
2801struct hfs_catFolderData
28022802{
28032803   UINT16BE recordType;      /* record type */
28042804   UINT16BE flags;            /* folder flags */
r17959r17960
28152815/*
28162816    HFS catalog data record for a file - 102 bytes
28172817*/
2818struct hfs_catFileData
2818struct hfs_catFileData
28192819{
28202820   UINT16BE recordType;      /* record type */
28212821   UINT8    flags;            /* file flags */
r17959r17960
28442844    The key for a thread record features the CNID of the item and an empty
28452845    name, instead of the CNID of the parent and the item name.
28462846*/
2847struct hfs_catThreadData
2847struct hfs_catThreadData
28482848{
28492849   UINT16BE recordType;      /* record type */
28502850   UINT32BE reserved[2];      /* reserved - set to zero */
r17959r17960
28552855/*
28562856    union for all types at once
28572857*/
2858union hfs_catData
2858union hfs_catData
28592859{
28602860   UINT16BE dataType;
28612861   hfs_catFolderData folder;
r17959r17960
28902890/*
28912891    BT functions used by HFS functions
28922892*/
2893struct BT_leaf_rec_enumerator
2893struct BT_leaf_rec_enumerator
28942894{
28952895   mac_BTref *BTref;
28962896   UINT32 cur_node;
r17959r17960
29072907static imgtoolerr_t BT_leaf_rec_enumerator_open(mac_BTref *BTref, BT_leaf_rec_enumerator *enumerator);
29082908static imgtoolerr_t BT_leaf_rec_enumerator_read(BT_leaf_rec_enumerator *enumerator, void **record_ptr, int *rec_len);
29092909
2910struct hfs_cat_enumerator
2910struct hfs_cat_enumerator
29112911{
29122912   struct mac_l2_imgref *l2_img;
29132913   BT_leaf_rec_enumerator BT_enumerator;
r17959r17960
36403640
36413641    Header of a node record
36423642*/
3643struct BTNodeHeader
3643struct BTNodeHeader
36443644{
36453645   UINT32BE fLink;         /* (index of) next node at this level */
36463646   UINT32BE bLink;         /* (index of) previous node at this level */
r17959r17960
36723672    BTHeaderRecord: first record of a B-tree header node (second record is
36733673    unused, and third is node allocation bitmap).
36743674*/
3675struct BTHeaderRecord
3675struct BTHeaderRecord
36763676{
36773677   UINT16BE treeDepth;      /* maximum height (usually leaf nodes) */
36783678   UINT32BE rootNode;      /* node number of root node */
r17959r17960
39553955
39563956    Return imgtool error code
39573957*/
3958struct data_nodes_t
3958struct data_nodes_t
39593959{
39603960   void *buf;
39613961   UINT32 node_num;
r17959r17960
48424842/*
48434843    Resource header
48444844*/
4845struct rsrc_header
4845struct rsrc_header
48464846{
48474847   UINT32BE data_offs;      /* Offset from beginning of resource fork to resource data */
48484848   UINT32BE map_offs;      /* Offset from beginning of resource fork to resource map */
r17959r17960
48584858/*
48594859    Resource map:
48604860*/
4861struct rsrc_map_header
4861struct rsrc_map_header
48624862{
48634863   rsrc_header reserved0;   /* Reserved for copy of resource header */
48644864   UINT32BE reserved1;      /* Reserved for handle to next resource map */
r17959r17960
48744874/*
48754875    Resource type list entry
48764876*/
4877struct rsrc_type_entry
4877struct rsrc_type_entry
48784878{
48794879   UINT32BE type;         /* Resource type */
48804880   UINT16BE ref_count;      /* Number of resources of this type in map minus 1 */
r17959r17960
48844884/*
48854885    Resource reference list entry
48864886*/
4887struct rsrc_ref_entry
4887struct rsrc_ref_entry
48884888{
48894889   UINT16BE id;         /* Resource ID */
48904890   UINT16BE name_offs;      /* Offset from beginning of resource name list to resource name */
r17959r17960
48984898    Resource name list entry: this is just a standard macintosh string
48994899*/
49004900
4901struct mac_resfileref
4901struct mac_resfileref
49024902{
49034903   mac_fileref fileref;   /* open resource fork ref (you may open resources
49044904                                files in data fork, too, if you ever need to,
trunk/src/mess/tools/imgtool/modules/macutil.h
r17959r17960
1212
1313#include "imgtool.h"
1414
15enum mac_fork_t
15enum mac_fork_t
1616{
1717   MAC_FORK_DATA,
1818   MAC_FORK_RESOURCE
1919};
2020
21enum mac_filecategory_t
21enum mac_filecategory_t
2222{
2323   MAC_FILECATEGORY_DATA,
2424   MAC_FILECATEGORY_TEXT,
trunk/src/mess/tools/imgtool/modules/vzdos.c
r17959r17960
4040#define MAX_DIRENTS   (15*8)
4141
4242/* vzdos directry entry */
43struct vzdos_dirent
43struct vzdos_dirent
4444{
4545   char ftype;
4646   char delimitor;
r17959r17960
5151   UINT16 end_address;
5252};
5353
54struct vz_iterator
54struct vz_iterator
5555{
5656   int index;
5757   int eof;
trunk/src/mess/tools/imgtool/modules/prodos.c
r17959r17960
175175   UINT32 putaway_directory;
176176};
177177
178enum creation_policy_t
178enum creation_policy_t
179179{
180180   CREATE_NONE,
181181   CREATE_FILE,
trunk/src/mess/tools/imgtool/modules/os9.c
r17959r17960
1313#include "formats/coco_dsk.h"
1414#include "iflopimg.h"
1515
16enum creation_policy_t
16enum creation_policy_t
1717{
1818   CREATE_NONE,
1919   CREATE_FILE,
trunk/src/mess/tools/imgtool/modules/fat.c
r17959r17960
201201   UINT8 sectors;
202202};
203203
204enum creation_policy_t
204enum creation_policy_t
205205{
206206   CREATE_NONE,
207207   CREATE_FILE,
r17959r17960
13951395
13961396
13971397
1398enum sfn_disposition_t
1398enum sfn_disposition_t
13991399{
14001400   SFN_SUFFICIENT,   /* name fully representable in short file name */
14011401   SFN_DERIVATIVE,   /* name not fully representable in short file name, but no need to tildize */
trunk/src/mess/tools/imgtool/modules/amiga.c
r17959r17960
3333#define MSIZE ((BSIZE/4) - 1) /* Size of bitmaps */
3434
3535
36enum disk_type
36enum disk_type
3737{
3838   DT_UNKNOWN       = -1,
3939   DT_OFS           =  0,
r17959r17960
5555};
5656
5757
58enum sec_type
58enum sec_type
5959{
6060   ST_INVALID  =  0,
6161   ST_ROOT     =  1,
trunk/src/mess/tools/imgtool/modules/ti990hd.c
r17959r17960
3535#define MAX_DIR_LEVEL 25   /* We need to put a recursion limit to avoid endless recursion hazard */
3636
3737
38struct UINT16BE
38struct UINT16BE
3939{
4040   UINT8 bytes[2];
4141};
4242
43struct UINT32BE
43struct UINT32BE
4444{
4545   UINT8 bytes[4];
4646};
r17959r17960
7272/*
7373    disk image header
7474*/
75struct disk_image_header
75struct disk_image_header
7676{
7777   UINT32BE cylinders;         /* number of cylinders on hard disk (big-endian) */
7878   UINT32BE heads;            /* number of heads on hard disk (big-endian) */
r17959r17960
101101/*
102102    SC0 record (Disk sector 0)
103103*/
104struct ti990_sc0
104struct ti990_sc0
105105{
106106   char      vnm[8];         /* volume name */
107107   UINT16BE   tna;         /* total number of ADUs */
r17959r17960
153153/*
154154    DOR (Directory Overhead Record)
155155*/
156struct ti990_dor
156struct ti990_dor
157157{
158158   UINT16BE nrc;            /* # records in directory (minus DOR) nrc = nfl + nar (+ tfc???) */
159159   UINT16BE nfl;            /* # files currently in directory */
r17959r17960
198198/*
199199    ACE subrecord found in FDR
200200*/
201struct ti990_ace
201struct ti990_ace
202202{
203203   char      agn[8];            /* access group name */
204204   UINT16BE   flg;            /* flags */
r17959r17960
207207/*
208208    FDR record
209209*/
210struct ti990_fdr
210struct ti990_fdr
211211{
212212   UINT16BE   hkc;         /* hask key count: the number of file descriptor records that are present in the directory that hashed to this record number */
213213   UINT16BE   hkv;         /* hask key value: the result of the hash algorithm for the file name actually covered in this record */
r17959r17960
251251    The fields marked here with *** are in the ADR template to maintain
252252    compatability with the FDR template.
253253*/
254struct ti990_adr
254struct ti990_adr
255255{
256256   UINT16BE   hkc;         /* hask key count */
257257   UINT16BE   hkv;         /* hask key value */
r17959r17960
274274    The CDR is the permanent record of a channel.  It is carried as an alias
275275    of the program file in which the channel owner task resides.
276276*/
277struct ti990_cdr
277struct ti990_cdr
278278{
279279   UINT16BE   hkc;         /* hask key count */
280280   UINT16BE   hkv;         /* hask key value */
r17959r17960
305305    field starts at offset 4, and therefore if we try to interpret a KDR as an
306306    FDR (or ADR, CDR), we will find fnm[0] and assume the FDR is empty.
307307*/
308union directory_entry
308union directory_entry
309309{
310310   ti990_fdr fdr;
311311   ti990_adr adr;
r17959r17960
317317/*
318318    tifile header: stand-alone file
319319*/
320struct tifile_header
320struct tifile_header
321321{
322322   char tifiles[8];      /* always '\7TIFILES' */
323323   UINT8 secsused_MSB;      /* file length in sectors (big-endian) */
r17959r17960
335335/*
336336    catalog entry (used for in-memory catalog)
337337*/
338struct catalog_entry
338struct catalog_entry
339339{
340340   UINT16 fdr_secnum;
341341   char filename[10];
r17959r17960
346346/*
347347    Disk geometry
348348*/
349struct ti990_geometry
349struct ti990_geometry
350350{
351351   unsigned int cylinders, heads, sectors_per_track, bytes_per_sector;
352352};
r17959r17960
354354/*
355355    Physical sector address
356356*/
357struct ti990_phys_sec_address
357struct ti990_phys_sec_address
358358{
359359   int cylinder;
360360   int head;
r17959r17960
364364/*
365365    ti99 disk image descriptor
366366*/
367struct ti990_image
367struct ti990_image
368368{
369369   imgtool_stream *file_handle;      /* imgtool file handle */
370370   ti990_geometry geometry;   /* geometry */
r17959r17960
374374/*
375375    ti990 catalog iterator, used when imgtool reads the catalog
376376*/
377struct ti990_iterator
377struct ti990_iterator
378378{
379379   ti990_image *image;
380380   int level;                     /* current recursion level */
trunk/src/mess/tools/imgtool/modules/concept.c
r17959r17960
1212#include <limits.h>
1313#include "imgtool.h"
1414
15struct UINT16xE
15struct UINT16xE
1616{
1717   UINT8 bytes[2];
1818};
r17959r17960
6969    device directory record (Disk sector 2-5)
7070*/
7171
72struct concept_vol_hdr_entry
72struct concept_vol_hdr_entry
7373{
7474   UINT16xE   first_block;
7575   UINT16xE   next_block;
r17959r17960
8585   UINT16xE   unused;
8686};
8787
88struct concept_file_dir_entry
88struct concept_file_dir_entry
8989{
9090   UINT16xE   first_block;
9191   UINT16xE   next_block;
r17959r17960
9696   UINT16xE   last_access;
9797};
9898
99struct concept_dev_dir
99struct concept_dev_dir
100100{
101101   concept_vol_hdr_entry vol_hdr;
102102   concept_file_dir_entry file_dir[77];
r17959r17960
106106/*
107107    concept disk image descriptor
108108*/
109struct concept_image
109struct concept_image
110110{
111111   imgtool_stream *file_handle;      /* imgtool file handle */
112112   concept_dev_dir dev_dir;   /* cached copy of device directory */
r17959r17960
115115/*
116116    concept catalog iterator, used when imgtool reads the catalog
117117*/
118struct concept_iterator
118struct concept_iterator
119119{
120120   concept_image *image;
121121   int index;                     /* current index */
trunk/src/mess/tools/imgtool/stream.c
r17959r17960
1414#include "osdcore.h"
1515#include "imgtool.h"
1616
17enum imgtype_t
17enum imgtype_t
1818{
1919   IMG_FILE,
2020   IMG_MEM
trunk/src/mess/audio/spchroms.h
r17959r17960
11#ifndef __SPCHROMS_H
22#define __SPCHROMS_H
33
4struct spchroms_interface
4struct spchroms_interface
55{
66   const char *memory_region;         /* memory region where the speech ROM is.  NULL means no speech ROM */
77};
trunk/src/mess/audio/mea8000.c
r17959r17960
4444
4545
4646/* finite machine state controling frames */
47enum mea8000_state
47enum mea8000_state
4848{
4949   MEA8000_STOPPED,    /* nothing to do, timer disabled */
5050   MEA8000_WAIT_FIRST, /* received pitch, wait for first full trame, timer disabled */
r17959r17960
5555ALLOW_SAVE_TYPE( mea8000_state );
5656
5757
58struct filter_t
58struct filter_t
5959{
6060#ifdef FLOAT_MODE
6161   double fm, last_fm;         /* frequency, in Hz */
r17959r17960
7070
7171
7272
73struct mea8000_t
73struct mea8000_t
7474{
7575
7676   /* configuration parameters */
trunk/src/mess/audio/mos7360.c
r17959r17960
240240   m_last_data = space(AS_0)->read_byte(offset);
241241
242242   m_rom = rom;
243   
243
244244   return m_last_data;
245245}
246246
r17959r17960
252252   m_last_data = space(AS_0)->read_byte(offset);
253253
254254   m_rom = rom;
255   
255
256256   return m_last_data;
257257}
258258
r17959r17960
550550   for (y = ybegin; y <= yend; y++)
551551   {
552552      code = read_ram(m_bitmapaddr + ch * 8 + y);
553     
553
554554      m_bitmap.pix32(y + yoff, 0 + xoff) = PALETTE[m_c16_bitmap[code >> 7]];
555555      m_bitmap.pix32(y + yoff, 1 + xoff) = PALETTE[m_c16_bitmap[(code >> 6) & 1]];
556556      m_bitmap.pix32(y + yoff, 2 + xoff) = PALETTE[m_c16_bitmap[(code >> 5) & 1]];
r17959r17960
569569   for (y = ybegin; y <= yend; y++)
570570   {
571571      code = read_ram(m_bitmapaddr + ch * 8 + y);
572     
572
573573      m_bitmap.pix32(y + yoff, 0 + xoff) =
574574         m_bitmap.pix32(y + yoff, 1 + xoff) = PALETTE[m_bitmapmulti[code >> 6]];
575575      m_bitmap.pix32(y + yoff, 2 + xoff) =
r17959r17960
589589   {
590590      for (int x = 0; x < 8; x++)
591591      {
592         m_bitmap.pix32(y + yoff, x + xoff) = PALETTE[color];   
592         m_bitmap.pix32(y + yoff, x + xoff) = PALETTE[color];
593593      }
594594   }
595595}
r17959r17960
617617      {
618618         for (int x = 0; x < m_bitmap.width(); x++)
619619         {
620            m_bitmap.pix32(line, x) = PALETTE[0];   
620            m_bitmap.pix32(line, x) = PALETTE[0];
621621         }
622622      }
623623      return;
r17959r17960
637637      {
638638         for (int x = 0; x < m_bitmap.width(); x++)
639639         {
640            m_bitmap.pix32(line, x) = PALETTE[FRAMECOLOR];   
640            m_bitmap.pix32(line, x) = PALETTE[FRAMECOLOR];
641641         }
642642      }
643643   }
r17959r17960
733733      {
734734         for (int x = 0; x < xbegin; x++)
735735         {
736            m_bitmap.pix32(yoff + i, x) = PALETTE[FRAMECOLOR];   
736            m_bitmap.pix32(yoff + i, x) = PALETTE[FRAMECOLOR];
737737         }
738738
739739         for (int x = xend; x < m_bitmap.width(); x++)
r17959r17960
752752   {
753753      for (int x = 0; x < m_bitmap.width(); x++)
754754      {
755         m_bitmap.pix32(line, x) = PALETTE[FRAMECOLOR];   
755         m_bitmap.pix32(line, x) = PALETTE[FRAMECOLOR];
756756      }
757757   }
758758}
trunk/src/mess/audio/socrates.c
r17959r17960
1010#include "emu.h"
1111#include "socrates.h"
1212
13struct SocratesASIC
13struct SocratesASIC
1414{
1515   sound_stream *stream;
1616   UINT8 freq[2]; /* channel 1,2 frequencies */
trunk/src/mess/audio/svision.c
r17959r17960
77#include "emu.h"
88#include "includes/svision.h"
99
10enum SVISION_NOISE_Type
10enum SVISION_NOISE_Type
1111{
1212   SVISION_NOISE_Type7Bit,
1313   SVISION_NOISE_Type14Bit
1414};
1515
16struct SVISION_NOISE
16struct SVISION_NOISE
1717{
1818   UINT8 reg[3];
1919   int on, right, left, play;
r17959r17960
2525   int value; // currently simple random function
2626};
2727
28struct SVISION_DMA
28struct SVISION_DMA
2929{
3030   UINT8 reg[5];
3131   int on, right, left;
r17959r17960
3535   int finished;
3636};
3737
38struct SVISION_CHANNEL
38struct SVISION_CHANNEL
3939{
4040   UINT8 reg[4];
4141   int on;
trunk/src/mess/machine/strata.c
r17959r17960
4444   FM_CONFPART1,   // first half of configuration, awaiting second
4545   FM_WRPROTPART1   // first half of protection program, awaiting second
4646};
47struct strata_t
47struct strata_t
4848{
4949   fm_mode_t mode;            // current operation mode
5050   int hard_unlock;   // 1 if RP* pin is at Vhh (not fully implemented)
r17959r17960
229229}
230230
231231/* bus width for 8/16-bit handlers */
232enum bus_width_t
232enum bus_width_t
233233{
234234   bw_8,
235235   bw_16
trunk/src/mess/machine/vp620.c
r17959r17960
2525WRITE8_MEMBER( vp620_device::kb_w )
2626{
2727   m_keydata = data;
28   
28
2929   m_slot->inst_w(0);
3030   m_slot->inst_w(1);
31   
31
3232   m_keystb = ASSERT_LINE;
3333}
3434
trunk/src/mess/machine/cbmiec.c
r17959r17960
192192
193193/*
194194
195   TODO:
195    TODO:
196196
197   - refactor into an actual daisy chain instead of this convenient hack
197    - refactor into an actual daisy chain instead of this convenient hack
198198
199199*/
200200
trunk/src/mess/machine/mc6854.c
r17959r17960
5757/******************* internal chip data structure ******************/
5858
5959
60struct mc6854_t
60struct mc6854_t
6161{
6262   devcb_resolved_write_line   out_irq_func;
6363   devcb_resolved_read_line   in_rxd_func;
trunk/src/mess/machine/smartmed.c
r17959r17960
2727#define MAX_SMARTMEDIA   1
2828
2929/* machine-independent big-endian 32-bit integer */
30struct UINT32BE
30struct UINT32BE
3131{
3232   UINT8 bytes[4];
3333};
r17959r17960
4848#endif
4949
5050/* SmartMedia image header */
51struct disk_image_header
51struct disk_image_header
5252{
5353   UINT8 version;
5454   UINT32BE page_data_size;
r17959r17960
5757   UINT32BE log2_pages_per_block;
5858};
5959
60struct disk_image_format_2_header
60struct disk_image_format_2_header
6161{
6262   UINT8 data1[3];
6363   UINT8 padding1[256-3];
trunk/src/mess/machine/mc6846.c
r17959r17960
2828/******************* internal chip data structure ******************/
2929
3030
31struct mc6846_t
31struct mc6846_t
3232{
3333
3434   const mc6846_interface* iface;
trunk/src/mess/machine/amigakbd.c
r17959r17960
1313
1414#define KEYBOARD_BUFFER_SIZE   256
1515
16struct amigakbd_t
16struct amigakbd_t
1717{
1818   UINT8 *buf;
1919   int buf_pos;
trunk/src/mess/machine/diag264_lb_user.h
r17959r17960
2525// ======================> diag264_user_port_loopback_device
2626
2727class diag264_user_port_loopback_device :  public device_t,
28                                    public device_plus4_user_port_interface
28                                 public device_plus4_user_port_interface
2929{
3030public:
3131    // construction/destruction
trunk/src/mess/machine/wangpc_mvc.c
r17959r17960
4747#define ATTR_SUBSCRIPT      BIT(attr, 6)
4848#define ATTR_SUPERSCRIPT   BIT(attr, 7)
4949
50static const rgb_t PALETTE[] =
50static const rgb_t PALETTE[] =
5151{
5252   RGB_BLACK,
5353   MAKE_RGB(0x00, 0x80, 0x00),
trunk/src/mess/machine/990_tap.c
r17959r17960
3636
3737#define MAX_TAPE_UNIT 4
3838
39struct tape_unit_t
39struct tape_unit_t
4040{
4141   device_image_interface *img;      /* image descriptor */
4242   unsigned int bot : 1;   /* TRUE if we are at the beginning of tape */
trunk/src/mess/machine/isa_sblaster.c
r17959r17960
497497                     m_dsp.dma_throttled = false;
498498                     drq_w(1);
499499                     m_dsp.flags = ADPCM3;
500                     break;     
500                     break;
501501                  case 0xda: // stop 8-bit autoinit
502502                     m_dsp.dma_autoinit = 0;
503503                     break;
r17959r17960
911911    m_dsp.fifo_r_ptr = 0;
912912    m_dsp.wbuf_status = 0;
913913    m_dsp.rbuf_status = 0;
914   m_dsp.frequency = 8000; // per stereo-fx
914   m_dsp.frequency = 8000; // per stereo-fx
915915   m_dsp.irq_active = 0;
916916   m_mixer_index = 0;
917917   m_dsp.dma_no_irq = false;
r17959r17960
919919
920920UINT8 sb_device::dack_r(int line)
921921{
922      m_dsp.adc_transferred++;
922   m_dsp.adc_transferred++;
923923   if(m_dsp.adc_transferred >= m_dsp.adc_length)
924924   {
925925      drq_w(0);
r17959r17960
10571057      case 0: // 8-bit unsigned mono
10581058         m_dacl->write_unsigned8(m_dsp.data[m_dsp.d_rptr]);
10591059         m_dacr->write_unsigned8(m_dsp.data[m_dsp.d_rptr]);
1060            m_dsp.data[m_dsp.d_rptr++] = 0x80;
1060         m_dsp.data[m_dsp.d_rptr++] = 0x80;
10611061         break;
10621062      case SIGNED: // 8-bit signed mono
10631063         m_dacl->write_unsigned8(m_dsp.data[m_dsp.d_rptr] + 128);
10641064         m_dacr->write_unsigned8(m_dsp.data[m_dsp.d_rptr] + 128);
1065            m_dsp.data[m_dsp.d_rptr++] = 0x00;
1065         m_dsp.data[m_dsp.d_rptr++] = 0x00;
10661066         break;
10671067      case STEREO: // 8-bit unsigned stereo
10681068         m_dacl->write_unsigned8(m_dsp.data[m_dsp.d_rptr]);
r17959r17960
10781078         break;
10791079      case SIXTEENBIT: // 16-bit unsigned mono
10801080         lsample = m_dsp.data[m_dsp.d_rptr] | (m_dsp.data[m_dsp.d_rptr+1] << 8);
1081            m_dsp.data[m_dsp.d_rptr++] = 0x00;
1082            m_dsp.data[m_dsp.d_rptr++] = 0x80;
1081         m_dsp.data[m_dsp.d_rptr++] = 0x00;
1082         m_dsp.data[m_dsp.d_rptr++] = 0x80;
10831083         m_dacl->write_unsigned16(lsample);
10841084         m_dacr->write_unsigned16(lsample);
10851085         break;
10861086      case SIXTEENBIT | SIGNED: // 16-bit signed mono
10871087         lsample = m_dsp.data[m_dsp.d_rptr] | (m_dsp.data[m_dsp.d_rptr+1] << 8);
1088            m_dsp.data[m_dsp.d_rptr++] = 0x00;
1089            m_dsp.data[m_dsp.d_rptr++] = 0x00;
1088         m_dsp.data[m_dsp.d_rptr++] = 0x00;
1089         m_dsp.data[m_dsp.d_rptr++] = 0x00;
10901090         m_dacl->write_unsigned16(lsample + 32768);
10911091         m_dacr->write_unsigned16(lsample + 32768);
10921092         break;
10931093      case SIXTEENBIT | STEREO: // 16-bit unsigned stereo
10941094         lsample = m_dsp.data[m_dsp.d_rptr] | (m_dsp.data[m_dsp.d_rptr+1] << 8);
10951095          m_dsp.data[m_dsp.d_rptr++] = 0x00;
1096            m_dsp.data[m_dsp.d_rptr++] = 0x80;
1096         m_dsp.data[m_dsp.d_rptr++] = 0x80;
10971097         m_dsp.d_rptr %= 128;
10981098         rsample = m_dsp.data[m_dsp.d_rptr] | (m_dsp.data[m_dsp.d_rptr+1] << 8);
1099            m_dsp.data[m_dsp.d_rptr++] = 0x00;
1100            m_dsp.data[m_dsp.d_rptr++] = 0x80;
1099         m_dsp.data[m_dsp.d_rptr++] = 0x00;
1100         m_dsp.data[m_dsp.d_rptr++] = 0x80;
11011101         m_dacl->write_unsigned16(lsample);
11021102         m_dacr->write_unsigned16(rsample);
11031103         break;
1104      case SIXTEENBIT | SIGNED | STEREO: // 16-bit signed stereo
1104      case SIXTEENBIT | SIGNED | STEREO: // 16-bit signed stereo
11051105         lsample = m_dsp.data[m_dsp.d_rptr] | (m_dsp.data[m_dsp.d_rptr+1] << 8);
11061106          m_dsp.data[m_dsp.d_rptr++] = 0x00;
1107            m_dsp.data[m_dsp.d_rptr++] = 0x00;
1108          m_dsp.d_rptr %= 128;
1107         m_dsp.data[m_dsp.d_rptr++] = 0x00;
1108         m_dsp.d_rptr %= 128;
11091109         rsample = m_dsp.data[m_dsp.d_rptr] | (m_dsp.data[m_dsp.d_rptr+1] << 8);
1110            m_dsp.data[m_dsp.d_rptr++] = 0x00;
1111            m_dsp.data[m_dsp.d_rptr++] = 0x00;
1110         m_dsp.data[m_dsp.d_rptr++] = 0x00;
1111         m_dsp.data[m_dsp.d_rptr++] = 0x00;
11121112         m_dacl->write_unsigned16(lsample + 32768);
11131113         m_dacr->write_unsigned16(rsample + 32768);
11141114         break;
r17959r17960
11481148            m_dacl->write_unsigned8(m_dsp.adpcm_ref);
11491149            m_dacr->write_unsigned8(m_dsp.adpcm_ref);
11501150            break;
1151         }   
1151         }
11521152         lsample = m_dsp.data[m_dsp.d_rptr];
11531153         switch(m_dsp.adpcm_count++)
11541154         {
r17959r17960
11731173            m_dacl->write_unsigned8(m_dsp.adpcm_ref);
11741174            m_dacr->write_unsigned8(m_dsp.adpcm_ref);
11751175            break;
1176         }   
1176         }
11771177         lsample = m_dsp.data[m_dsp.d_rptr];
11781178         switch(m_dsp.adpcm_count++)
11791179         {
trunk/src/mess/machine/ds1315.c
r17959r17960
1515    TYPE DEFINITIONS
1616***************************************************************************/
1717
18enum ds1315_mode_t
18enum ds1315_mode_t
1919{
2020   DS_SEEK_MATCHING,
2121   DS_CALENDAR_IO
trunk/src/mess/machine/s3c44b0.h
r17959r17960
373373    TYPE DEFINITIONS
374374*******************************************************************************/
375375
376struct s3c44b0_memcon_regs_t
376struct s3c44b0_memcon_regs_t
377377{
378378   UINT32 data[0x34/4];
379379};
380380
381struct s3c44b0_irq_regs_t
381struct s3c44b0_irq_regs_t
382382{
383383   UINT32 intcon;
384384   UINT32 intpnd;
r17959r17960
395395   UINT32 f_ispc;
396396};
397397
398struct s3c44b0_dma_regs_t
398struct s3c44b0_dma_regs_t
399399{
400400   UINT32 dcon;
401401   UINT32 disrc;
r17959r17960
406406   UINT32 dccnt;
407407};
408408
409struct s3c44b0_clkpow_regs_t
409struct s3c44b0_clkpow_regs_t
410410{
411411   UINT32 pllcon;
412412   UINT32 clkcon;
r17959r17960
414414   UINT32 locktime;
415415};
416416
417struct s3c44b0_lcd_regs_t
417struct s3c44b0_lcd_regs_t
418418{
419419   UINT32 lcdcon1;
420420   UINT32 lcdcon2;
r17959r17960
429429   UINT32 dithmode;
430430};
431431
432struct s3c44b0_uart_regs_t
432struct s3c44b0_uart_regs_t
433433{
434434   UINT32 ulcon;
435435   UINT32 ucon;
r17959r17960
444444   UINT32 ubrdiv;
445445};
446446
447struct s3c44b0_sio_regs_t
447struct s3c44b0_sio_regs_t
448448{
449449   UINT32 siocon;
450450   UINT32 siodat;
r17959r17960
453453   UINT32 dcntz;
454454};
455455
456struct s3c44b0_pwm_regs_t
456struct s3c44b0_pwm_regs_t
457457{
458458   UINT32 tcfg0;
459459   UINT32 tcfg1;
r17959r17960
477477   UINT32 tcnto5;
478478};
479479
480struct s3c44b0_wdt_regs_t
480struct s3c44b0_wdt_regs_t
481481{
482482   UINT32 wtcon;
483483   UINT32 wtdat;
484484   UINT32 wtcnt;
485485};
486486
487struct s3c44b0_iic_regs_t
487struct s3c44b0_iic_regs_t
488488{
489489   UINT32 iiccon;
490490   UINT32 iicstat;
r17959r17960
492492   UINT32 iicds;
493493};
494494
495struct s3c44b0_iis_regs_t
495struct s3c44b0_iis_regs_t
496496{
497497   UINT32 iiscon;
498498   UINT32 iismod;
r17959r17960
501501   UINT32 iisfifo;
502502};
503503
504struct s3c44b0_gpio_regs_t
504struct s3c44b0_gpio_regs_t
505505{
506506   UINT32 gpacon;
507507   UINT32 gpadat;
r17959r17960
527527   UINT32 extintpnd;
528528};
529529
530struct s3c44b0_rtc_regs_t
530struct s3c44b0_rtc_regs_t
531531{
532532   UINT32 rtccon;
533533   UINT32 reserved[3];
r17959r17960
549549   UINT32 ticnt;
550550};
551551
552struct s3c44b0_adc_regs_t
552struct s3c44b0_adc_regs_t
553553{
554554   UINT32 adccon;
555555   UINT32 adcpsr;
556556   UINT32 adcdat;
557557};
558558
559struct s3c44b0_cpuwrap_regs_t
559struct s3c44b0_cpuwrap_regs_t
560560{
561561   UINT32 syscfg;
562562   UINT32 ncachbe0;
563563   UINT32 ncachbe1;
564564};
565565
566struct s3c44b0_memcon_t
566struct s3c44b0_memcon_t
567567{
568568   s3c44b0_memcon_regs_t regs;
569569};
570570
571struct s3c44b0_irq_t
571struct s3c44b0_irq_t
572572{
573573   s3c44b0_irq_regs_t regs;
574574   int line_irq, line_fiq;
575575};
576576
577struct s3c44b0_dma_t
577struct s3c44b0_dma_t
578578{
579579   s3c44b0_dma_regs_t regs;
580580   emu_timer *timer;
581581};
582582
583struct s3c44b0_clkpow_t
583struct s3c44b0_clkpow_t
584584{
585585   s3c44b0_clkpow_regs_t regs;
586586};
587587
588struct rectangle_t
588struct rectangle_t
589589{
590590   int x1, y1, x2, y2;
591591};
592592
593struct s3c44b0_lcd_t
593struct s3c44b0_lcd_t
594594{
595595   s3c44b0_lcd_regs_t regs;
596596   emu_timer *timer;
r17959r17960
609609   attoseconds_t frame_period, pixeltime, scantime;
610610};
611611
612struct s3c44b0_uart_t
612struct s3c44b0_uart_t
613613{
614614   s3c44b0_uart_regs_t regs;
615615   emu_timer *timer;
616616};
617617
618struct s3c44b0_sio_t
618struct s3c44b0_sio_t
619619{
620620   s3c44b0_sio_regs_t regs;
621621   emu_timer *timer;
622622};
623623
624struct s3c44b0_pwm_t
624struct s3c44b0_pwm_t
625625{
626626   s3c44b0_pwm_regs_t regs;
627627   emu_timer *timer[6];
r17959r17960
630630   UINT32 freq[6];
631631};
632632
633struct s3c44b0_wdt_t
633struct s3c44b0_wdt_t
634634{
635635   s3c44b0_wdt_regs_t regs;
636636   emu_timer *timer;
637637};
638638
639struct s3c44b0_iic_t
639struct s3c44b0_iic_t
640640{
641641   s3c44b0_iic_regs_t regs;
642642   emu_timer *timer;
643643   int count;
644644};
645645
646struct s3c44b0_iis_t
646struct s3c44b0_iis_t
647647{
648648   s3c44b0_iis_regs_t regs;
649649   emu_timer *timer;
r17959r17960
651651   int fifo_index;
652652};
653653
654struct s3c44b0_gpio_t
654struct s3c44b0_gpio_t
655655{
656656   s3c44b0_gpio_regs_t regs;
657657};
658658
659struct s3c44b0_rtc_t
659struct s3c44b0_rtc_t
660660{
661661   s3c44b0_rtc_regs_t regs;
662662   emu_timer *timer_tick_count;
663663   emu_timer *timer_update;
664664};
665665
666struct s3c44b0_adc_t
666struct s3c44b0_adc_t
667667{
668668   s3c44b0_adc_regs_t regs;
669669   emu_timer *timer;
670670};
671671
672struct s3c44b0_cpuwrap_t
672struct s3c44b0_cpuwrap_t
673673{
674674   s3c44b0_cpuwrap_regs_t regs;
675675};
676676
677struct s3c44b0_t
677struct s3c44b0_t
678678{
679679   const s3c44b0_interface *iface;
680680   address_space* space;
trunk/src/mess/machine/mc68328.h
r17959r17960
1010#ifndef __MC68328_PRIVATE_H_
1111#define __MC68328_PRIVATE_H_
1212
13struct mc68328_regs_t
13struct mc68328_regs_t
1414{
1515    // $(FF)FFF000
1616    UINT8   scr;        // System Control Register
r17959r17960
203203    UINT8   unused42[1260];
204204};
205205
206struct mc68328_t
206struct mc68328_t
207207{
208208    const mc68328_interface* iface;
209209
trunk/src/mess/machine/c64_ide64.c
r17959r17960
4545//-------------------------------------------------
4646//  MACHINE_CONFIG_FRAGMENT( c64_ide64 )
4747//-------------------------------------------------
48static const ide_config ide_intf =
48static const ide_config ide_intf =
4949{
50   NULL,
51   NULL,
50   NULL,
51   NULL,
5252   0
5353};
5454
trunk/src/mess/machine/sgi.c
r17959r17960
2424   }
2525}
2626
27struct MC_t
27struct MC_t
2828{
2929   emu_timer *tUpdateTimer;
3030   UINT32 nCPUControl0;
trunk/src/mess/machine/kr2376.h
r17959r17960
6666/*
6767 * Input pins
6868 */
69enum kr2376_input_pin_t
69enum kr2376_input_pin_t
7070{
7171   KR2376_DSII=20,         /* DSII  - Pin 20 - Data & Strobe Invert Input */
7272   KR2376_PII=6         /* PII   - Pin  6 - Parity Invert Input */
7373};
7474
75enum kr2376_output_pin_t
75enum kr2376_output_pin_t
7676{
7777   KR2376_SO=16,         /* SO    - Pin 16 - Strobe Output */
7878   KR2376_PO=7         /* PO    - Pin  7 - Parity Output */
trunk/src/mess/machine/applefdc.c
r17959r17960
5858#define IWM_Q6      0x40
5959#define IWM_Q7      0x80
6060
61enum applefdc_t
61enum applefdc_t
6262{
6363   APPLEFDC_APPLE2,   /* classic Apple II disk controller (pre-IWM) */
6464   APPLEFDC_IWM,      /* Integrated Woz Machine */
trunk/src/mess/machine/upd765.c
r17959r17960
3030#include "machine/upd765.h"
3131
3232
33enum UPD765_PHASE
33enum UPD765_PHASE
3434{
3535   UPD765_COMMAND_PHASE_FIRST_BYTE,
3636   UPD765_COMMAND_PHASE_BYTES,
r17959r17960
4040};
4141
4242/* supported versions */
43enum UPD765_VERSION
43enum UPD765_VERSION
4444{
4545   TYPE_UPD765A = 0,
4646   TYPE_UPD765B = 1,
trunk/src/mess/machine/isa_ide.c
r17959r17960
4040   }
4141}
4242
43static const ide_config ide_intf =
43static const ide_config ide_intf =
4444{
45   ide_interrupt,
46   NULL,
45   ide_interrupt,
46   NULL,
4747   0
4848};
4949
trunk/src/mess/machine/upd765.h
r17959r17960
7878***************************************************************************/
7979
8080/* RDY pin connected state */
81enum UPD765_RDY_PIN
81enum UPD765_RDY_PIN
8282{
8383   UPD765_RDY_PIN_NOT_CONNECTED = 0,
8484   UPD765_RDY_PIN_CONNECTED = 1
r17959r17960
9191#define UPD765_GET_IMAGE(name)   device_t *name(device_t *device, int floppy_index )
9292
9393
94struct upd765_interface
94struct upd765_interface
9595{
9696   /* interrupt issued */
9797   devcb_write_line out_int_func;
trunk/src/mess/machine/at45dbxx.c
r17959r17960
3636    TYPE DEFINITIONS
3737***************************************************************************/
3838
39struct AT45DBXX_PINS
39struct AT45DBXX_PINS
4040{
4141   int cs;    // chip select
4242   int sck;   // serial clock
r17959r17960
4747   int busy;  // busy
4848};
4949
50struct AT45DBXX_CMD
50struct AT45DBXX_CMD
5151{
5252   UINT8 data[8], size;
5353};
5454
55struct AT45DBXX_IO
55struct AT45DBXX_IO
5656{
5757   UINT8 *data;
5858   UINT32 size, pos;
trunk/src/mess/machine/ti99/grom.h
r17959r17960
1313
1414#include "ti99defs.h"
1515
16struct ti99grom_config
16struct ti99grom_config
1717{
1818   bool            writable;
1919   int             ident;
trunk/src/mess/machine/ti99/joyport.h
r17959r17960
2222
2323extern const device_type JOYPORT;
2424
25struct joyport_config
25struct joyport_config
2626{
2727   devcb_write_line      interrupt;
2828   int                  vdp_clock;
trunk/src/mess/machine/ti99/ti99_hd.h
r17959r17960
2525    Needed to adapt to higher cylinder numbers. Floppies do not have such
2626    high numbers.
2727*/
28struct chrn_id_hd
28struct chrn_id_hd
2929{
3030   UINT16 C;
3131   UINT8 H;
trunk/src/mess/machine/ti99/gromport.h
r17959r17960
1818#define GROMPORT_CONFIG(name) \
1919   const gromport_config(name) =
2020
21struct gromport_config
21struct gromport_config
2222{
2323   devcb_write_line   ready;
2424   devcb_write_line   reset;
r17959r17960
366366};
367367
368368
369struct pcb_type
369struct pcb_type
370370{
371371   int id;
372372   const char* name;
trunk/src/mess/machine/ti99/genboard.h
r17959r17960
4444
4545/*****************************************************************************/
4646
47struct geneve_keyboard_config
47struct geneve_keyboard_config
4848{
4949   devcb_write_line   interrupt;
5050};
r17959r17960
110110
111111/*****************************************************************************/
112112
113struct geneve_mapper_config
113struct geneve_mapper_config
114114{
115115   devcb_write_line   ready;
116116};
trunk/src/mess/machine/ti99/tn_ide.c
r17959r17960
334334   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, nouspikel_ide_interface_device, clock_interrupt_callback)
335335};
336336
337static const ide_config ide_intf =
337static const ide_config ide_intf =
338338{
339   ide_interrupt_callback,
340   NULL,
339   ide_interrupt_callback,
340   NULL,
341341   0
342342};
343343
trunk/src/mess/machine/ti99/videowrp.h
r17959r17960
7777extern const device_type TISOUND_94624;
7878extern const device_type TISOUND_76496;
7979
80struct ti_sound_config
80struct ti_sound_config
8181{
8282   devcb_write_line            ready;
8383};
trunk/src/mess/machine/ti99/speech8.h
r17959r17960
2121#define SPEECH8_CONFIG(name) \
2222   const speech8_config(name) =
2323
24struct speech8_config
24struct speech8_config
2525{
2626   devcb_write_line ready;
2727};
trunk/src/mess/machine/ti99/datamux.h
r17959r17960
2323    if the HGSPL expansion card is used, the GROMs in the console must be
2424    removed.
2525*/
26struct dmux_device_list_entry
26struct dmux_device_list_entry
2727{
2828   const char            *name;            // Name of the device (used for looking up the device)
2929   UINT16               select;            // State of the address line bits when addressing this device
r17959r17960
3737#define DMUX_CONFIG(name) \
3838   const datamux_config(name) =
3939
40struct datamux_config
40struct datamux_config
4141{
4242   devcb_write_line            ready;
4343   const dmux_device_list_entry   *devlist;
trunk/src/mess/machine/ti99/peribox.h
r17959r17960
2323
2424#define DSRROM "dsrrom"
2525
26struct peribox_config
26struct peribox_config
2727{
2828   devcb_write_line   inta;
2929   devcb_write_line   intb;
trunk/src/mess/machine/ti99/mapper8.h
r17959r17960
3636#define SRAM_SIZE 2048
3737#define DRAM_SIZE 65536
3838
39struct mapper8_list_entry
39struct mapper8_list_entry
4040{
4141   const char*   name;            // Name of the device (used for looking up the device)
4242   int         mode;            // Mode of the system which applies to this entry
r17959r17960
4949#define MAPPER8_CONFIG(name) \
5050   const mapper8_config(name) =
5151
52struct mapper8_config
52struct mapper8_config
5353{
5454   devcb_write_line            ready;
5555   const mapper8_list_entry      *devlist;
trunk/src/mess/machine/a2cffa.c
r17959r17960
3131#define CFFA2_ROM_REGION  "cffa2_rom"
3232#define CFFA2_IDE_TAG     "cffa2_ide"
3333
34static const ide_config ide_intf =
34static const ide_config ide_intf =
3535{
36   NULL,
37   NULL,
36   NULL,
37   NULL,
3838   0
3939};
4040
trunk/src/mess/machine/990_hd.c
r17959r17960
4040/* We can use MAME's harddisk.c image format instead. */
4141
4242/* machine-independent big-endian 32-bit integer */
43struct UINT32BE
43struct UINT32BE
4444{
4545   UINT8 bytes[4];
4646};
r17959r17960
6161#endif
6262
6363/* disk image header */
64struct disk_image_header
64struct disk_image_header
6565{
6666   UINT32BE cylinders;         /* number of cylinders on hard disk (big-endian) */
6767   UINT32BE heads;            /* number of heads on hard disk (big-endian) */
r17959r17960
8181};
8282
8383/* disk drive unit descriptor */
84struct hd_unit_t
84struct hd_unit_t
8585{
8686   device_image_interface *img;                  /* image descriptor */
8787   format_t format;
r17959r17960
9494};
9595
9696/* disk controller */
97struct hdc_t
97struct hdc_t
9898{
9999   UINT16 w[8];
100100
trunk/src/mess/machine/thomson.c
r17959r17960
681681
682682
683683
684enum to7_io_dev
684enum to7_io_dev
685685{
686686   TO7_IO_NONE,
687687   TO7_IO_CENTRONICS,
trunk/src/mess/machine/isa_stereo_fx.c
r17959r17960
5656}
5757
5858/* port 0x20 - in ROM (usually) stored in RAM 0x22
59 * bit0 -
59 * bit0 -
6060 * bit1 -
6161 * bit2 -
6262 * bit3 -
trunk/src/mess/machine/kay_kbd.c
r17959r17960
6464 * - "Keypad ," is not mapped
6565 */
6666
67struct kay_kbd_t
67struct kay_kbd_t
6868{
6969   device_t *beeper;
7070   UINT8 buff[16];
trunk/src/mess/machine/coco_fdc.h
r17959r17960
1313
1414// ======================> coco_rtc_type_t
1515
16enum coco_rtc_type_t
16enum coco_rtc_type_t
1717{
1818   RTC_DISTO   = 0x00,
1919   RTC_CLOUD9   = 0x01,
trunk/src/mess/machine/c128.c
r17959r17960
139139
140140   value &= cbm_common_cia0_port_b_r(m_cia1, cia0porta);
141141/*
142   if (!intf->k0_r())
143      value &= m_keyline[0];
144   if (!intf->k1_r())
145      value &= m_keyline[1];
146   if (!intf->k2_r())
147      value &= m_keyline[2];
142    if (!intf->k0_r())
143        value &= m_keyline[0];
144    if (!intf->k1_r())
145        value &= m_keyline[1];
146    if (!intf->k2_r())
147        value &= m_keyline[2];
148148*/
149149   return value;
150150}
trunk/src/mess/machine/mos8722.c
r17959r17960
2424   CR = 0,
2525   PCRA, LCRA = PCRA,
2626   PCRB, LCRB = PCRB,
27   PCRC, LCRC = PCRC,
27   PCRC, LCRC = PCRC,
2828   PCRD, LCRD = PCRD,
2929   MCR,
3030   RCR,
r17959r17960
6969
7070// RAM configuration register
7171static const offs_t RCR_BOTTOM_ADDRESS[4] = { 0x0400, 0x1000, 0x0400, 0x1000 };
72static const offs_t RCR_TOP_ADDRESS[4] =    { 0xf000, 0xf000, 0xe000, 0xc000 };
72static const offs_t RCR_TOP_ADDRESS[4] =   { 0xf000, 0xf000, 0xe000, 0xc000 };
7373
7474enum
7575{
r17959r17960
337337                  *cas1 = P1H_A16 ? 0 : 1;
338338               }
339339            }
340           
340
341341            if ((RCR_BOTTOM && offset < RCR_BOTTOM_ADDRESS[RCR_SHARE]) ||
342342               (RCR_TOP && offset >= RCR_TOP_ADDRESS[RCR_SHARE]))
343343            {
trunk/src/mess/machine/c1541.c
r17959r17960
810810WRITE8_MEMBER( c1541_prologic_dos_classic_device::pia_pa_w )
811811{
812812    /*
813   
813
814814        bit     description
815   
815
816816        0       1/2 MHz
817        1       
818        2       
817        1
818        2
819819        3       35/40 tracks
820        4       
821        5       
822        6       
820        4
821        5
822        6
823823        7       Hi
824   
824
825825    */
826826}
827827
trunk/src/mess/machine/amigacrt.c
r17959r17960
2424   ACTION_REPLAY_MKIII
2525};
2626
27struct amigacrt_t
27struct amigacrt_t
2828{
2929   int cart_type;
3030   int ar1_spurious;
trunk/src/mess/machine/kc_d004.c
r17959r17960
122122   MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(kc_d004_floppy_interface)
123123MACHINE_CONFIG_END
124124
125static const ide_config ide_intf =
125static const ide_config ide_intf =
126126{
127   NULL,
128   NULL,
127   NULL,
128   NULL,
129129   0
130130};
131131
trunk/src/mess/machine/diag264_lb_iec.h
r17959r17960
2525// ======================> diag264_serial_loopback_device
2626
2727class diag264_serial_loopback_device :  public device_t,
28                                 public device_cbm_iec_interface
28                              public device_cbm_iec_interface
2929{
3030public:
3131    // construction/destruction
trunk/src/mess/machine/petcass.h
r17959r17960
6565class device_pet_datassette_port_interface;
6666
6767class pet_datassette_port_device : public device_t,
68                             public pet_datassette_port_interface,
69                             public device_slot_interface
68                            public pet_datassette_port_interface,
69                            public device_slot_interface
7070{
7171public:
7272   // construction/destruction
trunk/src/mess/machine/i8271.c
r17959r17960
8989   emu_timer *command_complete_timer;
9090};
9191
92enum I8271_STATE_t
92enum I8271_STATE_t
9393{
9494   I8271_STATE_EXECUTION_READ = 0,
9595   I8271_STATE_EXECUTION_WRITE
trunk/src/mess/machine/i8271.h
r17959r17960
3636    TYPE DEFINITIONS
3737***************************************************************************/
3838
39struct i8271_interface
39struct i8271_interface
4040{
4141   void (*interrupt)(device_t *device, int state);
4242   void (*dma_request)(device_t *device, int state, int read_);
trunk/src/mess/machine/nes_unif.c
r17959r17960
99
1010****************************************************************************************/
1111
12struct unif
12struct unif
1313{
1414   const char *board; /* UNIF board */
1515
trunk/src/mess/machine/ay31015.c
r17959r17960
7272#include "emu.h"
7373#include "ay31015.h"
7474
75enum state_t
75enum state_t
7676{
7777   IDLE,
7878   START_BIT,
trunk/src/mess/machine/ay31015.h
r17959r17960
1212***************************************************************************/
1313
1414
15enum ay31015_type_t
15enum ay31015_type_t
1616{
1717   /* For AY-3-1014A, AY-3-1015(D) and HD6402 variants */
1818   AY_3_1015,
r17959r17960
2222};
2323
2424
25enum ay31015_input_pin_t
25enum ay31015_input_pin_t
2626{
2727   AY31015_SWE=16,         /* -SWE  - Pin 16 - Status word enable */
2828   AY31015_RDAV=18,      /* -RDAV - Pin 18 - Reset data available */
r17959r17960
3737};
3838
3939
40enum ay31015_output_pin_t
40enum ay31015_output_pin_t
4141{
4242   AY31015_PE=13,         /* PE   - Pin 13 - Parity error */
4343   AY31015_FE=14,         /* FE   - Pin 14 - Framing error */
r17959r17960
4949};
5050
5151
52struct    ay31015_config
52struct   ay31015_config
5353{
5454   ay31015_type_t      type;               /* Type of chip */
5555   double            transmitter_clock;      /* TCP - pin 40 */
trunk/src/mess/machine/mc6843.c
r17959r17960
4242
4343/******************* internal chip data structure ******************/
4444
45struct mc6843_t
45struct mc6843_t
4646{
4747
4848   /* interface */
trunk/src/mess/machine/apollo_net.c
r17959r17960
2727   UINT16 proto;
2828};
2929
30struct ip_header
30struct ip_header
3131{
3232   UINT8 version;
3333   UINT8 tos;
trunk/src/mess/machine/rmnimbus.c
r17959r17960
19701970    { 0xE0000, 0xEFFFF }
19711971};
19721972
1973struct nimbus_block
1973struct nimbus_block
19741974{
19751975    int     blockbase;
19761976    int     blocksize;
trunk/src/mess/machine/smc92x4.h
r17959r17960
3636#define DS_READY   0x02      /* drive ready bit */
3737#define DS_WRFAULT   0x01      /* write fault */
3838
39struct smc92x4_interface
39struct smc92x4_interface
4040{
4141   // Disk format support. This flag allows to choose between the full
4242   // FM/MFM format and an abbreviated track layout. The difference results
trunk/src/mess/includes/fm7.h
r17959r17960
3030#define KEY_MODE_FM16B 1 // FM-16B (FM-77AV and later only)
3131#define KEY_MODE_SCAN  2 // Scancode Make/Break (PC-like)
3232
33struct fm7_encoder_t
33struct fm7_encoder_t
3434{
3535   UINT8 buffer[12];
3636   UINT8 tx_count;
r17959r17960
4242   UINT8 position;
4343};
4444
45struct fm7_mmr_t
45struct fm7_mmr_t
4646{
4747   UINT8 bank_addr[8][16];
4848   UINT8 segment;
r17959r17960
5151   UINT8 mode;
5252};
5353
54struct fm7_video_t
54struct fm7_video_t
5555{
5656   UINT8 sub_busy;
5757   UINT8 sub_halt;
r17959r17960
7777   UINT8 vsync_flag;
7878};
7979
80struct fm7_alu_t
80struct fm7_alu_t
8181{
8282   UINT8 command;
8383   UINT8 lcolour;
trunk/src/mess/includes/compis.h
r17959r17960
7373   UINT16   ext[4];
7474};
7575
76struct i186_state
76struct i186_state
7777{
7878   struct timer_state   timer[3];
7979   struct dma_state   dma[2];
r17959r17960
8383
8484
8585/* Keyboard */
86struct TYP_COMPIS_KEYBOARD
86struct TYP_COMPIS_KEYBOARD
8787{
8888   UINT8 nationality;   /* Character set, keyboard layout (Swedish) */
8989   UINT8 release_time;  /* Autorepeat release time (0.8)   */
r17959r17960
102102};
103103
104104/* USART 8251 */
105struct TYP_COMPIS_USART
105struct TYP_COMPIS_USART
106106{
107107   UINT8 status;
108108   UINT8 bytes_sent;
109109};
110110
111111/* Printer */
112struct TYP_COMPIS_PRINTER
112struct TYP_COMPIS_PRINTER
113113{
114114   UINT8 data;
115115   UINT8 strobe;
r17959r17960
117117
118118
119119/* Main emulation */
120struct TYP_COMPIS
120struct TYP_COMPIS
121121{
122122   TYP_COMPIS_PRINTER   printer;   /* Printer */
123123   TYP_COMPIS_USART   usart;      /* USART 8251 */
trunk/src/mess/includes/wswan.h
r17959r17960
4040#include "machine/nvram.h"
4141
4242
43struct EEPROM
43struct EEPROM
4444{
4545   UINT8   mode;      /* eeprom mode */
4646   UINT16   address;   /* Read/write address */
r17959r17960
5252   UINT8   *page;      /* pointer to current sram/eeprom page */
5353};
5454
55struct RTC
55struct RTC
5656{
5757   UINT8   present;   /* Is an RTC present */
5858   UINT8   setting;   /* Timer setting byte */
r17959r17960
6666   UINT8   index;      /* index for reading/writing of current of alarm time */
6767};
6868
69struct SoundDMA
69struct SoundDMA
7070{
7171   UINT32   source;      /* Source address */
7272   UINT16   size;      /* Size */
7373   UINT8   enable;      /* Enabled */
7474};
7575
76struct VDP
76struct VDP
7777{
7878   UINT8 layer_bg_enable;         /* Background layer on/off */
7979   UINT8 layer_fg_enable;         /* Foreground layer on/off */
trunk/src/mess/includes/dgn_beta.h
r17959r17960
6363
6464/***** Video Modes *****/
6565
66enum BETA_VID_MODES
66enum BETA_VID_MODES
6767{
6868   TEXT_40x25,            /* Text mode 40x25 */
6969   TEXT_80x25,            /* Text mode 80x25 */
r17959r17960
7474
7575#define iosize   (0xfEFF-0xfc00)
7676
77struct PageReg
77struct PageReg
7878{
7979   int       value;         /* Value of the page register */
8080   UINT8   *memory;      /* The memory it actually points to */
trunk/src/mess/includes/z80ne.h
r17959r17960
2626#define LX385_TAPE_SAMPLE_FREQ 38400
2727
2828/* wave duration threshold */
29enum z80netape_speed
29enum z80netape_speed
3030{
3131   TAPE_300BPS  = 300, /*  300 bps */
3232   TAPE_600BPS  = 600, /*  600 bps */
trunk/src/mess/includes/pdp1.h
r17959r17960
164164};
165165
166166/* tape reader registers */
167struct tape_reader_t
167struct tape_reader_t
168168{
169169   device_image_interface *fd;   /* file descriptor of tape image */
170170
r17959r17960
182182
183183
184184/* tape puncher registers */
185struct tape_puncher_t
185struct tape_puncher_t
186186{
187187   device_image_interface *fd;   /* file descriptor of tape image */
188188
r17959r17960
192192
193193
194194/* typewriter registers */
195struct typewriter_t
195struct typewriter_t
196196{
197197   device_image_interface *fd;   /* file descriptor of output image */
198198
r17959r17960
202202};
203203
204204/* MIT parallel drum (mostly similar to type 23) */
205struct parallel_drum_t
205struct parallel_drum_t
206206{
207207   device_image_interface *fd;   /* file descriptor of drum image */
208208
r17959r17960
219219};
220220
221221
222struct lightpen_t
222struct lightpen_t
223223{
224224   char active;
225225   char down;
trunk/src/mess/includes/apple2gs.h
r17959r17960
2424#define BORDER_TOP   (16)   // (plus bottom)
2525
2626
27enum apple2gs_clock_mode
27enum apple2gs_clock_mode
2828{
2929   CLOCKMODE_IDLE,
3030   CLOCKMODE_TIME,
r17959r17960
3434};
3535
3636
37enum adbstate_t
37enum adbstate_t
3838{
3939   ADBSTATE_IDLE,
4040   ADBSTATE_INCOMMAND,
trunk/src/mess/includes/pc8401a.h
r17959r17960
6565   DECLARE_READ8_MEMBER( ppi_pc_r );
6666   DECLARE_WRITE8_MEMBER( ppi_pc_w );
6767   DECLARE_PALETTE_INIT(pc8401a);
68   
68
6969   void scan_keyboard();
7070   void bankswitch(UINT8 data);
7171
trunk/src/mess/includes/hp48.h
r17959r17960
2020};
2121
2222/* memory module configuration */
23struct hp48_module
23struct hp48_module
2424{
2525   /* static part */
2626   UINT32 off_mask;             /* offset bit-mask, indicates the real size */
trunk/src/mess/includes/macpci.h
r17959r17960
2424#define MAC_539X_2_TAG "539x_2"
2525
2626/* tells which model is being emulated (set by macxxx_init) */
27enum model_t
27enum model_t
2828{
2929    PCIMODEL_MAC_PM5200,
3030    PCIMODEL_MAC_PM6200,
trunk/src/mess/includes/c65.h
r17959r17960
1010#include "includes/c64_legacy.h"
1111#include "machine/6526cia.h"
1212
13struct dma_t
13struct dma_t
1414{
1515   int version;
1616   UINT8 data[4];
1717};
1818
19struct fdc_t
19struct fdc_t
2020{
2121   int state;
2222
r17959r17960
3232   int head,track,sector;
3333};
3434
35struct expansion_ram_t
35struct expansion_ram_t
3636{
3737   UINT8 reg;
3838};
trunk/src/mess/includes/mac.h
r17959r17960
3737#define ADB_IS_PM_CLASS   ((m_model >= MODEL_MAC_PORTABLE && m_model <= MODEL_MAC_PB100) || (m_model >= MODEL_MAC_PB140 && m_model <= MODEL_MAC_PBDUO_270c))
3838
3939/* for Egret and CUDA streaming MCU commands, command types */
40enum mac_streaming_t
40enum mac_streaming_t
4141{
4242   MCU_STREAMING_NONE = 0,
4343   MCU_STREAMING_PRAMRD,
r17959r17960
5555};
5656
5757/* tells which model is being emulated (set by macxxx_init) */
58enum model_t
58enum model_t
5959{
6060   MODEL_MAC_128K512K,   // 68000 machines
6161   MODEL_MAC_512KE,
trunk/src/mess/includes/pokemini.h
r17959r17960
1414#include "rendlay.h"
1515
1616
17struct PRC
17struct PRC
1818{
1919   UINT8      colors_inverted;
2020   UINT8      background_enabled;
r17959r17960
3131};
3232
3333
34struct TIMERS
34struct TIMERS
3535{
3636   emu_timer   *seconds_timer;
3737   emu_timer   *hz256_timer;
trunk/src/mess/includes/nes.h
r17959r17960
3535#define CHRROM 0
3636#define CHRRAM 1
3737
38struct chr_bank
38struct chr_bank
3939{
4040   int source;   //defines source of base pointer
4141   int origin; //defines offset of 0x400 byte segment at base pointer
r17959r17960
5353#define NES_BATTERY 0
5454#define NES_WRAM 1
5555
56struct name_table
56struct name_table
5757{
5858   int source;      /* defines source of base pointer */
5959   int origin;      /* defines offset of 0x400 byte segment at base pointer */
trunk/src/mess/includes/gb.h
r17959r17960
241241   DECLARE_MACHINE_RESET(gbpocket);
242242   DECLARE_PALETTE_INIT(gbp);
243243   DECLARE_MACHINE_START(gbc);
244   DECLARE_MACHINE_RESET(gbc);   
244   DECLARE_MACHINE_RESET(gbc);
245245   DECLARE_PALETTE_INIT(gbc);
246246   DECLARE_MACHINE_START(gb_video);
247247   DECLARE_MACHINE_START(gbc_video);
trunk/src/mess/includes/x1.h
r17959r17960
4444   virtual void z80daisy_irq_reti();
4545};
4646
47struct scrn_reg_t
47struct scrn_reg_t
4848{
4949   UINT8 gfx_bank;
5050   UINT8 disp_bank;
r17959r17960
5656   UINT8 blackclip; // x1 turbo specific
5757};
5858
59struct turbo_reg_t
59struct turbo_reg_t
6060{
6161   UINT8 pal;
6262   UINT8 gfx_pal;
r17959r17960
6464   UINT8 txt_disp;
6565};
6666
67struct x1_rtc_t
67struct x1_rtc_t
6868{
6969   UINT8 sec, min, hour, day, wday, month, year;
7070};
trunk/src/mess/includes/concept.h
r17959r17960
2121   MaxKeyMessageLen = 1
2222};
2323
24struct expansion_slot_t
24struct expansion_slot_t
2525{
2626   read8_space_func reg_read;
2727   write8_space_func reg_write;
trunk/src/mess/includes/gamecom.h
r17959r17960
149149   SM8521_SG1W15   = 0x7F
150150};
151151
152struct GAMECOM_DMA
152struct GAMECOM_DMA
153153{
154154   int enabled;
155155   int transfer_mode;
r17959r17960
182182   unsigned int dest_mask;
183183};
184184
185struct GAMECOM_TIMER
185struct GAMECOM_TIMER
186186{
187187   int enabled;
188188   int state_count;
r17959r17960
190190   int check_value;
191191};
192192
193struct gamecom_sound_t
193struct gamecom_sound_t
194194{
195195   UINT8 sgc;
196196   UINT8 sg0l;
trunk/src/mess/includes/cxhumax.h
r17959r17960
99
1010#define MAX_CX_TIMERS   16
1111
12struct cx_timer_t
12struct cx_timer_t
1313{
1414   UINT32 value;
1515   UINT32 limit;
r17959r17960
1818   emu_timer *timer;
1919};
2020
21struct cx_timer_regs_t
21struct cx_timer_regs_t
2222{
2323   cx_timer_t timer[MAX_CX_TIMERS];
2424   UINT32 timer_irq;
trunk/src/mess/includes/vic20.h
r17959r17960
6969   DECLARE_READ8_MEMBER( vic_lightx_cb );
7070   DECLARE_READ8_MEMBER( vic_lighty_cb );
7171   DECLARE_READ8_MEMBER( vic_lightbut_cb );
72   
72
7373   DECLARE_READ8_MEMBER( via0_pa_r );
7474   DECLARE_WRITE8_MEMBER( via0_pa_w );
7575
trunk/src/mess/includes/lisa.h
r17959r17960
1616#define KB_COP421_TAG   "kbcop"
1717
1818/* lisa MMU segment regs */
19struct real_mmu_entry
19struct real_mmu_entry
2020{
2121   UINT16 sorg;
2222   UINT16 slim;
r17959r17960
2525/* MMU regs translated into a more efficient format */
2626enum mmu_entry_t { RAM_stack_r, RAM_r, RAM_stack_rw, RAM_rw, IO, invalid, special_IO };
2727
28struct mmu_entry
28struct mmu_entry
2929{
3030   offs_t sorg;   /* (real_sorg & 0x0fff) << 9 */
3131   mmu_entry_t type;   /* <-> (real_slim & 0x0f00) */
r17959r17960
4848};         /* clock mode */
4949
5050/* clock registers */
51struct clock_regs_t
51struct clock_regs_t
5252{
5353   long alarm;      /* alarm (20-bit binary) */
5454   int years;      /* years (4-bit binary ) */
r17959r17960
6868   enum clock_mode_t clock_mode;
6969};
7070
71struct lisa_features_t
71struct lisa_features_t
7272{
7373   unsigned int has_fast_timers : 1;   /* I/O board VIAs are clocked at 1.25 MHz (?) instead of .5 MHz (?) (Lisa 2/10, Mac XL) */
7474                              /* Note that the beep routine in boot ROMs implies that
trunk/src/mess/includes/lynx.h
r17959r17960
1515
1616
1717class lynx_state;
18struct BLITTER
18struct BLITTER
1919{
2020   UINT8 *mem;
2121   // global
r17959r17960
5454   int busy;
5555};
5656
57struct UART
57struct UART
5858{
5959   UINT8 serctl;
6060   UINT8 data_received, data_to_send, buffer;
r17959r17960
6363   int buffer_loaded;
6464};
6565
66struct SUZY
66struct SUZY
6767{
6868   UINT8 data[0x100];
6969   UINT8 high;
r17959r17960
7373   int accumulate_overflow;
7474};
7575
76struct MIKEY
76struct MIKEY
7777{
7878   UINT8 data[0x100];
7979   UINT16 disp_addr;
8080   UINT8 vb_rest;
8181};
8282
83struct LYNX_TIMER
83struct LYNX_TIMER
8484{
8585   UINT8   bakup;
8686   UINT8   cntrl1;
trunk/src/mess/includes/cgenie.h
r17959r17960
1010#include "machine/wd17xx.h"
1111
1212// CRTC 6845
13struct CRTC6845
13struct CRTC6845
1414{
1515   UINT8    cursor_address_lo;
1616   UINT8    cursor_address_hi;
trunk/src/mess/includes/spectrum.h
r17959r17960
5151#define TS2068_RIGHT_BORDER  96   /* Number of right hand border pixels */
5252#define TS2068_SCREEN_WIDTH (TS2068_LEFT_BORDER + TS2068_DISPLAY_XSIZE + TS2068_RIGHT_BORDER)
5353
54struct EVENT_LIST_ITEM
54struct EVENT_LIST_ITEM
5555{
5656   /* driver defined ID for this write */
5757   int   Event_ID;
trunk/src/mess/includes/tx0.h
r17959r17960
5555
5656
5757/* tape reader registers */
58struct tape_reader_t
58struct tape_reader_t
5959{
6060   device_image_interface *fd;   /* file descriptor of tape image */
6161
r17959r17960
7070
7171
7272/* tape puncher registers */
73struct tape_puncher_t
73struct tape_puncher_t
7474{
7575   device_image_interface *fd;   /* file descriptor of tape image */
7676
r17959r17960
8080
8181
8282/* typewriter registers */
83struct typewriter_t
83struct typewriter_t
8484{
8585   device_image_interface *fd;   /* file descriptor of output image */
8686
r17959r17960
8989
9090
9191/* magnetic tape unit registers */
92struct magtape_t
92struct magtape_t
9393{
9494   device_image_interface *img;      /* image descriptor */
9595
trunk/src/mess/includes/p2000t.h
r17959r17960
4040   UINT8 m_port_202f;
4141   UINT8 m_port_303f;
4242   UINT8 m_port_707f;
43   INT8 m_frame_count;   
43   INT8 m_frame_count;
4444   DECLARE_VIDEO_START(p2000m);
4545   DECLARE_PALETTE_INIT(p2000m);
4646};
trunk/src/mess/includes/pet.h
r17959r17960
1313#include "machine/ieee488.h"
1414#include "imagedev/cartslot.h"
1515
16struct spet_t
16struct spet_t
1717{
1818   int bank; /* rambank to be switched in 0x9000 */
1919   int rom; /* rom socket 6502? at 0x9000 */
trunk/src/mess/includes/oric.h
r17959r17960
3030   TELESTRAT_MEM_BLOCK_ROM
3131};
3232
33struct telestrat_mem_block
33struct telestrat_mem_block
3434{
3535   int      MemType;
3636   unsigned char *ptr;
r17959r17960
4040/* current state of the display */
4141/* some attributes persist until they are turned off.
4242This structure holds this persistant information */
43struct oric_vh_state
43struct oric_vh_state
4444{
4545   /* foreground and background colour used for rendering */
4646   /* if flash attribute is set, these two will both be equal to background colour */
trunk/src/mess/includes/mbc55x.h
r17959r17960
7575#define FDC_TAG                 "wd1793"
7676
7777
78struct keyboard_t
78struct keyboard_t
7979{
8080   UINT8       keyrows[MBC55X_KEYROWS];
8181   emu_timer   *keyscan_timer;
r17959r17960
161161/* IO chips */
162162
163163
164struct msm_rx_t
164struct msm_rx_t
165165{
166166};
167167
trunk/src/mess/includes/gp32.h
r17959r17960
3434#define INT_EINT1      1
3535#define INT_EINT0      0
3636
37struct s3c240x_lcd_t
37struct s3c240x_lcd_t
3838{
3939   UINT32 vramaddr_cur;
4040   UINT32 vramaddr_max;
r17959r17960
4747   int vpos, hpos;
4848};
4949
50struct smc_t
50struct smc_t
5151{
5252   int add_latch;
5353   int chip;
r17959r17960
6161   UINT8 datatx;
6262};
6363
64struct i2s_t
64struct i2s_t
6565{
6666   int l3d;
6767   int l3m;
6868   int l3c;
6969};
7070
71struct s3c240x_iic_t
71struct s3c240x_iic_t
7272{
7373   UINT8 data[4];
7474   int data_index;
7575   UINT16 address;
7676};
7777
78struct s3c240x_iis_t
78struct s3c240x_iis_t
7979{
8080   UINT16 fifo[16/2];
8181   int fifo_index;
trunk/src/mess/includes/electron.h
r17959r17960
2323
2424/* ULA context */
2525
26struct ULA
26struct ULA
2727{
2828   UINT8 interrupt_status;
2929   UINT8 interrupt_control;
trunk/src/mess/includes/channelf.h
r17959r17960
1313
1414
1515/* SKR - 2102 RAM chip on carts 10 and 18 I/O ports */
16struct r2102_t
16struct r2102_t
1717{
1818   UINT8 d;         /* data bit:inverted logic, but reading/writing cancel out */
1919   UINT8 r_w;         /* inverted logic: 0 means read, 1 means write */
trunk/src/mess/includes/apple1.h
r17959r17960
1212
1313typedef short termchar_t;
1414
15struct terminal_t
15struct terminal_t
1616{
1717   tilemap_t *tm;
1818   int gfx;
trunk/src/mess/includes/bebox.h
r17959r17960
1313#include "machine/8237dma.h"
1414#include "machine/53c810.h"
1515
16struct bebox_devices_t
16struct bebox_devices_t
1717{
1818   device_t *pic8259_master;
1919   device_t *pic8259_slave;
trunk/src/mess/includes/nascom1.h
r17959r17960
1010#include "imagedev/snapquik.h"
1111#include "machine/wd17xx.h"
1212
13struct nascom1_portstat_t
13struct nascom1_portstat_t
1414{
1515   UINT8   stat_flags;
1616   UINT8   stat_count;
1717};
1818
19struct nascom2_fdc_t
19struct nascom2_fdc_t
2020{
2121   UINT8 select;
2222   UINT8 irq;
trunk/src/mess/includes/gmaster.h
r17959r17960
11#ifndef __GMASTER_H__
22#define __GMASTER_H__
33
4struct GMASTER_VIDEO
4struct GMASTER_VIDEO
55{
66   UINT8 data[8];
77   int index;
r17959r17960
1111   UINT8 pixels[8][64/*>=62 sure*/];
1212};
1313
14struct GMASTER_MACHINE
14struct GMASTER_MACHINE
1515{
1616   UINT8 ports[5];
1717};
trunk/src/mess/includes/intv.h
r17959r17960
77#ifndef INTV_H_
88#define INTV_H_
99
10struct intv_sprite_type
10struct intv_sprite_type
1111{
1212   int visible;
1313   int xpos;
trunk/src/mess/includes/ssystem3.h
r17959r17960
88#define SSYSTEM3_H_
99
1010
11struct playfield_t
11struct playfield_t
1212{
1313   int signal;
1414   //  int on;
r17959r17960
2626   } u;
2727};
2828
29struct lcd_t
29struct lcd_t
3030{
3131   UINT8 data[5];
3232   int clock;
trunk/src/mess/includes/amstrad.h
r17959r17960
2323/****************************
2424 * Gate Array data (CPC) -
2525 ****************************/
26struct gate_array_t
26struct gate_array_t
2727{
2828   bitmap_ind16   *bitmap;      /* The bitmap we work on */
2929   UINT8   pen_selected;      /* Pen selection */
r17959r17960
6060/****************************
6161 * ASIC data (CPC plus)
6262 ****************************/
63struct asic_t
63struct asic_t
6464{
6565   UINT8   *ram;            /* pointer to RAM used for the CPC+ ASIC memory-mapped registers */
6666   UINT8   enabled;         /* Are CPC plus features enabled/unlocked */
trunk/src/mess/includes/rmnimbus.h
r17959r17960
2626
2727/* Nimbus sub-bios structures for debugging */
2828
29struct t_area_params
29struct t_area_params
3030{
3131   UINT16  ofs_brush;
3232   UINT16  seg_brush;
r17959r17960
3535   UINT16  count;
3636};
3737
38struct t_plot_string_params
38struct t_plot_string_params
3939{
4040   UINT16  ofs_font;
4141   UINT16  seg_font;
r17959r17960
4646   UINT16  length;
4747};
4848
49struct t_nimbus_brush
49struct t_nimbus_brush
5050{
5151   UINT16  style;
5252   UINT16  style_index;
r17959r17960
110110   UINT16  ext_vector[2]; // external vectors, when in cascade mode
111111};
112112
113struct i186_state
113struct i186_state
114114{
115115   struct timer_state   timer[3];
116116   struct dma_state   dma[2];
r17959r17960
118118   struct mem_state   mem;
119119};
120120
121struct keyboard_t
121struct keyboard_t
122122{
123123   UINT8       keyrows[NIMBUS_KEYROWS];
124124   emu_timer   *keyscan_timer;
r17959r17960
128128};
129129
130130// Static data related to Floppy and SCSI hard disks
131struct nimbus_drives_t
131struct nimbus_drives_t
132132{
133133   UINT8   reg400;
134134   UINT8   reg410_in;
r17959r17960
140140};
141141
142142/* 8031 Peripheral controler */
143struct ipc_interface_t
143struct ipc_interface_t
144144{
145145   UINT8   ipc_in;
146146   UINT8   ipc_out;
r17959r17960
152152};
153153
154154/* Mouse/Joystick */
155struct mouse_joy_state
155struct mouse_joy_state
156156{
157157   UINT8   m_mouse_px;
158158   UINT8   m_mouse_py;
trunk/src/mess/includes/kyocera.h
r17959r17960
113113   /* sound state */
114114   int m_buzzer;            /* buzzer select */
115115   int m_bell;            /* bell output */
116   
116
117117   DECLARE_PALETTE_INIT(kc85);
118118};
119119
trunk/src/mess/includes/cybiko.h
r17959r17960
2828#include "machine/sst39vfx.h"
2929#include "machine/ram.h"
3030
31struct CYBIKO_RS232_PINS
31struct CYBIKO_RS232_PINS
3232{
3333   int sck; // serial clock
3434   int txd; // transmit data
3535   int rxd; // receive data
3636};
3737
38struct CYBIKO_RS232
38struct CYBIKO_RS232
3939{
4040   CYBIKO_RS232_PINS pin;
4141   UINT8 rx_bits, rx_byte, tx_byte, tx_bits;
trunk/src/mess/includes/odyssey2.h
r17959r17960
5454    } s;
5555};
5656
57struct ef9341_t
57struct ef9341_t
5858{
5959   UINT8   X;
6060   UINT8   Y;
trunk/src/mess/includes/apple2.h
r17959r17960
7272#define APPLE2_MEM_FLOATING   0xFFFFFFFF
7373#define APPLE2_MEM_MASK      0x00FFFFFF
7474
75enum machine_type_t
75enum machine_type_t
7676{
7777    APPLE_II,           // Apple II/II+
7878    APPLE_IIEPLUS,      // Apple IIe/IIc/IIgs/IIc+
r17959r17960
8181    SPACE84             // "Space 84" with flipped text mode
8282};
8383
84enum bank_disposition_t
84enum bank_disposition_t
8585{
8686   A2MEM_IO      = 0,   /* this is always handlers; never banked memory */
8787   A2MEM_MONO      = 1,   /* this is a bank where read and write are always in unison */
trunk/src/mess/includes/svision.h
r17959r17960
77#ifndef SVISION_H_
88#define SVISION_H_
99
10struct svision_t
10struct svision_t
1111{
1212   emu_timer *timer1;
1313   int timer_shot;
1414};
1515
16struct svision_pet_t
16struct svision_pet_t
1717{
1818   int state;
1919   int on, clock, data;
r17959r17960
2121   emu_timer *timer;
2222};
2323
24struct tvlink_t
24struct tvlink_t
2525{
2626   UINT32 palette[4/*0x40?*/]; /* rgb8 */
2727   int palette_on;
trunk/src/mess/includes/svi318.h
r17959r17960
1313#include "machine/ins8250.h"
1414#include "machine/wd17xx.h"
1515
16struct SVI_318
16struct SVI_318
1717{
1818   /* general */
1919   UINT8   svi318;      /* Are we dealing with an SVI-318 or a SVI-328 model. 0 = 328, 1 = 318 */
r17959r17960
3737   UINT8   *svi806_gfx;
3838};
3939
40struct SVI318_FDC_STRUCT
40struct SVI318_FDC_STRUCT
4141{
4242   UINT8 driveselect;
4343   int drq;
trunk/src/mess/includes/pce.h
r17959r17960
3131/* the largest possible cartridge image (street fighter 2 - 2.5MB) */
3232#define PCE_ROM_MAXSIZE      0x280000
3333
34struct pce_cd_t
34struct pce_cd_t
3535{
3636   UINT8   regs[16];
3737   UINT8   *bram;
trunk/src/mess/includes/vc4000.h
r17959r17960
1919#define ANALOG_HACK
2020
2121
22struct SPRITE_HELPER
22struct SPRITE_HELPER
2323{
2424   UINT8 bitmap[10],x1,x2,y1,y2, res1, res2;
2525};
2626
27struct SPRITE
27struct SPRITE
2828{
2929   const SPRITE_HELPER *data;
3030   int mask;
r17959r17960
3737   int finished_now;
3838};
3939
40struct vc4000_video_t
40struct vc4000_video_t
4141{
4242   SPRITE sprites[4];
4343   int line;
trunk/src/mess/includes/x07.h
r17959r17960
8686   0x01, 0x09, 0x01, 0x03, 0x03, 0x01, 0x01
8787};
8888
89struct x07_kb
89struct x07_kb
9090{
9191   const char *tag;      //input port tag
9292   UINT8      mask;      //bit mask
trunk/src/mess/video/isa_vga_ati.c
r17959r17960
11/*
22 * isa_vga_ati.c
33 *
4 *   Implementation of the ATi Graphics Ultra ISA Video card
5 *    - Uses ATi 28800-6 (VGA Wonder) and ATi 38800-1 (Mach8, 8514/A clone)
4 *  Implementation of the ATi Graphics Ultra ISA Video card
5 *   - Uses ATi 28800-6 (VGA Wonder) and ATi 38800-1 (Mach8, 8514/A clone)
66 *
77 *  Created on: 9/09/2012
88 */
trunk/src/mess/video/isa_vga_ati.h
r17959r17960
11/*
22 * isa_vga_ati.h
33 *
4 *   Header for ATi Graphics Ultra ISA video card
4 *  Header for ATi Graphics Ultra ISA video card
55 *
66 *  Created on: 9/09/2012
77 */
trunk/src/mess/video/911_vdt.c
r17959r17960
7979   2, 1   /* low intensity, reverse */
8080};
8181
82struct vdt_t
82struct vdt_t
8383{
8484   vdt911_screen_size_t screen_size;   /* char_960 for 960-char, 12-line model; char_1920 for 1920-char, 24-line model */
8585   vdt911_model_t model;            /* country code */
trunk/src/mess/video/911_vdt.h
r17959r17960
2020GFXDECODE_EXTERN( vdt911 );
2121
2222enum vdt911_screen_size_t { char_960, char_1920 };
23enum vdt911_model_t
23enum vdt911_model_t
2424{
2525   vdt911_model_US,
2626   vdt911_model_UK,
r17959r17960
3333   vdt911_model_FrenchWP   /* French word processing */
3434};
3535
36struct vdt911_init_params_t
36struct vdt911_init_params_t
3737{
3838   vdt911_screen_size_t screen_size;
3939   vdt911_model_t model;
trunk/src/mess/video/newport.c
r17959r17960
5252static READ32_HANDLER( newport_vc2_r );
5353static WRITE32_HANDLER( newport_vc2_w );
5454
55struct VC2_t
55struct VC2_t
5656{
5757   UINT16 nRegister[0x21];
5858   UINT16 nRAM[0x8000];
r17959r17960
7979#define VC2_DISPLAYCTRL      pNVID->VC2.nRegister[0x10]
8080#define VC2_CONFIG         pNVID->VC2.nRegister[0x1f]
8181
82struct XMAP_t
82struct XMAP_t
8383{
8484   UINT32 nRegister[0x08];
8585   UINT32 nModeTable[0x20];
r17959r17960
100100#define XMAP1_MODETBLIDX   pNVID->XMAP1.nRegister[0x07]
101101
102102
103struct REX3_t
103struct REX3_t
104104{
105105   UINT32 nDrawMode1;
106106   UINT32 nDrawMode0;
r17959r17960
180180};
181181
182182
183struct CMAP_t
183struct CMAP_t
184184{
185185   UINT16 nPaletteIndex;
186186   UINT32 nPalette[0x10000];
trunk/src/mess/video/epnick.c
r17959r17960
4343
4444/* Nick executes a Display list, in the form of a list of Line Parameter
4545Tables, this is the form of the data */
46struct LPT_ENTRY
46struct LPT_ENTRY
4747{
4848   unsigned char SC;      /* scanlines in this modeline (two's complement) */
4949   unsigned char MB;      /* the MODEBYTE (defines video display mode) */
r17959r17960
5656   unsigned char COL[8];   /* COL0..COL7 */
5757};
5858
59struct NICK_STATE
59struct NICK_STATE
6060{
6161   /* horizontal position */
6262   unsigned char HorizontalClockCount;
trunk/src/mess/video/apollo.c
r17959r17960
843843
844844apollo_mono19i_device::apollo_mono19i_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
845845   : apollo_mono_device(mconfig, APOLLO_MONO19I, "Apollo 19\" Monochrome Screen", tag, owner, clock)
846{   
846{
847847}
848848
849849//-------------------------------------------------
trunk/src/mess/video/911_chr.h
r17959r17960
7575/* structure used to describe differences between national character sets and
7676US character set */
7777/* much more compact than defining the complete 128-char vector */
78struct char_override_t
78struct char_override_t
7979{
8080   unsigned char char_index;      /* char to replace */
8181   unsigned short symbol_index;   /* replacement symbol */
trunk/src/mess/video/vic4567.h
r17959r17960
2626
2727typedef UINT8 (*vic3_c64mem_callback)(running_machine &machine, int offset);
2828
29enum vic3_type
29enum vic3_type
3030{
3131   VIC4567_NTSC,
3232   VIC4567_PAL
trunk/src/mess/video/apple1.c
r17959r17960
186186   terminal_t *term;
187187   int char_width, char_height;
188188   apple1_state *state = machine.driver_data<apple1_state>();
189   
189
190190   char_width = machine.gfx[gfx]->width();
191191   char_height = machine.gfx[gfx]->height();
192192
trunk/src/mess/video/vic6567.h
r17959r17960
1414    TYPE DEFINITIONS
1515***************************************************************************/
1616
17enum vic2_type
17enum vic2_type
1818{
1919   VIC6567,   // VIC II NTSC
2020   VIC6569,   // VIC II PAL
trunk/src/mess/video/mos6566.c
r17959r17960
281281inline UINT8 mos6566_device::read_videoram(offs_t offset)
282282{
283283   m_last_data = space(AS_0)->read_byte(offset & 0x3fff);
284   
284
285285   return m_last_data;
286286}
287287
r17959r17960
799799      m_spr_ptr[i] = 0;
800800      m_mc_base[i] = 0;
801801      m_mc[i] = 0;
802     
802
803803      for (int j = 0; j < 4; j++)
804804      {
805805         m_spr_draw_data[i][j] = 0;
trunk/src/mess/video/crt.c
r17959r17960
3232#include "video/crt.h"
3333
3434
35struct point
35struct point
3636{
3737   int intensity;      /* current intensity of the pixel */
3838                     /* a node is not in the list when (intensity == -1) */
r17959r17960
4444   intensity_pixel_not_in_list = -1   /* special value that tells that the node is not in list */
4545};
4646
47struct crt_t
47struct crt_t
4848{
4949   point *list;      /* array of (crt_window_width*crt_window_height) point */
5050   int *list_head;   /* head of the list of lit pixels (index in the array) */
trunk/src/mess/video/dl1416.c
r17959r17960
266266                  if (intf->update)
267267                     intf->update(device, i, pattern);
268268               }
269            }         
269            }
270270         }
271271      }
272272      else /* cursor enable is not set, so standard write */
trunk/src/mess/video/733_asr.c
r17959r17960
3434   asr_scroll_step = 8
3535};
3636
37struct asr_t
37struct asr_t
3838{
3939#if 0
4040   UINT8 OutQueue[ASROutQueueSize];
trunk/src/mess/video/733_asr.h
r17959r17960
99   asr733_chr_region_len   = 128*asr733_single_char_len
1010};
1111
12struct asr733_init_params_t
12struct asr733_init_params_t
1313{
1414   void (*int_callback)(running_machine &machine, int state);
1515};
trunk/src/mess/formats/timex_dck.h
r17959r17960
1818   TIMEX_CART_HOME
1919};
2020
21struct timex_cart_t
21struct timex_cart_t
2222{
2323   int type;
2424   UINT8 chunks;
trunk/src/mess/formats/spec_snqk.h
r17959r17960
141141#define FRZ_HDR    42
142142#define FRZ_SIZE   (FRZ_HDR + 8*SPECTRUM_BANK)
143143
144enum SPECTRUM_SNAPSHOT_TYPE
144enum SPECTRUM_SNAPSHOT_TYPE
145145{
146146    SPECTRUM_SNAPSHOT_NONE,
147147    SPECTRUM_SNAPSHOT_SNA,
trunk/src/mess/drivers/pc9801.c
r17959r17960
88    - floppy interface doesn't seem to work at all with either floppy inserted or not, missing DMA irq?
99    - proper 8251 uart hook-up on keyboard
1010    - boot is too slow right now, might be due of the floppy / HDD devices
11   - investigate on POR bit
11    - investigate on POR bit
1212
1313    TODO (PC-9801RS):
1414    - floppy disk hook-up;
r17959r17960
1717
1818    TODO (PC-9821):
1919    - fix CPU for some clones;
20   - PARITY ERROR, presumably it needs a far better emulation of the i8251 ports
20    - PARITY ERROR, presumably it needs a far better emulation of the i8251 ports
2121
2222    TODO: (PC-486MU)
2323    - Tries to read port C of i8255_sys (-> 0x35) at boot without setting up the control
trunk/src/mess/drivers/mz2000.c
r17959r17960
1010    TODO:
1111    - cassette interface, basically any program that's bigger than 8kb fails to load;
1212    - implement remaining video capabilities
13   - add 80b compatibility support;
14   - Vosque (color): keyboard doesn't work properly;
13    - add 80b compatibility support;
14    - Vosque (color): keyboard doesn't work properly;
1515
1616****************************************************************************/
1717
r17959r17960
607607static WRITE8_DEVICE_HANDLER( mz2000_porta_w )
608608{
609609   /*
610   These are enabled thru a 0->1 transition
610    These are enabled thru a 0->1 transition
611611    x--- ---- tape "APSS"
612612    -x-- ---- tape "APLAY"
613613    --x- ---- tape "AREW"
trunk/src/mess/drivers/pc88va.c
r17959r17960
2929#include "sound/2203intf.h"
3030#include "formats/basicdsk.h"
3131
32struct tsp_t
32struct tsp_t
3333{
3434   UINT16 tvram_vreg_offset;
3535   UINT16 attr_offset;
trunk/src/mess/drivers/apricotp.c
r17959r17960
534534 *  Sound interface
535535 *
536536 *************************************/
537 
538 
537
538
539539//-------------------------------------------------
540540//  sn76496_config psg_intf
541541//-------------------------------------------------
trunk/src/mess/drivers/mycom.c
r17959r17960
551551 *  Sound interface
552552 *
553553 *************************************/
554 
555 
554
555
556556//-------------------------------------------------
557557//  sn76496_config psg_intf
558558//-------------------------------------------------
trunk/src/mess/drivers/ti99_8.c
r17959r17960
252252   DECLARE_WRITE8_MEMBER(tms9901_interrupt);
253253
254254   DECLARE_WRITE_LINE_MEMBER( clock_out );
255   virtual void machine_start();   
255   virtual void machine_start();
256256   virtual void machine_reset();
257257
258258   // Some values to keep
trunk/src/mess/drivers/sgi_ip6.c
r17959r17960
1717#include "cpu/mips/r3000.h"
1818
1919
20struct ip6_regs_t
20struct ip6_regs_t
2121{
2222   UINT16 unknown_half_0;
2323   UINT8 unknown_byte_0;
trunk/src/mess/drivers/aim65.c
r17959r17960
226226   NULL
227227};
228228
229const dl1416_interface aim65_ds1_intf =
229const dl1416_interface aim65_ds1_intf =
230230{
231231   aim65_update_ds1
232232};
233233
234const dl1416_interface aim65_ds2_intf =
234const dl1416_interface aim65_ds2_intf =
235235{
236236   aim65_update_ds2
237237};
238238
239const dl1416_interface aim65_ds3_intf =
239const dl1416_interface aim65_ds3_intf =
240240{
241241   aim65_update_ds3
242242};
243243
244const dl1416_interface aim65_ds4_intf =
244const dl1416_interface aim65_ds4_intf =
245245{
246246   aim65_update_ds4
247247};
248248
249const dl1416_interface aim65_ds5_intf =
249const dl1416_interface aim65_ds5_intf =
250250{
251251   aim65_update_ds5
252252};
trunk/src/mess/drivers/vic20.c
r17959r17960
463463        PA2
464464        PA3
465465        PA4
466        PA5      LITE PEN (FIRE)
466        PA5     LITE PEN (FIRE)
467467        PA6
468468        PA7     SERIAL ATN OUT
469469
r17959r17960
550550
551551   // joystick
552552   UINT8 joy = m_joy1->joy_r();
553   
553
554554   data &= BIT(joy, 3) << 7;
555555
556556   return data;
r17959r17960
881881//**************************************************************************
882882
883883//    YEAR  NAME        PARENT      COMPAT  MACHINE      INPUT      INIT                        COMPANY                             FULLNAME                    FLAGS
884COMP( 1980, vic1001,    0,          0,      ntsc,        vic1001,    driver_device,   0,          "Commodore Business Machines",      "VIC-1001 (Japan)",         GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
885COMP( 1981, vic20,      vic1001,    0,      ntsc,        vic20,      driver_device,   0,          "Commodore Business Machines",      "VIC-20 (NTSC)",            GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
886COMP( 1981, vic20p,     vic1001,    0,      pal,         vic20,       driver_device,   0,          "Commodore Business Machines",      "VIC-20 / VC-20 (PAL)",     GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
887COMP( 1981, vic20s,     vic1001,    0,      pal,         vic20s,    driver_device,   0,          "Commodore Business Machines",      "VIC-20 (Sweden/Finland)",  GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
884COMP( 1980, vic1001,    0,          0,      ntsc,      vic1001,   driver_device,   0,          "Commodore Business Machines",      "VIC-1001 (Japan)",         GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
885COMP( 1981, vic20,      vic1001,    0,      ntsc,      vic20,      driver_device,   0,          "Commodore Business Machines",      "VIC-20 (NTSC)",            GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
886COMP( 1981, vic20p,     vic1001,    0,      pal,      vic20,      driver_device,   0,          "Commodore Business Machines",      "VIC-20 / VC-20 (PAL)",     GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
887COMP( 1981, vic20s,     vic1001,    0,      pal,      vic20s,    driver_device,   0,          "Commodore Business Machines",      "VIC-20 (Sweden/Finland)",  GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
trunk/src/mess/drivers/smc777.c
r17959r17960
3535      : driver_device(mconfig, type, tag),
3636   m_sn(*this, "sn1")
3737   { }
38     
38
3939   optional_device<sn76489a_new_device> m_sn;
4040   UINT16 m_cursor_addr;
4141   UINT16 m_cursor_raster;
r17959r17960
10601060 *  Sound interface
10611061 *
10621062 *************************************/
1063 
1064 
1063
1064
10651065//-------------------------------------------------
10661066//  sn76496_config psg_intf
10671067//-------------------------------------------------
trunk/src/mess/drivers/ip22.c
r17959r17960
5757#include "machine/scsihd.h"
5858#include "machine/wd33c93.h"
5959
60struct RTC_t
60struct RTC_t
6161{
6262   UINT8 nRegs[0x80];
6363   UINT8 nUserRAM[0x200];
6464   UINT8 nRAM[0x800];
6565};
6666
67struct HPC3_t
67struct HPC3_t
6868{
6969   UINT32 nenetr_nbdp;
7070   UINT32 nenetr_cbp;
r17959r17960
7575   UINT32 nSCSI0DMACtrl;
7676};
7777
78struct HAL2_t
78struct HAL2_t
7979{
8080   UINT32 nIAR;
8181   UINT32 nIDR[4];
8282};
8383
84struct PBUS_DMA_t
84struct PBUS_DMA_t
8585{
8686   UINT8 nActive;
8787   UINT32 nCurPtr;
trunk/src/mess/drivers/c128.c
r17959r17960
171171
172172/*
173173
174   TODO:
174    TODO:
175175
176   - connect to PLA
177   - clean up ROMs
178   - wire up function ROM softlist
179   - remove banking code from machine/c128.h
180   - inherit from c64_state and use common members from there
181   - clean up inputs
182   - fix fast serial
176    - connect to PLA
177    - clean up ROMs
178    - wire up function ROM softlist
179    - remove banking code from machine/c128.h
180    - inherit from c64_state and use common members from there
181    - clean up inputs
182    - fix fast serial
183183
184184*/
185185
r17959r17960
281281UINT8 c128_state::read_memory(address_space &space, offs_t offset, offs_t vma, int ba, int aec, int z80io)
282282{
283283   int rw = 1, ms0 = 1, ms1 = 1, ms2 = 1, ms3 = 1, cas0 = 1, cas1 = 1;
284   int sden = 1, dir = 1, gwe = 1, rom1 = 1, rom2 = 1, rom3 = 1, rom4 = 1, charom = 1, colorram = 1, vic = 1,
284   int sden = 1, dir = 1, gwe = 1, rom1 = 1, rom2 = 1, rom3 = 1, rom4 = 1, charom = 1, colorram = 1, vic = 1,
285285      from1 = 1, romh = 1, roml = 1, dwe = 1, ioacc = 1, clrbank = 1, iocs = 1, casenb = 1;
286286   int io1 = 1, io2 = 1;
287287
288288   offs_t ta = m_mmu->ta_r(offset, aec, &ms0, &ms1, &ms2, &ms3, &cas0, &cas1);
289289
290290   bankswitch_pla(offset, ta, vma, ba, rw, aec, z80io, ms3, ms2, ms1, ms0,
291      &sden, &dir, &gwe, &rom1, &rom2, &rom3, &rom4, &charom, &colorram, &vic,
291      &sden, &dir, &gwe, &rom1, &rom2, &rom3, &rom4, &charom, &colorram, &vic,
292292      &from1, &romh, &roml, &dwe, &ioacc, &clrbank, &iocs, &casenb);
293293
294294   UINT8 data = 0xff;
r17959r17960
400400void c128_state::write_memory(address_space &space, offs_t offset, offs_t vma, UINT8 data, int ba, int aec, int z80io)
401401{
402402   int rw = 0, ms0 = 1, ms1 = 1, ms2 = 1, ms3 = 1, cas0 = 1, cas1 = 1;
403   int sden = 1, dir = 1, gwe = 1, rom1 = 1, rom2 = 1, rom3 = 1, rom4 = 1, charom = 1, colorram = 1, vic = 1,
403   int sden = 1, dir = 1, gwe = 1, rom1 = 1, rom2 = 1, rom3 = 1, rom4 = 1, charom = 1, colorram = 1, vic = 1,
404404      from1 = 1, romh = 1, roml = 1, dwe = 1, ioacc = 1, clrbank = 1, iocs = 1, casenb = 1;
405405   int io1 = 1, io2 = 1;
406406
407407   offs_t ta = m_mmu->ta_r(offset, aec, &ms0, &ms1, &ms2, &ms3, &cas0, &cas1);
408408
409409   bankswitch_pla(offset, ta, vma, ba, rw, aec, z80io, ms3, ms2, ms1, ms0,
410      &sden, &dir, &gwe, &rom1, &rom2, &rom3, &rom4, &charom, &colorram, &vic,
410      &sden, &dir, &gwe, &rom1, &rom2, &rom3, &rom4, &charom, &colorram, &vic,
411411      &from1, &romh, &roml, &dwe, &ioacc, &clrbank, &iocs, &casenb);
412412
413413   if (!casenb && !dwe)
r17959r17960
483483{
484484   int ba = 1, aec = 1, z80io = 1;
485485   offs_t vma = 0;
486   
486
487487   write_memory(space, offset, vma, data, ba, aec, z80io);
488488}
489489
r17959r17960
491491{
492492   int ba = 1, aec = 1, z80io = 0;
493493   offs_t vma = 0;
494   
494
495495   return read_memory(space, offset, vma, ba, aec, z80io);
496496}
497497
r17959r17960
499499{
500500   int ba = 1, aec = 1, z80io = 0;
501501   offs_t vma = 0;
502   
502
503503   write_memory(space, offset, vma, data, ba, aec, z80io);
504504}
505505
r17959r17960
507507{
508508   int ba = 1, aec = 1, z80io = 1;
509509   offs_t vma = 0;
510   
510
511511   return read_memory(space, vma, offset, ba, aec, z80io);
512512}
513513
r17959r17960
515515{
516516   int ba = 1, aec = 1, z80io = 1;
517517   offs_t vma = 0;
518   
518
519519   write_memory(space, offset, vma, data, ba, aec, z80io);
520520}
521521
r17959r17960
523523{
524524   int ba = 0, aec = 0, z80io = 1;
525525   offs_t vma = 0;
526   
526
527527   return read_memory(space, offset, vma, ba, aec, z80io);
528528}
529529
r17959r17960
969969READ8_MEMBER( c128_state::sid_potx_r )
970970{
971971   UINT8 cia1_pa = mos6526_pa_r(m_cia1, 0);
972   
972
973973   int sela = BIT(cia1_pa, 6);
974974   int selb = BIT(cia1_pa, 7);
975975
r17959r17960
984984READ8_MEMBER( c128_state::sid_poty_r )
985985{
986986   UINT8 cia1_pa = mos6526_pa_r(m_cia1, 0);
987   
987
988988   int sela = BIT(cia1_pa, 6);
989989   int selb = BIT(cia1_pa, 7);
990990
trunk/src/mess/drivers/a2600.c
r17959r17960
2525   UINT8   osc_clk;      /* Only used by data fetchers 5,6, and 7 */
2626};
2727
28struct dpc_t
28struct dpc_t
2929{
3030   df_t df[8];
3131   UINT8   movamt;
trunk/src/mess/drivers/vboy.c
r17959r17960
88    and http://www.vr32.de/modules/dokuwiki/doku.php?
99
1010    TODO:
11   - 3dtetris: missing gfxs on gameplay (writes to framebuffer)
11    - 3dtetris: missing gfxs on gameplay (writes to framebuffer)
1212    - boundh: game is way too fast
1313    - galactic: ball goes out of bounds sometimes?
14   - golf: missing gfxs on gameplay (writes to framebuffer)
14    - golf: missing gfxs on gameplay (writes to framebuffer)
1515    - marioten: title screen logo is misplaced if Mario completes his animation
1616    - nesterfb: once that you hit the pins, animation phase takes a while to start
1717    - redalarm: gameplay doesn't work
r17959r17960
1919    - spaceinv: missing shots
2020    - telerobo: crashes if you die
2121    - telerobo: hangs after winning first match;
22      - vlab: doesn't boot (irq issue?)
22    - vlab: doesn't boot (irq issue?)
2323    - wariolnd: brightness gets suddently darker during intro.
2424\
2525****************************************************************************/
r17959r17960
699699   if(b > 0xff) { b = 0xff; }
700700   if(c > 0xff) { c = 0xff; }
701701
702//   popmessage("%02x %02x %02x %02x",m_vip_regs.BRTA,m_vip_regs.BRTB,m_vip_regs.BRTC,m_vip_regs.REST);
702//  popmessage("%02x %02x %02x %02x",m_vip_regs.BRTA,m_vip_regs.BRTB,m_vip_regs.BRTC,m_vip_regs.REST);
703703   palette_set_color_rgb(machine(), 1, a,0,0);
704704   palette_set_color_rgb(machine(), 2, b,0,0);
705705   palette_set_color_rgb(machine(), 3, c,0,0);
r17959r17960
716716               logerror("Error reading INTCLR\n");
717717               break;
718718/*
719      ---- -x-- ---- ---- LOCK (status column table address (CTA) lock)
720      ---- --x- ---- ---- SYNCE (status of sync signal enable)
721      ---- ---x ---- ---- RE (status of memory refresh cycle)
722      ---- ---- x--- ---- FCLK
719        ---- -x-- ---- ---- LOCK (status column table address (CTA) lock)
720        ---- --x- ---- ---- SYNCE (status of sync signal enable)
721        ---- ---x ---- ---- RE (status of memory refresh cycle)
722        ---- ---- x--- ---- FCLK
723723        ---- ---- -x-- ---- SCANRDY (active low)
724      ---- ---- --xx xx-- DPBSY (current framebuffer displayed)
725      ---- ---- --10 00-- RFB1
726      ---- ---- --01 00-- LFB1
727      ---- ---- --00 10-- RFB0
728      ---- ---- --00 01-- LFB0
729      ---- ---- ---- --x- DISP
724        ---- ---- --xx xx-- DPBSY (current framebuffer displayed)
725        ---- ---- --10 00-- RFB1
726        ---- ---- --01 00-- LFB1
727        ---- ---- --00 10-- RFB0
728        ---- ---- --00 01-- LFB0
729        ---- ---- ---- --x- DISP
730730*/
731731      case 0x20:   //DPSTTS
732732      {
r17959r17960
767767      case 0x40:   //XPSTTS, piXel Processor STaTuS
768768      {
769769         /*
770         x--- ---- ---- ---- SBOUT
771         ---x xxxx ---- ---- SBCOUNT
772         ---- ---- ---x ---- OVERTIME (process overflow)
770            x--- ---- ---- ---- SBOUT
771            ---x xxxx ---- ---- SBCOUNT
772            ---- ---- ---x ---- OVERTIME (process overflow)
773773            ---- ---- ---- x--- XPBSY1 (second framebuffer busy flag)
774774            ---- ---- ---- -x-- XPBSY0 (first framebfuffer busy flag)
775775            ---- ---- ---- --x- XPEN (starts drawing at beginning of game frame)
r17959r17960
862862               logerror("Error writing DPSTTS\n");
863863               break;
864864/*
865      ---- -x-- ---- ---- LOCK (status column table address (CTA) lock)
866      ---- --x- ---- ---- SYNCE (status of sync signal enable)
867      ---- ---x ---- ---- RE (status of memory refresh cycle)
868      ---- ---- ---- --x- DISP
869      ---- ---- ---- ---x DPRST (Resets the VIP internal counter)
865        ---- -x-- ---- ---- LOCK (status column table address (CTA) lock)
866        ---- --x- ---- ---- SYNCE (status of sync signal enable)
867        ---- ---x ---- ---- RE (status of memory refresh cycle)
868        ---- ---- ---- --x- DISP
869        ---- ---- ---- ---x DPRST (Resets the VIP internal counter)
870870*/
871871      case 0x22:   //DPCTRL
872872               m_vip_regs.DPCTRL = data & 0x0702;
r17959r17960
10851085   AM_RANGE( 0x02000000, 0x0200002b ) AM_MIRROR(0x0ffff00) AM_READWRITE(io_r, io_w) // Hardware control registers mask 0xff
10861086   //AM_RANGE( 0x04000000, 0x04ffffff ) // Expansion area
10871087   AM_RANGE( 0x05000000, 0x0500ffff ) AM_MIRROR(0x0ff0000) AM_RAM AM_SHARE("wram")// Main RAM - 64K mask 0xffff
1088//   AM_RANGE( 0x06000000, 0x06003fff ) AM_RAM AM_SHARE("nvram") // Cart RAM - 8K NVRAM
1088//  AM_RANGE( 0x06000000, 0x06003fff ) AM_RAM AM_SHARE("nvram") // Cart RAM - 8K NVRAM
10891089   AM_RANGE( 0x07000000, 0x071fffff ) AM_MIRROR(0x0e00000) AM_ROM AM_REGION("cartridge", 0) /* ROM */
10901090ADDRESS_MAP_END
10911091
r17959r17960
11571157   /* add a hook for battery save */
11581158   machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(vboy_machine_stop),&machine()));
11591159
1160//   m_vboy_sram = auto_alloc_array(machine(), UINT32, 0x10000/4);
1160//  m_vboy_sram = auto_alloc_array(machine(), UINT32, 0x10000/4);
11611161}
11621162
11631163void vboy_state::machine_reset()
trunk/src/mess/drivers/ng_aes.c
r17959r17960
4444};
4545
4646// CD-ROM / DMA control registers
47struct neocd_ctrl_t
47struct neocd_ctrl_t
4848{
4949   UINT8 area_sel;
5050   UINT8 pcm_bank_sel;
r17959r17960
9191   DECLARE_MACHINE_START(neocd);
9292   DECLARE_MACHINE_START(neogeo);
9393   DECLARE_MACHINE_RESET(neogeo);
94   
94
9595};
9696
9797
trunk/src/mess/drivers/psx.c
r17959r17960
1919#include "machine/psxcd.h"
2020#include "machine/psxcard.h"
2121
22struct pad_t
22struct pad_t
2323{
2424   UINT8 n_shiftin;
2525   UINT8 n_shiftout;
trunk/src/mess/drivers/pockstat.c
r17959r17960
3636
3737#define MAX_PS_TIMERS   3
3838
39struct ps_ftlb_regs_t
39struct ps_ftlb_regs_t
4040{
4141   UINT32 control;
4242   UINT32 stat;
r17959r17960
4747   UINT32 serial;
4848};
4949
50struct ps_intc_regs_t
50struct ps_intc_regs_t
5151{
5252   UINT32 hold;
5353   UINT32 status;
r17959r17960
5555   UINT32 mask;
5656};
5757
58struct ps_timer_t
58struct ps_timer_t
5959{
6060   UINT32 period;
6161   UINT32 count;
r17959r17960
6363   emu_timer *timer;
6464};
6565
66struct ps_timer_regs_t
66struct ps_timer_regs_t
6767{
6868   ps_timer_t timer[MAX_PS_TIMERS];
6969};
7070
71struct ps_clock_regs_t
71struct ps_clock_regs_t
7272{
7373   UINT32 mode;
7474   UINT32 control;
r17959r17960
7676
7777#define PS_CLOCK_STEADY      0x10
7878
79struct ps_rtc_regs_t
79struct ps_rtc_regs_t
8080{
8181   UINT32 mode;
8282   UINT32 control;
trunk/src/mess/drivers/hp49gp.c
r17959r17960
2424   }
2525}
2626
27struct lcd_spi_t
27struct lcd_spi_t
2828{
2929   int l1;
3030   int data;
trunk/src/mess/drivers/pv1000.c
r17959r17960
1515public:
1616   pv1000_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
1717protected:
18   // device-level overrides   
18   // device-level overrides
1919   virtual void device_config_complete();
2020   virtual void device_start();
2121
trunk/src/mess/drivers/sitcom.c
r17959r17960
9191   output_set_digit_value(4 + digit, data);
9292}
9393
94const dl1416_interface sitcom_ds0_intf =
94const dl1416_interface sitcom_ds0_intf =
9595{
9696   sitcom_update_ds0
9797};
9898
99const dl1416_interface sitcom_ds1_intf =
99const dl1416_interface sitcom_ds1_intf =
100100{
101101   sitcom_update_ds1
102102};
trunk/src/mess/drivers/pcw16.c
r17959r17960
347347   { FUNC(pcw16_flash1_bank_handler3_w) }
348348};
349349
350enum PCW16_RAM_TYPE
350enum PCW16_RAM_TYPE
351351{
352352   /* rom which is really first block of flash0 */
353353   PCW16_MEM_ROM,
trunk/src/mess/drivers/ht68k.c
r17959r17960
4545   ,
4646      m_p_ram(*this, "p_ram"){ }
4747
48     
48
4949   static const floppy_format_type floppy_formats[];
50     
50
5151   required_device<cpu_device> m_maincpu;
5252   required_device<generic_terminal_device> m_terminal;
5353   required_device<device_t> m_duart;
r17959r17960
117117         if(con)
118118            floppy = con->get_device();
119119         break;
120      }     
120      }
121121   }
122122   if (floppy) floppy->ss_w(BIT(data,3) ? 0 : 1);
123   state->m_fdc->set_floppy(floppy);     
123   state->m_fdc->set_floppy(floppy);
124124}
125125
126126WRITE8_MEMBER( ht68k_state::kbd_put )
r17959r17960
162162   MCFG_FLOPPY_DRIVE_ADD("fd0", ht68k_floppies, "525dd", 0, ht68k_state::floppy_formats)
163163   MCFG_FLOPPY_DRIVE_ADD("fd1", ht68k_floppies, "525dd", 0, ht68k_state::floppy_formats)
164164   MCFG_FLOPPY_DRIVE_ADD("fd2", ht68k_floppies, "525dd", 0, ht68k_state::floppy_formats)
165   MCFG_FLOPPY_DRIVE_ADD("fd3", ht68k_floppies, "525dd", 0, ht68k_state::floppy_formats)   
165   MCFG_FLOPPY_DRIVE_ADD("fd3", ht68k_floppies, "525dd", 0, ht68k_state::floppy_formats)
166166MACHINE_CONFIG_END
167167
168168/* ROM definition */
trunk/src/mess/drivers/mz700.c
r17959r17960
321321 *  Sound interface
322322 *
323323 *************************************/
324 
325 
324
325
326326//-------------------------------------------------
327327//  sn76496_config psg_intf
328328//-------------------------------------------------
trunk/src/mess/drivers/apollo.c
r17959r17960
10201020         memcmp (db+0x22, "APOLLO", 6) == 0 &&
10211021         omti8621_get_sector(machine().device(APOLLO_WDC_TAG), sector1, db,   sizeof(db), 0) == sizeof(db))
10221022      {
1023//         MLOG2(("machine_reset_dn3500: node ID is %06X (from ROM)", node_id));
1023//          MLOG2(("machine_reset_dn3500: node ID is %06X (from ROM)", node_id));
10241024
10251025         // set node_id from UID of logical volume 1 of logical unit 0
10261026         node_id = (((db[0x49] << 8) | db[0x4a]) << 8) | db[0x4b];
10271027
1028//         MLOG2(("machine_reset_dn3500: node ID is %06X (from disk)", node_id));
1028//          MLOG2(("machine_reset_dn3500: node ID is %06X (from disk)", node_id));
10291029      }
10301030   }
10311031
trunk/src/mess/drivers/rvoice.c
r17959r17960
1818
1919/* Components */
2020
21struct hd63701y0_t
21struct hd63701y0_t
2222{
2323   UINT8 data[8];
2424   UINT8 P1DDR;
r17959r17960
5757   UINT8 P6CSR;
5858};
5959
60struct rvoicepc_t
60struct rvoicepc_t
6161{
6262   UINT8 data[8];
6363   UINT8 port1;
trunk/src/mess/drivers/cgenie.c
r17959r17960
626626//   GATL GAT Length
627627//   GATM GAT Mask
628628//   DDGA Disk Directory Granule Allocation
629struct PDRIVE
629struct PDRIVE
630630{
631631    UINT8 DDSL;      // Disk Directory Start Lump (lump number of GAT)
632632    UINT8 GATL;      // # of bytes used in the Granule Allocation Table sector
trunk/src/mess/drivers/geneve.c
r17959r17960
258258   WRITE_LINE_MEMBER( mapper_ready );
259259
260260   DECLARE_DRIVER_INIT(geneve);
261   virtual void machine_start();   
261   virtual void machine_start();
262262   virtual void machine_reset();
263   
263
264264   void   set_tms9901_INT2_from_v9938(v99x8_device &vdp, int state);
265265
266266   line_state   m_inta;
trunk/src/mess/drivers/pc8801.c
r17959r17960
271271#define UPD1990A_TAG   "upd1990a"
272272#define I8251_TAG      "i8251"
273273
274struct crtc_t
274struct crtc_t
275275{
276276   UINT8 cmd,param_count,cursor_on,status,irq_mask;
277277   UINT8 param[8][5];
278278   UINT8 inverse;
279279};
280280
281struct mouse_t
281struct mouse_t
282282{
283283   UINT8 phase;
284284   UINT8 x,y;
r17959r17960
450450public:
451451   DECLARE_MACHINE_RESET(pc8801_clock_speed);
452452   DECLARE_MACHINE_RESET(pc8801_dic);
453   DECLARE_MACHINE_RESET(pc8801_cdrom);   
453   DECLARE_MACHINE_RESET(pc8801_cdrom);
454454};
455455
456456
trunk/src/mess/drivers/apricot.c
r17959r17960
319319
320320
321321/***************************************************************************
322    SOUND INTERFACE
322    SOUND INTERFACE
323323 **************************************************************************/
324 
325 
324
325
326326//-------------------------------------------------
327327//  sn76496_config psg_intf
328328//-------------------------------------------------
trunk/src/mess/drivers/bebox.c
r17959r17960
149149   SLOT_INTERFACE("cirrus", CIRRUS)
150150SLOT_INTERFACE_END
151151
152static const ide_config ide_intf =
152static const ide_config ide_intf =
153153{
154   bebox_ide_interrupt,
155   NULL,
154   bebox_ide_interrupt,
155   NULL,
156156   0
157157};
158158
trunk/src/mess/drivers/vk100.c
r17959r17960
576576 * write command -> 0x05 (normal, normal, /RTS is 1, normal, normal, recieve ON, /DTR is 0, transmit off)
577577 * read SYSTAT B (and xor with 0xe), expect d7 to be SET or jump to error
578578 * after this it does something and waits for an rxrdy interrupt
579
579
580580 shows the results of:
581581 * ACTS (/CTS)  ?      ?      ?      ?      ?      ?      ?
582582 * d7           d6     d5     d4     d3     d2     d1     d0
trunk/src/mess/drivers/pv2000.c
r17959r17960
351351 *  Sound interface
352352 *
353353 *************************************/
354 
355 
354
355
356356//-------------------------------------------------
357357//  sn76496_config psg_intf
358358//-------------------------------------------------
trunk/src/mess/drivers/pcfx.c
r17959r17960
7979
8080static ADDRESS_MAP_START( pcfx_mem, AS_PROGRAM, 32, pcfx_state )
8181   AM_RANGE( 0x00000000, 0x001FFFFF ) AM_RAM   /* RAM */
82//   AM_RANGE( 0x80000000, 0x807FFFFF ) AM_READWRITE8(extio_r,extio_w,0xffffffff)   /* EXTIO */
82//  AM_RANGE( 0x80000000, 0x807FFFFF ) AM_READWRITE8(extio_r,extio_w,0xffffffff)    /* EXTIO */
8383   AM_RANGE( 0xE0000000, 0xE7FFFFFF ) AM_NOP   /* BackUp RAM */
8484   AM_RANGE( 0xE8000000, 0xE9FFFFFF ) AM_NOP   /* Extended BackUp RAM */
8585   AM_RANGE( 0xF8000000, 0xF8000007 ) AM_NOP   /* PIO */
r17959r17960
9595   {
9696      // status
9797      /*
98      ---- x---
99      ---- ---x incoming data state (0=available)
100      */
98        ---- x---
99        ---- ---x incoming data state (0=available)
100        */
101101      res = m_pad.status[port_type];
102102      //printf("STATUS %d\n",port_type);
103103   }
r17959r17960
126126   state->m_pad.status[param] |= 8;
127127   state->m_pad.ctrl[param] &= ~1; // ack TX line
128128   // TODO: pad IRQ
129//   state->set_irq_line(11, 1);
129//  state->set_irq_line(11, 1);
130130}
131131
132132WRITE16_MEMBER( pcfx_state::pad_w )
r17959r17960
137137   {
138138      // control
139139      /*
140      ---- -x-- receiver enable
141      ---- --x- enable multi-tap
142      ---- ---x enable send (0->1 transition)
143      */
140        ---- -x-- receiver enable
141        ---- --x- enable multi-tap
142        ---- ---x enable send (0->1 transition)
143        */
144144      if(data & 1 && (!(m_pad.ctrl[port_type] & 1)))
145145      {
146146         machine().scheduler().timer_set(attotime::from_msec(1), FUNC(pad_func), port_type); // TODO: time
r17959r17960
168168   AM_RANGE( 0x00000C80, 0x00000C83 ) AM_NOP
169169   AM_RANGE( 0x00000E00, 0x00000EFF ) AM_READWRITE16( irq_read, irq_write, 0xffff )   /* Interrupt controller */
170170   AM_RANGE( 0x00000F00, 0x00000FFF ) AM_NOP
171//   AM_RANGE( 0x00600000, 0x006FFFFF ) AM_READ(scsi_ctrl_r)
171//  AM_RANGE( 0x00600000, 0x006FFFFF ) AM_READ(scsi_ctrl_r)
172172   AM_RANGE( 0x00780000, 0x007FFFFF ) AM_ROM AM_REGION("scsi_rom", 0 )
173173   AM_RANGE( 0x80500000, 0x805000FF ) AM_NOP   /* HuC6273 */
174174ADDRESS_MAP_END
r17959r17960
176176
177177static INPUT_PORTS_START( pcfx )
178178   /*
179   xxxx ---- ---- ---- ID (0xf = 6 button pad, 0xe = tap, 0xd = ?)
180   */
179    xxxx ---- ---- ---- ID (0xf = 6 button pad, 0xe = tap, 0xd = ?)
180    */
181181   PORT_START("P1")
182182   PORT_BIT( 0xf0000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ID
183183   PORT_DIPNAME( 0x01000000, 0x01000000, "1" )
trunk/src/mess/drivers/juicebox.c
r17959r17960
3131   }
3232}
3333
34struct smc_t
34struct smc_t
3535{
3636   int add_latch;
3737   int cmd_latch;
trunk/src/mess/drivers/cybiko.c
r17959r17960
342342   MCFG_RAM_EXTRA_OPTIONS("1M")
343343MACHINE_CONFIG_END
344344
345const sst39vfx_config cybyko_sst39vfx_intf =
345const sst39vfx_config cybyko_sst39vfx_intf =
346346{
347347   16, ENDIANNESS_BIG
348348};
trunk/src/mess/drivers/c64.c
r17959r17960
22
33    TODO:
44
5   - floating bus writes to peripheral registers in m6502.c
6   - sort out kernals between PAL/NTSC
5    - floating bus writes to peripheral registers in m6502.c
6    - sort out kernals between PAL/NTSC
77    - tsuit215 test failures
88        - IRQ (WRONG $DC0D)
99        - NMI (WRONG $DD0D)
r17959r17960
428428READ8_MEMBER( c64_state::sid_potx_r )
429429{
430430   UINT8 cia1_pa = mos6526_pa_r(m_cia1, 0);
431   
431
432432   int sela = BIT(cia1_pa, 6);
433433   int selb = BIT(cia1_pa, 7);
434434
r17959r17960
443443READ8_MEMBER( c64_state::sid_poty_r )
444444{
445445   UINT8 cia1_pa = mos6526_pa_r(m_cia1, 0);
446   
446
447447   int sela = BIT(cia1_pa, 6);
448448   int selb = BIT(cia1_pa, 7);
449449
r17959r17960
646646        P0      1
647647        P1      1
648648        P2      1
649        P3     
649        P3
650650        P4      CASS SENS
651        P5     
651        P5     
652652
653653    */
654654
r17959r17960
710710        P0      1
711711        P1      1
712712        P2      1
713        P3     
714        P4     
715        P5     
713        P3
714        P4
715        P5
716716
717717    */
718718
r17959r17960
764764        P0      1
765765        P1      1
766766        P2      1
767        P3     
768        P4     
769        P5     
767        P3
768        P4
769        P5
770770
771771    */
772772
r17959r17960
14891489//**************************************************************************
14901490
14911491//    YEAR  NAME    PARENT  COMPAT  MACHINE     INPUT   INIT                        COMPANY                        FULLNAME                                     FLAGS
1492COMP( 1982,   c64n,   0,     0,      ntsc,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64 (NTSC)",                  GAME_SUPPORTS_SAVE )
1493COMP( 1982,   c64j,   c64n,   0,      ntsc,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64 (Japan)",                  GAME_SUPPORTS_SAVE )
1494COMP( 1982,   c64p,   c64n,   0,      pal,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64 (PAL)",                  GAME_SUPPORTS_SAVE )
1495COMP( 1982,   c64sw,   c64n,   0,      pal,      c64sw,    driver_device,      0,      "Commodore Business Machines", "Commodore 64 / VIC-64S (Sweden/Finland)",   GAME_SUPPORTS_SAVE )
1496COMP( 1983, pet64,   c64n,   0,     pet64,     c64,    driver_device,       0,     "Commodore Business Machines", "PET 64 / CBM 4064 (NTSC)",               GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS )
1497COMP( 1983, edu64,  c64n,   0,     pet64,     c64,    driver_device,       0,     "Commodore Business Machines", "Educator 64 (NTSC)",                  GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS )
1498COMP( 1984, sx64n,   c64n,   0,      ntsc_sx,   c64,    driver_device,      0,      "Commodore Business Machines", "SX-64 / Executive 64 (NTSC)",            GAME_SUPPORTS_SAVE )
1499COMP( 1984, sx64p,   c64n,   0,      pal_sx,      c64,    driver_device,      0,      "Commodore Business Machines", "SX-64 / Executive 64 (PAL)",            GAME_SUPPORTS_SAVE )
1500COMP( 1984, vip64,   c64n,   0,      pal_sx,      c64sw,    driver_device,      0,      "Commodore Business Machines", "VIP-64 (Sweden/Finland)",               GAME_SUPPORTS_SAVE )
1501COMP( 1984, dx64,   c64n,   0,      ntsc_dx,   c64,    driver_device,      0,      "Commodore Business Machines", "DX-64 (NTSC)",                        GAME_SUPPORTS_SAVE )
1492COMP( 1982,   c64n,   0,     0,      ntsc,      c64,   driver_device,      0,      "Commodore Business Machines", "Commodore 64 (NTSC)",                  GAME_SUPPORTS_SAVE )
1493COMP( 1982,   c64j,   c64n,   0,      ntsc,      c64,   driver_device,      0,      "Commodore Business Machines", "Commodore 64 (Japan)",                  GAME_SUPPORTS_SAVE )
1494COMP( 1982,   c64p,   c64n,   0,      pal,      c64,   driver_device,      0,      "Commodore Business Machines", "Commodore 64 (PAL)",                  GAME_SUPPORTS_SAVE )
1495COMP( 1982,   c64sw,   c64n,   0,      pal,      c64sw,   driver_device,      0,      "Commodore Business Machines", "Commodore 64 / VIC-64S (Sweden/Finland)",   GAME_SUPPORTS_SAVE )
1496COMP( 1983, pet64,   c64n,   0,     pet64,     c64,   driver_device,      0,     "Commodore Business Machines", "PET 64 / CBM 4064 (NTSC)",               GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS )
1497COMP( 1983, edu64,  c64n,   0,     pet64,     c64,   driver_device,      0,     "Commodore Business Machines", "Educator 64 (NTSC)",                  GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS )
1498COMP( 1984, sx64n,   c64n,   0,      ntsc_sx,   c64,   driver_device,      0,      "Commodore Business Machines", "SX-64 / Executive 64 (NTSC)",            GAME_SUPPORTS_SAVE )
1499COMP( 1984, sx64p,   c64n,   0,      pal_sx,      c64,   driver_device,      0,      "Commodore Business Machines", "SX-64 / Executive 64 (PAL)",            GAME_SUPPORTS_SAVE )
1500COMP( 1984, vip64,   c64n,   0,      pal_sx,      c64sw,   driver_device,      0,      "Commodore Business Machines", "VIP-64 (Sweden/Finland)",               GAME_SUPPORTS_SAVE )
1501COMP( 1984, dx64,   c64n,   0,      ntsc_dx,   c64,   driver_device,      0,      "Commodore Business Machines", "DX-64 (NTSC)",                        GAME_SUPPORTS_SAVE )
15021502//COMP(1983, clipper,  c64,  0, c64pal,  clipper, XXX_CLASS, c64pal,  "PDC", "Clipper", GAME_NOT_WORKING) // C64 in a briefcase with 3" floppy, electroluminescent flat screen, thermal printer
15031503//COMP(1983, tesa6240, c64,  0, c64pal,  c64, XXX_CLASS,     c64pal,  "Tesa", "6240", GAME_NOT_WORKING) // modified SX64 with label printer
1504COMP( 1986, c64cn,   c64n,   0,     ntsc_c,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64C (NTSC)",                  GAME_SUPPORTS_SAVE )
1505COMP( 1986, c64cp,   c64n,   0,     pal_c,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64C (PAL)",                  GAME_SUPPORTS_SAVE )
1506COMP( 1986, c64csw,   c64n,   0,     pal_c,      c64sw,    driver_device,      0,      "Commodore Business Machines", "Commodore 64C (Sweden/Finland)",         GAME_SUPPORTS_SAVE )
1507COMP( 1986, c64g,   c64n,   0,      pal_c,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64G (PAL)",                  GAME_SUPPORTS_SAVE )
1508CONS( 1990, c64gs,   c64n,   0,      pal_gs,      c64gs,    driver_device,      0,      "Commodore Business Machines", "Commodore 64 Games System (PAL)",         GAME_SUPPORTS_SAVE )
1504COMP( 1986, c64cn,   c64n,   0,     ntsc_c,      c64,   driver_device,      0,      "Commodore Business Machines", "Commodore 64C (NTSC)",                  GAME_SUPPORTS_SAVE )
1505COMP( 1986, c64cp,   c64n,   0,     pal_c,      c64,   driver_device,      0,      "Commodore Business Machines", "Commodore 64C (PAL)",                  GAME_SUPPORTS_SAVE )
1506COMP( 1986, c64csw,   c64n,   0,     pal_c,      c64sw,   driver_device,      0,      "Commodore Business Machines", "Commodore 64C (Sweden/Finland)",         GAME_SUPPORTS_SAVE )
1507COMP( 1986, c64g,   c64n,   0,      pal_c,      c64,   driver_device,      0,      "Commodore Business Machines", "Commodore 64G (PAL)",                  GAME_SUPPORTS_SAVE )
1508CONS( 1990, c64gs,   c64n,   0,      pal_gs,      c64gs,   driver_device,      0,      "Commodore Business Machines", "Commodore 64 Games System (PAL)",         GAME_SUPPORTS_SAVE )
trunk/src/mess/drivers/pc.c
r17959r17960
933933 *  Sound interface
934934 *
935935 *************************************/
936 
937 
936
937
938938//-------------------------------------------------
939939//  sn76496_config psg_intf
940940//-------------------------------------------------
trunk/src/mess/drivers/ti99_4x.c
r17959r17960
967967
968968   m_cpu = static_cast<tms9900_device*>(machine().device("maincpu"));
969969   m_tms9901 = static_cast<tms9901_device*>(machine().device(TMS9901_TAG));
970   
970
971971   m_gromport = static_cast<gromport_device*>(machine().device(GROMPORT_TAG));
972972   m_peribox = static_cast<peribox_device*>(machine().device(PERIBOX_TAG));
973   
973
974974   m_datamux = static_cast<ti99_datamux_device*>(machine().device(DATAMUX_TAG));
975975   m_joyport = static_cast<joyport_device*>(machine().device(JOYPORT_TAG));
976976   m_video = static_cast<ti_video_device*>(machine().device(VIDEO_SYSTEM_TAG));
977977   m_firstjoy = 6;
978   
978
979979   m_peribox->senila(CLEAR_LINE);
980980   m_peribox->senilb(CLEAR_LINE);
981981   m_ready_line = m_ready_line_dmux = ASSERT_LINE;
trunk/src/mess/drivers/ip20.c
r17959r17960
2626#include "machine/scsicd.h"
2727#include "machine/wd33c93.h"
2828
29struct HPC_t
29struct HPC_t
3030{
3131   UINT8 nMiscStatus;
3232   UINT32 nParBufPtr;
r17959r17960
3838   UINT32 nSCSI0DMACtrl;
3939};
4040
41struct RTC_t
41struct RTC_t
4242{
4343   UINT8 nRAM[32];
4444   UINT8 nTemp;
trunk/src/mess/drivers/vic10.c
r17959r17960
480480        bit     description
481481
482482        P0      EXPANSION PORT
483        P1     
484        P2     
483        P1
484        P2
485485        P3
486486        P4      CASS SENS
487        P5     
487        P5     
488488
489489    */
490490
trunk/src/mess/drivers/gba.c
r17959r17960
24742474   return str.trimspace();
24752475}
24762476
2477struct gba_chip_fix_conflict_item
2477struct gba_chip_fix_conflict_item
24782478{
24792479   char game_code[5];
24802480   UINT32 chip;
r17959r17960
25182518   { "BYUJ", GBA_CHIP_EEPROM_64K }, // 2322 - Yggdra Union (JPN)
25192519};
25202520
2521struct gba_chip_fix_eeprom_item
2521struct gba_chip_fix_eeprom_item
25222522{
25232523   char game_code[5];
25242524};

Previous 199869 Revisions Next


© 1997-2024 The MAME Team