From 76ac08a0b805820f12be6dac3daee17f8eb26953 Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Thu, 7 Mar 2013 15:28:25 +0000 Subject: [PATCH] Moved some files to where they belong. (nw) --- .gitattributes | 90 +- src/emu/emu.mak | 40 +- src/{mess => emu}/machine/74145.c | 0 src/{mess => emu}/machine/74145.h | 0 src/{mess => emu}/machine/at29040a.c | 0 src/{mess => emu}/machine/at29040a.h | 0 src/{mess => emu}/machine/at45dbxx.c | 0 src/{mess => emu}/machine/at45dbxx.h | 0 src/{mess => emu}/machine/ay31015.c | 0 src/{mess => emu}/machine/ay31015.h | 0 src/{mess => emu}/machine/er59256.c | 0 src/{mess => emu}/machine/er59256.h | 0 src/{mess => emu}/machine/mc68328.c | 0 src/{mess => emu}/machine/mc68328.h | 0 src/{mess => emu}/machine/mc6843.c | 0 src/{mess => emu}/machine/mc6843.h | 0 src/{mess => emu}/machine/mc6846.c | 0 src/{mess => emu}/machine/mc6846.h | 0 src/{mess => emu}/machine/mc6854.c | 0 src/{mess => emu}/machine/mc6854.h | 0 src/{mess => emu}/machine/mm58274c.c | 0 src/{mess => emu}/machine/mm58274c.h | 0 src/{mess => emu}/machine/mos6530.c | 0 src/{mess => emu}/machine/mos6530.h | 0 src/{mess => emu}/machine/pcf8593.c | 0 src/{mess => emu}/machine/pcf8593.h | 0 src/{mess => emu}/machine/upd7002.c | 0 src/{mess => emu}/machine/upd7002.h | 0 src/{mess => emu}/machine/wd11c00_17.c | 0 src/{mess => emu}/machine/wd11c00_17.h | 0 src/{mess => emu}/machine/wd2010.c | 0 src/{mess => emu}/machine/wd2010.h | 0 src/{mess => emu}/video/dl1416.c | 0 src/{mess => emu}/video/dl1416.h | 0 src/{mess => emu}/video/hd44352.c | 0 src/{mess => emu}/video/hd44352.h | 0 src/{mess => emu}/video/hd44780.c | 0 src/{mess => emu}/video/hd44780.h | 0 src/{mess => emu}/video/hd66421.c | 0 src/{mess => emu}/video/hd66421.h | 0 src/{mess => emu}/video/mc6847.c | 0 src/{mess => emu}/video/mc6847.h | 0 src/{mess => emu}/video/tms3556.c | 0 src/{mess => emu}/video/tms3556.h | 0 src/{mess => emu}/video/upd7220.c | 0 src/{mess => emu}/video/upd7220.h | 0 src/mess/drivers/c65.c | 117 ++- src/mess/includes/c64_legacy.h | 105 --- src/mess/includes/c65.h | 81 +- src/mess/machine/c64_legacy.c | 1195 ------------------------ src/mess/machine/c65.c | 3 - src/mess/mess.mak | 236 +++-- 52 files changed, 370 insertions(+), 1497 deletions(-) rename src/{mess => emu}/machine/74145.c (100%) rename src/{mess => emu}/machine/74145.h (100%) rename src/{mess => emu}/machine/at29040a.c (100%) rename src/{mess => emu}/machine/at29040a.h (100%) rename src/{mess => emu}/machine/at45dbxx.c (100%) rename src/{mess => emu}/machine/at45dbxx.h (100%) rename src/{mess => emu}/machine/ay31015.c (100%) rename src/{mess => emu}/machine/ay31015.h (100%) rename src/{mess => emu}/machine/er59256.c (100%) rename src/{mess => emu}/machine/er59256.h (100%) rename src/{mess => emu}/machine/mc68328.c (100%) rename src/{mess => emu}/machine/mc68328.h (100%) rename src/{mess => emu}/machine/mc6843.c (100%) rename src/{mess => emu}/machine/mc6843.h (100%) rename src/{mess => emu}/machine/mc6846.c (100%) rename src/{mess => emu}/machine/mc6846.h (100%) rename src/{mess => emu}/machine/mc6854.c (100%) rename src/{mess => emu}/machine/mc6854.h (100%) rename src/{mess => emu}/machine/mm58274c.c (100%) rename src/{mess => emu}/machine/mm58274c.h (100%) rename src/{mess => emu}/machine/mos6530.c (100%) rename src/{mess => emu}/machine/mos6530.h (100%) rename src/{mess => emu}/machine/pcf8593.c (100%) rename src/{mess => emu}/machine/pcf8593.h (100%) rename src/{mess => emu}/machine/upd7002.c (100%) rename src/{mess => emu}/machine/upd7002.h (100%) rename src/{mess => emu}/machine/wd11c00_17.c (100%) rename src/{mess => emu}/machine/wd11c00_17.h (100%) rename src/{mess => emu}/machine/wd2010.c (100%) rename src/{mess => emu}/machine/wd2010.h (100%) rename src/{mess => emu}/video/dl1416.c (100%) rename src/{mess => emu}/video/dl1416.h (100%) rename src/{mess => emu}/video/hd44352.c (100%) rename src/{mess => emu}/video/hd44352.h (100%) rename src/{mess => emu}/video/hd44780.c (100%) rename src/{mess => emu}/video/hd44780.h (100%) rename src/{mess => emu}/video/hd66421.c (100%) rename src/{mess => emu}/video/hd66421.h (100%) rename src/{mess => emu}/video/mc6847.c (100%) rename src/{mess => emu}/video/mc6847.h (100%) rename src/{mess => emu}/video/tms3556.c (100%) rename src/{mess => emu}/video/tms3556.h (100%) rename src/{mess => emu}/video/upd7220.c (100%) rename src/{mess => emu}/video/upd7220.h (100%) delete mode 100644 src/mess/includes/c64_legacy.h delete mode 100644 src/mess/machine/c64_legacy.c diff --git a/.gitattributes b/.gitattributes index 7f23477cbb8..84d5d9fa788 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1130,6 +1130,8 @@ src/emu/machine/68681.c svneol=native#text/plain src/emu/machine/68681.h svneol=native#text/plain src/emu/machine/74123.c svneol=native#text/plain src/emu/machine/74123.h svneol=native#text/plain +src/emu/machine/74145.c svneol=native#text/plain +src/emu/machine/74145.h svneol=native#text/plain src/emu/machine/74148.c svneol=native#text/plain src/emu/machine/74148.h svneol=native#text/plain src/emu/machine/74153.c svneol=native#text/plain @@ -1162,6 +1164,12 @@ src/emu/machine/amigafdc.c svneol=native#text/plain src/emu/machine/amigafdc.h svneol=native#text/plain src/emu/machine/at28c16.c svneol=native#text/plain src/emu/machine/at28c16.h svneol=native#text/plain +src/emu/machine/at29040a.c svneol=native#text/plain +src/emu/machine/at29040a.h svneol=native#text/plain +src/emu/machine/at45dbxx.c svneol=native#text/plain +src/emu/machine/at45dbxx.h svneol=native#text/plain +src/emu/machine/ay31015.c svneol=native#text/plain +src/emu/machine/ay31015.h svneol=native#text/plain src/emu/machine/cdp1852.c svneol=native#text/plain src/emu/machine/cdp1852.h svneol=native#text/plain src/emu/machine/cdp1871.c svneol=native#text/plain @@ -1189,6 +1197,8 @@ src/emu/machine/eeprom.c svneol=native#text/plain src/emu/machine/eeprom.h svneol=native#text/plain src/emu/machine/er2055.c svneol=native#text/plain src/emu/machine/er2055.h svneol=native#text/plain +src/emu/machine/er59256.c svneol=native#text/plain +src/emu/machine/er59256.h svneol=native#text/plain src/emu/machine/f3853.c svneol=native#text/plain src/emu/machine/f3853.h svneol=native#text/plain src/emu/machine/fdc_pll.c svneol=native#text/plain @@ -1261,20 +1271,32 @@ src/emu/machine/mc146818.c svneol=native#text/plain src/emu/machine/mc146818.h svneol=native#text/plain src/emu/machine/mc2661.c svneol=native#text/plain src/emu/machine/mc2661.h svneol=native#text/plain +src/emu/machine/mc68328.c svneol=native#text/plain +src/emu/machine/mc68328.h svneol=native#text/plain +src/emu/machine/mc6843.c svneol=native#text/plain +src/emu/machine/mc6843.h svneol=native#text/plain +src/emu/machine/mc6846.c svneol=native#text/plain +src/emu/machine/mc6846.h svneol=native#text/plain src/emu/machine/mc6852.c svneol=native#text/plain src/emu/machine/mc6852.h svneol=native#text/plain +src/emu/machine/mc6854.c svneol=native#text/plain +src/emu/machine/mc6854.h svneol=native#text/plain src/emu/machine/mc68901.c svneol=native#text/plain src/emu/machine/mc68901.h svneol=native#text/plain src/emu/machine/mccs1850.c svneol=native#text/plain src/emu/machine/mccs1850.h svneol=native#text/plain src/emu/machine/microtch.c svneol=native#text/plain src/emu/machine/microtch.h svneol=native#text/plain +src/emu/machine/mm58274c.c svneol=native#text/plain +src/emu/machine/mm58274c.h svneol=native#text/plain src/emu/machine/mm74c922.c svneol=native#text/plain src/emu/machine/mm74c922.h svneol=native#text/plain src/emu/machine/mos6526.c svneol=native#text/plain src/emu/machine/mos6526.h svneol=native#text/plain src/emu/machine/mos6529.c svneol=native#text/plain src/emu/machine/mos6529.h svneol=native#text/plain +src/emu/machine/mos6530.c svneol=native#text/plain +src/emu/machine/mos6530.h svneol=native#text/plain src/emu/machine/mos6551.c svneol=native#text/plain src/emu/machine/mos6551.h svneol=native#text/plain src/emu/machine/msm5832.c svneol=native#text/plain @@ -1303,6 +1325,8 @@ src/emu/machine/nvram.c svneol=native#text/plain src/emu/machine/nvram.h svneol=native#text/plain src/emu/machine/pc16552d.c svneol=native#text/plain src/emu/machine/pc16552d.h svneol=native#text/plain +src/emu/machine/pcf8593.c svneol=native#text/plain +src/emu/machine/pcf8593.h svneol=native#text/plain src/emu/machine/pci.c svneol=native#text/plain src/emu/machine/pci.h svneol=native#text/plain src/emu/machine/pckeybrd.h svneol=native#text/plain @@ -1381,14 +1405,20 @@ src/emu/machine/upd1990a.c svneol=native#text/plain src/emu/machine/upd1990a.h svneol=native#text/plain src/emu/machine/upd4701.c svneol=native#text/plain src/emu/machine/upd4701.h svneol=native#text/plain +src/emu/machine/upd7002.c svneol=native#text/plain +src/emu/machine/upd7002.h svneol=native#text/plain src/emu/machine/upd7201.c svneol=native#text/plain src/emu/machine/upd7201.h svneol=native#text/plain src/emu/machine/upd765.c svneol=native#text/plain src/emu/machine/upd765.h svneol=native#text/plain src/emu/machine/v3021.c svneol=native#text/plain src/emu/machine/v3021.h svneol=native#text/plain +src/emu/machine/wd11c00_17.c svneol=native#text/plain +src/emu/machine/wd11c00_17.h svneol=native#text/plain src/emu/machine/wd17xx.c svneol=native#text/plain src/emu/machine/wd17xx.h svneol=native#text/plain +src/emu/machine/wd2010.c svneol=native#text/plain +src/emu/machine/wd2010.h svneol=native#text/plain src/emu/machine/wd33c93.c svneol=native#text/plain src/emu/machine/wd33c93.h svneol=native#text/plain src/emu/machine/wd_fdc.c svneol=native#text/plain @@ -1746,6 +1776,8 @@ src/emu/video/crt9021.c svneol=native#text/plain src/emu/video/crt9021.h svneol=native#text/plain src/emu/video/crt9212.c svneol=native#text/plain src/emu/video/crt9212.h svneol=native#text/plain +src/emu/video/dl1416.c svneol=native#text/plain +src/emu/video/dl1416.h svneol=native#text/plain src/emu/video/dm9368.c svneol=native#text/plain src/emu/video/dm9368.h svneol=native#text/plain src/emu/video/ef9340_1.c svneol=native#text/plain @@ -1757,10 +1789,16 @@ src/emu/video/h63484.c svneol=native#text/plain src/emu/video/h63484.h svneol=native#text/plain src/emu/video/hd44102.c svneol=native#text/plain src/emu/video/hd44102.h svneol=native#text/plain +src/emu/video/hd44352.c svneol=native#text/plain +src/emu/video/hd44352.h svneol=native#text/plain +src/emu/video/hd44780.c svneol=native#text/plain +src/emu/video/hd44780.h svneol=native#text/plain src/emu/video/hd61830.c svneol=native#text/plain src/emu/video/hd61830.h svneol=native#text/plain src/emu/video/hd63484.c svneol=native#text/plain src/emu/video/hd63484.h svneol=native#text/plain +src/emu/video/hd66421.c svneol=native#text/plain +src/emu/video/hd66421.h svneol=native#text/plain src/emu/video/huc6202.c svneol=native#text/plain src/emu/video/huc6202.h svneol=native#text/plain src/emu/video/huc6260.c svneol=native#text/plain @@ -1785,6 +1823,8 @@ src/emu/video/mb90082.c svneol=native#text/plain src/emu/video/mb90082.h svneol=native#text/plain src/emu/video/mc6845.c svneol=native#text/plain src/emu/video/mc6845.h svneol=native#text/plain +src/emu/video/mc6847.c svneol=native#text/plain +src/emu/video/mc6847.h svneol=native#text/plain src/emu/video/msm6255.c svneol=native#text/plain src/emu/video/msm6255.h svneol=native#text/plain src/emu/video/pc_cga.c svneol=native#text/plain @@ -1817,12 +1857,16 @@ src/emu/video/tlc34076.c svneol=native#text/plain src/emu/video/tlc34076.h svneol=native#text/plain src/emu/video/tms34061.c svneol=native#text/plain src/emu/video/tms34061.h svneol=native#text/plain +src/emu/video/tms3556.c svneol=native#text/plain +src/emu/video/tms3556.h svneol=native#text/plain src/emu/video/tms9927.c svneol=native#text/plain src/emu/video/tms9927.h svneol=native#text/plain src/emu/video/tms9928a.c svneol=native#text/plain src/emu/video/tms9928a.h svneol=native#text/plain src/emu/video/upd3301.c svneol=native#text/plain src/emu/video/upd3301.h svneol=native#text/plain +src/emu/video/upd7220.c svneol=native#text/plain +src/emu/video/upd7220.h svneol=native#text/plain src/emu/video/v9938.c svneol=native#text/plain src/emu/video/v9938.h svneol=native#text/plain src/emu/video/vector.c svneol=native#text/plain @@ -6364,7 +6408,6 @@ src/mess/includes/bw2.h svneol=native#text/plain src/mess/includes/c128.h svneol=native#text/plain src/mess/includes/c16.h svneol=native#text/plain src/mess/includes/c64.h svneol=native#text/plain -src/mess/includes/c64_legacy.h svneol=native#text/plain src/mess/includes/c65.h svneol=native#text/plain src/mess/includes/c80.h svneol=native#text/plain src/mess/includes/cbm.h svneol=native#text/plain @@ -6668,8 +6711,6 @@ src/mess/machine/68561mpcc.c svneol=native#text/plain src/mess/machine/68561mpcc.h svneol=native#text/plain src/mess/machine/6883sam.c svneol=native#text/plain src/mess/machine/6883sam.h svneol=native#text/plain -src/mess/machine/74145.c svneol=native#text/plain -src/mess/machine/74145.h svneol=native#text/plain src/mess/machine/8530scc.c svneol=native#text/plain src/mess/machine/8530scc.h svneol=native#text/plain src/mess/machine/990_dk.c svneol=native#text/plain @@ -6809,17 +6850,11 @@ src/mess/machine/applefdc.h svneol=native#text/plain src/mess/machine/apricotkb.c svneol=native#text/plain src/mess/machine/apricotkb.h svneol=native#text/plain src/mess/machine/at.c svneol=native#text/plain -src/mess/machine/at29040a.c svneol=native#text/plain -src/mess/machine/at29040a.h svneol=native#text/plain -src/mess/machine/at45dbxx.c svneol=native#text/plain -src/mess/machine/at45dbxx.h svneol=native#text/plain src/mess/machine/at_keybc.c svneol=native#text/plain src/mess/machine/at_keybc.h svneol=native#text/plain src/mess/machine/ataricrt.c svneol=native#text/plain src/mess/machine/ataridev.h svneol=native#text/plain src/mess/machine/atarifdc.c svneol=native#text/plain -src/mess/machine/ay31015.c svneol=native#text/plain -src/mess/machine/ay31015.h svneol=native#text/plain src/mess/machine/ay3600.c svneol=native#text/plain src/mess/machine/ay3600.h svneol=native#text/plain src/mess/machine/b2m.c svneol=native#text/plain @@ -6902,7 +6937,6 @@ src/mess/machine/c64_ieee488.c svneol=native#text/plain src/mess/machine/c64_ieee488.h svneol=native#text/plain src/mess/machine/c64_kingsoft.c svneol=native#text/plain src/mess/machine/c64_kingsoft.h svneol=native#text/plain -src/mess/machine/c64_legacy.c svneol=native#text/plain src/mess/machine/c64_mach5.c svneol=native#text/plain src/mess/machine/c64_mach5.h svneol=native#text/plain src/mess/machine/c64_magic_desk.c svneol=native#text/plain @@ -7116,8 +7150,6 @@ src/mess/machine/einstein.c svneol=native#text/plain src/mess/machine/electron.c svneol=native#text/plain src/mess/machine/epson_sio.c svneol=native#text/plain src/mess/machine/epson_sio.h svneol=native#text/plain -src/mess/machine/er59256.c svneol=native#text/plain -src/mess/machine/er59256.h svneol=native#text/plain src/mess/machine/esqpanel.c svneol=native#text/plain src/mess/machine/esqpanel.h svneol=native#text/plain src/mess/machine/esqvfd.c svneol=native#text/plain @@ -7262,14 +7294,6 @@ src/mess/machine/mb89352.h svneol=native#text/plain src/mess/machine/mbc55x.c svneol=native#text/plain src/mess/machine/mbee.c svneol=native#text/plain src/mess/machine/mboard.c svneol=native#text/plain -src/mess/machine/mc68328.c svneol=native#text/plain -src/mess/machine/mc68328.h svneol=native#text/plain -src/mess/machine/mc6843.c svneol=native#text/plain -src/mess/machine/mc6843.h svneol=native#text/plain -src/mess/machine/mc6846.c svneol=native#text/plain -src/mess/machine/mc6846.h svneol=native#text/plain -src/mess/machine/mc6854.c svneol=native#text/plain -src/mess/machine/mc6854.h svneol=native#text/plain src/mess/machine/mc80.c svneol=native#text/plain src/mess/machine/md_eeprom.c svneol=native#text/plain src/mess/machine/md_eeprom.h svneol=native#text/plain @@ -7296,10 +7320,6 @@ src/mess/machine/midiinport.h svneol=native#text/plain src/mess/machine/midioutport.c svneol=native#text/plain src/mess/machine/midioutport.h svneol=native#text/plain src/mess/machine/mikro80.c svneol=native#text/plain -src/mess/machine/mm58274c.c svneol=native#text/plain -src/mess/machine/mm58274c.h svneol=native#text/plain -src/mess/machine/mos6530.c svneol=native#text/plain -src/mess/machine/mos6530.h svneol=native#text/plain src/mess/machine/mos6702.c svneol=native#text/plain src/mess/machine/mos6702.h svneol=native#text/plain src/mess/machine/mos8706.c svneol=native#text/plain @@ -7391,8 +7411,6 @@ src/mess/machine/pc_turbo.h svneol=native#text/plain src/mess/machine/pce.c svneol=native#text/plain src/mess/machine/pce220_ser.c svneol=native#text/plain src/mess/machine/pce220_ser.h svneol=native#text/plain -src/mess/machine/pcf8593.c svneol=native#text/plain -src/mess/machine/pcf8593.h svneol=native#text/plain src/mess/machine/pecom.c svneol=native#text/plain src/mess/machine/pet_64k.c svneol=native#text/plain src/mess/machine/pet_64k.h svneol=native#text/plain @@ -7597,8 +7615,6 @@ src/mess/machine/tvcexp.c svneol=native#text/plain src/mess/machine/tvcexp.h svneol=native#text/plain src/mess/machine/upd65031.c svneol=native#text/plain src/mess/machine/upd65031.h svneol=native#text/plain -src/mess/machine/upd7002.c svneol=native#text/plain -src/mess/machine/upd7002.h svneol=native#text/plain src/mess/machine/upd71071.c svneol=native#text/plain src/mess/machine/upd71071.h svneol=native#text/plain src/mess/machine/ut88.c svneol=native#text/plain @@ -7694,10 +7710,6 @@ src/mess/machine/wangpcbus.c svneol=native#text/plain src/mess/machine/wangpcbus.h svneol=native#text/plain src/mess/machine/wangpckb.c svneol=native#text/plain src/mess/machine/wangpckb.h svneol=native#text/plain -src/mess/machine/wd11c00_17.c svneol=native#text/plain -src/mess/machine/wd11c00_17.h svneol=native#text/plain -src/mess/machine/wd2010.c svneol=native#text/plain -src/mess/machine/wd2010.h svneol=native#text/plain src/mess/machine/wswan.c svneol=native#text/plain src/mess/machine/x1.c svneol=native#text/plain src/mess/machine/x68k_hdc.c svneol=native#text/plain @@ -7822,8 +7834,6 @@ src/mess/video/crtc_ega.c svneol=native#text/plain src/mess/video/crtc_ega.h svneol=native#text/plain src/mess/video/dai.c svneol=native#text/plain src/mess/video/dgn_beta.c svneol=native#text/plain -src/mess/video/dl1416.c svneol=native#text/plain -src/mess/video/dl1416.h svneol=native#text/plain src/mess/video/ef9345.c svneol=native#text/plain src/mess/video/ef9345.h svneol=native#text/plain src/mess/video/electron.c svneol=native#text/plain @@ -7843,12 +7853,6 @@ src/mess/video/gf4500.c svneol=native#text/plain src/mess/video/gf4500.h svneol=native#text/plain src/mess/video/gime.c svneol=native#text/plain src/mess/video/gime.h svneol=native#text/plain -src/mess/video/hd44352.c svneol=native#text/plain -src/mess/video/hd44352.h svneol=native#text/plain -src/mess/video/hd44780.c svneol=native#text/plain -src/mess/video/hd44780.h svneol=native#text/plain -src/mess/video/hd66421.c svneol=native#text/plain -src/mess/video/hd66421.h svneol=native#text/plain src/mess/video/hec2video.c svneol=native#text/plain src/mess/video/hp48.c svneol=native#text/plain src/mess/video/intv.c svneol=native#text/plain @@ -7887,8 +7891,6 @@ src/mess/video/mac.c svneol=native#text/plain src/mess/video/mbc55x.c svneol=native#text/plain src/mess/video/mbee.c svneol=native#text/plain src/mess/video/mc68328.c svneol=native#text/plain -src/mess/video/mc6847.c svneol=native#text/plain -src/mess/video/mc6847.h svneol=native#text/plain src/mess/video/mc80.c svneol=native#text/plain src/mess/video/microtan.c svneol=native#text/plain src/mess/video/mikro80.c svneol=native#text/plain @@ -7977,12 +7979,8 @@ src/mess/video/ti85.c svneol=native#text/plain src/mess/video/timex.c svneol=native#text/plain src/mess/video/tmc1800.c svneol=native#text/plain src/mess/video/tmc600.c svneol=native#text/plain -src/mess/video/tms3556.c svneol=native#text/plain -src/mess/video/tms3556.h svneol=native#text/plain src/mess/video/trs80.c svneol=native#text/plain src/mess/video/tx0.c svneol=native#text/plain -src/mess/video/upd7220.c svneol=native#text/plain -src/mess/video/upd7220.h svneol=native#text/plain src/mess/video/ut88.c svneol=native#text/plain src/mess/video/uv201.c svneol=native#text/plain src/mess/video/uv201.h svneol=native#text/plain diff --git a/src/emu/emu.mak b/src/emu/emu.mak index 0a3c9baf275..20bc7be2631 100644 --- a/src/emu/emu.mak +++ b/src/emu/emu.mak @@ -151,8 +151,8 @@ EMUMACHINEOBJS = \ $(EMUMACHINE)/6840ptm.o \ $(EMUMACHINE)/6850acia.o \ $(EMUMACHINE)/68681.o \ - $(EMUMACHINE)/n68681.o \ $(EMUMACHINE)/74123.o \ + $(EMUMACHINE)/74145.o \ $(EMUMACHINE)/74148.o \ $(EMUMACHINE)/74153.o \ $(EMUMACHINE)/74181.o \ @@ -169,6 +169,9 @@ EMUMACHINEOBJS = \ $(EMUMACHINE)/am9517a.o \ $(EMUMACHINE)/amigafdc.o \ $(EMUMACHINE)/at28c16.o \ + $(EMUMACHINE)/at29040a.o \ + $(EMUMACHINE)/at45dbxx.o \ + $(EMUMACHINE)/ay31015.o \ $(EMUMACHINE)/cdp1852.o \ $(EMUMACHINE)/cdp1871.o \ $(EMUMACHINE)/com8116.o \ @@ -182,6 +185,7 @@ EMUMACHINEOBJS = \ $(EMUMACHINE)/e0516.o \ $(EMUMACHINE)/eeprom.o \ $(EMUMACHINE)/er2055.o \ + $(EMUMACHINE)/er59256.o \ $(EMUMACHINE)/f3853.o \ $(EMUMACHINE)/fdc_pll.o \ $(EMUMACHINE)/generic.o \ @@ -204,11 +208,11 @@ EMUMACHINEOBJS = \ $(EMUMACHINE)/k033906.o \ $(EMUMACHINE)/k053252.o \ $(EMUMACHINE)/k056230.o \ - $(EMUMACHINE)/latch8.o \ $(EMUMACHINE)/laserdsc.o \ + $(EMUMACHINE)/latch8.o \ $(EMUMACHINE)/lc89510.o \ - $(EMUMACHINE)/ldstub.o \ $(EMUMACHINE)/ldpr8210.o \ + $(EMUMACHINE)/ldstub.o \ $(EMUMACHINE)/ldv1000.o \ $(EMUMACHINE)/ldvp931.o \ $(EMUMACHINE)/m6m80011ap.o \ @@ -218,26 +222,34 @@ EMUMACHINEOBJS = \ $(EMUMACHINE)/mb87078.o \ $(EMUMACHINE)/mc146818.o \ $(EMUMACHINE)/mc2661.o \ + $(EMUMACHINE)/mc6843.o \ + $(EMUMACHINE)/mc6846.o \ $(EMUMACHINE)/mc6852.o \ + $(EMUMACHINE)/mc6854.o \ + $(EMUMACHINE)/mc68328.o \ $(EMUMACHINE)/mc68901.o \ $(EMUMACHINE)/mccs1850.o \ - $(EMUMACHINE)/mm74c922.o \ $(EMUMACHINE)/microtch.o \ + $(EMUMACHINE)/mm58274c.o \ + $(EMUMACHINE)/mm74c922.o \ $(EMUMACHINE)/mos6526.o \ $(EMUMACHINE)/mos6529.o \ + $(EMUMACHINE)/mos6530.o \ $(EMUMACHINE)/mos6551.o \ $(EMUMACHINE)/msm5832.o \ $(EMUMACHINE)/msm58321.o \ $(EMUMACHINE)/msm6242.o \ + $(EMUMACHINE)/n68681.o \ $(EMUMACHINE)/ncr539x.o \ - $(EMUMACHINE)/netlist.o \ $(EMUMACHINE)/net_lib.o \ + $(EMUMACHINE)/netlist.o \ $(EMUMACHINE)/nmc9306.o \ $(EMUMACHINE)/nscsi_bus.o \ $(EMUMACHINE)/nscsi_cd.o \ $(EMUMACHINE)/nscsi_hd.o \ $(EMUMACHINE)/nvram.o \ $(EMUMACHINE)/pc16552d.o \ + $(EMUMACHINE)/pcf8593.o \ $(EMUMACHINE)/pci.o \ $(EMUMACHINE)/pd4990a.o \ $(EMUMACHINE)/pic8259.o \ @@ -251,10 +263,10 @@ EMUMACHINEOBJS = \ $(EMUMACHINE)/rtc4543.o \ $(EMUMACHINE)/rtc65271.o \ $(EMUMACHINE)/rtc9701.o \ + $(EMUMACHINE)/s3520cf.o \ $(EMUMACHINE)/s3c2400.o \ $(EMUMACHINE)/s3c2410.o \ $(EMUMACHINE)/s3c2440.o \ - $(EMUMACHINE)/s3520cf.o \ $(EMUMACHINE)/saturn.o \ $(EMUMACHINE)/scsibus.o \ $(EMUMACHINE)/scsicb.o \ @@ -276,12 +288,15 @@ EMUMACHINEOBJS = \ $(EMUMACHINE)/tms9902.o \ $(EMUMACHINE)/upd1990a.o \ $(EMUMACHINE)/upd4701.o \ + $(EMUMACHINE)/upd7002.o \ $(EMUMACHINE)/upd7201.o \ $(EMUMACHINE)/upd765.o \ $(EMUMACHINE)/v3021.o \ - $(EMUMACHINE)/wd17xx.o \ - $(EMUMACHINE)/wd33c93.o \ $(EMUMACHINE)/wd_fdc.o \ + $(EMUMACHINE)/wd11c00_17.o \ + $(EMUMACHINE)/wd17xx.o \ + $(EMUMACHINE)/wd2010.o \ + $(EMUMACHINE)/wd33c93.o \ $(EMUMACHINE)/x2212.o \ $(EMUMACHINE)/x76f041.o \ $(EMUMACHINE)/x76f100.o \ @@ -298,16 +313,21 @@ EMUVIDEOOBJS = \ $(EMUVIDEO)/bufsprite.o \ $(EMUVIDEO)/cdp1861.o \ $(EMUVIDEO)/cdp1862.o \ + $(EMUVIDEO)/cgapal.o \ $(EMUVIDEO)/crt9007.o \ $(EMUVIDEO)/crt9021.o \ $(EMUVIDEO)/crt9212.o \ + $(EMUVIDEO)/dl1416.o \ $(EMUVIDEO)/dm9368.o \ $(EMUVIDEO)/ef9340_1.o \ $(EMUVIDEO)/generic.o \ $(EMUVIDEO)/h63484.o \ $(EMUVIDEO)/hd44102.o \ + $(EMUVIDEO)/hd44352.o \ + $(EMUVIDEO)/hd44780.o \ $(EMUVIDEO)/hd61830.o \ $(EMUVIDEO)/hd63484.o \ + $(EMUVIDEO)/hd66421.o \ $(EMUVIDEO)/huc6202.o \ $(EMUVIDEO)/huc6260.o \ $(EMUVIDEO)/huc6261.o \ @@ -320,9 +340,9 @@ EMUVIDEOOBJS = \ $(EMUVIDEO)/m50458.o \ $(EMUVIDEO)/mb90082.o \ $(EMUVIDEO)/mc6845.o \ + $(EMUVIDEO)/mc6847.o \ $(EMUVIDEO)/msm6255.o \ $(EMUVIDEO)/pc_cga.o \ - $(EMUVIDEO)/cgapal.o \ $(EMUVIDEO)/pc_vga.o \ $(EMUVIDEO)/poly.o \ $(EMUVIDEO)/psx.o \ @@ -336,9 +356,11 @@ EMUVIDEOOBJS = \ $(EMUVIDEO)/stvvdp2.o \ $(EMUVIDEO)/tlc34076.o \ $(EMUVIDEO)/tms34061.o \ + $(EMUVIDEO)/tms3556.o \ $(EMUVIDEO)/tms9927.o \ $(EMUVIDEO)/tms9928a.o \ $(EMUVIDEO)/upd3301.o \ + $(EMUVIDEO)/upd7220.o \ $(EMUVIDEO)/v9938.o \ $(EMUVIDEO)/vector.o \ $(EMUVIDEO)/voodoo.o \ diff --git a/src/mess/machine/74145.c b/src/emu/machine/74145.c similarity index 100% rename from src/mess/machine/74145.c rename to src/emu/machine/74145.c diff --git a/src/mess/machine/74145.h b/src/emu/machine/74145.h similarity index 100% rename from src/mess/machine/74145.h rename to src/emu/machine/74145.h diff --git a/src/mess/machine/at29040a.c b/src/emu/machine/at29040a.c similarity index 100% rename from src/mess/machine/at29040a.c rename to src/emu/machine/at29040a.c diff --git a/src/mess/machine/at29040a.h b/src/emu/machine/at29040a.h similarity index 100% rename from src/mess/machine/at29040a.h rename to src/emu/machine/at29040a.h diff --git a/src/mess/machine/at45dbxx.c b/src/emu/machine/at45dbxx.c similarity index 100% rename from src/mess/machine/at45dbxx.c rename to src/emu/machine/at45dbxx.c diff --git a/src/mess/machine/at45dbxx.h b/src/emu/machine/at45dbxx.h similarity index 100% rename from src/mess/machine/at45dbxx.h rename to src/emu/machine/at45dbxx.h diff --git a/src/mess/machine/ay31015.c b/src/emu/machine/ay31015.c similarity index 100% rename from src/mess/machine/ay31015.c rename to src/emu/machine/ay31015.c diff --git a/src/mess/machine/ay31015.h b/src/emu/machine/ay31015.h similarity index 100% rename from src/mess/machine/ay31015.h rename to src/emu/machine/ay31015.h diff --git a/src/mess/machine/er59256.c b/src/emu/machine/er59256.c similarity index 100% rename from src/mess/machine/er59256.c rename to src/emu/machine/er59256.c diff --git a/src/mess/machine/er59256.h b/src/emu/machine/er59256.h similarity index 100% rename from src/mess/machine/er59256.h rename to src/emu/machine/er59256.h diff --git a/src/mess/machine/mc68328.c b/src/emu/machine/mc68328.c similarity index 100% rename from src/mess/machine/mc68328.c rename to src/emu/machine/mc68328.c diff --git a/src/mess/machine/mc68328.h b/src/emu/machine/mc68328.h similarity index 100% rename from src/mess/machine/mc68328.h rename to src/emu/machine/mc68328.h diff --git a/src/mess/machine/mc6843.c b/src/emu/machine/mc6843.c similarity index 100% rename from src/mess/machine/mc6843.c rename to src/emu/machine/mc6843.c diff --git a/src/mess/machine/mc6843.h b/src/emu/machine/mc6843.h similarity index 100% rename from src/mess/machine/mc6843.h rename to src/emu/machine/mc6843.h diff --git a/src/mess/machine/mc6846.c b/src/emu/machine/mc6846.c similarity index 100% rename from src/mess/machine/mc6846.c rename to src/emu/machine/mc6846.c diff --git a/src/mess/machine/mc6846.h b/src/emu/machine/mc6846.h similarity index 100% rename from src/mess/machine/mc6846.h rename to src/emu/machine/mc6846.h diff --git a/src/mess/machine/mc6854.c b/src/emu/machine/mc6854.c similarity index 100% rename from src/mess/machine/mc6854.c rename to src/emu/machine/mc6854.c diff --git a/src/mess/machine/mc6854.h b/src/emu/machine/mc6854.h similarity index 100% rename from src/mess/machine/mc6854.h rename to src/emu/machine/mc6854.h diff --git a/src/mess/machine/mm58274c.c b/src/emu/machine/mm58274c.c similarity index 100% rename from src/mess/machine/mm58274c.c rename to src/emu/machine/mm58274c.c diff --git a/src/mess/machine/mm58274c.h b/src/emu/machine/mm58274c.h similarity index 100% rename from src/mess/machine/mm58274c.h rename to src/emu/machine/mm58274c.h diff --git a/src/mess/machine/mos6530.c b/src/emu/machine/mos6530.c similarity index 100% rename from src/mess/machine/mos6530.c rename to src/emu/machine/mos6530.c diff --git a/src/mess/machine/mos6530.h b/src/emu/machine/mos6530.h similarity index 100% rename from src/mess/machine/mos6530.h rename to src/emu/machine/mos6530.h diff --git a/src/mess/machine/pcf8593.c b/src/emu/machine/pcf8593.c similarity index 100% rename from src/mess/machine/pcf8593.c rename to src/emu/machine/pcf8593.c diff --git a/src/mess/machine/pcf8593.h b/src/emu/machine/pcf8593.h similarity index 100% rename from src/mess/machine/pcf8593.h rename to src/emu/machine/pcf8593.h diff --git a/src/mess/machine/upd7002.c b/src/emu/machine/upd7002.c similarity index 100% rename from src/mess/machine/upd7002.c rename to src/emu/machine/upd7002.c diff --git a/src/mess/machine/upd7002.h b/src/emu/machine/upd7002.h similarity index 100% rename from src/mess/machine/upd7002.h rename to src/emu/machine/upd7002.h diff --git a/src/mess/machine/wd11c00_17.c b/src/emu/machine/wd11c00_17.c similarity index 100% rename from src/mess/machine/wd11c00_17.c rename to src/emu/machine/wd11c00_17.c diff --git a/src/mess/machine/wd11c00_17.h b/src/emu/machine/wd11c00_17.h similarity index 100% rename from src/mess/machine/wd11c00_17.h rename to src/emu/machine/wd11c00_17.h diff --git a/src/mess/machine/wd2010.c b/src/emu/machine/wd2010.c similarity index 100% rename from src/mess/machine/wd2010.c rename to src/emu/machine/wd2010.c diff --git a/src/mess/machine/wd2010.h b/src/emu/machine/wd2010.h similarity index 100% rename from src/mess/machine/wd2010.h rename to src/emu/machine/wd2010.h diff --git a/src/mess/video/dl1416.c b/src/emu/video/dl1416.c similarity index 100% rename from src/mess/video/dl1416.c rename to src/emu/video/dl1416.c diff --git a/src/mess/video/dl1416.h b/src/emu/video/dl1416.h similarity index 100% rename from src/mess/video/dl1416.h rename to src/emu/video/dl1416.h diff --git a/src/mess/video/hd44352.c b/src/emu/video/hd44352.c similarity index 100% rename from src/mess/video/hd44352.c rename to src/emu/video/hd44352.c diff --git a/src/mess/video/hd44352.h b/src/emu/video/hd44352.h similarity index 100% rename from src/mess/video/hd44352.h rename to src/emu/video/hd44352.h diff --git a/src/mess/video/hd44780.c b/src/emu/video/hd44780.c similarity index 100% rename from src/mess/video/hd44780.c rename to src/emu/video/hd44780.c diff --git a/src/mess/video/hd44780.h b/src/emu/video/hd44780.h similarity index 100% rename from src/mess/video/hd44780.h rename to src/emu/video/hd44780.h diff --git a/src/mess/video/hd66421.c b/src/emu/video/hd66421.c similarity index 100% rename from src/mess/video/hd66421.c rename to src/emu/video/hd66421.c diff --git a/src/mess/video/hd66421.h b/src/emu/video/hd66421.h similarity index 100% rename from src/mess/video/hd66421.h rename to src/emu/video/hd66421.h diff --git a/src/mess/video/mc6847.c b/src/emu/video/mc6847.c similarity index 100% rename from src/mess/video/mc6847.c rename to src/emu/video/mc6847.c diff --git a/src/mess/video/mc6847.h b/src/emu/video/mc6847.h similarity index 100% rename from src/mess/video/mc6847.h rename to src/emu/video/mc6847.h diff --git a/src/mess/video/tms3556.c b/src/emu/video/tms3556.c similarity index 100% rename from src/mess/video/tms3556.c rename to src/emu/video/tms3556.c diff --git a/src/mess/video/tms3556.h b/src/emu/video/tms3556.h similarity index 100% rename from src/mess/video/tms3556.h rename to src/emu/video/tms3556.h diff --git a/src/mess/video/upd7220.c b/src/emu/video/upd7220.c similarity index 100% rename from src/mess/video/upd7220.c rename to src/emu/video/upd7220.c diff --git a/src/mess/video/upd7220.h b/src/emu/video/upd7220.h similarity index 100% rename from src/mess/video/upd7220.h rename to src/emu/video/upd7220.h diff --git a/src/mess/drivers/c65.c b/src/mess/drivers/c65.c index de81ca93b53..5dac81fdbbd 100644 --- a/src/mess/drivers/c65.c +++ b/src/mess/drivers/c65.c @@ -58,7 +58,6 @@ bus serial (available in all modes), a Fast and a Burst serial bus #include "video/vic4567.h" #include "includes/cbm.h" #include "machine/cbm_snqk.h" -#include "includes/c64_legacy.h" #include "includes/c65.h" #include "machine/cbmiec.h" #include "machine/ram.h" @@ -202,6 +201,120 @@ PALETTE_INIT_MEMBER(c65_state,c65) * *************************************/ +static int c64_paddle_read( device_t *device, address_space &space, int which ) +{ + running_machine &machine = device->machine(); + int pot1 = 0xff, pot2 = 0xff, pot3 = 0xff, pot4 = 0xff, temp; + UINT8 cia0porta = mos6526_pa_r(machine.device("cia_0"), space, 0); + int controller1 = machine.root_device().ioport("CTRLSEL")->read() & 0x07; + int controller2 = machine.root_device().ioport("CTRLSEL")->read() & 0x70; + /* Notice that only a single input is defined for Mouse & Lightpen in both ports */ + switch (controller1) + { + case 0x01: + if (which) + pot2 = machine.root_device().ioport("PADDLE2")->read(); + else + pot1 = machine.root_device().ioport("PADDLE1")->read(); + break; + + case 0x02: + if (which) + pot2 = machine.root_device().ioport("TRACKY")->read(); + else + pot1 = machine.root_device().ioport("TRACKX")->read(); + break; + + case 0x03: + if (which && (machine.root_device().ioport("JOY1_2B")->read() & 0x20)) /* Joy1 Button 2 */ + pot1 = 0x00; + break; + + case 0x04: + if (which) + pot2 = machine.root_device().ioport("LIGHTY")->read(); + else + pot1 = machine.root_device().ioport("LIGHTX")->read(); + break; + + case 0x06: + if (which && (machine.root_device().ioport("OTHER")->read() & 0x04)) /* Lightpen Signal */ + pot2 = 0x00; + break; + + case 0x00: + case 0x07: + break; + + default: + logerror("Invalid Controller Setting %d\n", controller1); + break; + } + + switch (controller2) + { + case 0x10: + if (which) + pot4 = machine.root_device().ioport("PADDLE4")->read(); + else + pot3 = machine.root_device().ioport("PADDLE3")->read(); + break; + + case 0x20: + if (which) + pot4 = machine.root_device().ioport("TRACKY")->read(); + else + pot3 = machine.root_device().ioport("TRACKX")->read(); + break; + + case 0x30: + if (which && (machine.root_device().ioport("JOY2_2B")->read() & 0x20)) /* Joy2 Button 2 */ + pot4 = 0x00; + break; + + case 0x40: + if (which) + pot4 = machine.root_device().ioport("LIGHTY")->read(); + else + pot3 = machine.root_device().ioport("LIGHTX")->read(); + break; + + case 0x60: + if (which && (machine.root_device().ioport("OTHER")->read() & 0x04)) /* Lightpen Signal */ + pot4 = 0x00; + break; + + case 0x00: + case 0x70: + break; + + default: + logerror("Invalid Controller Setting %d\n", controller1); + break; + } + + if (machine.root_device().ioport("CTRLSEL")->read() & 0x80) /* Swap */ + { + temp = pot1; pot1 = pot3; pot3 = temp; + temp = pot2; pot2 = pot4; pot4 = temp; + } + + switch (cia0porta & 0xc0) + { + case 0x40: + return which ? pot2 : pot1; + + case 0x80: + return which ? pot4 : pot3; + + case 0xc0: + return which ? pot2 : pot1; + + default: + return 0; + } +} + READ8_MEMBER( c65_state::sid_potx_r ) { device_t *sid = machine().device("sid_r"); @@ -333,8 +446,6 @@ static MACHINE_CONFIG_START( c65, c65_state ) /* floppy from serial bus */ MCFG_CBM_IEC_ADD(NULL) - MCFG_FRAGMENT_ADD(c64_cartslot) - /* internal ram */ MCFG_RAM_ADD(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("128K") diff --git a/src/mess/includes/c64_legacy.h b/src/mess/includes/c64_legacy.h deleted file mode 100644 index 901b8a4443e..00000000000 --- a/src/mess/includes/c64_legacy.h +++ /dev/null @@ -1,105 +0,0 @@ -/***************************************************************************** - * - * includes/c64.h - * - * Commodore C64 Home Computer - * - * peter.trauner@jk.uni-linz.ac.at - * - * Documentation: www.funet.fi - * - ****************************************************************************/ - -#ifndef C64_H_ -#define C64_H_ - -#include "machine/6526cia.h" -#include "machine/cbmiec.h" -#include "imagedev/cartslot.h" - -#define C64_MAX_ROMBANK 64 // .crt files contain multiple 'CHIPs', i.e. rom banks (of variable size) with headers. Known carts have at most 64 'CHIPs'. - -struct C64_ROM { - int addr, size, index, start; -}; - -struct c64_cart_t { - C64_ROM bank[C64_MAX_ROMBANK]; - INT8 game; - INT8 exrom; - UINT8 mapper; - UINT8 n_banks; -}; - -class legacy_c64_state : public driver_device -{ -public: - legacy_c64_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_iec(*this, CBM_IEC_TAG), - m_colorram(*this, "colorram"), - m_basic(*this, "basic"), - m_chargen(*this, "chargen"), - m_kernal(*this, "kernal"), - m_roml_writable(0) - { } - - optional_device m_iec; - - required_shared_ptr m_colorram; - required_shared_ptr m_basic; - required_shared_ptr m_chargen; - required_shared_ptr m_kernal; - - DECLARE_READ8_MEMBER( c64_lightpen_x_cb ); - DECLARE_READ8_MEMBER( c64_lightpen_y_cb ); - DECLARE_READ8_MEMBER( c64_lightpen_button_cb ); - DECLARE_READ8_MEMBER( c64_dma_read ); - DECLARE_READ8_MEMBER( c64_dma_read_ultimax ); - DECLARE_READ8_MEMBER( c64_dma_read_color ); - DECLARE_WRITE_LINE_MEMBER( c64_vic_interrupt ); - DECLARE_READ8_MEMBER( c64_rdy_cb ); - - int m_old_level; - int m_old_data; - int m_old_exrom; - int m_old_game; - UINT8 m_vicirq; - emu_timer *m_datasette_timer; - emu_timer *m_cartridge_timer; - UINT8 *m_memory; - int m_pal; - int m_tape_on; - UINT8 *m_c64_roml; - UINT8 *m_c64_romh; - UINT8 *m_vicaddr; - UINT8 *m_c128_vicaddr; - UINT8 m_game; - UINT8 m_exrom; - UINT8 *m_io_mirror; - UINT8 m_port_data; - UINT8 *m_roml; - UINT8 *m_romh; - int m_roml_writable; - int m_ultimax; - int m_cia1_on; - int m_io_enabled; - int m_is_sx64; - UINT8 *m_io_ram_w_ptr; - UINT8 *m_io_ram_r_ptr; - c64_cart_t m_cart; - int m_nmilevel; - void c64_legacy_driver_init(); - DECLARE_DEVICE_IMAGE_LOAD_MEMBER( c64_cart ); - DECLARE_DEVICE_IMAGE_UNLOAD_MEMBER( c64_cart ); -}; - - -/*----------- defined in machine/c64.c -----------*/ - - -DECLARE_READ8_HANDLER ( c64_colorram_read ); -DECLARE_WRITE8_HANDLER ( c64_colorram_write ); -int c64_paddle_read (device_t *device, address_space &space, int which); -MACHINE_CONFIG_EXTERN( c64_cartslot ); -#endif /* C64_H_ */ diff --git a/src/mess/includes/c65.h b/src/mess/includes/c65.h index b60fc347f54..aa8084ac063 100644 --- a/src/mess/includes/c65.h +++ b/src/mess/includes/c65.h @@ -7,8 +7,23 @@ #ifndef C65_H_ #define C65_H_ -#include "includes/c64_legacy.h" #include "machine/6526cia.h" +#include "machine/cbmiec.h" +#include "imagedev/cartslot.h" + +#define C64_MAX_ROMBANK 64 // .crt files contain multiple 'CHIPs', i.e. rom banks (of variable size) with headers. Known carts have at most 64 'CHIPs'. + +struct C64_ROM { + int addr, size, index, start; +}; + +struct c64_cart_t { + C64_ROM bank[C64_MAX_ROMBANK]; + INT8 game; + INT8 exrom; + UINT8 mapper; + UINT8 n_banks; +}; struct dma_t { @@ -37,23 +52,62 @@ struct expansion_ram_t UINT8 reg; }; -class c65_state : public legacy_c64_state +class c65_state : public driver_device { public: c65_state(const machine_config &mconfig, device_type type, const char *tag) - : legacy_c64_state(mconfig, type, tag), + : driver_device(mconfig, type, tag), + m_iec(*this, CBM_IEC_TAG), + m_colorram(*this, "colorram"), + m_basic(*this, "basic"), + m_chargen(*this, "chargen"), + m_kernal(*this, "kernal"), m_c65_chargen(*this, "c65_chargen"), - m_interface(*this, "interface") + m_interface(*this, "interface"), + m_roml_writable(0) { } + optional_device m_iec; + + required_shared_ptr m_colorram; + required_shared_ptr m_basic; + required_shared_ptr m_chargen; + required_shared_ptr m_kernal; required_shared_ptr m_c65_chargen; required_shared_ptr m_interface; - int m_charset_select; + int m_old_level; + int m_old_data; + int m_old_exrom; + int m_old_game; + UINT8 m_vicirq; + emu_timer *m_datasette_timer; + emu_timer *m_cartridge_timer; + UINT8 *m_memory; + int m_pal; + int m_tape_on; + UINT8 *m_c64_roml; + UINT8 *m_c64_romh; + UINT8 *m_vicaddr; + UINT8 *m_c128_vicaddr; + UINT8 m_game; + UINT8 m_exrom; + UINT8 *m_io_mirror; + UINT8 m_port_data; + UINT8 *m_roml; + UINT8 *m_romh; + int m_roml_writable; + int m_ultimax; + int m_cia1_on; + int m_io_enabled; + int m_is_sx64; + UINT8 *m_io_ram_w_ptr; + UINT8 *m_io_ram_r_ptr; + c64_cart_t m_cart; + int m_nmilevel; int m_charset_select; int m_c64mode; UINT8 m_6511_port; UINT8 m_keyline; int m_old_value; - int m_nmilevel; dma_t m_dma; int m_dump_dma; fdc_t m_fdc; @@ -63,6 +117,14 @@ public: DECLARE_DRIVER_INIT(c65); DECLARE_DRIVER_INIT(c65pal); + DECLARE_READ8_MEMBER( c64_lightpen_x_cb ); + DECLARE_READ8_MEMBER( c64_lightpen_y_cb ); + DECLARE_READ8_MEMBER( c64_lightpen_button_cb ); + DECLARE_READ8_MEMBER( c64_dma_read ); + DECLARE_READ8_MEMBER( c64_dma_read_ultimax ); + DECLARE_READ8_MEMBER( c64_dma_read_color ); + DECLARE_WRITE_LINE_MEMBER( c64_vic_interrupt ); + DECLARE_READ8_MEMBER( c64_rdy_cb ); DECLARE_READ8_MEMBER( sid_potx_r ); DECLARE_READ8_MEMBER( sid_poty_r ); DECLARE_MACHINE_START(c65); @@ -76,6 +138,9 @@ public: DECLARE_READ8_MEMBER(c65_cia1_port_a_r); DECLARE_WRITE8_MEMBER(c65_cia1_port_a_w); DECLARE_WRITE_LINE_MEMBER(c65_cia1_interrupt); + void c64_legacy_driver_init(); + DECLARE_DEVICE_IMAGE_LOAD_MEMBER( c64_cart ); + DECLARE_DEVICE_IMAGE_UNLOAD_MEMBER( c64_cart ); }; @@ -99,4 +164,8 @@ void c65_bankswitch_interface(running_machine &machine, int value); extern const legacy_mos6526_interface c65_cia0; extern const legacy_mos6526_interface c65_cia1; +DECLARE_READ8_HANDLER ( c64_colorram_read ); +DECLARE_WRITE8_HANDLER ( c64_colorram_write ); +MACHINE_CONFIG_EXTERN( c64_cartslot ); + #endif /* C65_H_ */ diff --git a/src/mess/machine/c64_legacy.c b/src/mess/machine/c64_legacy.c deleted file mode 100644 index 788855f8f7d..00000000000 --- a/src/mess/machine/c64_legacy.c +++ /dev/null @@ -1,1195 +0,0 @@ -/*************************************************************************** - commodore c64 home computer - - peter.trauner@jk.uni-linz.ac.at - documentation - www.funet.fi -***************************************************************************/ - -/* - 2008-09-06: Tape status for C64 & C128 [FP & RZ] - - tape loading works - - tap files are supported - - tape writing works -*/ - -#include "emu.h" - -#include "cpu/m6502/m6510.h" -#include "cpu/z80/z80.h" -#include "sound/mos6581.h" -#include "machine/6526cia.h" -#include "machine/cbmiec.h" - -#include "includes/cbm.h" -#include "includes/c64_legacy.h" - -#include "imagedev/cassette.h" -#include "imagedev/cartslot.h" - -#define VERBOSE_LEVEL 0 -#define DBG_LOG( MACHINE, N, M, A ) \ - do { \ - if(VERBOSE_LEVEL >= N) \ - { \ - if( M ) \ - logerror("%11.6f: %-24s", MACHINE.time().as_double(), (char*) M ); \ - logerror A; \ - } \ - } while (0) - -#define log_cart 0 - -/* Info from http://unusedino.de/ec64/technical/misc/c64/64doc.html */ -/* - - The leftmost column of the table contains addresses in hexadecimal -notation. The columns aside it introduce all possible memory -configurations. The default mode is on the left, and the absolutely -most rarely used Ultimax game console configuration is on the right. -(Has anybody ever seen any Ultimax games?) Each memory configuration -column has one or more four-digit binary numbers as a title. The bits, -from left to right, represent the state of the -LORAM, -HIRAM, -GAME -and -EXROM lines, respectively. The bits whose state does not matter -are marked with "x". For instance, when the Ultimax video game -configuration is active (the -GAME line is shorted to ground), the --LORAM and -HIRAM lines have no effect. - - default 001x Ultimax - 1111 101x 1000 011x 00x0 1110 0100 1100 xx01 -10000 ----------------------------------------------------------------------- - F000 - Kernal RAM RAM Kernal RAM Kernal Kernal Kernal ROMH(* - E000 ----------------------------------------------------------------------- - D000 IO/C IO/C IO/RAM IO/C RAM IO/C IO/C IO/C I/O ----------------------------------------------------------------------- - C000 RAM RAM RAM RAM RAM RAM RAM RAM - ----------------------------------------------------------------------- - B000 - BASIC RAM RAM RAM RAM BASIC ROMH ROMH - - A000 ----------------------------------------------------------------------- - 9000 - RAM RAM RAM RAM RAM ROML RAM ROML ROML(* - 8000 ----------------------------------------------------------------------- - 7000 - - 6000 - RAM RAM RAM RAM RAM RAM RAM RAM - - 5000 - - 4000 ----------------------------------------------------------------------- - 3000 - - 2000 RAM RAM RAM RAM RAM RAM RAM RAM - - - 1000 ----------------------------------------------------------------------- - 0000 RAM RAM RAM RAM RAM RAM RAM RAM RAM ----------------------------------------------------------------------- - - *) Internal memory does not respond to write accesses to these - areas. - - - Legend: Kernal E000-FFFF Kernal ROM. - - IO/C D000-DFFF I/O address space or Character - generator ROM, selected by - -CHAREN. If the CHAREN bit is - clear, the character generator - ROM will be selected. If it is - set, the I/O chips are - accessible. - - IO/RAM D000-DFFF I/O address space or RAM, - selected by -CHAREN. If the - CHAREN bit is clear, the - character generator ROM will - be selected. If it is set, the - internal RAM is accessible. - - I/O D000-DFFF I/O address space. - The -CHAREN line has no effect. - - BASIC A000-BFFF BASIC ROM. - - ROMH A000-BFFF or External ROM with the -ROMH line - E000-FFFF connected to its -CS line. - - ROML 8000-9FFF External ROM with the -ROML line - connected to its -CS line. - - RAM various ranges Commodore 64's internal RAM. - - - 1000-7FFF and Open address space. - A000-CFFF The Commodore 64's memory chips - do not detect any memory accesses - to this area except the VIC-II's - DMA and memory refreshes. - - NOTE: Whenever the processor tries to write to any ROM area - (Kernal, BASIC, CHAROM, ROML, ROMH), the data will get - "through the ROM" to the C64's internal RAM. - - For this reason, you can easily copy data from ROM to RAM, - without any bank switching. But implementing external - memory expansions without DMA is very hard, as you have to - use a 256 byte window on the I/O1 or I/O2 area, like - GEORAM, or the Ultimax memory configuration, if you do not - want the data to be written both to internal and external - RAM. - - However, this is not true for the Ultimax video game - configuration. In that mode, the internal RAM ignores all - memory accesses outside the area $0000-$0FFF, unless they - are performed by the VIC, and you can write to external - memory at $1000-$CFFF and $E000-$FFFF, if any, without - changing the contents of the internal RAM. - -*/ - -static void c64_bankswitch( running_machine &machine, int reset ) -{ - legacy_c64_state *state = machine.driver_data(); - int loram, hiram, charen; - int ultimax_mode = 0; - int data = machine.device("maincpu")->get_port() & 0x07; - - /* Are we in Ultimax mode? */ - if (!state->m_game && state->m_exrom) - ultimax_mode = 1; - - DBG_LOG(machine, 1, "bankswitch", ("%d\n", data & 7)); - loram = (data & 1) ? 1 : 0; - hiram = (data & 2) ? 1 : 0; - charen = (data & 4) ? 1 : 0; - //logerror("Bankswitch mode || charen, state->m_ultimax\n"); - //logerror("%d, %d, %d, %d || %d, %d \n", loram, hiram, state->m_game, state->m_exrom, charen, ultimax_mode); - - if (ultimax_mode) - { - state->m_io_enabled = 1; // charen has no effect in ultimax_mode - - state->membank("bank1")->set_base(state->m_roml); - state->membank("bank3")->set_base(state->m_memory + 0xa000); - state->membank("bank4")->set_base(state->m_romh); - machine.device("maincpu")->memory().space(AS_PROGRAM).nop_write(0xe000, 0xffff); - } - else - { - /* 0x8000-0x9000 */ - if (loram && hiram && !state->m_exrom) - { - state->membank("bank1")->set_base(state->m_roml); - } - else - { - state->membank("bank1")->set_base(state->m_memory + 0x8000); - } - - /* 0xa000 */ - if (hiram && !state->m_game && !state->m_exrom) - state->membank("bank3")->set_base(state->m_romh); - - else if (loram && hiram && state->m_game) - state->membank("bank3")->set_base(state->m_basic); - - else - state->membank("bank3")->set_base(state->m_memory + 0xa000); - - /* 0xd000 */ - // RAM - if (!loram && !hiram && (state->m_game || !state->m_exrom)) - { - state->m_io_enabled = 0; - state->m_io_ram_r_ptr = state->m_memory + 0xd000; - state->m_io_ram_w_ptr = state->m_memory + 0xd000; - } - // IO/RAM - else if (loram && !hiram && !state->m_game) // remember we cannot be in ultimax_mode, no need of !state->m_exrom - { - state->m_io_enabled = 1; - state->m_io_ram_r_ptr = (!charen) ? state->m_chargen : state->m_memory + 0xd000; - state->m_io_ram_w_ptr = state->m_memory + 0xd000; - } - // IO/C - else - { - state->m_io_enabled = charen ? 1 : 0; - - if (!charen) - { - state->m_io_ram_r_ptr = state->m_chargen; - state->m_io_ram_w_ptr = state->m_memory + 0xd000; - } - } - - /* 0xe000-0xf000 */ - state->membank("bank4")->set_base(hiram ? state->m_kernal : state->m_memory + 0xe000); - state->membank("bank5")->set_base(state->m_memory + 0xe000); - } - - /* make sure the opbase function gets called each time */ - /* NPW 15-May-2008 - Another hack in the C64 drivers broken! */ - /* opbase->mem_max = 0xcfff; */ - - state->m_old_game = state->m_game; - state->m_old_exrom = state->m_exrom; - state->m_old_data = data; -} - -int c64_paddle_read( device_t *device, address_space &space, int which ) -{ - running_machine &machine = device->machine(); - int pot1 = 0xff, pot2 = 0xff, pot3 = 0xff, pot4 = 0xff, temp; - UINT8 cia0porta = mos6526_pa_r(machine.device("cia_0"), space, 0); - int controller1 = machine.root_device().ioport("CTRLSEL")->read() & 0x07; - int controller2 = machine.root_device().ioport("CTRLSEL")->read() & 0x70; - /* Notice that only a single input is defined for Mouse & Lightpen in both ports */ - switch (controller1) - { - case 0x01: - if (which) - pot2 = machine.root_device().ioport("PADDLE2")->read(); - else - pot1 = machine.root_device().ioport("PADDLE1")->read(); - break; - - case 0x02: - if (which) - pot2 = machine.root_device().ioport("TRACKY")->read(); - else - pot1 = machine.root_device().ioport("TRACKX")->read(); - break; - - case 0x03: - if (which && (machine.root_device().ioport("JOY1_2B")->read() & 0x20)) /* Joy1 Button 2 */ - pot1 = 0x00; - break; - - case 0x04: - if (which) - pot2 = machine.root_device().ioport("LIGHTY")->read(); - else - pot1 = machine.root_device().ioport("LIGHTX")->read(); - break; - - case 0x06: - if (which && (machine.root_device().ioport("OTHER")->read() & 0x04)) /* Lightpen Signal */ - pot2 = 0x00; - break; - - case 0x00: - case 0x07: - break; - - default: - logerror("Invalid Controller Setting %d\n", controller1); - break; - } - - switch (controller2) - { - case 0x10: - if (which) - pot4 = machine.root_device().ioport("PADDLE4")->read(); - else - pot3 = machine.root_device().ioport("PADDLE3")->read(); - break; - - case 0x20: - if (which) - pot4 = machine.root_device().ioport("TRACKY")->read(); - else - pot3 = machine.root_device().ioport("TRACKX")->read(); - break; - - case 0x30: - if (which && (machine.root_device().ioport("JOY2_2B")->read() & 0x20)) /* Joy2 Button 2 */ - pot4 = 0x00; - break; - - case 0x40: - if (which) - pot4 = machine.root_device().ioport("LIGHTY")->read(); - else - pot3 = machine.root_device().ioport("LIGHTX")->read(); - break; - - case 0x60: - if (which && (machine.root_device().ioport("OTHER")->read() & 0x04)) /* Lightpen Signal */ - pot4 = 0x00; - break; - - case 0x00: - case 0x70: - break; - - default: - logerror("Invalid Controller Setting %d\n", controller1); - break; - } - - if (machine.root_device().ioport("CTRLSEL")->read() & 0x80) /* Swap */ - { - temp = pot1; pot1 = pot3; pot3 = temp; - temp = pot2; pot2 = pot4; pot4 = temp; - } - - switch (cia0porta & 0xc0) - { - case 0x40: - return which ? pot2 : pot1; - - case 0x80: - return which ? pot4 : pot3; - - case 0xc0: - return which ? pot2 : pot1; - - default: - return 0; - } -} - -READ8_HANDLER( c64_colorram_read ) -{ - legacy_c64_state *state = space.machine().driver_data(); - return state->m_colorram[offset & 0x3ff]; -} - -WRITE8_HANDLER( c64_colorram_write ) -{ - legacy_c64_state *state = space.machine().driver_data(); - state->m_colorram[offset & 0x3ff] = data | 0xf0; -} - -/*********************************************** - - C64 Cartridges - -***********************************************/ - -/* Info based on http://ist.uwaterloo.ca/~schepers/formats/CRT.TXT */ -/* Please refer to the webpage for the latest version and for a very - complete listing of various cart types and their bankswitch tricks */ -/* - Cartridge files were introduced in the CCS64 emulator, written by Per -Hakan Sundell, and use the ".CRT" file extension. This format was created -to handle the various ROM cartridges that exist, such as Action Replay, the -Power cartridge, and the Final Cartridge. - - Normal game cartridges can load into several different memory ranges -($8000-9FFF, $A000-BFFF or $E000-FFFF). Newer utility and freezer -cartridges were less intrusive, hiding themselves until called upon, and -still others used bank-switching techniques to allow much larger ROM's than -normal. Because of these "stealthing" and bank-switching methods, a special -cartridge format was necessary, to let the emulator know where the -cartridge should reside, the control line states to enable it and any -special hardware features it uses. - -(...) - -[ A .CRT file consists of - - $0000-0040 : Header of the whole .crt files - $0040-EOF : Blocks of data - - Each block of data, called 'CHIP', can be of variable size. The first -0x10 bytes of each CHIP block is the block header, and it contains various -informations on the block itself, as its size (both with and without the -header), the loading address and an index to identify which memory bank -the data must be loaded to. FP ] - -.CRT header description ------------------------ - - Bytes: $0000-000F - 16-byte cartridge signature "C64 CARTRIDGE" (padded - with space characters) - 0010-0013 - File header length ($00000040, in high/low format, - calculated from offset $0000). The default (also the - minimum) value is $40. Some cartridges exist which - show a value of $00000020 which is wrong. - 0014-0015 - Cartridge version (high/low, presently 01.00) - 0016-0017 - Cartridge hardware type ($0000, high/low) - 0018 - Cartridge port EXROM line status - 0 - inactive - 1 - active - 0019 - Cartridge port GAME line status - 0 - inactive - 1 - active - 001A-001F - Reserved for future use - 0020-003F - 32-byte cartridge name "CCSMON" (uppercase, padded - with null characters) - 0040-xxxx - Cartridge contents (called CHIP PACKETS, as there can - be more than one per CRT file). See below for a - breakdown of the CHIP format. - -CHIP content description ------------------------- - -[ Addresses shifted back to $0000. FP ] - - Bytes: $0000-0003 - Contained ROM signature "CHIP" (note there can be more - than one image in a .CRT file) - 0004-0007 - Total packet length (ROM image size and - header combined) (high/low format) - 0008-0009 - Chip type - 0 - ROM - 1 - RAM, no ROM data - 2 - Flash ROM - 000A-000B - Bank number - 000C-000D - Starting load address (high/low format) - 000E-000F - ROM image size in bytes (high/low format, typically - $2000 or $4000) - 0010-xxxx - ROM data - - -*/ - - -/* Hardware Types for C64 carts */ -enum { - GENERIC_CRT = 0, /* 00 - Normal cartridge */ - ACTION_REPLAY, /* 01 - Action Replay */ - KCS_PC, /* 02 - KCS Power Cartridge */ - FINAL_CART_III, /* 03 - Final Cartridge III */ - SIMONS_BASIC, /* 04 - Simons Basic */ - OCEAN_1, /* 05 - Ocean type 1 (1) */ - EXPERT, /* 06 - Expert Cartridge */ - FUN_PLAY, /* 07 - Fun Play, Power Play */ - SUPER_GAMES, /* 08 - Super Games */ - ATOMIC_POWER, /* 09 - Atomic Power */ - EPYX_FASTLOAD, /* 10 - Epyx Fastload */ - WESTERMANN, /* 11 - Westermann Learning */ - REX, /* 12 - Rex Utility */ - FINAL_CART_I, /* 13 - Final Cartridge I */ - MAGIC_FORMEL, /* 14 - Magic Formel */ - C64GS, /* 15 - C64 Game System, System 3 */ - WARPSPEED, /* 16 - WarpSpeed */ - DINAMIC, /* 17 - Dinamic (2) */ - ZAXXON, /* 18 - Zaxxon, Super Zaxxon (SEGA) */ - DOMARK, /* 19 - Magic Desk, Domark, HES Australia */ - SUPER_SNAP_5, /* 20 - Super Snapshot 5 */ - COMAL_80, /* 21 - Comal-80 */ - STRUCT_BASIC, /* 22 - Structured Basic */ - ROSS, /* 23 - Ross */ - DELA_EP64, /* 24 - Dela EP64 */ - DELA_EP7X8, /* 25 - Dela EP7x8 */ - DELA_EP256, /* 26 - Dela EP256 */ - REX_EP256, /* 27 - Rex EP256 */ - MIKRO_ASSMBLR, /* 28 - Mikro Assembler */ - REAL_FC_I, /* 29 - (3) */ - ACTION_REPLAY_4, /* 30 - Action Replay 4 */ - STARDOS, /* 31 - StarDOS */ - /* - (1) Ocean type 1 includes Navy Seals, Robocop 2 & 3, Shadow of - the Beast, Toki, Terminator 2 and more. Both 256 and 128 Kb images. - (2) Dinamic includes Narco Police and more. - (3) Type 29 is reserved for the real Final Cartridge I, the one - above (Type 13) will become Final Cartridge II. */ - /**************************************** - Vice also defines the following types: - #define CARTRIDGE_ACTION_REPLAY3 -29 - #define CARTRIDGE_IEEE488 -11 - #define CARTRIDGE_IDE64 -7 - #define CARTRIDGE_RETRO_REPLAY -5 - #define CARTRIDGE_SUPER_SNAPSHOT -4 - - Can we support these as well? - *****************************************/ -}; - -DEVICE_IMAGE_UNLOAD_MEMBER( legacy_c64_state, c64_cart ) -{ - int i; - - for (i = 0; i < C64_MAX_ROMBANK; i++) - { - m_cart.bank[i].size = 0; - m_cart.bank[i].addr = 0; - m_cart.bank[i].index = 0; - m_cart.bank[i].start = 0; - } -} - - -void legacy_c64_state::c64_legacy_driver_init() -{ - /* In the first slot we can load a .crt file. In this case we want - to use game & exrom values from the header, not the default ones. */ - m_cart.game = -1; - m_cart.exrom = -1; - m_cart.mapper = GENERIC_CRT; - m_cart.n_banks = 0; -} - -static int c64_crt_load( device_image_interface &image ) -{ - legacy_c64_state *state = image.device().machine().driver_data(); - int size = image.length(), test, i = 0, ii; - int _80_loaded = 0, _90_loaded = 0, a0_loaded = 0, b0_loaded = 0, e0_loaded = 0, f0_loaded = 0; - const char *filetype = image.filetype(); - int address = 0, new_start = 0; - // int lbank_end_addr = 0, hbank_end_addr = 0; - UINT8 *cart_cpy = state->memregion("user1")->base(); - - /* We support .crt files */ - if (!mame_stricmp(filetype, "crt")) - { - int j; - unsigned short c64_cart_type; - - if (i >= C64_MAX_ROMBANK) - return IMAGE_INIT_FAIL; - - /* Start to parse the .crt header */ - /* 0x16-0x17 is Hardware type */ - image.fseek(0x16, SEEK_SET); - image.fread(&c64_cart_type, 2); - state->m_cart.mapper = BIG_ENDIANIZE_INT16(c64_cart_type); - - /* If it is unsupported cart type, warn the user */ - switch (state->m_cart.mapper) - { - case SIMONS_BASIC: /* Type # 4 */ - case OCEAN_1: /* Type # 5 */ - case FUN_PLAY: /* Type # 7 */ - case SUPER_GAMES: /* Type # 8 */ - case EPYX_FASTLOAD: /* Type # 10 */ - case REX: /* Type # 12 */ - case C64GS: /* Type # 15 */ - case DINAMIC: /* Type # 17 */ - case ZAXXON: /* Type # 18 */ - case DOMARK: /* Type # 19 */ - case COMAL_80: /* Type # 21 */ - case GENERIC_CRT: /* Type # 0 */ - printf("Currently supported cart type (Type %d)\n", state->m_cart.mapper); - break; - - default: - case ACTION_REPLAY: /* Type # 1 */ - case KCS_PC: /* Type # 2 */ - case FINAL_CART_III: /* Type # 3 */ - case EXPERT: /* Type # 6 */ - case ATOMIC_POWER: /* Type # 9 */ - case WESTERMANN: /* Type # 11 */ - case FINAL_CART_I: /* Type # 13 */ - case MAGIC_FORMEL: /* Type # 14 */ - case SUPER_SNAP_5: /* Type # 20 */ - printf("Currently unsupported cart type (Type %d)\n", state->m_cart.mapper); - break; - } - - /* 0x18 is EXROM */ - image.fseek(0x18, SEEK_SET); - image.fread(&state->m_cart.exrom, 1); - - /* 0x19 is GAME */ - image.fread(&state->m_cart.game, 1); - - /* We can pass to the data: it starts from 0x40 */ - image.fseek(0x40, SEEK_SET); - j = 0x40; - - logerror("Loading cart %s size:%.4x\n", image.filename(), size); - logerror("Header info: EXROM %d, GAME %d, Cart Type %d \n", state->m_cart.exrom, state->m_cart.game, c64_cart_type); - - - /* Data in a .crt image are organized in blocks called 'CHIP': - each 'CHIP' consists of a 0x10 header, which contains the - actual size of the block, the loading address and info on - the bankswitch, followed by the actual data */ - while (j < size) - { - unsigned short chip_size, chip_bank_index, chip_data_size; - unsigned char buffer[10]; - - /* Start to parse the CHIP header */ - /* First 4 bytes are the string 'CHIP' */ - image.fread(buffer, 6); - - /* 0x06-0x07 is the size of the CHIP block (header + data) */ - image.fread(&chip_size, 2); - chip_size = BIG_ENDIANIZE_INT16(chip_size); - - /* 0x08-0x09 chip type (ROM, RAM + no ROM, Flash ROM) */ - image.fread(buffer + 6, 2); - - /* 0x0a-0x0b is the bank number of the CHIP block */ - image.fread(&chip_bank_index, 2); - chip_bank_index = BIG_ENDIANIZE_INT16(chip_bank_index); - - /* 0x0c-0x0d is the loading address of the CHIP block */ - image.fread(&address, 2); - address = BIG_ENDIANIZE_INT16(address); - - /* 0x0e-0x0f is the data size of the CHIP block (without header) */ - image.fread(&chip_data_size, 2); - chip_data_size = BIG_ENDIANIZE_INT16(chip_data_size); - - /* Print out the CHIP header! */ - logerror("%.4s %.2x %.2x %.4x %.2x %.2x %.4x %.4x:%.4x\n", - buffer, buffer[4], buffer[5], chip_size, - buffer[6], buffer[7], chip_bank_index, - address, chip_data_size); - logerror("Loading CHIP data at %.4x size:%.4x\n", address, chip_data_size); - - /* Store data, address & size of the CHIP block */ - state->m_cart.bank[i].addr = address; - state->m_cart.bank[i].index = chip_bank_index; - state->m_cart.bank[i].size = chip_data_size; - state->m_cart.bank[i].start = new_start; - - test = image.fread(cart_cpy + new_start, state->m_cart.bank[i].size); - new_start += state->m_cart.bank[i].size; - - /* Does CHIP contain any data? */ - if (test != state->m_cart.bank[i].size) - return IMAGE_INIT_FAIL; - - /* Advance to the next CHIP block */ - i++; - j += chip_size; - } - } - else /* We also support .80 files for c64 & .e0/.f0 for max */ - { - /* Assign loading address according to extension */ - if (!mame_stricmp(filetype, "80")) - address = 0x8000; - - if (!mame_stricmp(filetype, "e0")) - address = 0xe000; - - if (!mame_stricmp(filetype, "f0")) - address = 0xf000; - - logerror("loading %s rom at %.4x size:%.4x\n", image.filename(), address, size); - - /* Store data, address & size */ - state->m_cart.bank[0].addr = address; - state->m_cart.bank[0].size = size; - state->m_cart.bank[0].start = new_start; - - test = image.fread(cart_cpy + new_start, state->m_cart.bank[0].size); - new_start += state->m_cart.bank[0].size; - - /* Does cart contain any data? */ - if (test != state->m_cart.bank[0].size) - return IMAGE_INIT_FAIL; - } - - state->m_cart.n_banks = i; // this is also needed so that we only set mappers if a cart is present! - - /* If we load a .crt file, use EXROM & GAME from the header! */ - if ((state->m_cart.exrom != -1) && (state->m_cart.game != -1)) - { - state->m_exrom = state->m_cart.exrom; - state->m_game = state->m_cart.game; - } - - /* Finally load the cart */ - state->m_roml = state->m_c64_roml; - state->m_romh = state->m_c64_romh; - - memset(state->m_roml, 0, 0x2000); - memset(state->m_romh, 0, 0x2000); - - switch (state->m_cart.mapper) - { - default: - if (!state->m_game && state->m_exrom && (state->m_cart.n_banks == 1)) - { - memcpy(state->m_romh, cart_cpy, 0x2000); - } - else - { - // we first attempt to load the first 'CHIPs' with address 0x8000-0xb000 and 0xe000-0xf000, otherwise we load the first (or first two) 'CHIPs' of the image - for (ii = 0; ii < state->m_cart.n_banks; ii++) - { - if (state->m_cart.bank[ii].addr == 0x8000 && !_80_loaded) - { - memcpy(state->m_roml, cart_cpy + state->m_cart.bank[ii].start, state->m_cart.bank[ii].size); - _80_loaded = 1; - if (state->m_cart.bank[ii].size > 0x1000) - _90_loaded = 1; - if (state->m_cart.bank[ii].size > 0x2000) - a0_loaded = 1; - if (state->m_cart.bank[ii].size > 0x3000) - b0_loaded = 1; -// printf("addr 0x8000: 80 %d, 90 %d, a0 %d, b0 %d\n", _80_loaded, _90_loaded, a0_loaded, b0_loaded); - } - - if (state->m_cart.bank[ii].addr == 0x9000 && !_90_loaded) - { - memcpy(state->m_roml + 0x1000, cart_cpy + state->m_cart.bank[ii].start, state->m_cart.bank[ii].size); - _90_loaded = 1; - if (state->m_cart.bank[ii].size > 0x1000) - a0_loaded = 1; - if (state->m_cart.bank[ii].size > 0x2000) - b0_loaded = 1; -// printf("addr 0x9000: 80 %d, 90 %d, a0 %d, b0 %d\n", _80_loaded, _90_loaded, a0_loaded, b0_loaded); - } - - if (state->m_cart.bank[ii].addr == 0xa000 && !a0_loaded) - { - memcpy(state->m_roml + 0x2000, cart_cpy + state->m_cart.bank[ii].start, state->m_cart.bank[ii].size); - a0_loaded = 1; - if (state->m_cart.bank[ii].size > 0x1000) - b0_loaded = 1; -// printf("addr 0xa000: 80 %d, 90 %d, a0 %d, b0 %d\n", _80_loaded, _90_loaded, a0_loaded, b0_loaded); - } - - if (state->m_cart.bank[ii].addr == 0xb000 && !b0_loaded) - { - memcpy(state->m_roml + 0x3000, cart_cpy + state->m_cart.bank[ii].start, state->m_cart.bank[ii].size); - b0_loaded = 1; -// printf("addr 0xb000: 80 %d, 90 %d, a0 %d, b0 %d\n", _80_loaded, _90_loaded, a0_loaded, b0_loaded); - } - - if (state->m_cart.bank[ii].addr == 0xe000 && !e0_loaded) - { - memcpy(state->m_romh, cart_cpy + state->m_cart.bank[ii].start, state->m_cart.bank[ii].size); - e0_loaded = 1; - if (state->m_cart.bank[ii].size > 0x1000) - f0_loaded = 1; -// printf("addr 0xe000: e0 %d, f0 %d\n", e0_loaded, f0_loaded); - } - - if (state->m_cart.bank[ii].addr == 0xf000 && !f0_loaded) - { - memcpy(state->m_romh + 0x1000, cart_cpy + state->m_cart.bank[ii].start, state->m_cart.bank[ii].size); - f0_loaded = 1; -// printf("addr 0xe000: e0 %d, f0 %d\n", e0_loaded, f0_loaded); - } - } - } - } - - return IMAGE_INIT_PASS; -} - -/*************************************************************************** - SOFTWARE LIST CARTRIDGE HANDLING -***************************************************************************/ - -#define install_write_handler(_start, _end, _handler) \ - image.device().machine().firstcpu->space(AS_PROGRAM).install_legacy_write_handler(_start, _end, FUNC(_handler)); - -#define install_io1_handler(_handler) \ - image.device().machine().firstcpu->space(AS_PROGRAM).install_legacy_write_handler(0xde00, 0xde00, 0, 0xff, FUNC(_handler)); - -#define install_io2_handler(_handler) \ - image.device().machine().firstcpu->space(AS_PROGRAM).install_legacy_write_handler(0xdf00, 0xdf00, 0, 0xff, FUNC(_handler)); - -#define allocate_cartridge_timer(_period, _func) \ - legacy_c64_state *state = image.device().machine().driver_data(); \ - state->m_cartridge_timer = image.device().machine().scheduler().timer_alloc(FUNC(_func)); \ - state->m_cartridge_timer->adjust(_period, 0); - -#define set_game_line(_machine, _state) \ - _machine.driver_data()->m_game = _state; \ - c64_bankswitch(_machine, 0); - -INLINE void load_cartridge_region(device_image_interface &image, const char *name, offs_t offset, size_t size) -{ - UINT8 *cart = image.device().machine().root_device().memregion("user1")->base(); - UINT8 *rom = image.get_software_region(name); - memcpy(cart + offset, rom, size); -} - -INLINE void map_cartridge_roml(running_machine &machine, offs_t offset) -{ - legacy_c64_state *state = machine.driver_data(); - UINT8 *cart = state->memregion("user1")->base(); - memcpy(state->m_roml, cart + offset, 0x2000); -} - -INLINE void map_cartridge_romh(running_machine &machine, offs_t offset) -{ - legacy_c64_state *state = machine.driver_data(); - UINT8 *cart = state->memregion("user1")->base(); - memcpy(state->m_romh, cart + offset, 0x2000); -} - -static void load_standard_c64_cartridge(device_image_interface &image) -{ - legacy_c64_state *state = image.device().machine().driver_data(); - UINT32 size; - - // is there anything to load at 0x8000? - size = image.get_software_region_length("roml"); - - if (size) - { - memcpy(state->m_roml, image.get_software_region("roml"), MIN(0x2000, size)); - - if (size == 0x4000) - { - // continue loading to ROMH region - memcpy(state->m_romh, image.get_software_region("roml") + 0x2000, 0x2000); - } - } - - // is there anything to load at 0xa000? - size = image.get_software_region_length("romh"); - if (size) - memcpy(state->m_romh, image.get_software_region("romh"), size); -} - -static TIMER_CALLBACK( vizawrite_timer ) -{ - map_cartridge_roml(machine, 0x2000); - set_game_line(machine, 1); -} - -static void load_vizawrite_cartridge(device_image_interface &image) -{ - #define VW64_DECRYPT_ADDRESS(_offset) \ - BITSWAP16(_offset,15,14,13,12,7,8,6,9,5,11,4,3,2,10,1,0) - - #define VW64_DECRYPT_DATA(_data) \ - BITSWAP8(_data,7,6,0,5,1,4,2,3) - - UINT8 *roml = image.get_software_region("roml"); - UINT8 *romh = image.get_software_region("romh"); - UINT8 *decrypted = image.device().machine().root_device().memregion("user1")->base(); - - // decrypt ROMs - for (offs_t offset = 0; offset < 0x2000; offset++) - { - offs_t address = VW64_DECRYPT_ADDRESS(offset); - decrypted[address] = VW64_DECRYPT_DATA(roml[offset]); - decrypted[address + 0x2000] = VW64_DECRYPT_DATA(roml[offset + 0x2000]); - decrypted[address + 0x4000] = VW64_DECRYPT_DATA(romh[offset]); - } - - // map cartridge ROMs - map_cartridge_roml(image.device().machine(), 0x0000); - map_cartridge_romh(image.device().machine(), 0x4000); - - // allocate GAME changing timer - allocate_cartridge_timer(attotime::from_msec(1184), vizawrite_timer); -} - -static WRITE8_HANDLER( hugo_bank_w ) -{ - /* - - bit description - - 0 - 1 - 2 - 3 - 4 A14 - 5 A15 - 6 A16 - 7 A13 - - */ - - int bank = ((data >> 3) & 0x0e) | BIT(data, 7); - - map_cartridge_roml(space.machine(), bank * 0x2000); -} - -static void load_hugo_cartridge(device_image_interface &image) -{ - #define HUGO_DECRYPT_ADDRESS(_offset) \ - BITSWAP16(_offset,15,14,13,12,7,6,5,4,3,2,1,0,8,9,11,10) - - #define HUGO_DECRYPT_DATA(_data) \ - BITSWAP8(_data,7,6,5,4,0,1,2,3) - - UINT8 *roml = image.get_software_region("roml"); - UINT8 *decrypted = image.device().machine().root_device().memregion("user1")->base(); - - // decrypt ROMs - for (offs_t offset = 0; offset < 0x20000; offset++) - { - offs_t address = (offset & 0x10000) | HUGO_DECRYPT_ADDRESS(offset); - decrypted[address] = HUGO_DECRYPT_DATA(roml[offset]); - } - - // map cartridge ROMs - map_cartridge_roml(image.device().machine(), 0x0000); - - // install bankswitch handler - install_io1_handler(hugo_bank_w); -} - -static WRITE8_HANDLER( easy_calc_result_bank_w ) -{ - map_cartridge_romh(space.machine(), 0x2000 + (!offset * 0x2000)); -} - -static void load_easy_calc_result_cartridge(device_image_interface &image) -{ - load_cartridge_region(image, "roml", 0x0000, 0x2000); - load_cartridge_region(image, "romh", 0x2000, 0x4000); - - map_cartridge_roml(image.device().machine(), 0x0000); - map_cartridge_romh(image.device().machine(), 0x2000); - - install_write_handler(0xde00, 0xde01, easy_calc_result_bank_w); -} - -static WRITE8_HANDLER( pagefox_bank_w ) -{ - /* - - Die 96KB des Moduls belegen in 6 16K-Banken den Modulbereich von $8000- $c000. - Die Umschaltung erfolgt mit einem Register in $DE80 (-$DEFF, nicht voll decodiert), - welches nur beschrieben und nicht gelesen werden kann. Durch Schreiben der Werte - $08 oder $0A selektiert man eine der beiden RAM-Banke, $FF deselektiert das Modul. - - Zusatzlich muss Adresse 1 entsprechend belegt werden :$37 fur Lesezugriffe auf das - Modul, $35 oder $34 fur Lesezugriffe auf das Ram des C64. Schreibzugriffe lenkt - der C64 grundsatzlich ins eigene RAM, weshalb zum Beschreiben des Modulrams ein - Trick notwendig ist: Man schaltet das Ram-Modul parallel zum C64-Ram, rettet vor - dem Schreiben den C64-Ram-Inhalt und stellt ihn nachher wieder her... - - Ldy#0 - Lda#$35 - Sta 1 - Loop Lda (Ptr),y - Pha - Lda#$08 - Sta $DE80 - Lda (Quell),y - Sta (Ptr),y - Lda#$FF - Sta $DE80 - Pla - Sta (Ptr),y - Iny - Bne Loop - - */ - - legacy_c64_state *state = space.machine().driver_data(); - UINT8 *cart = state->memregion("user1")->base(); - - if (data == 0xff) - { - // hide cartridge - state->m_game = 1; - state->m_exrom = 1; - } - else - { - if (state->m_game) - { - // enable cartridge - state->m_game = 0; - state->m_exrom = 0; - } - - int bank = (data >> 1) & 0x07; - int ram = BIT(data, 3); - offs_t address = bank * 0x4000; - - state->m_roml_writable = ram; - - if (ram) - { - state->m_roml = cart + address; - } - else - { - state->m_roml = state->m_c64_roml; - - map_cartridge_roml(space.machine(), address); - map_cartridge_romh(space.machine(), address + 0x2000); - } - } - - c64_bankswitch(space.machine(), 0); -} - -static void load_pagefox_cartridge(device_image_interface &image) -{ - load_cartridge_region(image, "rom", 0x0000, 0x10000); - - map_cartridge_roml(image.device().machine(), 0x0000); - map_cartridge_romh(image.device().machine(), 0x2000); - - install_write_handler(0xde80, 0xdeff, pagefox_bank_w); -} - -static WRITE8_HANDLER( multiscreen_bank_w ) -{ - legacy_c64_state *state = space.machine().driver_data(); - UINT8 *cart = state->memregion("user1")->base(); - int bank = data & 0x0f; - offs_t address = bank * 0x4000; - - if (bank == 0x0d) - { - // RAM - state->m_roml = cart + address; - state->m_roml_writable = 1; - - map_cartridge_romh(space.machine(), 0x2000); - } - else - { - // ROM - state->m_roml = state->m_c64_roml; - state->m_roml_writable = 0; - - map_cartridge_roml(space.machine(), address); - map_cartridge_romh(space.machine(), address + 0x2000); - } - - c64_bankswitch(space.machine(), 0); -} - -static void load_multiscreen_cartridge(device_image_interface &image) -{ - load_cartridge_region(image, "roml", 0x0000, 0x4000); - load_cartridge_region(image, "rom", 0x4000, 0x30000); - - map_cartridge_roml(image.device().machine(), 0x0000); - map_cartridge_romh(image.device().machine(), 0x2000); - - install_write_handler(0xdfff, 0xdfff, multiscreen_bank_w); -} - -static WRITE8_HANDLER( simons_basic_bank_w ) -{ - set_game_line(space.machine(), !BIT(data, 0)); -} - -static void load_simons_basic_cartridge(device_image_interface &image) -{ - load_cartridge_region(image, "roml", 0x0000, 0x2000); - load_cartridge_region(image, "romh", 0x2000, 0x2000); - - map_cartridge_roml(image.device().machine(), 0x0000); - map_cartridge_romh(image.device().machine(), 0x2000); - - install_io1_handler(simons_basic_bank_w); -} - -static READ8_HANDLER( super_explode_r ) -{ - legacy_c64_state *state = space.machine().driver_data(); - - return state->m_roml[0x1f00 | offset]; -} - -static WRITE8_HANDLER( super_explode_bank_w ) -{ - map_cartridge_roml(space.machine(), BIT(data, 7) * 0x2000); -} - -static void load_super_explode_cartridge(device_image_interface &image) -{ - load_cartridge_region(image, "roml", 0x0000, 0x4000); - - map_cartridge_roml(image.device().machine(), 0x0000); - - address_space &space = image.device().machine().firstcpu->space(AS_PROGRAM); - space.install_legacy_read_handler(0xdf00, 0xdfff, FUNC(super_explode_r)); - - install_io2_handler(super_explode_bank_w); -} - -static void c64_software_list_cartridge_load(device_image_interface &image) -{ - legacy_c64_state *state = image.device().machine().driver_data(); - - // initialize ROML and ROMH pointers - state->m_roml = state->m_c64_roml; - state->m_romh = state->m_c64_romh; - - // clear ROML and ROMH areas - memset(state->m_roml, 0, 0x2000); - memset(state->m_romh, 0, 0x2000); - - // set GAME and EXROM - state->m_game = atol(image.get_feature("game")); - state->m_exrom = atol(image.get_feature("exrom")); - - // determine cartridge type - const char *cart_type = image.get_feature("cart_type"); - - if (cart_type == NULL) - { - load_standard_c64_cartridge(image); - } - else - { - if (!strcmp(cart_type, "vizawrite")) - load_vizawrite_cartridge(image); - - else if (!strcmp(cart_type, "hugo")) - load_hugo_cartridge(image); - - else if (!strcmp(cart_type, "easy_calc_result")) - load_easy_calc_result_cartridge(image); - - else if (!strcmp(cart_type, "pagefox")) - load_pagefox_cartridge(image); - - else if (!strcmp(cart_type, "multiscreen")) - /* - - TODO: crashes on protection check after cartridge RAM test - - 805A: lda $01 - 805C: and #$FE - 805E: sta $01 - 8060: m6502_brk#$00 <-- BOOM! - - */ - load_multiscreen_cartridge(image); - - else if (!strcmp(cart_type, "simons_basic")) - load_simons_basic_cartridge(image); - - else if (!strcmp(cart_type, "super_explode")) - load_super_explode_cartridge(image); - - else - load_standard_c64_cartridge(image); - } -} - -DEVICE_IMAGE_LOAD_MEMBER( legacy_c64_state, c64_cart ) -{ - int result = IMAGE_INIT_PASS; - - if (image.software_entry() != NULL) - { - c64_software_list_cartridge_load(image); - } - else - result = c64_crt_load(image); - - return result; -} -MACHINE_CONFIG_FRAGMENT( c64_cartslot ) - MCFG_CARTSLOT_ADD("cart1") - MCFG_CARTSLOT_EXTENSION_LIST("crt,80") - MCFG_CARTSLOT_NOT_MANDATORY - MCFG_CARTSLOT_INTERFACE("c64_cart") - MCFG_CARTSLOT_LOAD(legacy_c64_state,c64_cart) - MCFG_CARTSLOT_UNLOAD(legacy_c64_state,c64_cart) - - MCFG_CARTSLOT_ADD("cart2") - MCFG_CARTSLOT_EXTENSION_LIST("crt,80") - MCFG_CARTSLOT_NOT_MANDATORY - MCFG_CARTSLOT_LOAD(legacy_c64_state,c64_cart) - MCFG_CARTSLOT_UNLOAD(legacy_c64_state,c64_cart) - - MCFG_SOFTWARE_LIST_ADD("cart_list_c64", "c64_cart") -MACHINE_CONFIG_END diff --git a/src/mess/machine/c65.c b/src/mess/machine/c65.c index 278e14d1faa..d5419ebf591 100644 --- a/src/mess/machine/c65.c +++ b/src/mess/machine/c65.c @@ -9,7 +9,6 @@ #include "includes/cbm.h" #include "includes/c65.h" -#include "includes/c64_legacy.h" #include "cpu/m6502/m4510.h" #include "sound/mos6581.h" #include "machine/6526cia.h" @@ -994,14 +993,12 @@ static void c65_common_driver_init( running_machine &machine ) DRIVER_INIT_MEMBER(c65_state,c65) { m_dma.version = 2; - c64_legacy_driver_init(); c65_common_driver_init(machine()); } DRIVER_INIT_MEMBER(c65_state,c65pal) { m_dma.version = 1; - c64_legacy_driver_init(); c65_common_driver_init(machine()); m_pal = 1; } diff --git a/src/mess/mess.mak b/src/mess/mess.mak index 3e4ce20bacd..95da5fa3fce 100644 --- a/src/mess/mess.mak +++ b/src/mess/mess.mak @@ -432,7 +432,7 @@ $(MESSOBJ)/mame.a: \ $(MAME_VIDEO)/amigaaga.o \ $(MAME_MACHINE)/amiga.o \ $(MAME_AUDIO)/amiga.o \ - $(MAME_MACHINE)/cd32.o \ + $(MAME_MACHINE)/cd32.o \ $(MAME_VIDEO)/tia.o \ $(MAME_MACHINE)/atari.o \ $(MAME_VIDEO)/atari.o \ @@ -456,10 +456,10 @@ $(MESSOBJ)/mame.a: \ $(MAME_VIDEO)/rdpspn16.o \ $(MAME_MACHINE)/pcshare.o \ $(MAME_MACHINE)/megadriv.o \ - $(MAME_MACHINE)/megacd.o \ - $(MAME_MACHINE)/megacdcd.o \ - $(MAME_MACHINE)/mega32x.o \ - $(MAME_MACHINE)/megavdp.o \ + $(MAME_MACHINE)/megacd.o \ + $(MAME_MACHINE)/megacdcd.o \ + $(MAME_MACHINE)/mega32x.o \ + $(MAME_MACHINE)/megavdp.o \ $(MAME_MACHINE)/dc.o \ $(MAME_DRIVERS)/naomi.o \ $(MAME_MACHINE)/dc.o \ @@ -493,9 +493,9 @@ $(MESSOBJ)/mame.a: \ $(MAME_DRIVERS)/vectrex.o \ $(MAME_VIDEO)/vectrex.o \ $(MAME_MACHINE)/vectrex.o \ - $(MAME_DRIVERS)/cps1.o \ - $(MAME_VIDEO)/cps1.o \ - $(MAME_DRIVERS)/konamim2.o \ + $(MAME_DRIVERS)/cps1.o \ + $(MAME_VIDEO)/cps1.o \ + $(MAME_DRIVERS)/konamim2.o \ #------------------------------------------------- @@ -506,13 +506,13 @@ $(MESSOBJ)/mame.a: \ $(MESSOBJ)/shared.a: \ $(MESS_AUDIO)/mea8000.o \ $(MESS_AUDIO)/spchroms.o \ - $(MESS_MACHINE)/microdrv.o \ - $(MESS_MACHINE)/74145.o \ + $(MESS_MACHINE)/3c503.o \ $(MESS_MACHINE)/68561mpcc.o \ $(MESS_MACHINE)/8530scc.o \ - $(MESS_MACHINE)/at45dbxx.o \ - $(MESS_MACHINE)/ay31015.o \ - $(MESS_MACHINE)/er59256.o \ + $(MESS_MACHINE)/appldriv.o \ + $(MESS_MACHINE)/applefdc.o \ + $(MESS_MACHINE)/cntr_covox.o\ + $(MESS_MACHINE)/dp8390.o \ $(MESS_MACHINE)/hd63450.o \ $(MESS_MACHINE)/i8271.o \ $(MESS_MACHINE)/ieee488.o \ @@ -520,57 +520,37 @@ $(MESSOBJ)/shared.a: \ $(MESS_MACHINE)/kb3600.o \ $(MESS_MACHINE)/keyboard.o \ $(MESS_MACHINE)/kr2376.o \ - $(MESS_MACHINE)/mc6843.o \ - $(MESS_MACHINE)/mc6846.o \ - $(MESS_MACHINE)/mc6854.o \ - $(MESS_MACHINE)/mm58274c.o \ - $(MESS_MACHINE)/mpc105.o \ - $(MESS_MACHINE)/mos6530.o \ - $(MESS_MACHINE)/s100.o \ - $(MESS_MACHINE)/sed1200.o \ - $(MESS_MACHINE)/msm6222b.o \ - $(MESS_MACHINE)/serial.o \ - $(MESS_MACHINE)/ncr5380.o \ - $(MESS_MACHINE)/ncr5380n.o \ - $(MESS_MACHINE)/ncr5390.o \ - $(MESS_MACHINE)/pc_kbdc.o \ - $(MESS_MACHINE)/pc_lpt.o \ - $(MESS_MACHINE)/cntr_covox.o \ - $(MESS_MACHINE)/pcf8593.o \ - $(MESS_MACHINE)/sa1403d.o \ - $(MESS_MACHINE)/smartmed.o \ - $(MESS_MACHINE)/smc92x4.o \ - $(MESS_MACHINE)/terminal.o \ - $(MESS_MACHINE)/teleprinter.o \ - $(MESS_MACHINE)/upd7002.o \ - $(MESS_MACHINE)/wd11c00_17.o \ - $(MESS_MACHINE)/wd2010.o \ - $(MESS_VIDEO)/dl1416.o \ - $(MESS_VIDEO)/hd44780.o \ - $(MESS_VIDEO)/hd66421.o \ - $(MESS_VIDEO)/mc6847.o \ - $(MESS_VIDEO)/tms3556.o \ - $(MESS_VIDEO)/upd7220.o \ - $(MESS_MACHINE)/applefdc.o \ - $(MESS_MACHINE)/sonydriv.o \ - $(MESS_MACHINE)/appldriv.o \ - $(MESS_MACHINE)/dp8390.o \ - $(MESS_MACHINE)/ne1000.o \ - $(MESS_MACHINE)/ne2000.o \ - $(MESS_MACHINE)/3c503.o \ - $(MESS_MACHINE)/z80bin.o \ $(MESS_MACHINE)/mb8795.o \ + $(MESS_MACHINE)/microdrv.o \ $(MESS_MACHINE)/midiinport.o \ $(MESS_MACHINE)/midioutport.o \ - $(MESS_MACHINE)/null_modem.o \ - $(MESS_MACHINE)/vcsctrl.o \ + $(MESS_MACHINE)/mpc105.o \ + $(MESS_MACHINE)/msm6222b.o \ + $(MESS_MACHINE)/ncr5380.o \ + $(MESS_MACHINE)/ncr5380n.o \ + $(MESS_MACHINE)/ncr5390.o \ + $(MESS_MACHINE)/ne1000.o \ + $(MESS_MACHINE)/ne2000.o \ + $(MESS_MACHINE)/null_modem.o\ + $(MESS_MACHINE)/pc_kbdc.o \ + $(MESS_MACHINE)/pc_lpt.o \ + $(MESS_MACHINE)/s100.o \ + $(MESS_MACHINE)/sa1403d.o \ + $(MESS_MACHINE)/sed1200.o \ + $(MESS_MACHINE)/serial.o \ + $(MESS_MACHINE)/smartmed.o \ + $(MESS_MACHINE)/smc92x4.o \ + $(MESS_MACHINE)/sonydriv.o \ + $(MESS_MACHINE)/teleprinter.o \ + $(MESS_MACHINE)/terminal.o \ $(MESS_MACHINE)/vcs_joy.o \ + $(MESS_MACHINE)/vcs_joybooster.o\ + $(MESS_MACHINE)/vcs_keypad.o \ $(MESS_MACHINE)/vcs_lightpen.o \ $(MESS_MACHINE)/vcs_paddles.o \ - $(MESS_MACHINE)/vcs_joybooster.o \ $(MESS_MACHINE)/vcs_wheel.o \ - $(MESS_MACHINE)/vcs_keypad.o \ - + $(MESS_MACHINE)/vcsctrl.o \ + $(MESS_MACHINE)/z80bin.o \ #------------------------------------------------- @@ -610,7 +590,7 @@ $(MESSOBJ)/act.a: \ $(MESSOBJ)/adc.a: \ $(MESS_DRIVERS)/super6.o \ - $(MESS_DRIVERS)/superslave.o \ + $(MESS_DRIVERS)/superslave.o\ $(MESSOBJ)/alesis.a: \ $(MESS_DRIVERS)/alesis.o \ @@ -659,8 +639,8 @@ $(MESSOBJ)/apollo.a: \ $(MESS_MACHINE)/apollo_eth.o \ $(MESS_MACHINE)/apollo_net.o \ $(MESS_MACHINE)/apollo_kbd.o \ - $(MESS_MACHINE)/3c505.o \ - $(MESS_MACHINE)/apollo.o \ + $(MESS_MACHINE)/3c505.o \ + $(MESS_MACHINE)/apollo.o \ $(MESSOBJ)/apple.a: \ $(MESS_VIDEO)/apple2.o \ @@ -680,18 +660,18 @@ $(MESSOBJ)/apple.a: \ $(MESS_MACHINE)/a2thunderclock.o \ $(MESS_MACHINE)/a2softcard.o \ $(MESS_MACHINE)/a2videoterm.o \ - $(MESS_MACHINE)/a2ssc.o \ - $(MESS_MACHINE)/a2swyft.o \ - $(MESS_MACHINE)/a2eauxslot.o \ + $(MESS_MACHINE)/a2ssc.o \ + $(MESS_MACHINE)/a2swyft.o \ + $(MESS_MACHINE)/a2eauxslot.o\ $(MESS_MACHINE)/a2themill.o \ - $(MESS_MACHINE)/a2sam.o \ - $(MESS_MACHINE)/a2alfam2.o \ - $(MESS_MACHINE)/laser128.o \ - $(MESS_MACHINE)/a2echoii.o \ - $(MESS_MACHINE)/a2arcadebd.o \ - $(MESS_MACHINE)/a2midi.o \ - $(MESS_MACHINE)/a2vulcan.o \ - $(MESS_MACHINE)/a2zipdrive.o \ + $(MESS_MACHINE)/a2sam.o \ + $(MESS_MACHINE)/a2alfam2.o \ + $(MESS_MACHINE)/laser128.o \ + $(MESS_MACHINE)/a2echoii.o \ + $(MESS_MACHINE)/a2arcadebd.o\ + $(MESS_MACHINE)/a2midi.o \ + $(MESS_MACHINE)/a2vulcan.o \ + $(MESS_MACHINE)/a2zipdrive.o\ $(MESS_MACHINE)/a2estd80col.o \ $(MESS_MACHINE)/a2eext80col.o \ $(MESS_MACHINE)/a2eramworks3.o \ @@ -730,8 +710,8 @@ $(MESSOBJ)/apple.a: \ $(MESS_VIDEO)/pds30_cb264.o \ $(MESS_VIDEO)/pds30_procolor816.o \ $(MESS_VIDEO)/pds30_sigmalview.o \ - $(MESS_VIDEO)/pds30_30hr.o \ - $(MESS_VIDEO)/pds30_mc30.o \ + $(MESS_VIDEO)/pds30_30hr.o \ + $(MESS_VIDEO)/pds30_mc30.o \ $(MESSOBJ)/applied.a: \ $(MESS_VIDEO)/mbee.o \ @@ -821,18 +801,16 @@ $(MESSOBJ)/casio.a: \ $(MESS_DRIVERS)/pv2000.o \ $(MESS_DRIVERS)/pb1000.o \ $(MESS_DRIVERS)/fp6000.o \ - $(MESS_VIDEO)/hd44352.o \ $(MESSOBJ)/cbm.a: \ - $(MESS_DRIVERS)/pet.o \ + $(MESS_DRIVERS)/pet.o \ $(MESS_MACHINE)/petcass.o \ - $(MESS_MACHINE)/petexp.o \ + $(MESS_MACHINE)/petexp.o \ $(MESS_MACHINE)/petuser.o \ $(MESS_MACHINE)/pet_64k.o \ $(MESS_MACHINE)/superpet.o \ $(MESS_MACHINE)/mos6702.o \ $(MESS_DRIVERS)/c64.o \ - $(MESS_MACHINE)/c64_legacy.o \ $(MESS_DRIVERS)/c64dtv.o \ $(MESS_MACHINE)/c64exp.o \ $(MESS_MACHINE)/c64user.o \ @@ -841,7 +819,7 @@ $(MESSOBJ)/cbm.a: \ $(MESS_MACHINE)/c64_4ksa.o \ $(MESS_MACHINE)/c64_4tba.o \ $(MESS_MACHINE)/c64_16kb.o \ - $(MESS_MACHINE)/c64_bn1541.o \ + $(MESS_MACHINE)/c64_bn1541.o\ $(MESS_MACHINE)/c64_comal80.o \ $(MESS_MACHINE)/c64_cpm.o \ $(MESS_MACHINE)/c64_currah_speech.o \ @@ -856,7 +834,7 @@ $(MESSOBJ)/cbm.a: \ $(MESS_MACHINE)/c64_exos.o \ $(MESS_MACHINE)/c64_fcc.o \ $(MESS_MACHINE)/c64_final.o \ - $(MESS_MACHINE)/c64_final3.o \ + $(MESS_MACHINE)/c64_final3.o\ $(MESS_MACHINE)/c64_fun_play.o \ $(MESS_MACHINE)/c64_geocable.o \ $(MESS_MACHINE)/c64_georam.o \ @@ -874,7 +852,7 @@ $(MESSOBJ)/cbm.a: \ $(MESS_MACHINE)/c64_midi_siel.o \ $(MESS_MACHINE)/c64_mikro_assembler.o \ $(MESS_MACHINE)/c64_multiscreen.o \ - $(MESS_MACHINE)/c64_neoram.o \ + $(MESS_MACHINE)/c64_neoram.o\ $(MESS_MACHINE)/c64_ocean.o \ $(MESS_MACHINE)/c64_pagefox.o \ $(MESS_MACHINE)/c64_prophet64.o \ @@ -903,7 +881,7 @@ $(MESSOBJ)/cbm.a: \ $(MESS_MACHINE)/c64_warp_speed.o \ $(MESS_MACHINE)/c64_westermann.o \ $(MESS_MACHINE)/c64_xl80.o \ - $(MESS_MACHINE)/c64_zaxxon.o \ + $(MESS_MACHINE)/c64_zaxxon.o\ $(MESS_MACHINE)/interpod.o \ $(MESS_DRIVERS)/vic10.o \ $(MESS_MACHINE)/vic10exp.o \ @@ -933,7 +911,7 @@ $(MESSOBJ)/cbm.a: \ $(MESS_MACHINE)/cbm2_std.o \ $(MESS_MACHINE)/cbm2_24k.o \ $(MESS_MACHINE)/cbm2_graphic.o \ - $(MESS_MACHINE)/cbm2user.o \ + $(MESS_MACHINE)/cbm2user.o \ $(MESS_DRIVERS)/c65.o \ $(MESS_MACHINE)/c65.o \ $(MESS_DRIVERS)/c128.o \ @@ -950,7 +928,7 @@ $(MESSOBJ)/cbm.a: \ $(MESS_MACHINE)/d9060hd.o \ $(MESS_MACHINE)/softbox.o \ $(MESS_MACHINE)/serialbox.o \ - $(MESS_MACHINE)/cmdhd.o \ + $(MESS_MACHINE)/cmdhd.o \ $(MESS_MACHINE)/fd2000.o \ $(MESS_DRIVERS)/clcd.o \ $(MESS_MACHINE)/cbm.o \ @@ -1166,7 +1144,7 @@ $(MESSOBJ)/exeltel.a: \ $(MESSOBJ)/exidy.a: \ $(MESS_MACHINE)/sorcerer.o \ $(MESS_DRIVERS)/sorcerer.o \ - $(MESS_MACHINE)/micropolis.o \ + $(MESS_MACHINE)/micropolis.o\ $(MESSOBJ)/fairch.a: \ $(MESS_VIDEO)/channelf.o \ @@ -1179,7 +1157,7 @@ $(MESSOBJ)/fujitsu.a: \ $(MESS_MACHINE)/upd71071.o \ $(MESS_MACHINE)/fm_scsi.o \ $(MESS_DRIVERS)/fm7.o \ - $(MESS_VIDEO)/fm7.o \ + $(MESS_VIDEO)/fm7.o \ $(MESSOBJ)/funtech.a: \ $(MESS_DRIVERS)/supracan.o \ @@ -1211,13 +1189,13 @@ $(MESSOBJ)/hegener.a: \ $(MESS_MACHINE)/mboard.o \ $(MESS_DRIVERS)/glasgow.o \ $(MESS_DRIVERS)/mephisto.o \ - $(MESS_DRIVERS)/mmodular.o \ + $(MESS_DRIVERS)/mmodular.o \ $(MESSOBJ)/hitachi.a: \ $(MESS_DRIVERS)/bmjr.o \ $(MESS_DRIVERS)/bml3.o \ - $(MESS_DRIVERS)/b16.o \ + $(MESS_DRIVERS)/b16.o \ $(MESSOBJ)/homebrew.a: \ $(MESS_DRIVERS)/4004clk.o \ @@ -1301,7 +1279,7 @@ $(MESSOBJ)/luxor.a: \ $(MESS_MACHINE)/abc_dos.o \ $(MESS_MACHINE)/abc_fd2.o \ $(MESS_MACHINE)/abc_hdc.o \ - $(MESS_MACHINE)/abc_uni800.o \ + $(MESS_MACHINE)/abc_uni800.o\ $(MESS_MACHINE)/abc_sio.o \ $(MESS_MACHINE)/abc_slutprov.o \ $(MESS_MACHINE)/abc_turbo.o \ @@ -1329,7 +1307,7 @@ $(MESSOBJ)/mattel.a: \ $(MESSOBJ)/matsushi.a: \ $(MESS_DRIVERS)/jr100.o \ $(MESS_DRIVERS)/jr200.o \ - $(MESS_DRIVERS)/myb3k.o \ + $(MESS_DRIVERS)/myb3k.o \ $(MESSOBJ)/mb.a: \ $(MESS_DRIVERS)/microvsn.o \ @@ -1366,8 +1344,8 @@ $(MESSOBJ)/mitsubishi.a: \ $(MESSOBJ)/morrow.a: \ $(MESS_DRIVERS)/mpz80.o \ - $(MESS_MACHINE)/s100_dj2db.o \ - $(MESS_MACHINE)/s100_djdma.o \ + $(MESS_MACHINE)/s100_dj2db.o\ + $(MESS_MACHINE)/s100_djdma.o\ $(MESS_MACHINE)/s100_mm65k16s.o \ $(MESS_MACHINE)/s100_wunderbus.o \ @@ -1430,7 +1408,7 @@ $(MESSOBJ)/nintendo.a: \ $(MESS_MACHINE)/sns_sdd1.o \ $(MESS_MACHINE)/sns_sfx.o \ $(MESS_MACHINE)/sns_spc7110.o \ - $(MESS_MACHINE)/sns_sufami.o \ + $(MESS_MACHINE)/sns_sufami.o\ $(MESS_MACHINE)/sns_upd.o \ $(MESS_DRIVERS)/snes.o \ $(MESS_DRIVERS)/n64.o \ @@ -1483,7 +1461,6 @@ $(MESSOBJ)/osi.a: \ $(MESSOBJ)/palm.a: \ $(MESS_DRIVERS)/palm.o \ - $(MESS_MACHINE)/mc68328.o \ $(MESS_VIDEO)/mc68328.o \ $(MESS_DRIVERS)/palmz22.o \ @@ -1494,7 +1471,7 @@ $(MESSOBJ)/parker.a: \ $(MESSOBJ)/pitronic.a: \ $(MESS_DRIVERS)/beta.o \ -$(MESSOBJ)/pc.a: \ +$(MESSOBJ)/pc.a: \ $(MESS_VIDEO)/pc_aga.o \ $(MESS_MACHINE)/tandy1t.o \ $(MESS_MACHINE)/europc.o \ @@ -1508,9 +1485,9 @@ $(MESSOBJ)/pc.a: \ $(MESSOBJ)/pc9801.a: \ $(MESS_MACHINE)/pc9801_26.o \ $(MESS_MACHINE)/pc9801_86.o \ - $(MESS_MACHINE)/pc9801_118.o \ + $(MESS_MACHINE)/pc9801_118.o\ $(MESS_MACHINE)/pc9801_cbus.o \ - $(MESS_MACHINE)/pc9801_kbd.o \ + $(MESS_MACHINE)/pc9801_kbd.o\ $(MESSOBJ)/pcshare.a: \ $(MESS_MACHINE)/pc_turbo.o \ @@ -1518,7 +1495,7 @@ $(MESSOBJ)/pcshare.a: \ $(MESS_MACHINE)/pc_joy.o \ $(MESS_MACHINE)/pc_keyboards.o \ $(MESS_MACHINE)/kb_keytro.o \ - $(MESS_MACHINE)/kb_msnat.o \ + $(MESS_MACHINE)/kb_msnat.o \ $(MESS_MACHINE)/isa_adlib.o \ $(MESS_MACHINE)/ser_mouse.o \ $(MESS_MACHINE)/isa_com.o \ @@ -1528,12 +1505,12 @@ $(MESSOBJ)/pcshare.a: \ $(MESS_MACHINE)/isa_gus.o \ $(MESS_MACHINE)/isa_hdc.o \ $(MESS_MACHINE)/isa_ibm_mfc.o \ - $(MESS_MACHINE)/isa_mpu401.o \ + $(MESS_MACHINE)/isa_mpu401.o\ $(MESS_MACHINE)/isa_sblaster.o \ $(MESS_MACHINE)/isa_stereo_fx.o \ $(MESS_MACHINE)/isa_ssi2001.o \ $(MESS_MACHINE)/isa_ide.o \ - $(MESS_MACHINE)/isa_ide_cd.o \ + $(MESS_MACHINE)/isa_ide_cd.o\ $(MESS_MACHINE)/isa_aha1542.o \ $(MESS_VIDEO)/isa_cga.o \ $(MESS_VIDEO)/isa_mda.o \ @@ -1575,7 +1552,7 @@ $(MESSOBJ)/poly88.a: \ $(MESSOBJ)/psion.a: \ $(MESS_DRIVERS)/psion.o \ - $(MESS_MACHINE)/psion_pack.o \ + $(MESS_MACHINE)/psion_pack.o\ $(MESSOBJ)/radio.a: \ $(MESS_DRIVERS)/radio86.o \ @@ -1589,7 +1566,7 @@ $(MESSOBJ)/radio.a: \ $(MESSOBJ)/rca.a: \ $(MESS_DRIVERS)/studio2.o \ $(MESS_DRIVERS)/vip.o \ - $(MESS_MACHINE)/vip_byteio.o \ + $(MESS_MACHINE)/vip_byteio.o\ $(MESS_MACHINE)/vip_exp.o \ $(MESS_MACHINE)/vp550.o \ $(MESS_MACHINE)/vp570.o \ @@ -1700,13 +1677,13 @@ $(MESSOBJ)/sharp.a: \ $(MESS_DRIVERS)/x1twin.o \ $(MESS_DRIVERS)/mz2500.o \ $(MESS_DRIVERS)/pce220.o \ - $(MESS_MACHINE)/pce220_ser.o \ + $(MESS_MACHINE)/pce220_ser.o\ $(MESS_DRIVERS)/mz6500.o \ $(MESSOBJ)/sinclair.a: \ $(MESS_VIDEO)/spectrum.o \ $(MESS_VIDEO)/timex.o \ - $(MESS_VIDEO)/zx.o \ + $(MESS_VIDEO)/zx.o \ $(MESS_DRIVERS)/zx.o \ $(MESS_MACHINE)/zx.o \ $(MESS_DRIVERS)/spectrum.o \ @@ -1804,10 +1781,10 @@ $(MESSOBJ)/telercas.a: \ $(MESS_VIDEO)/tmc600.o \ $(MESS_DRIVERS)/tmc2000e.o \ -$(MESSOBJ)/tem.a: \ +$(MESSOBJ)/tem.a: \ $(MESS_DRIVERS)/tec1.o \ -$(MESSOBJ)/tesla.a: \ +$(MESSOBJ)/tesla.a: \ $(MESS_DRIVERS)/ondra.o \ $(MESS_MACHINE)/ondra.o \ $(MESS_VIDEO)/ondra.o \ @@ -1834,7 +1811,6 @@ $(MESSOBJ)/ti.a: \ $(MESS_MACHINE)/990_hd.o \ $(MESS_MACHINE)/990_tap.o \ $(MESS_MACHINE)/ti990.o \ - $(MESS_MACHINE)/at29040a.o \ $(MESS_MACHINE)/ti99/datamux.o \ $(MESS_MACHINE)/ti99/videowrp.o \ $(MESS_MACHINE)/ti99/grom.o \ @@ -1846,7 +1822,7 @@ $(MESSOBJ)/ti.a: \ $(MESS_MACHINE)/ti99/ti32kmem.o \ $(MESS_MACHINE)/ti99/ti_fdc.o \ $(MESS_MACHINE)/ti99/bwg.o \ - $(MESS_MACHINE)/ti99/hfdc.o \ + $(MESS_MACHINE)/ti99/hfdc.o \ $(MESS_MACHINE)/ti99/ti99_hd.o \ $(MESS_MACHINE)/ti99/p_code.o \ $(MESS_MACHINE)/ti99/myarcmem.o \ @@ -1854,7 +1830,7 @@ $(MESSOBJ)/ti.a: \ $(MESS_MACHINE)/ti99/tn_ide.o \ $(MESS_MACHINE)/ti99/tn_usbsm.o \ $(MESS_MACHINE)/ti99/evpc.o \ - $(MESS_MACHINE)/ti99/hsgpl.o \ + $(MESS_MACHINE)/ti99/hsgpl.o\ $(MESS_MACHINE)/ti99/ti_rs232.o \ $(MESS_MACHINE)/ti99/spchsyn.o \ $(MESS_MACHINE)/ti99/speech8.o \ @@ -1896,27 +1872,27 @@ $(MESSOBJ)/tomy.a: \ $(MESSOBJ)/toshiba.a: \ $(MESS_DRIVERS)/pasopia.o \ $(MESS_DRIVERS)/pasopia7.o \ - $(MESS_DRIVERS)/paso1600.o \ + $(MESS_DRIVERS)/paso1600.o \ $(MESSOBJ)/trs.a: \ $(MESS_MACHINE)/6883sam.o \ $(MESS_MACHINE)/ds1315.o \ $(MESS_MACHINE)/coco.o \ - $(MESS_MACHINE)/coco12.o \ - $(MESS_DRIVERS)/coco12.o \ + $(MESS_MACHINE)/coco12.o \ + $(MESS_DRIVERS)/coco12.o \ $(MESS_MACHINE)/coco3.o \ $(MESS_DRIVERS)/coco3.o \ - $(MESS_VIDEO)/gime.o \ - $(MESS_MACHINE)/dragon.o \ - $(MESS_DRIVERS)/dragon.o \ - $(MESS_MACHINE)/dgnalpha.o \ - $(MESS_MACHINE)/coco_vhd.o \ - $(MESS_MACHINE)/cococart.o \ - $(MESS_MACHINE)/coco_232.o \ + $(MESS_VIDEO)/gime.o \ + $(MESS_MACHINE)/dragon.o \ + $(MESS_DRIVERS)/dragon.o \ + $(MESS_MACHINE)/dgnalpha.o \ + $(MESS_MACHINE)/coco_vhd.o \ + $(MESS_MACHINE)/cococart.o \ + $(MESS_MACHINE)/coco_232.o \ $(MESS_MACHINE)/coco_orch90.o\ - $(MESS_MACHINE)/coco_pak.o \ - $(MESS_MACHINE)/coco_fdc.o \ - $(MESS_MACHINE)/coco_multi.o \ + $(MESS_MACHINE)/coco_pak.o \ + $(MESS_MACHINE)/coco_fdc.o \ + $(MESS_MACHINE)/coco_multi.o\ $(MESS_DRIVERS)/mc10.o \ $(MESS_MACHINE)/trs80.o \ $(MESS_VIDEO)/trs80.o \ @@ -1990,14 +1966,14 @@ $(MESSOBJ)/wang.a: \ $(MESS_DRIVERS)/wangpc.o \ $(MESS_MACHINE)/wangpcbus.o \ $(MESS_MACHINE)/wangpckb.o \ - $(MESS_MACHINE)/wangpc_emb.o \ - $(MESS_MACHINE)/wangpc_lic.o \ - $(MESS_MACHINE)/wangpc_lvc.o \ - $(MESS_MACHINE)/wangpc_mcc.o \ - $(MESS_MACHINE)/wangpc_mvc.o \ - $(MESS_MACHINE)/wangpc_rtc.o \ - $(MESS_MACHINE)/wangpc_tig.o \ - $(MESS_MACHINE)/wangpc_wdc.o \ + $(MESS_MACHINE)/wangpc_emb.o\ + $(MESS_MACHINE)/wangpc_lic.o\ + $(MESS_MACHINE)/wangpc_lvc.o\ + $(MESS_MACHINE)/wangpc_mcc.o\ + $(MESS_MACHINE)/wangpc_mvc.o\ + $(MESS_MACHINE)/wangpc_rtc.o\ + $(MESS_MACHINE)/wangpc_tig.o\ + $(MESS_MACHINE)/wangpc_wdc.o\ $(MESSOBJ)/wavemate.a: \ $(MESS_DRIVERS)/bullet.o \ @@ -2015,7 +1991,7 @@ $(MESSOBJ)/zpa.a: \ $(MESS_MACHINE)/iq151cart.o \ $(MESS_MACHINE)/iq151_rom.o \ $(MESS_MACHINE)/iq151_disc2.o \ - $(MESS_MACHINE)/iq151_minigraf.o \ + $(MESS_MACHINE)/iq151_minigraf.o\ $(MESS_MACHINE)/iq151_ms151a.o \ $(MESS_MACHINE)/iq151_staper.o \ $(MESS_VIDEO)/iq151_grafik.o \