diff --git a/.gitattributes b/.gitattributes
index 55a8a4091b2..0817d44b51d 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -79,10 +79,12 @@ hash/crvision.xml svneol=native#text/xml
hash/dim68k.xml svneol=native#text/xml
hash/einstein.xml svneol=native#text/xml
hash/electron_cart.xml svneol=native#text/xml
+hash/ep64.xml svneol=native#text/xml
hash/famicom_flop.xml svneol=native#text/xml
hash/fm77av.xml svneol=native#text/xml
hash/fm7_cass.xml svneol=native#text/xml
hash/fm7_disk.xml svneol=native#text/xml
+hash/g7400.xml svneol=native#text/xml
hash/galaxy.xml svneol=native#text/xml
hash/gameboy.xml svneol=native#text/xml
hash/gamecom.xml svneol=native#text/xml
@@ -100,6 +102,7 @@ hash/ibm5150_cass.xml svneol=native#text/xml
hash/ibm5170.xml svneol=native#text/xml
hash/ibmpcjr_cart.xml svneol=native#text/xml
hash/ibmpcjr_flop.xml svneol=native#text/xml
+hash/interact.xml svneol=native#text/xml
hash/intv.hsi svneol=native#text/plain
hash/intv.xml svneol=native#text/xml
hash/intvecs.xml svneol=native#text/xml
@@ -108,6 +111,7 @@ hash/iq151_cart.xml svneol=native#text/xml
hash/iq151_flop.xml svneol=native#text/xml
hash/jaguar.xml svneol=native#text/xml
hash/juicebox.xml svneol=native#text/xml
+hash/kayproii.xml svneol=native#text/xml
hash/kc_cart.xml svneol=native#text/xml
hash/kc_cass.xml svneol=native#text/xml
hash/kc_flop.xml svneol=native#text/xml
@@ -128,6 +132,7 @@ hash/megapc.xml svneol=native#text/xml
hash/megatech.xml svneol=native#text/xml
hash/mikrosha.xml svneol=native#text/xml
hash/mm1_flop.xml svneol=native#text/xml
+hash/mo5_cart.xml svneol=native#text/xml
hash/mpz80.xml svneol=native#text/xml
hash/msx.hsi svneol=native#text/plain
hash/msx1_cart.xml svneol=native#text/xml
@@ -146,6 +151,7 @@ hash/nes.xml svneol=native#text/xml
hash/next.xml svneol=native#text/xml
hash/ngp.xml svneol=native#text/xml
hash/ngpc.xml svneol=native#text/xml
+hash/odyssey2.xml svneol=native#text/xml
hash/ondra.xml svneol=native#text/xml
hash/orao.xml svneol=native#text/xml
hash/orion_cart.xml svneol=native#text/xml
@@ -227,6 +233,8 @@ hash/tdv2324.xml svneol=native#text/xml
hash/tg16.xml svneol=native#text/xml
hash/ti99_cart.xml svneol=native#text/xml
hash/tiki100.xml svneol=native#text/xml
+hash/to770_cart.xml svneol=native#text/xml
+hash/to7_cart.xml svneol=native#text/xml
hash/trs80m2.xml svneol=native#text/xml
hash/trsm100.xml svneol=native#text/xml
hash/tutor.xml svneol=native#text/xml
diff --git a/hash/ep64.xml b/hash/ep64.xml
new file mode 100644
index 00000000000..9c6e0145163
--- /dev/null
+++ b/hash/ep64.xml
@@ -0,0 +1,96 @@
+
+
+
+
+
+ IS-DOS v1.0
+ 1985
+ Intelligent Software Ltd
+
+
+
+
+
+
+
+
+
+
+
+ The Base
+ 1985
+ The Adventure Workshop
+
+
+
+
+
+
+
+
+
+
+
+
+ Deadline
+ 1986
+ Infocom
+
+
+
+
+
+
+
+ The Island
+ 1985
+ The Adventure Workshop
+
+
+
+
+
+
+
+ Seastalker
+ 1984
+ Infocom
+
+
+
+
+
+
+
+ Zork 1 - The Great Underground Empire
+ 1984
+ Infocom
+
+
+
+
+
+
+
+ Zork 2 - The Wizard of Frobozz
+ 1984
+ Infocom
+
+
+
+
+
+
+
+ Zork 3 - The Dungeon Master
+ 1984
+ Infocom
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/hash/g7400.xml b/hash/g7400.xml
new file mode 100644
index 00000000000..f6bb6088b64
--- /dev/null
+++ b/hash/g7400.xml
@@ -0,0 +1,392 @@
+
+
+
+
+
+
+
+
+
+
+
+ Air Battle (Euro)
+ 1983
+ Phillips
+
+
+
+
+
+
+
+
+
+ Backgammon (Euro)
+ 1982
+ GST Video
+
+
+
+
+
+
+
+
+
+
+ Billiard (Euro, Prototype)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+
+ Billard+ (Fra)
+ 1983
+ Jopac
+
+
+
+
+
+
+
+
+
+
+ Flipper+ (Fra)
+ 198?
+ Jopac
+
+
+
+
+
+
+
+
+ Clay Pigeon (Euro, Prototype)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+ Cosmic Conflict (Euro)
+ 1983
+ Phillips
+
+
+
+
+
+
+
+
+ Grand Prix+ (Fra)
+ 1983
+ Jopac
+
+
+
+
+
+
+
+
+ Demon Attack+ (Fra)
+ 198?
+ Radiola
+
+
+
+
+
+
+
+
+ Exojet+ (Fra)
+ 198?
+ Jopac
+
+
+
+
+
+
+
+
+
+ Flashpoint (USA, Prototype)(PAL Conversion)
+ 2004
+ Phillips
+
+
+
+
+
+
+
+
+ Flipper+ (Fra)(Alt?)
+ 198?
+ Jopac
+
+
+
+
+
+
+
+
+ Freedom Fighters (Euro)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+ Combattants de la Liberté (Fra)
+ 198?
+ Radiola
+
+
+
+
+
+
+
+
+ Helicopter Rescue (Euro)
+ 1983
+ Phillips
+
+
+
+
+
+
+
+
+
+ Basket Bowling+ (Fra)
+ 198?
+ Jopac
+
+
+
+
+
+
+
+ Tenpin Bowling/Basketball (Euro, Prototype)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+ Killer Bees (Euro)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+ Loony Balloon (Euro)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+
+ Moto-Crash (Fra)
+ 198?
+ Radiola
+
+
+
+
+
+
+
+
+ Neutron Star (Euro)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+
+ Nightmare (Euro)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+
+ Norseman (Euro)
+ 198?
+ GST Video
+
+
+
+
+
+
+
+
+
+
+ Pickaxe Pete (Euro)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+ Race/Spin-out/Cryptogram (Euro)
+ 1983
+ Phillips
+
+
+
+
+
+
+
+
+ La Ruche Infernale (Fra)
+ 198?
+ Radiola
+
+
+
+
+
+
+
+
+ Satellite Attack (Euro)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+ Stone Sling (Euro)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+ Terrahawks (Euro)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+ Trans American Rally (Euro)
+ 198?
+ Phillips
+
+
+
+
+
+
+
+
+ Le Tresor Englouti (Fra)
+ 198?
+ Radiola
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/hash/interact.xml b/hash/interact.xml
new file mode 100644
index 00000000000..46bb75cbbdd
--- /dev/null
+++ b/hash/interact.xml
@@ -0,0 +1,427 @@
+
+
+
+
+
+
+
+
+
+
+ Blackjack
+ 1978
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Star Track
+ 19??
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+ Concentration
+ 1978
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Video Chess
+ 19??
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Microchess
+ 19??
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+ Backgammon
+ 1978
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Reversi
+ 19??
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+ Add 'Em Up
+ 19??
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Compute-A-Color
+ 19??
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+ Hangman
+ 19??
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Knockdown
+ 1978
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Edu-Basic
+ 19??
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+ Music Maestro
+ 1978
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Regatta
+ 1978
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Trailblazers
+ 1978
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Dogfight
+ 1978
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Showdown
+ 1978
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Computer Maze
+ 19??
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+ Breakthrough
+ 1978
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Volleyball
+ 1979
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Biorhythm
+ 1978
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+ Calculator
+ 1979
+ Interact Electronics
+
+
+
+
+
+
+
+
+
+
+
+ Checkbook Balancer
+ 1978?
+ Micro Video
+
+
+
+
+
+
+
+
+ 16K Diagnostic Tape
+ 19??
+ Micro Video
+
+
+
+
+
+
+
+
+ Earth Outpost I
+ 1980
+ Micro Video
+
+
+
+
+
+
+
+
+ Message Center
+ 1978
+ Micro Video
+
+
+
+
+
+
+
+
+ Microsoft Basic v4.7
+ 1978
+ Microsoft
+
+
+
+
+
+
+
+ Touchdown
+ 19??
+ Micro Video
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/hash/kayproii.xml b/hash/kayproii.xml
new file mode 100644
index 00000000000..645c3cf9ec8
--- /dev/null
+++ b/hash/kayproii.xml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+ CP/M 2.2 Boot Disk (Ger)
+ 19??
+ Digital Research
+
+
+
+
+
+
+
+
+ CP/M 2.2
+ 19??
+ Digital Research
+
+
+
+
+
+
+
+
+
+
+ Perfect Calc v1.00
+ 1982
+ Perfect Software
+
+
+
+
+
+
+
+
+ Perfect Speller
+ 1982
+ Perfect Software
+
+
+
+
+
+
+
+
+ Perfect Writer
+ 1982
+ Perfect Software
+
+
+
+
+
+
+
+
+ Perfect Writer - Docs and Utilities
+ 198?
+ <unknown>
+
+
+
+
+
+
+
+
+ Perfect Writer - Lessons
+ 198?
+ Perfect Software
+
+
+
+
+
+
+
+
+ Profit Plan
+ 1982
+ Chang Laboratories
+
+
+
+
+
+
+
+
+ Select - Teach
+ 1981
+ Select Information Systems
+
+
+
+
+
+
+
+
+ Select - Work Processor
+ 1981
+ Select Information Systems
+
+
+
+
+
+
+
+
+ WordStar v3.3
+ 1983
+ MicroPro
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/hash/mo5_cart.xml b/hash/mo5_cart.xml
new file mode 100644
index 00000000000..71c2e199c7b
--- /dev/null
+++ b/hash/mo5_cart.xml
@@ -0,0 +1,380 @@
+
+
+
+
+
+
+ 6809 Assembler v1.0
+ 1984
+ Microsoft
+
+
+
+
+
+
+
+
+
+ 6809 Assembler v1.0 (Alt)
+ 1984
+ Microsoft
+
+
+
+
+
+
+
+
+
+ 6809 Macro Assembler v3.6 (Hacked)
+ 1984
+ Microsoft
+
+
+
+
+
+
+
+
+
+ Agenda
+ 1984
+ Answare
+
+
+
+
+
+
+
+
+
+ Airbus
+ 1984
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Airbus (Alt)
+ 1984
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Blitz!
+ 1984
+ To Tek
+
+
+
+
+
+
+
+
+
+ Blitz! (Alt)
+ 1984
+ To Tek
+
+
+
+
+
+
+
+
+
+ Carnet d'Adresses
+ 1984
+ Answare
+
+
+
+
+
+
+
+
+
+ Colorcalc
+ 1985
+ FIL
+
+
+
+
+
+
+
+
+
+ Colopaint
+ 1985
+ Thomson
+
+
+
+
+
+
+
+
+
+ Controle Aerien
+ 1984
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Desassembleur Dump & Patch v4.0 (PD)
+ 1986
+ Daniel Coulom
+
+
+
+
+
+
+
+
+
+ Enimatika
+ 1984
+ Answare
+
+
+
+
+
+
+
+
+
+
+ Gemini
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Blitz (Fra)
+ 1986
+ Hebdogiciel
+
+
+
+
+
+
+
+
+
+ Blitz (Fra, Alt)
+ 1986
+ Hebdogiciel
+
+
+
+
+
+
+
+
+
+ La Grille
+ 1985
+ ASELEC
+
+
+
+
+
+
+
+
+
+ Jane
+ 1985
+ Thomson
+
+
+
+
+
+
+
+
+
+ LOGO v1.0
+ 1984
+ Soli
+
+
+
+
+
+
+
+
+
+ LOGO v1.0 (Alt)
+ 1984
+ Soli
+
+
+
+
+
+
+
+
+
+ LSEG-EDL v3.2
+ 1985
+ ASELEC
+
+
+
+
+
+
+
+
+
+ La Maison d'Amedee
+ 1984
+ ASELEC
+
+
+
+
+
+
+
+
+
+ Melimemot
+ 1983
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Melodia
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Miner 2049er
+ 198?
+ To Tek
+
+
+
+
+
+
+
+
+
+ Motus
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ La Peche a la Barre
+ 1984
+ ASELEC
+
+
+
+
+
+
+
+
+
+ Pictor
+ 1983
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Trap
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Tridi444
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+
diff --git a/hash/odyssey2.xml b/hash/odyssey2.xml
new file mode 100644
index 00000000000..d2ee18f79dd
--- /dev/null
+++ b/hash/odyssey2.xml
@@ -0,0 +1,1510 @@
+
+
+
+
+
+
+
+
+
+
+ Computer Programmer (Euro)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Computer Intro (USA)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Newscaster (Euro)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Keyboard Creations! (USA)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Musician (Euro)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+ Type & Tell! (USA)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+
+
+
+ Playschool Maths (Euro) ~ I've Got Your Number (USA)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Mathematician/Echo (Euro) ~ Math-a-Magic!/Echo! (USA)
+ 1978
+ Philips
+
+
+
+
+
+
+
+
+
+ Mathématicien/Echo (Fra)
+ 1980
+ Radiola
+
+
+
+
+
+
+
+
+ Morse (Euro)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+ Morse (Fra)
+ 1983
+ Radiola
+
+
+
+
+
+
+
+ Nimble Numbers Ned! (USA)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+
+ Sid the Spellbinder (USA)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+
+ Verkehrsspiele 1 (Ger)
+ 1982
+ CSV/Philips
+
+
+
+
+
+
+
+ Kinder im Verkehr 1 (Ger)
+ 1982
+ CSV/Philips
+
+
+
+
+
+
+
+ Verkehrsspiele 2 (Ger)
+ 1982
+ CSV/Philips
+
+
+
+
+
+
+
+
+
+ 4 in 1 Row (Euro)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+ 4 en 1 Ligne (Fra)
+ 1982
+ Radiola
+
+
+
+
+
+
+
+ Space Monster (Euro) ~ Alien Invaders - Plus! (USA)
+ 1980
+ Magnavox
+
+
+
+
+
+
+
+
+ Skiing (Euro) ~ Alpine Skiing! (USA)
+ 1979
+ Philips
+
+
+
+
+
+
+
+
+ Ski (Fra)
+ 1979
+ Radiola
+
+
+
+
+
+
+
+ Air-Sea War/Battle (Euro) ~ Armored Encounter!/Sub Chase! (USA)
+ 1978
+ Philips
+
+
+
+
+
+
+
+
+
+ Atlantis (USA, Euro)
+ 1983
+ Imagic
+
+
+
+
+
+
+
+
+ Attack of the Timelord! (USA)
+ 1983
+ Philips
+
+
+
+
+
+
+
+
+ Baseball (Euro) ~ Baseball! (USA)
+ 1980
+ Philips (Euro) ~ Magnavox (USA)
+
+
+
+
+
+
+
+
+ Blobbers (Euro)
+ 1983
+ Philips
+
+
+
+
+
+
+
+
+ Dam Buster (Euro) ~ Blockout!/Breakdown! (USA)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+
+ Le Mûr Magique (Fra)
+ 1981
+ Radiola
+
+
+
+
+
+
+
+ Ten Pin Bowling/Basketball (Euro) ~ Bowling!/Basketball! (USA)
+ 1978
+ Philips
+
+
+
+
+
+
+
+
+
+ Jeu de Quilles/Basketball (Fra)
+ 1978
+ Radiola
+
+
+
+
+
+
+
+
+ Buraco Negro! (Brazil)
+ 1984
+ Philips
+
+
+
+
+
+
+
+ Neutron Star (Euro, Prototype)
+ 1983
+ Philips
+
+
+
+
+
+
+
+ Las Vegas Gambling (Euro) ~ Casino Slot Machine! (USA)
+ 1980
+ Magnavox
+
+
+
+
+
+
+
+
+ Las Vegas (Fra)
+ 1980
+ Radiola
+
+
+
+
+
+
+
+ Catch the Ball/Noughts and Crosses (Euro)
+ 1979
+ Philips
+
+
+
+
+
+
+
+
+
+ O Malabarista!/Jogo da Velha! (Brazil)
+ 1979
+ Philips
+
+
+
+
+
+
+
+
+ Chess (Euro)
+ 198?
+ Philips
+
+
+
+
+
+
+
+
+ Chez Maxime (Fra)
+ 198?
+ Radiola
+
+
+
+
+
+
+
+ Chinese Logic (Euro)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Desafio Chinês! (Brazil)
+ 1980
+ Philips
+
+
+
+
+
+
+
+ Clay Pigeon! (Brazil)
+ 198?
+ Philips
+
+
+
+
+
+
+
+ Comando Noturno! (Brazil)
+ 1983
+ Philips
+
+
+
+
+
+
+
+ Nightfighter (Euro, Prototype)
+ 198?
+ Philips
+
+
+
+
+
+
+
+ Conquest of the World (USA, Euro)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+ Cosmic Conflict (Euro)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+
+ Conflit Cosmique (Can, Fra?)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Cosmic Conflict (Euro, Alt)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Cosmic Conflict! (USA)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+
+ Demon Attack (USA, Euro)
+ 1983
+ Imagic
+
+
+
+
+
+
+
+
+ Depth Charge/Marksman (Euro)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+
+
+ Bombardeio Submarino!/Tiro ao Alvo! (Brazil)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+
+ Electronic Table Football (Euro) ~ Electronic Table Soccer (USA)
+ 1980
+ Magnavox
+
+
+
+
+
+
+
+
+ American Football (Euro) ~ Football! (USA)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Freedom Fighters (Euro) ~ Freedom Fighters! (USA)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+ Frogger (Euro)
+ 1983
+ Parker Brothers
+
+
+
+
+
+
+
+
+
+ Frogger (Brazil)
+ 1983
+ Parker Brothers
+
+
+
+
+
+
+
+
+ Golf (Euro)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Computer Golf! (USA)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ The Great Wall Street Fortune Hunt (USA, Euro)
+ 1983
+ Philips
+
+
+
+
+
+
+
+
+ Wall Street (Brazil)
+ 1983
+ Philips
+
+
+
+
+
+
+
+ Gunfighter (Euro)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Showdown in 2100 A.D. (USA)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Electronic Ice Hockey/Electronic Soccer (Euro) ~ Hockey!/Soccer! (USA)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+
+ Football Electronique/Hockey Electronique (Fra)
+ 1981
+ Radiola
+
+
+
+
+
+
+
+
+ Interpol (Euro, Prototype)
+ 198?
+ GST Video
+
+
+
+
+
+
+
+
+ Jumping Acrobats (Euro)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+
+ Jumping Acrobats (Euro, Alt)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+ P.T. Barnum's Acrobats! (USA)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+
+ Crazy Chase (Euro) ~ K.C.'s Krazy Chase! (USA)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+ Killer Bees! (USA)
+ 1983
+ Philips
+
+
+
+
+
+
+
+
+
+ A Labyrinth Game/Supermind (Euro)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+ Blackjack (Euro) ~ Las Vegas Blackjack! (USA)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Blackjack (Fra)
+ 1980
+ Radiola
+
+
+
+
+
+
+
+ Laser War (Euro)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Guerre Lazer (Fra)
+ 1980
+ Radiola
+
+
+
+
+
+
+
+ Invaders from Hyperspace! (USA)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+ Balão Travesso! (Brazil)
+ 1983
+ Philips
+
+
+
+
+
+
+
+ Loony Balloon (Euro, Prototype)
+ 1983
+ Philips
+
+
+
+
+
+
+
+ Martian Threat (Euro, Prototype)
+ 198?
+ Philips
+
+
+
+
+
+
+
+
+ Pairs/Space Rendezvous/Logic (Euro)
+ 1978
+ Philips
+
+
+
+
+
+
+
+
+
+ Matchmaker!/Buzzword!/Logix! (USA)
+ 1978
+ Magnavox
+
+
+
+
+
+
+
+
+
+ Missão Impossível/Viagem Programada (Bra)
+ 198?
+ Ectron Eletrônica Ltda.
+
+
+
+
+
+
+
+
+ Monkeyshines (Euro) ~ Monkeyshines! (USA)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+
+ The Mousing Cat (Euro)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+ Chat et Souris (Fra)
+ 1983
+ Radiola
+
+
+
+
+
+
+
+ Munchkin (Euro)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+
+ K.C. Munchkin! (USA)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+
+ Phantom House (Euro, Prototype)
+ 1983
+ Philips
+
+
+
+
+
+
+
+ Out of this World!/Helicopter Rescue! (USA)
+ 1979
+ Magnavox
+
+
+
+
+
+
+
+
+
+ Basket Game (Euro) ~ Pachinko! (USA)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+
+ Pickaxe Pete (Euro) ~ Pick Axe Pete! (USA)
+ 1980
+
+ Philips (Euro) ~ Magnavox (USA)
+
+
+
+
+
+
+
+ Pinball! (USA, Prototype)
+ 1979
+ Philips
+
+
+
+
+
+
+
+
+ Plantage ~ Play Tag (Euro, Prototype)
+ 198?
+ Philips
+
+
+
+
+
+
+
+ Electronic Billiards (Euro) ~ Pocket Billiards! (USA)
+ 1978
+ Philips (Euro) ~ Magnavox (USA)
+
+
+
+
+
+
+
+
+
+ Billard Américain (Fra)
+ 1978
+ Radiola
+
+
+
+
+
+
+
+
+ Popeye (Euro)
+ 1983
+ Parker Brothers
+
+
+
+
+
+
+
+
+ Popeye (Brazil)
+ 1983
+ Parker Brothers
+
+
+
+
+
+
+
+
+ Power Lords (USA)
+ 1983
+ Philips
+
+
+
+
+
+
+
+
+
+ Q*bert (Euro)
+ 1983
+ Parker Brothers
+
+
+
+
+
+
+
+
+ Quest for the Rings (USA, Euro)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+
+ La Quête Des Anneux (Fra)
+ 1982
+ Radiola
+
+
+
+
+
+
+
+
+ Barão Vermelho! (Brazil)
+ 198?
+ Philips
+
+
+
+
+
+
+
+ Red Baron (Euro, Prototype)
+ 198?
+ Philips
+
+
+
+
+
+
+
+ Robot City (Euro, Prototype)
+ 198?
+ Philips
+
+
+
+
+
+
+
+ Samurai (Euro)
+ 1980
+ Philips
+
+
+
+
+
+
+
+
+
+ Dynasty! (USA)
+ 1979
+ Philips
+
+
+
+
+
+
+
+
+
+ Satellite Attack (Euro)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+
+ UFO! (USA)
+ 1982
+ Magnavox
+
+
+
+
+
+
+
+
+
+ Syracuse (Fra)
+ 1981
+ Jopac
+
+
+
+
+
+
+
+ Secret of the Pharaohs (Euro)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+ O Segredo do Faraó! (Brazil)
+ 198?
+ Philips
+
+
+
+
+
+
+
+ Shark Hunter (Euro, Prototype)
+ 198?
+ Philips
+
+
+
+
+
+
+
+
+ Race/Spin-Out/Cryptogram (Euro) ~ Speedway/Spin-Out/Crypto-logic (USA)
+ 1978
+ Philips (Euro) ~ Magnavox (USA)
+
+
+
+
+
+
+
+
+
+ Course de Voitures/Autodrome/Cryptogramme (Fra)
+ 1978
+ Radiola
+
+
+
+
+
+
+
+
+ Spider-Man (Euro, Prototype)
+ 198?
+ Parker Brothers
+
+
+
+
+
+
+
+ Stone Sling (Euro)
+ 1981
+ Philips
+
+
+
+
+
+
+
+
+
+ Smithereens! (USA)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+
+ Super Bee (Euro)
+ 1983
+ GST Video
+
+
+
+
+
+
+
+
+
+ Super Bee! (Brazil)
+ 1983
+ Philips
+
+
+
+
+
+
+
+ Super Cobra (Euro)
+ 1983
+ Parker Brothers
+
+
+
+
+
+
+
+ Super Cobra (Brazil)
+ 1983
+ Parker Brothers
+
+
+
+
+
+
+
+ Take the Money and Run (Euro) ~ Take the Money and Run! (USA)
+ 1978
+ Philips (Euro) ~ Magnavox (USA)
+
+
+
+
+
+
+
+
+
+ Prendre l'Argent et Fuir (Fra)
+ 1978
+ Radiola
+
+
+
+
+
+
+
+
+ Flipper Game (Euro) ~ Thunderball! (USA)
+ 1979
+ Philips (Euro) ~ Magnavox (USA)
+
+
+
+
+
+
+
+
+ Flipper (Fra)
+ 1980
+ Radiola
+
+
+
+
+
+
+
+ Turtles (Euro)
+ 1982
+ Philips
+
+
+
+
+
+
+
+
+
+ Turtles (USA)
+ 1983
+ Philips
+
+
+
+
+
+
+
+
+
+ Tutankham (Euro, Prototype)
+ 198?
+ Parker Brothers
+
+
+
+
+
+
+
+
+ Electronic Volleyball (Euro) ~ Volleyball! (USA)
+ 1979
+ Philips (Euro) ~ Magnavox (USA)
+
+
+
+
+
+
+
+
+
+ Volleyball (Fra)
+ 1979
+ Radiola
+
+
+
+
+
+
+
+
+ Battlefield (Euro) ~ War of Nerves! (USA)
+ 1979
+ Philips
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/hash/to770_cart.xml b/hash/to770_cart.xml
new file mode 100644
index 00000000000..8ccd83915a7
--- /dev/null
+++ b/hash/to770_cart.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+ BASIC 128 v1.0
+ 1985
+ Microsoft
+
+
+
+
+
+
+
+
+
diff --git a/hash/to7_cart.xml b/hash/to7_cart.xml
new file mode 100644
index 00000000000..bc9328717b7
--- /dev/null
+++ b/hash/to7_cart.xml
@@ -0,0 +1,390 @@
+
+
+
+
+
+
+ 6809 Assembler v2.0
+ 1986
+ Microsoft
+
+
+
+
+
+
+
+
+
+ 6809 Assembler v1.0
+ 1984
+ Microsoft
+
+
+
+
+
+
+
+
+
+ Airbus
+ 1984
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Atomium
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ BASIC v1.0
+ 1982
+ Thomson
+
+
+
+
+
+
+
+
+
+ Blitz
+ 1984
+ Intelligent Software
+
+
+
+
+
+
+
+
+
+ Caractor II
+ 1984
+ To Tek
+
+
+
+
+
+
+
+
+
+ Caractor
+ 1983
+ To Tek
+
+
+
+
+
+
+
+
+
+ Choplifter
+ 1982
+ To Tek
+
+
+
+
+
+
+
+
+
+ Colorpaint
+ 1985
+ FIL
+
+
+
+
+
+
+
+
+
+ Controle Aerien
+ 1984
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Crypto
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ FORTH-TO7 v1.0
+ 1983
+ To Tek
+
+
+
+
+
+
+
+
+
+ Gemini
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Gerez vos Fiches
+ 1983
+ Answare
+
+
+
+
+
+
+
+
+
+ Gerez Votre Bibliotheque-Discotheque-Videotheque
+ 1983
+ Answare
+
+
+
+
+
+
+
+
+
+ Les Chiffres et Les Lettres
+ 198?
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Logicod
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ LOGO v1.0
+ 1984
+ To Tek
+
+
+
+
+
+
+
+
+
+ Melodia
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Miner 2049er
+ 198?
+ To Tek
+
+
+
+
+
+
+
+
+
+ Motus
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Pictor
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Prolog v1.0
+ 1986
+ FIL
+
+
+
+
+
+
+
+
+
+ Quest
+ 1983
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Scriptor
+ 1984
+ To Tek
+
+
+
+
+
+
+
+
+
+ Threshold
+ 1984
+ To Tek
+
+
+
+
+
+
+
+
+
+ Threshold (English)
+ 1984
+ To Tek
+
+
+
+
+
+
+
+
+
+ Threshold (English) (Alt)
+ 1984
+ To Tek
+
+
+
+
+
+
+
+
+
+ Trap
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Tridi444
+ 1982
+ Vifi Nathan
+
+
+
+
+
+
+
+
+
+ Vidoetex Interactif
+ 1984
+ To Tek
+
+
+
+
+
+
+
+
+
diff --git a/src/mess/drivers/enterp.c b/src/mess/drivers/enterp.c
index e6c448746d0..0520677737e 100644
--- a/src/mess/drivers/enterp.c
+++ b/src/mess/drivers/enterp.c
@@ -432,7 +432,7 @@ static const floppy_interface enterprise_floppy_interface =
DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(enterprise),
- NULL,
+ "floppy_5_25",
NULL
};
@@ -463,6 +463,7 @@ static MACHINE_CONFIG_START( ep64, ep_state )
MCFG_WD1770_ADD("wd1770", enterp_wd1770_interface )
MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(enterprise_floppy_interface)
+ MCFG_SOFTWARE_LIST_ADD("flop_list","ep64")
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
diff --git a/src/mess/drivers/interact.c b/src/mess/drivers/interact.c
index b84850831d7..3a9a520c723 100644
--- a/src/mess/drivers/interact.c
+++ b/src/mess/drivers/interact.c
@@ -110,7 +110,7 @@ static const cassette_interface interact_cassette_interface =
hector_cassette_formats,
&interact_cassette_options,
(cassette_state)(CASSETTE_STOPPED | CASSETTE_MASK_SPEAKER),
- NULL,
+ "interact_cass",
NULL
};
@@ -173,6 +173,7 @@ static MACHINE_CONFIG_START( interact, interact_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_CASSETTE_ADD( CASSETTE_TAG, interact_cassette_interface )
+ MCFG_SOFTWARE_LIST_ADD("cass_list","interact")
/* printer */
MCFG_PRINTER_ADD("printer")
diff --git a/src/mess/drivers/kaypro.c b/src/mess/drivers/kaypro.c
index b088b9fbf6d..2f6087c4c63 100644
--- a/src/mess/drivers/kaypro.c
+++ b/src/mess/drivers/kaypro.c
@@ -230,7 +230,7 @@ static const floppy_interface kaypro2x_floppy_interface =
DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSHD,
LEGACY_FLOPPY_OPTIONS_NAME(kaypro2x),
- NULL,
+ "floppy_5_25",
NULL
};
@@ -272,6 +272,7 @@ static MACHINE_CONFIG_START( kayproii, kaypro_state )
MCFG_Z80SIO_ADD( "z80sio", 4800, kaypro_sio_intf ) /* start at 300 baud */
MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(kayproii_floppy_interface)
+ MCFG_SOFTWARE_LIST_ADD("flop_list","kayproii")
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( kaypro4, kayproii )
diff --git a/src/mess/drivers/odyssey2.c b/src/mess/drivers/odyssey2.c
index 23e965ff328..4c29cf3e5a5 100644
--- a/src/mess/drivers/odyssey2.c
+++ b/src/mess/drivers/odyssey2.c
@@ -654,6 +654,8 @@ static MACHINE_CONFIG_FRAGMENT( odyssey2_cartslot )
MCFG_CARTSLOT_ADD("cart")
MCFG_CARTSLOT_EXTENSION_LIST("bin,rom")
MCFG_CARTSLOT_NOT_MANDATORY
+ MCFG_CARTSLOT_INTERFACE("odyssey_cart")
+ MCFG_SOFTWARE_LIST_ADD("cart_list","odyssey2")
MACHINE_CONFIG_END
@@ -738,6 +740,9 @@ static MACHINE_CONFIG_START( g7400, odyssey2_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
MCFG_FRAGMENT_ADD(odyssey2_cartslot)
+ MCFG_DEVICE_REMOVE("cart_list")
+ MCFG_SOFTWARE_LIST_ADD("cart_list","g7400")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ody2_list","odyssey2")
MACHINE_CONFIG_END
diff --git a/src/mess/drivers/thomson.c b/src/mess/drivers/thomson.c
index cda19210c4f..86ff142b3c6 100644
--- a/src/mess/drivers/thomson.c
+++ b/src/mess/drivers/thomson.c
@@ -130,7 +130,7 @@ static const char layout_thomson[] = "thomson";
static INPUT_PORTS_START( thom_game_port )
/* joysticks, common to CM 90-112 & SX 90-018 */
- PORT_START ( "game_port_directions" )
+ PORT_START ( "game_port_directions" )
PAD ( 0x01, 1, UTF8_UP, JOYSTICK_UP, UP, UP)
PAD ( 0x02, 1, UTF8_DOWN, JOYSTICK_DOWN, DOWN, DOWN )
PAD ( 0x04, 1, UTF8_LEFT, JOYSTICK_LEFT, LEFT, LEFT )
@@ -140,35 +140,35 @@ static INPUT_PORTS_START( thom_game_port )
PAD ( 0x40, 2, UTF8_LEFT, JOYSTICK_LEFT, LEFT, 4_PAD )
PAD ( 0x80, 2, UTF8_RIGHT, JOYSTICK_RIGHT, RIGHT, 6_PAD )
- PORT_START ( "game_port_buttons" )
+ PORT_START ( "game_port_buttons" )
PAD ( 0x40, 1, "Action A", BUTTON1, BUTTON1, LCONTROL )
PAD ( 0x80, 2, "Action A", BUTTON1, BUTTON1, RCONTROL )
/* joysticks, SX 90-018 specific */
PAD ( 0x04, 1, "Action B", BUTTON2, BUTTON2, LALT )
PAD ( 0x08, 2, "Action B", BUTTON2, BUTTON2, RALT )
- PORT_BIT ( 0x30, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT ( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) /* ? */
+ PORT_BIT ( 0x30, IP_ACTIVE_HIGH, IPT_UNUSED )
+ PORT_BIT ( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) /* ? */
/* mouse, SX 90-018 specific */
- PORT_START ( "mouse_x" )
- PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_X )
- PORT_NAME ( "Mouse X" )
- PORT_SENSITIVITY ( 150 )
- PORT_PLAYER (1)
+ PORT_START ( "mouse_x" )
+ PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_X )
+ PORT_NAME ( "Mouse X" )
+ PORT_SENSITIVITY ( 150 )
+ PORT_PLAYER (1)
- PORT_START ( "mouse_y" )
- PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_Y )
- PORT_NAME ( "Mouse Y" )
- PORT_SENSITIVITY ( 150 )
- PORT_PLAYER (1)
+ PORT_START ( "mouse_y" )
+ PORT_BIT ( 0xffff, 0x00, IPT_MOUSE_Y )
+ PORT_NAME ( "Mouse Y" )
+ PORT_SENSITIVITY ( 150 )
+ PORT_PLAYER (1)
- PORT_START ( "mouse_button" )
- PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_NAME ( "Left Mouse Button" )
- PORT_CODE( MOUSECODE_BUTTON1 )
- PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
- PORT_NAME ( "Right Mouse Button" )
+ PORT_START ( "mouse_button" )
+ PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
+ PORT_NAME ( "Left Mouse Button" )
+ PORT_CODE( MOUSECODE_BUTTON1 )
+ PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
+ PORT_NAME ( "Right Mouse Button" )
INPUT_PORTS_END
@@ -177,24 +177,24 @@ INPUT_PORTS_END
static INPUT_PORTS_START( thom_lightpen )
- PORT_START ( "lightpen_x" )
- PORT_BIT ( 0xffff, THOM_TOTAL_WIDTH/2, IPT_LIGHTGUN_X )
- PORT_NAME ( "Lightpen X" )
- PORT_MINMAX( 0, THOM_TOTAL_WIDTH )
- PORT_SENSITIVITY( 50 )
- PORT_CROSSHAIR(X, 1.0, 0.0, 0)
+ PORT_START ( "lightpen_x" )
+ PORT_BIT ( 0xffff, THOM_TOTAL_WIDTH/2, IPT_LIGHTGUN_X )
+ PORT_NAME ( "Lightpen X" )
+ PORT_MINMAX( 0, THOM_TOTAL_WIDTH )
+ PORT_SENSITIVITY( 50 )
+ PORT_CROSSHAIR(X, 1.0, 0.0, 0)
- PORT_START ( "lightpen_y" )
- PORT_BIT ( 0xffff, THOM_TOTAL_HEIGHT/2, IPT_LIGHTGUN_Y )
- PORT_NAME ( "Lightpen Y" )
- PORT_MINMAX ( 0, THOM_TOTAL_HEIGHT )
- PORT_SENSITIVITY( 50 )
- PORT_CROSSHAIR(Y, 1.0, 0.0, 0)
+ PORT_START ( "lightpen_y" )
+ PORT_BIT ( 0xffff, THOM_TOTAL_HEIGHT/2, IPT_LIGHTGUN_Y )
+ PORT_NAME ( "Lightpen Y" )
+ PORT_MINMAX ( 0, THOM_TOTAL_HEIGHT )
+ PORT_SENSITIVITY( 50 )
+ PORT_CROSSHAIR(Y, 1.0, 0.0, 0)
- PORT_START ( "lightpen_button" )
- PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
- PORT_NAME ( "Lightpen Button" )
- PORT_CODE( MOUSECODE_BUTTON1 )
+ PORT_START ( "lightpen_button" )
+ PORT_BIT ( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
+ PORT_NAME ( "Lightpen Button" )
+ PORT_CODE( MOUSECODE_BUTTON1 )
INPUT_PORTS_END
@@ -305,22 +305,22 @@ public:
static ADDRESS_MAP_START ( to7, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to7_vram_w )
- AM_RANGE ( 0x6000, 0x7fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 1 * 8 KB */
- AM_RANGE ( 0x8000, 0xbfff ) AM_NOP /* 16 KB (for extension) */
- AM_RANGE ( 0xc000, 0xdfff ) AM_NOP /* 8 KB (for extension) */
- AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
- AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
- AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
- AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
- AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
+ AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to7_vram_w )
+ AM_RANGE ( 0x6000, 0x7fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 1 * 8 KB */
+ AM_RANGE ( 0x8000, 0xbfff ) AM_NOP /* 16 KB (for extension) */
+ AM_RANGE ( 0xc000, 0xdfff ) AM_NOP /* 8 KB (for extension) */
+ AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
+ AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
+ AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
+ AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x247ff: 18 KB floppy / network ROM controllers */
@@ -340,30 +340,30 @@ ADDRESS_MAP_END
/* external floppy controllers */
#define ROM_FLOPPY( base ) \
/* no controller */ \
- ROM_FILL( base, 0x800, 0x39 ) \
+ ROM_FILL( base, 0x800, 0x39 ) \
/* CD 90-015 (5"1/4) */ \
- ROM_LOAD ( "cd90-015.rom", base+0x800, 0x7c0, \
+ ROM_LOAD ( "cd90-015.rom", base+0x800, 0x7c0, \
CRC(821d34c1) \
SHA1(31a6bb81baaeec5fc8de457c97264f9dfa92c18b) ) \
/* CD 90-640 (5"1/4) */ \
- ROM_LOAD ( "cd90-640.rom", base+0x1000, 0x7c0, \
+ ROM_LOAD ( "cd90-640.rom", base+0x1000, 0x7c0, \
CRC(5114c0a5) \
SHA1(5c72566c22d8160ef0c75959e1863a1309bbbe49) ) \
/* CD 90-351 (3"1/2) */ \
- ROM_LOAD ( "cd-351-0.rom", base+0x1800, 0x7c0, \
+ ROM_LOAD ( "cd-351-0.rom", base+0x1800, 0x7c0, \
CRC(2c0159fd) \
SHA1(bab5395ed8bc7c06f9897897f836054e6546e8e8) ) \
- ROM_LOAD ( "cd-351-1.rom", base+0x2000, 0x7c0, \
+ ROM_LOAD ( "cd-351-1.rom", base+0x2000, 0x7c0, \
CRC(8e58d159) \
SHA1(dcf992c96e7556b2faee6bacd3f744e56998e6ea) ) \
- ROM_LOAD ( "cd-351-2.rom", base+0x2800, 0x7c0, \
+ ROM_LOAD ( "cd-351-2.rom", base+0x2800, 0x7c0, \
CRC(c9228b60) \
SHA1(179e10107d5be91e684069dee80f94847b83201f) ) \
- ROM_LOAD ( "cd-351-3.rom", base+0x3000, 0x7c0, \
+ ROM_LOAD ( "cd-351-3.rom", base+0x3000, 0x7c0, \
CRC(3ca8e5dc) \
SHA1(7118636fb5c597c78c2fce17b02aed5e4ba38635) ) \
/* CQ 90-028 (2"8, aka QDD) */ \
- ROM_LOAD ( "cq90-028.rom", base+0x3800, 0x7c0, \
+ ROM_LOAD ( "cq90-028.rom", base+0x3800, 0x7c0, \
CRC(ca4dba3d) \
SHA1(949c1f777c892da62c242215d79757d61e71e62b) )
@@ -382,112 +382,112 @@ ADDRESS_MAP_END
ROM_START ( to7 )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "to7.rom", 0xe800, 0x1800,
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "to7.rom", 0xe800, 0x1800,
CRC(0e7826da)
SHA1(23a2f84b03c01d385cc1923c8ece95c43756297a) )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
- ROM_FLOPPY7 ( 0x20000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY7 ( 0x20000 )
ROM_END
ROM_START ( t9000 )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "t9000.rom", 0xe800, 0x1800,
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "t9000.rom", 0xe800, 0x1800,
CRC(daa8cfbf)
SHA1(a5735db1ad4e529804fc46603f838d3f4ccaf5cf) )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
- ROM_FLOPPY7 ( 0x20000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY7 ( 0x20000 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( to7_config )
- PORT_START ( "config" )
+ PORT_START ( "config" )
- PORT_CONFNAME ( 0x01, 0x00, "Game Port" )
- PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) )
- PORT_CONFSETTING ( 0x01, "Mouse" )
+ PORT_CONFNAME ( 0x01, 0x00, "Game Port" )
+ PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) )
+ PORT_CONFSETTING ( 0x01, "Mouse" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to7_vconfig )
- PORT_START ( "vconfig" )
+ PORT_START ( "vconfig" )
- PORT_CONFNAME ( 0x03, 0x00, "Border" )
- PORT_CONFSETTING ( 0x00, "Normal (56x47)" )
- PORT_CONFSETTING ( 0x01, "Small (16x16)" )
- PORT_CONFSETTING ( 0x02, DEF_STR ( None ) )
+ PORT_CONFNAME ( 0x03, 0x00, "Border" )
+ PORT_CONFSETTING ( 0x00, "Normal (56x47)" )
+ PORT_CONFSETTING ( 0x01, "Small (16x16)" )
+ PORT_CONFSETTING ( 0x02, DEF_STR ( None ) )
- PORT_CONFNAME ( 0x0c, 0x08, "Resolution" )
- PORT_CONFSETTING ( 0x00, DEF_STR ( Low ) )
- PORT_CONFSETTING ( 0x04, DEF_STR ( High ) )
- PORT_CONFSETTING ( 0x08, "Auto" )
+ PORT_CONFNAME ( 0x0c, 0x08, "Resolution" )
+ PORT_CONFSETTING ( 0x00, DEF_STR ( Low ) )
+ PORT_CONFSETTING ( 0x04, DEF_STR ( High ) )
+ PORT_CONFSETTING ( 0x08, "Auto" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to7_mconfig )
- PORT_START ( "mconfig" )
+ PORT_START ( "mconfig" )
- PORT_CONFNAME ( 0x01, 0x01, "E7FE-F port" )
- PORT_CONFSETTING ( 0x00, "Modem (unemulated)" )
- PORT_CONFSETTING ( 0x01, "Speech" )
+ PORT_CONFNAME ( 0x01, 0x01, "E7FE-F port" )
+ PORT_CONFSETTING ( 0x00, "Modem (unemulated)" )
+ PORT_CONFSETTING ( 0x01, "Speech" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to7_fconfig )
- PORT_START ( "fconfig" )
+ PORT_START ( "fconfig" )
- PORT_CONFNAME ( 0x07, 0x03, "Floppy (reset)" )
- PORT_CONFSETTING ( 0x00, DEF_STR ( None ) )
- PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" )
- PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" )
- PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" )
- PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" )
- PORT_CONFSETTING ( 0x05, "Network" )
+ PORT_CONFNAME ( 0x07, 0x03, "Floppy (reset)" )
+ PORT_CONFSETTING ( 0x00, DEF_STR ( None ) )
+ PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" )
+ PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" )
+ PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" )
+ PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" )
+ PORT_CONFSETTING ( 0x05, "Network" )
- PORT_CONFNAME ( 0xf8, 0x08, "Network ID" )
- PORT_CONFSETTING ( 0x00, "0 (Master)" )
- PORT_CONFSETTING ( 0x08, "1" )
- PORT_CONFSETTING ( 0x10, "2" )
- PORT_CONFSETTING ( 0x18, "3" )
- PORT_CONFSETTING ( 0x20, "4" )
- PORT_CONFSETTING ( 0x28, "5" )
- PORT_CONFSETTING ( 0x30, "6" )
- PORT_CONFSETTING ( 0x38, "7" )
- PORT_CONFSETTING ( 0x40, "8" )
- PORT_CONFSETTING ( 0x48, "9" )
- PORT_CONFSETTING ( 0x50, "10" )
- PORT_CONFSETTING ( 0x58, "11" )
- PORT_CONFSETTING ( 0x60, "12" )
- PORT_CONFSETTING ( 0x68, "13" )
- PORT_CONFSETTING ( 0x70, "14" )
- PORT_CONFSETTING ( 0x78, "15" )
- PORT_CONFSETTING ( 0x80, "16" )
- PORT_CONFSETTING ( 0x88, "17" )
- PORT_CONFSETTING ( 0x90, "18" )
- PORT_CONFSETTING ( 0x98, "19" )
- PORT_CONFSETTING ( 0xa0, "20" )
- PORT_CONFSETTING ( 0xa8, "21" )
- PORT_CONFSETTING ( 0xb0, "22" )
- PORT_CONFSETTING ( 0xb8, "23" )
- PORT_CONFSETTING ( 0xc0, "24" )
- PORT_CONFSETTING ( 0xc8, "25" )
- PORT_CONFSETTING ( 0xd0, "26" )
- PORT_CONFSETTING ( 0xd8, "27" )
- PORT_CONFSETTING ( 0xe0, "28" )
- PORT_CONFSETTING ( 0xe8, "29" )
- PORT_CONFSETTING ( 0xf0, "30" )
- PORT_CONFSETTING ( 0xf8, "31" )
+ PORT_CONFNAME ( 0xf8, 0x08, "Network ID" )
+ PORT_CONFSETTING ( 0x00, "0 (Master)" )
+ PORT_CONFSETTING ( 0x08, "1" )
+ PORT_CONFSETTING ( 0x10, "2" )
+ PORT_CONFSETTING ( 0x18, "3" )
+ PORT_CONFSETTING ( 0x20, "4" )
+ PORT_CONFSETTING ( 0x28, "5" )
+ PORT_CONFSETTING ( 0x30, "6" )
+ PORT_CONFSETTING ( 0x38, "7" )
+ PORT_CONFSETTING ( 0x40, "8" )
+ PORT_CONFSETTING ( 0x48, "9" )
+ PORT_CONFSETTING ( 0x50, "10" )
+ PORT_CONFSETTING ( 0x58, "11" )
+ PORT_CONFSETTING ( 0x60, "12" )
+ PORT_CONFSETTING ( 0x68, "13" )
+ PORT_CONFSETTING ( 0x70, "14" )
+ PORT_CONFSETTING ( 0x78, "15" )
+ PORT_CONFSETTING ( 0x80, "16" )
+ PORT_CONFSETTING ( 0x88, "17" )
+ PORT_CONFSETTING ( 0x90, "18" )
+ PORT_CONFSETTING ( 0x98, "19" )
+ PORT_CONFSETTING ( 0xa0, "20" )
+ PORT_CONFSETTING ( 0xa8, "21" )
+ PORT_CONFSETTING ( 0xb0, "22" )
+ PORT_CONFSETTING ( 0xb8, "23" )
+ PORT_CONFSETTING ( 0xc0, "24" )
+ PORT_CONFSETTING ( 0xc8, "25" )
+ PORT_CONFSETTING ( 0xd0, "26" )
+ PORT_CONFSETTING ( 0xd8, "27" )
+ PORT_CONFSETTING ( 0xe0, "28" )
+ PORT_CONFSETTING ( 0xe8, "29" )
+ PORT_CONFSETTING ( 0xf0, "30" )
+ PORT_CONFSETTING ( 0xf8, "31" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to7_keyboard )
- PORT_START ( "keyboard_0" )
+ PORT_START ( "keyboard_0" )
KEY ( 0, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1)
- PORT_BIT ( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_1" )
+ PORT_BIT ( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_1" )
KEY ( 0, "W", W ) PORT_CHAR('W')
KEY ( 1, UTF8_UP, UP ) PORT_CHAR(UCHAR_MAMEKEY(UP))
KEY ( 2, "C \303\247", C ) PORT_CHAR('C')
@@ -496,7 +496,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
KEY ( 6, "Accent", END ) PORT_CHAR(UCHAR_MAMEKEY(END))
KEY ( 7, "Stop", TAB ) PORT_CHAR(27)
- PORT_START ( "keyboard_2" )
+ PORT_START ( "keyboard_2" )
KEY ( 0, "X", X ) PORT_CHAR('X')
KEY ( 1, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
KEY ( 2, "V", V ) PORT_CHAR('V')
@@ -505,7 +505,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "A", A ) PORT_CHAR('A')
KEY ( 6, "+ ;", EQUALS ) PORT_CHAR('+') PORT_CHAR(';')
KEY ( 7, "1 !", 1 ) PORT_CHAR('1') PORT_CHAR('!')
- PORT_START ( "keyboard_3" )
+ PORT_START ( "keyboard_3" )
KEY ( 0, "Space Caps-Lock", SPACE ) PORT_CHAR(' ') PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
KEY ( 1, UTF8_DOWN, DOWN ) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
KEY ( 2, "B", B ) PORT_CHAR('B')
@@ -514,7 +514,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "Z \305\223", Z) PORT_CHAR('Z')
KEY ( 6, "- =", MINUS ) PORT_CHAR('-') PORT_CHAR('=')
KEY ( 7, "2 \" \302\250", 2 ) PORT_CHAR('2') PORT_CHAR('"')
- PORT_START ( "keyboard_4" )
+ PORT_START ( "keyboard_4" )
KEY ( 0, "@ \342\206\221", TILDE ) PORT_CHAR('@')
KEY ( 1, UTF8_RIGHT, RIGHT ) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
KEY ( 2, "M", M ) PORT_CHAR('M')
@@ -523,7 +523,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "E", E ) PORT_CHAR('E')
KEY ( 6, "0 \140", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 )
KEY ( 7, "3 #", 3 ) PORT_CHAR('3') PORT_CHAR('#')
- PORT_START ( "keyboard_5" )
+ PORT_START ( "keyboard_5" )
KEY ( 0, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>')
KEY ( 1, "Home", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME))
KEY ( 2, "L", L ) PORT_CHAR('L')
@@ -532,7 +532,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "R", R ) PORT_CHAR('R')
KEY ( 6, "9 )", 9 ) PORT_CHAR('9') PORT_CHAR(')')
KEY ( 7, "4 $", 4 ) PORT_CHAR('4') PORT_CHAR('$')
- PORT_START ( "keyboard_6" )
+ PORT_START ( "keyboard_6" )
KEY ( 0, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<')
KEY ( 1, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
KEY ( 2, "K", K ) PORT_CHAR('K')
@@ -541,7 +541,7 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 5, "T", T ) PORT_CHAR('T')
KEY ( 6, "8 (", 8 ) PORT_CHAR('8') PORT_CHAR('(')
KEY ( 7, "5 %", 5 ) PORT_CHAR('5') PORT_CHAR('%')
- PORT_START ( "keyboard_7" )
+ PORT_START ( "keyboard_7" )
KEY ( 0, "N", N ) PORT_CHAR('N')
KEY ( 1, "Delete", DEL ) PORT_CHAR(8)
KEY ( 2, "J \305\222", J ) PORT_CHAR('J')
@@ -552,23 +552,23 @@ static INPUT_PORTS_START ( to7_keyboard )
KEY ( 7, "6 &", 6 ) PORT_CHAR('6') PORT_CHAR('&')
/* unused */
- PORT_START ( "keyboard_8" )
- PORT_START ( "keyboard_9" )
+ PORT_START ( "keyboard_8" )
+ PORT_START ( "keyboard_9" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to7 )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( to7_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to7_fconfig )
- PORT_INCLUDE ( to7_vconfig )
- PORT_INCLUDE ( to7_mconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( to7_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to7_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( to7_mconfig )
INPUT_PORTS_END
static INPUT_PORTS_START ( t9000 )
- PORT_INCLUDE ( to7 )
+ PORT_INCLUDE ( to7 )
INPUT_PORTS_END
static const floppy_interface thomson_floppy_interface =
@@ -623,76 +623,78 @@ const serial_image_interface to7_modem_config =
static MACHINE_CONFIG_START( to7, thomson_state )
- MCFG_MACHINE_START ( to7 )
- MCFG_MACHINE_RESET ( to7 )
+ MCFG_MACHINE_START ( to7 )
+ MCFG_MACHINE_RESET ( to7 )
/* cpu */
- MCFG_CPU_ADD ( "maincpu", M6809, 1000000 )
- MCFG_CPU_PROGRAM_MAP ( to7)
+ MCFG_CPU_ADD ( "maincpu", M6809, 1000000 )
+ MCFG_CPU_PROGRAM_MAP ( to7)
/* video */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE ( /*50*/ 1./0.019968 )
- MCFG_SCREEN_SIZE ( THOM_TOTAL_WIDTH * 2, THOM_TOTAL_HEIGHT )
- MCFG_SCREEN_VISIBLE_AREA ( 0, THOM_TOTAL_WIDTH * 2 - 1,
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE ( /*50*/ 1./0.019968 )
+ MCFG_SCREEN_SIZE ( THOM_TOTAL_WIDTH * 2, THOM_TOTAL_HEIGHT )
+ MCFG_SCREEN_VISIBLE_AREA ( 0, THOM_TOTAL_WIDTH * 2 - 1,
0, THOM_TOTAL_HEIGHT - 1 )
- MCFG_SCREEN_UPDATE_STATIC ( thom )
- MCFG_SCREEN_VBLANK_STATIC ( thom )
+ MCFG_SCREEN_UPDATE_STATIC ( thom )
+ MCFG_SCREEN_VBLANK_STATIC ( thom )
- MCFG_PALETTE_LENGTH ( 4097 ) /* 12-bit color + transparency */
- MCFG_PALETTE_INIT ( thom )
- MCFG_VIDEO_START ( thom )
- MCFG_DEFAULT_LAYOUT( layout_thomson )
+ MCFG_PALETTE_LENGTH ( 4097 ) /* 12-bit color + transparency */
+ MCFG_PALETTE_INIT ( thom )
+ MCFG_VIDEO_START ( thom )
+ MCFG_DEFAULT_LAYOUT( layout_thomson )
/* sound */
- MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_SOUND_ADD ( "buzzer", DAC, 0 )
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 1-bit buzzer */
- MCFG_SOUND_ADD ( "dac", DAC, 0 )
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 6-bit game extention DAC */
- MCFG_SOUND_ADD ( "speech", DAC, 0 )
- MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* speech synthesis */
+ MCFG_SPEAKER_STANDARD_MONO("mono")
+ MCFG_SOUND_ADD ( "buzzer", DAC, 0 )
+ MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 1-bit buzzer */
+ MCFG_SOUND_ADD ( "dac", DAC, 0 )
+ MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* 6-bit game extention DAC */
+ MCFG_SOUND_ADD ( "speech", DAC, 0 )
+ MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.) /* speech synthesis */
/* printer */
- MCFG_CENTRONICS_PRINTER_ADD("centronics", to7_centronics_config)
+ MCFG_CENTRONICS_PRINTER_ADD("centronics", to7_centronics_config)
/* cassette */
- MCFG_CASSETTE_ADD( CASSETTE_TAG, to7_cassette_interface )
+ MCFG_CASSETTE_ADD( CASSETTE_TAG, to7_cassette_interface )
/* timer */
- MCFG_MC6846_ADD( "mc6846", to7_timer )
+ MCFG_MC6846_ADD( "mc6846", to7_timer )
/* speech synthesis */
- MCFG_MEA8000_ADD( "mea8000", to7_speech )
+ MCFG_MEA8000_ADD( "mea8000", to7_speech )
/* floppy */
- MCFG_MC6843_ADD( "mc6843", to7_6843_itf )
- MCFG_WD2793_ADD( "wd2793", default_wd17xx_interface )
- MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(thomson_floppy_interface)
+ MCFG_MC6843_ADD( "mc6843", to7_6843_itf )
+ MCFG_WD2793_ADD( "wd2793", default_wd17xx_interface )
+ MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(thomson_floppy_interface)
/* network */
- MCFG_MC6854_ADD( "mc6854", to7_network_iface )
+ MCFG_MC6854_ADD( "mc6854", to7_network_iface )
/* pia */
- MCFG_PIA6821_ADD( THOM_PIA_SYS, to7_pia6821_sys )
- MCFG_PIA6821_ADD( THOM_PIA_IO, to7_pia6821_io )
- MCFG_PIA6821_ADD( THOM_PIA_GAME, to7_pia6821_game )
- MCFG_PIA6821_ADD( THOM_PIA_MODEM, to7_pia6821_modem )
+ MCFG_PIA6821_ADD( THOM_PIA_SYS, to7_pia6821_sys )
+ MCFG_PIA6821_ADD( THOM_PIA_IO, to7_pia6821_io )
+ MCFG_PIA6821_ADD( THOM_PIA_GAME, to7_pia6821_game )
+ MCFG_PIA6821_ADD( THOM_PIA_MODEM, to7_pia6821_modem )
/* acia */
- MCFG_ACIA6551_ADD("acia")
+ MCFG_ACIA6551_ADD("acia")
/* to7 serial io line */
- MCFG_TO7_IO_LINE_ADD("to7_io")
+ MCFG_TO7_IO_LINE_ADD("to7_io")
/* modem */
- MCFG_ACIA6850_ADD( "acia6850", to7_modem )
+ MCFG_ACIA6850_ADD( "acia6850", to7_modem )
/* cartridge */
- MCFG_CARTSLOT_ADD("cart")
- MCFG_CARTSLOT_EXTENSION_LIST("m7,rom")
- MCFG_CARTSLOT_NOT_MANDATORY
- MCFG_CARTSLOT_LOAD(to7_cartridge)
+ MCFG_CARTSLOT_ADD("cart")
+ MCFG_CARTSLOT_EXTENSION_LIST("m7,rom")
+ MCFG_CARTSLOT_NOT_MANDATORY
+ MCFG_CARTSLOT_LOAD(to7_cartridge)
+ MCFG_CARTSLOT_INTERFACE("to7_cart")
+ MCFG_SOFTWARE_LIST_ADD("cart_list","to7_cart")
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)
@@ -764,22 +766,22 @@ In arabic mode, Ctrl+E / Ctrl+X to start / stop typing in-line latin.
static ADDRESS_MAP_START ( to770, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */
- AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 6 * 16 KB */
- AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
- AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
- AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to770_gatearray_r, to770_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
- AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
- AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
+ AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to7_cartridge_w ) /* 4 * 16 KB */
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */
+ AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 6 * 16 KB */
+ AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
+ AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7d0, 0xe7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
+ AM_RANGE ( 0xe7e0, 0xe7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to770_gatearray_r, to770_gatearray_w )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
+ AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x247ff: 18 KB floppy / network ROM controllers */
@@ -797,38 +799,38 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( to770 )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "to770.rom", 0xe800, 0x1800, /* BIOS */
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "to770.rom", 0xe800, 0x1800, /* BIOS */
CRC(89518862)
SHA1(cd34474c0bcc758f6d71c90fbd40cef379d61374) )
- ROM_FLOPPY7 ( 0x20000 )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY7 ( 0x20000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
ROM_END
ROM_START ( to770a )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "to770a.rom", 0xe800, 0x1800,
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "to770a.rom", 0xe800, 0x1800,
CRC(378ea808)
SHA1(f4575b537dfdb46ff2a0e7cbe8dfe4ba63161b8e) )
- ROM_FLOPPY7 ( 0x20000 )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY7 ( 0x20000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( to770 )
- PORT_INCLUDE ( to7 )
+ PORT_INCLUDE ( to7 )
- PORT_MODIFY ( "keyboard_1" )
+ PORT_MODIFY ( "keyboard_1" )
KEY ( 2, "C \302\250 \303\247", C ) PORT_CHAR('C')
- PORT_MODIFY ( "keyboard_4" )
+ PORT_MODIFY ( "keyboard_4" )
KEY ( 6, "0 \140 \303\240", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 )
- PORT_MODIFY ( "keyboard_5" )
+ PORT_MODIFY ( "keyboard_5" )
KEY ( 6, "9 ) \303\247", 9 ) PORT_CHAR('9') PORT_CHAR(')')
- PORT_MODIFY ( "keyboard_6" )
+ PORT_MODIFY ( "keyboard_6" )
KEY ( 6, "8 ( \303\271", 8 ) PORT_CHAR('8') PORT_CHAR('(')
- PORT_MODIFY ( "keyboard_7" )
+ PORT_MODIFY ( "keyboard_7" )
KEY ( 6, "7 ' \303\250 \302\264", 7 ) PORT_CHAR('7') PORT_CHAR('\'')
KEY ( 7, "6 & \303\251", 6 ) PORT_CHAR('6') PORT_CHAR('&')
@@ -836,28 +838,28 @@ INPUT_PORTS_END
/* arabic version (QWERTY keyboard) */
static INPUT_PORTS_START ( to770a )
- PORT_INCLUDE ( to770 )
+ PORT_INCLUDE ( to770 )
- PORT_MODIFY ( "keyboard_1" )
+ PORT_MODIFY ( "keyboard_1" )
KEY ( 0, "Z", Z ) PORT_CHAR('Z')
- PORT_MODIFY ( "keyboard_2" )
+ PORT_MODIFY ( "keyboard_2" )
KEY ( 3, "A", A ) PORT_CHAR('A')
KEY ( 4, "/ ?", QUOTE ) PORT_CHAR('/') PORT_CHAR('?')
KEY ( 5, "Q", Q ) PORT_CHAR('Q')
- PORT_MODIFY ( "keyboard_3" )
+ PORT_MODIFY ( "keyboard_3" )
KEY ( 4, "* :", SLASH ) PORT_CHAR('*') PORT_CHAR(':')
KEY ( 5, "W", W) PORT_CHAR('W')
- PORT_MODIFY ( "keyboard_4" )
+ PORT_MODIFY ( "keyboard_4" )
KEY ( 0, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>')
KEY ( 2, "@ \342\206\221", TILDE ) PORT_CHAR('@') PORT_CHAR('^')
KEY ( 6, "0 \302\243 \302\260 \140", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 )
- PORT_MODIFY ( "keyboard_5" )
+ PORT_MODIFY ( "keyboard_5" )
KEY ( 0, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<')
KEY ( 6, "9 ) \303\261", 9 ) PORT_CHAR('9') PORT_CHAR(')')
- PORT_MODIFY ( "keyboard_6" )
+ PORT_MODIFY ( "keyboard_6" )
KEY ( 0, "M", M ) PORT_CHAR('M')
KEY ( 6, "8 ( \303\274", 8 ) PORT_CHAR('8') PORT_CHAR('(')
- PORT_MODIFY ( "keyboard_7" )
+ PORT_MODIFY ( "keyboard_7" )
KEY ( 6, "7 ' \303\266 \302\264", 7 ) PORT_CHAR('7') PORT_CHAR('\'')
KEY ( 7, "6 & \303\244", 6 ) PORT_CHAR('6') PORT_CHAR('&')
@@ -877,6 +879,11 @@ static MACHINE_CONFIG_DERIVED( to770, to7 )
MCFG_MC6846_MODIFY( "mc6846", to770_timer )
+ MCFG_CARTSLOT_MODIFY("cart")
+ MCFG_CARTSLOT_INTERFACE("to770_cart")
+ MCFG_DEVICE_REMOVE("cart_list")
+ MCFG_SOFTWARE_LIST_ADD("cart_list","to770_cart")
+
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("128K")
@@ -952,20 +959,20 @@ Differences include:
static ADDRESS_MAP_START ( mo5, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x2000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK )
- AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo5_ext_w )
- AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xa7d0, 0xa7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
- AM_RANGE ( 0xa7e0, 0xa7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
- AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo5_gatearray_r, mo5_gatearray_w )
- AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
- AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
- AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo5_cartridge_w )
- AM_RANGE ( 0xf000, 0xffff ) AM_ROM /* system bios */
+ AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x2000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK )
+ AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo5_ext_w )
+ AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xa7d0, 0xa7df ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
+ AM_RANGE ( 0xa7e0, 0xa7e3 ) AM_DEVREADWRITE( "pia_2", pia6821_device, read_alt, write_alt )
+ AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo5_gatearray_r, mo5_gatearray_w )
+ AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
+ AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo5_cartridge_w )
+ AM_RANGE ( 0xf000, 0xffff ) AM_ROM /* system bios */
/* 0x10000 - 0x1ffff: 16 KB integrated BASIC / 64 KB external cartridge */
/* 0x20000 - 0x247ff: 18 KB floppy / network ROM controllers */
@@ -983,61 +990,61 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( mo5 )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "mo5.rom", 0xf000, 0x1000,
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "mo5.rom", 0xf000, 0x1000,
CRC(f0ea9140)
SHA1(36ce2d3df1866ec2fe368c1c28757e2f5401cf44) )
- ROM_LOAD ( "basic5.rom", 0x11000, 0x3000,
+ ROM_LOAD ( "basic5.rom", 0x11000, 0x3000,
CRC(c2c11b9d)
SHA1(512dd40fb45bc2b51a24c84b3723a32bc8e80c06) )
- ROM_FLOPPY5 ( 0x20000 )
+ ROM_FLOPPY5 ( 0x20000 )
ROM_END
ROM_START ( mo5e )
- ROM_REGION ( 0x24800, "maincpu", 0 )
- ROM_LOAD ( "mo5e.rom", 0xf000, 0x1000,
+ ROM_REGION ( 0x24800, "maincpu", 0 )
+ ROM_LOAD ( "mo5e.rom", 0xf000, 0x1000,
CRC(6520213a)
SHA1(f17a7a59baf2819ec80991b34b204795536a5e01) )
- ROM_LOAD ( "basic5e.rom", 0x11000, 0x3000,
+ ROM_LOAD ( "basic5e.rom", 0x11000, 0x3000,
CRC(934a72b2)
SHA1(b37e2b1afbfba368c19be87b3bf61dfe6ad8b0bb) )
- ROM_FLOPPY5 ( 0x20000 )
+ ROM_FLOPPY5 ( 0x20000 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( mo5 )
- PORT_INCLUDE ( to770 )
+ PORT_INCLUDE ( to770 )
- PORT_MODIFY ( "keyboard_0" )
+ PORT_MODIFY ( "keyboard_0" )
KEY ( 1, "BASIC", RCONTROL) PORT_CHAR(UCHAR_MAMEKEY(RCONTROL))
- PORT_BIT ( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT ( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
/* QWERTY version */
static INPUT_PORTS_START ( mo5e )
- PORT_INCLUDE ( mo5 )
+ PORT_INCLUDE ( mo5 )
- PORT_MODIFY ( "keyboard_1" )
+ PORT_MODIFY ( "keyboard_1" )
KEY ( 0, "Z", Z ) PORT_CHAR('Z')
- PORT_MODIFY ( "keyboard_2" )
+ PORT_MODIFY ( "keyboard_2" )
KEY ( 3, "A", A ) PORT_CHAR('A')
KEY ( 5, "Q", Q ) PORT_CHAR('Q')
- PORT_MODIFY ( "keyboard_3" )
+ PORT_MODIFY ( "keyboard_3" )
KEY ( 5, "W", W) PORT_CHAR('W')
- PORT_MODIFY ( "keyboard_4" )
+ PORT_MODIFY ( "keyboard_4" )
KEY ( 0, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>')
KEY ( 2, "@ \342\206\221", TILDE ) PORT_CHAR('@') PORT_CHAR('^')
KEY ( 6, "0 \302\243 \302\260 \140", 0 ) PORT_CHAR('0') PORT_CHAR( 0140 )
- PORT_MODIFY ( "keyboard_5" )
+ PORT_MODIFY ( "keyboard_5" )
KEY ( 0, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<')
KEY ( 6, "9 ) \303\261", 9 ) PORT_CHAR('9') PORT_CHAR(')')
- PORT_MODIFY ( "keyboard_6" )
+ PORT_MODIFY ( "keyboard_6" )
KEY ( 0, "M", M ) PORT_CHAR('M')
KEY ( 6, "8 ( \303\274", 8 ) PORT_CHAR('8') PORT_CHAR('(')
- PORT_MODIFY ( "keyboard_7" )
+ PORT_MODIFY ( "keyboard_7" )
KEY ( 6, "7 ' \303\266 \302\264", 7 ) PORT_CHAR('7') PORT_CHAR('\'')
KEY ( 7, "6 & \303\244", 6 ) PORT_CHAR('6') PORT_CHAR('&')
@@ -1046,21 +1053,25 @@ INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( mo5, to7 )
- MCFG_MACHINE_START ( mo5 )
- MCFG_MACHINE_RESET ( mo5 )
+ MCFG_MACHINE_START ( mo5 )
+ MCFG_MACHINE_RESET ( mo5 )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( mo5)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( mo5)
- MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface )
+ MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface )
- MCFG_DEVICE_REMOVE( "mc6846" )
+ MCFG_DEVICE_REMOVE( "mc6846" )
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, mo5_pia6821_sys )
MCFG_CARTSLOT_MODIFY("cart")
MCFG_CARTSLOT_EXTENSION_LIST("m5,rom")
MCFG_CARTSLOT_LOAD(mo5_cartridge)
+ MCFG_CARTSLOT_INTERFACE("mo5_cart")
+
+ MCFG_DEVICE_REMOVE("cart_list")
+ MCFG_SOFTWARE_LIST_ADD("cart_list","mo5_cart")
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
@@ -1150,24 +1161,24 @@ It was replaced quickly with the improved TO9+.
static ADDRESS_MAP_START ( to9, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to9_cartridge_w )/* 4 * 16 KB */
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */
- AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 10 * 16 KB */
- AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
- AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to9_floppy_r, to9_floppy_w )
- AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to9_vreg_r, to9_vreg_w )
- AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
- AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to9_gatearray_r, to9_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK ) AM_WRITE_LEGACY(to9_cartridge_w )/* 4 * 16 KB */
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK ) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x6000, 0x9fff ) AM_RAMBANK ( THOM_BASE_BANK ) /* 16 KB */
+ AM_RANGE ( 0xa000, 0xdfff ) AM_RAMBANK ( THOM_RAM_BANK ) /* 10 * 16 KB */
+ AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
+ AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to9_floppy_r, to9_floppy_w )
+ AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to9_vreg_r, to9_vreg_w )
+ AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
+ AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to9_gatearray_r, to9_gatearray_w )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
/* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
- AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
- AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
+ AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
+ AM_RANGE ( 0xe800, 0xffff ) AM_ROM /* system bios */
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x3ffff: 128 KB internal software ROM */
@@ -1191,47 +1202,47 @@ ADDRESS_MAP_END
*/
ROM_START ( to9 )
- ROM_REGION ( 0x44800, "maincpu", 0 )
- ROM_LOAD ( "to9.rom", 0xe000, 0x2000, /* BIOS & floppy controller */
+ ROM_REGION ( 0x44800, "maincpu", 0 )
+ ROM_LOAD ( "to9.rom", 0xe000, 0x2000, /* BIOS & floppy controller */
CRC(f9278bf7)
SHA1(9e99e6ae0285950f007b19161de642a4031fe46e) )
/* BASIC & software */
- ROM_LOAD ( "basic9-0.rom", 0x20000, 0x4000,
+ ROM_LOAD ( "basic9-0.rom", 0x20000, 0x4000,
CRC(c7bac620)
SHA1(4b2a8b30cf437858ce978ba7b0dfa2bbd57eb38a) )
- ROM_LOAD ( "basic9-1.rom", 0x24000, 0x4000,
+ ROM_LOAD ( "basic9-1.rom", 0x24000, 0x4000,
CRC(ea5f3e43)
SHA1(5e58a29c2d117fcdb1f5e7ca31dbfffa0f9218f2) )
- ROM_LOAD ( "basic9-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basic9-2.rom", 0x28000, 0x4000,
CRC(0f5581b3)
SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) )
- ROM_LOAD ( "basic9-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basic9-3.rom", 0x2c000, 0x4000,
CRC(6b5b19e3)
SHA1(0e832670c185694d9abbcebcc3ad90e94eed585d) )
- ROM_LOAD ( "soft9-0a.rom", 0x30000, 0x4000,
+ ROM_LOAD ( "soft9-0a.rom", 0x30000, 0x4000,
CRC(8cee157e)
SHA1(f32fc39b95890c00571e9f3fbcc2d8e0596fc4a1) )
- ROM_LOAD ( "soft9-1a.rom", 0x34000, 0x4000,
+ ROM_LOAD ( "soft9-1a.rom", 0x34000, 0x4000,
CRC(cf39ac93)
SHA1(b97e6b7389398e5706624973c11ee7ddba323ce1) )
- ROM_LOAD ( "soft9-0b.rom", 0x38000, 0x4000,
+ ROM_LOAD ( "soft9-0b.rom", 0x38000, 0x4000,
CRC(033aee3f)
SHA1(f3604e500329ec0489b05dbab05530322e9463c5) )
- ROM_LOAD ( "soft9-1b.rom", 0x3c000, 0x4000,
+ ROM_LOAD ( "soft9-1b.rom", 0x3c000, 0x4000,
CRC(214fe527)
SHA1(0d8e3f1ca347026e906c3d00a0371e8238c44a60) )
- ROM_FLOPPY7( 0x40000 )
+ ROM_FLOPPY7( 0x40000 )
- ROM_FILL( 0x10000, 0x10000, 0x39 )
+ ROM_FILL( 0x10000, 0x10000, 0x39 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( to9_keyboard )
- PORT_START ( "keyboard_0" )
+ PORT_START ( "keyboard_0" )
KEY ( 0, "F2 F7", F2 ) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_CHAR(UCHAR_MAMEKEY(F7))
KEY ( 1, "_ 6", 6 ) PORT_CHAR('_') PORT_CHAR('6')
KEY ( 2, "Y", Y ) PORT_CHAR('Y')
@@ -1240,7 +1251,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, UTF8_RIGHT, RIGHT ) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
KEY ( 6, "Home Clear", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_CHAR(UCHAR_MAMEKEY(ESC))
KEY ( 7, "N", N ) PORT_CHAR('N')
- PORT_START ( "keyboard_1" )
+ PORT_START ( "keyboard_1" )
KEY ( 0, "F3 F8", F3 ) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_CHAR(UCHAR_MAMEKEY(F8))
KEY ( 1, "( 5", 5 ) PORT_CHAR('(') PORT_CHAR('5')
KEY ( 2, "T", T ) PORT_CHAR('T')
@@ -1249,7 +1260,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
KEY ( 6, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
KEY ( 7, "B \302\264", B ) PORT_CHAR('B')
- PORT_START ( "keyboard_2" )
+ PORT_START ( "keyboard_2" )
KEY ( 0, "F4 F9", F4 ) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_CHAR(UCHAR_MAMEKEY(F9))
KEY ( 1, "' 4", 4 ) PORT_CHAR('\'') PORT_CHAR('4')
KEY ( 2, "R", R ) PORT_CHAR('R')
@@ -1258,7 +1269,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "Keypad 1", 1_PAD ) PORT_CHAR(UCHAR_MAMEKEY(1_PAD))
KEY ( 6, "Delete Backspace", DEL ) PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE))
KEY ( 7, "V", V ) PORT_CHAR('V')
- PORT_START ( "keyboard_3" )
+ PORT_START ( "keyboard_3" )
KEY ( 0, "F5 F10", F5 ) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_CHAR(UCHAR_MAMEKEY(F10))
KEY ( 1, "\" 3", 3 ) PORT_CHAR('"') PORT_CHAR('3')
KEY ( 2, "E", E ) PORT_CHAR('E')
@@ -1267,7 +1278,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "Keypad 4", 4_PAD ) PORT_CHAR(UCHAR_MAMEKEY(4_PAD))
KEY ( 6, "Keypad 0", 0_PAD ) PORT_CHAR(UCHAR_MAMEKEY(0_PAD))
KEY ( 7, "C \136", C ) PORT_CHAR('C')
- PORT_START ( "keyboard_4" )
+ PORT_START ( "keyboard_4" )
KEY ( 0, "F1 F6", F1 ) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_CHAR(UCHAR_MAMEKEY(F6))
KEY ( 1, "\303\251 2", 2 ) PORT_CHAR( 0xe9 ) PORT_CHAR('2')
KEY ( 2, "Z", Z ) PORT_CHAR('Z')
@@ -1276,7 +1287,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "Keypad 2", 2_PAD ) PORT_CHAR(UCHAR_MAMEKEY(2_PAD))
KEY ( 6, "Keypad .", DEL_PAD ) PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD))
KEY ( 7, "X", X ) PORT_CHAR('X')
- PORT_START ( "keyboard_5" )
+ PORT_START ( "keyboard_5" )
KEY ( 0, "# @", TILDE ) PORT_CHAR('#') PORT_CHAR('@')
KEY ( 1, "* 1", 1 ) PORT_CHAR('*') PORT_CHAR('1')
KEY ( 2, "A \140", A ) PORT_CHAR('A')
@@ -1285,7 +1296,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "Keypad 5", 5_PAD ) PORT_CHAR(UCHAR_MAMEKEY(5_PAD))
KEY ( 6, "Keypad 6", 6_PAD ) PORT_CHAR(UCHAR_MAMEKEY(6_PAD))
KEY ( 7, "W", W ) PORT_CHAR('W')
- PORT_START ( "keyboard_6" )
+ PORT_START ( "keyboard_6" )
KEY ( 0, "Stop", TAB ) PORT_CHAR(27)
KEY ( 1, "\303\250 7", 7 ) PORT_CHAR( 0xe8 ) PORT_CHAR('7')
KEY ( 2, "U", U ) PORT_CHAR('U')
@@ -1294,7 +1305,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "Keypad 9", 9_PAD ) PORT_CHAR(UCHAR_MAMEKEY(9_PAD))
KEY ( 6, "Keypad Enter", ENTER_PAD ) PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD))
KEY ( 7, ", ?", COMMA ) PORT_CHAR(',') PORT_CHAR('?')
- PORT_START ( "keyboard_7" )
+ PORT_START ( "keyboard_7" )
KEY ( 0, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
KEY ( 1, "! 8", 8 ) PORT_CHAR('!') PORT_CHAR('8')
KEY ( 2, "I", I ) PORT_CHAR('I')
@@ -1303,7 +1314,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, UTF8_DOWN, DOWN ) PORT_CHAR(UCHAR_MAMEKEY(DOWN))
KEY ( 6, "] }", BACKSLASH ) PORT_CHAR(']') PORT_CHAR('}')
KEY ( 7, "; .", STOP ) PORT_CHAR(';') PORT_CHAR('.')
- PORT_START ( "keyboard_8" )
+ PORT_START ( "keyboard_8" )
KEY ( 0, "Caps-Lock", CAPSLOCK ) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
KEY ( 1, "\303\247 9", 9 ) PORT_CHAR( 0xe7 ) PORT_CHAR('9')
KEY ( 2, "O", O ) PORT_CHAR('O')
@@ -1312,7 +1323,7 @@ static INPUT_PORTS_START ( to9_keyboard )
KEY ( 5, "\303\271 %", COLON ) PORT_CHAR( 0xf9 ) PORT_CHAR('%')
KEY ( 6, "Enter", ENTER ) PORT_CHAR(13)
KEY ( 7, ": /", SLASH ) PORT_CHAR(':') PORT_CHAR('/')
- PORT_START ( "keyboard_9" )
+ PORT_START ( "keyboard_9" )
KEY ( 0, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1)
KEY ( 1, "\303\240 0", 0 ) PORT_CHAR( 0xe0 ) PORT_CHAR('0')
KEY ( 2, "P", P ) PORT_CHAR('P')
@@ -1324,70 +1335,70 @@ static INPUT_PORTS_START ( to9_keyboard )
INPUT_PORTS_END
static INPUT_PORTS_START ( to9_fconfig )
- PORT_START ( "fconfig" )
+ PORT_START ( "fconfig" )
- PORT_CONFNAME ( 0x07, 0x00, "External floppy (reset)" )
- PORT_CONFSETTING ( 0x00, "No external" )
- PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" )
- PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" )
- PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" )
- PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" )
- PORT_CONFSETTING ( 0x05, "Network" )
+ PORT_CONFNAME ( 0x07, 0x00, "External floppy (reset)" )
+ PORT_CONFSETTING ( 0x00, "No external" )
+ PORT_CONFSETTING ( 0x01, "CD 90-015 (5\"1/4 SD)" )
+ PORT_CONFSETTING ( 0x02, "CD 90-640 (5\"1/4 DD)" )
+ PORT_CONFSETTING ( 0x03, "CD 90-351 (3\"1/2)" )
+ PORT_CONFSETTING ( 0x04, "CQ 90-028 (2\"8 QDD)" )
+ PORT_CONFSETTING ( 0x05, "Network" )
- PORT_CONFNAME ( 0xf8, 0x08, "Network ID" )
- PORT_CONFSETTING ( 0x00, "0 (Master)" )
- PORT_CONFSETTING ( 0x08, "1" )
- PORT_CONFSETTING ( 0x10, "2" )
- PORT_CONFSETTING ( 0x18, "3" )
- PORT_CONFSETTING ( 0x20, "4" )
- PORT_CONFSETTING ( 0x28, "5" )
- PORT_CONFSETTING ( 0x30, "6" )
- PORT_CONFSETTING ( 0x38, "7" )
- PORT_CONFSETTING ( 0x40, "8" )
- PORT_CONFSETTING ( 0x48, "9" )
- PORT_CONFSETTING ( 0x50, "10" )
- PORT_CONFSETTING ( 0x58, "11" )
- PORT_CONFSETTING ( 0x60, "12" )
- PORT_CONFSETTING ( 0x68, "13" )
- PORT_CONFSETTING ( 0x70, "14" )
- PORT_CONFSETTING ( 0x78, "15" )
- PORT_CONFSETTING ( 0x80, "16" )
- PORT_CONFSETTING ( 0x88, "17" )
- PORT_CONFSETTING ( 0x90, "18" )
- PORT_CONFSETTING ( 0x98, "19" )
- PORT_CONFSETTING ( 0xa0, "20" )
- PORT_CONFSETTING ( 0xa8, "21" )
- PORT_CONFSETTING ( 0xb0, "22" )
- PORT_CONFSETTING ( 0xb8, "23" )
- PORT_CONFSETTING ( 0xc0, "24" )
- PORT_CONFSETTING ( 0xc8, "25" )
- PORT_CONFSETTING ( 0xd0, "26" )
- PORT_CONFSETTING ( 0xd8, "27" )
- PORT_CONFSETTING ( 0xe0, "28" )
- PORT_CONFSETTING ( 0xe8, "29" )
- PORT_CONFSETTING ( 0xf0, "30" )
- PORT_CONFSETTING ( 0xf8, "31" )
+ PORT_CONFNAME ( 0xf8, 0x08, "Network ID" )
+ PORT_CONFSETTING ( 0x00, "0 (Master)" )
+ PORT_CONFSETTING ( 0x08, "1" )
+ PORT_CONFSETTING ( 0x10, "2" )
+ PORT_CONFSETTING ( 0x18, "3" )
+ PORT_CONFSETTING ( 0x20, "4" )
+ PORT_CONFSETTING ( 0x28, "5" )
+ PORT_CONFSETTING ( 0x30, "6" )
+ PORT_CONFSETTING ( 0x38, "7" )
+ PORT_CONFSETTING ( 0x40, "8" )
+ PORT_CONFSETTING ( 0x48, "9" )
+ PORT_CONFSETTING ( 0x50, "10" )
+ PORT_CONFSETTING ( 0x58, "11" )
+ PORT_CONFSETTING ( 0x60, "12" )
+ PORT_CONFSETTING ( 0x68, "13" )
+ PORT_CONFSETTING ( 0x70, "14" )
+ PORT_CONFSETTING ( 0x78, "15" )
+ PORT_CONFSETTING ( 0x80, "16" )
+ PORT_CONFSETTING ( 0x88, "17" )
+ PORT_CONFSETTING ( 0x90, "18" )
+ PORT_CONFSETTING ( 0x98, "19" )
+ PORT_CONFSETTING ( 0xa0, "20" )
+ PORT_CONFSETTING ( 0xa8, "21" )
+ PORT_CONFSETTING ( 0xb0, "22" )
+ PORT_CONFSETTING ( 0xb8, "23" )
+ PORT_CONFSETTING ( 0xc0, "24" )
+ PORT_CONFSETTING ( 0xc8, "25" )
+ PORT_CONFSETTING ( 0xd0, "26" )
+ PORT_CONFSETTING ( 0xd8, "27" )
+ PORT_CONFSETTING ( 0xe0, "28" )
+ PORT_CONFSETTING ( 0xe8, "29" )
+ PORT_CONFSETTING ( 0xf0, "30" )
+ PORT_CONFSETTING ( 0xf8, "31" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to9 )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( to9_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to9_fconfig )
- PORT_INCLUDE ( to7_vconfig )
- PORT_INCLUDE ( to7_mconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( to9_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to9_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( to7_mconfig )
INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( to9, to7 )
- MCFG_MACHINE_START ( to9 )
- MCFG_MACHINE_RESET ( to9 )
+ MCFG_MACHINE_START ( to9 )
+ MCFG_MACHINE_RESET ( to9 )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( to9)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( to9)
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, to9_pia6821_sys )
MCFG_DEVICE_REMOVE( THOM_PIA_IO )
@@ -1395,9 +1406,12 @@ static MACHINE_CONFIG_DERIVED( to9, to7 )
MCFG_DEVICE_REMOVE("centronics")
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
- MCFG_MC6846_MODIFY( "mc6846", to9_timer )
+ MCFG_MC6846_MODIFY( "mc6846", to9_timer )
- /* internal ram */
+
+ MCFG_DEVICE_REMOVE("cart_list")
+
+ /* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("192K")
MCFG_RAM_EXTRA_OPTIONS("128K")
@@ -1472,25 +1486,25 @@ The TO8D is simply a TO8 with an integrated 3"1/2 floppy drive.
static ADDRESS_MAP_START ( to8, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
- AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
- AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
- AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
- AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */
- AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
- AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w )
- AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
- AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
+ AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
+ AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
+ AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
+ AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */
+ AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
+ AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w )
+ AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
+ AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
/* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
- AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
- AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */
+ AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
+ AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x2ffff: 64 KB internal software ROM */
@@ -1505,105 +1519,105 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( to8 )
- ROM_REGION ( 0x38800, "maincpu", 0 )
+ ROM_REGION ( 0x38800, "maincpu", 0 )
/* BIOS & floppy */
- ROM_LOAD ( "to8-0.rom", 0x30000, 0x2000,
+ ROM_LOAD ( "to8-0.rom", 0x30000, 0x2000,
CRC(3c4a640a)
SHA1(0a4952f0ca002d82ac83755e1f694d56399413b2) )
- ROM_LOAD ( "to8-1.rom", 0x32000, 0x2000,
+ ROM_LOAD ( "to8-1.rom", 0x32000, 0x2000,
CRC(cb9bae2d)
SHA1(a4a55a6e2c74bca15951158c5164970e922fc1c1) )
/* BASIC */
- ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000,
+ ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000,
CRC(e5a00fb3)
SHA1(281e535ed9b0f76e620253e9103292b8ff623d02) )
- ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000,
+ ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000,
CRC(4b241e63)
SHA1(ca8941a10db6cc069bf84c773f5e7d7d2c18449e) )
- ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000,
CRC(0f5581b3)
SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) )
- ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000,
CRC(f552e7e3)
SHA1(3208e0d7d90241a327ed24e4921303f16e167bd5) )
- ROM_FLOPPY7( 0x34000 )
+ ROM_FLOPPY7( 0x34000 )
- ROM_FILL( 0x10000, 0x10000, 0x39 )
+ ROM_FILL( 0x10000, 0x10000, 0x39 )
ROM_END
ROM_START ( to8d )
- ROM_REGION ( 0x38800, "maincpu", 0 )
+ ROM_REGION ( 0x38800, "maincpu", 0 )
/* BIOS & floppy */
- ROM_LOAD ( "to8d-0.rom", 0x30000, 0x2000,
+ ROM_LOAD ( "to8d-0.rom", 0x30000, 0x2000,
CRC(30ea4950)
SHA1(6705100cd337fffb26ce999302b55fb71557b128) )
- ROM_LOAD ( "to8d-1.rom", 0x32000, 0x2000,
+ ROM_LOAD ( "to8d-1.rom", 0x32000, 0x2000,
CRC(926cf0ca)
SHA1(8521613ac00e04dd94b69e771aeaefbf4fe97bf7) )
/* BASIC */
- ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000,
+ ROM_LOAD ( "basic8-0.rom", 0x20000, 0x4000,
CRC(e5a00fb3)
SHA1(281e535ed9b0f76e620253e9103292b8ff623d02) )
- ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000,
+ ROM_LOAD ( "basic8-1.rom", 0x24000, 0x4000,
CRC(4b241e63)
SHA1(ca8941a10db6cc069bf84c773f5e7d7d2c18449e) )
- ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basic8-2.rom", 0x28000, 0x4000,
CRC(0f5581b3)
SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) )
- ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basic8-3.rom", 0x2c000, 0x4000,
CRC(f552e7e3)
SHA1(3208e0d7d90241a327ed24e4921303f16e167bd5) )
- ROM_FLOPPY7( 0x34000 )
+ ROM_FLOPPY7( 0x34000 )
- ROM_FILL( 0x10000, 0x10000, 0x39 )
+ ROM_FILL( 0x10000, 0x10000, 0x39 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( to8_config )
- PORT_START ( "config" )
+ PORT_START ( "config" )
- PORT_CONFNAME ( 0x01, 0x00, "Game Port" )
- PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) )
- PORT_CONFSETTING ( 0x01, "Mouse" )
+ PORT_CONFNAME ( 0x01, 0x00, "Game Port" )
+ PORT_CONFSETTING ( 0x00, DEF_STR( Joystick ) )
+ PORT_CONFSETTING ( 0x01, "Mouse" )
- PORT_CONFNAME ( 0x02, 0x00, "Keyboard" )
- PORT_CONFSETTING ( 0x00, "Enabled" )
- PORT_CONFSETTING ( 0x02, "Disabled" )
+ PORT_CONFNAME ( 0x02, 0x00, "Keyboard" )
+ PORT_CONFSETTING ( 0x00, "Enabled" )
+ PORT_CONFSETTING ( 0x02, "Disabled" )
INPUT_PORTS_END
static INPUT_PORTS_START ( to8 )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( to9_keyboard )
- PORT_INCLUDE ( to8_config )
- PORT_INCLUDE ( to9_fconfig )
- PORT_INCLUDE ( to7_vconfig )
- PORT_INCLUDE ( to7_mconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( to9_keyboard )
+ PORT_INCLUDE ( to8_config )
+ PORT_INCLUDE ( to9_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( to7_mconfig )
INPUT_PORTS_END
static INPUT_PORTS_START ( to8d )
- PORT_INCLUDE ( to8 )
+ PORT_INCLUDE ( to8 )
INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( to8, to7 )
- MCFG_MACHINE_START ( to8 )
- MCFG_MACHINE_RESET ( to8 )
+ MCFG_MACHINE_START ( to8 )
+ MCFG_MACHINE_RESET ( to8 )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( to8)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( to8)
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, to8_pia6821_sys )
MCFG_DEVICE_REMOVE( THOM_PIA_IO )
@@ -1611,9 +1625,11 @@ static MACHINE_CONFIG_DERIVED( to8, to7 )
MCFG_DEVICE_REMOVE("centronics")
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
- MCFG_MC6846_MODIFY( "mc6846", to8_timer )
+ MCFG_MC6846_MODIFY( "mc6846", to8_timer )
- /* internal ram */
+ MCFG_DEVICE_REMOVE("cart_list")
+
+ /* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("512K")
MCFG_RAM_EXTRA_OPTIONS("256K")
@@ -1667,26 +1683,26 @@ The differences with the TO8 are:
static ADDRESS_MAP_START ( to9p, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
- AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
- AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
- AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
- AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */
- AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
- AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w )
- AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
- AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
- AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
- AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0x0000, 0x3fff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(to8_cartridge_w ) /* 4 * 16 KB */
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
+ AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
+ AM_RANGE ( 0xa000, 0xbfff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
+ AM_RANGE ( 0xc000, 0xdfff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
+ AM_RANGE ( 0xe000, 0xe7bf ) AM_ROMBANK ( THOM_FLOP_BANK ) /* 2 * 2 KB */
+ AM_RANGE ( 0xe7c0, 0xe7c7 ) AM_DEVREADWRITE_LEGACY("mc6846", mc6846_r, mc6846_w)
+ AM_RANGE ( 0xe7c8, 0xe7cb ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7cc, 0xe7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7d0, 0xe7d9 ) AM_READWRITE_LEGACY(to8_floppy_r, to8_floppy_w )
+ AM_RANGE ( 0xe7da, 0xe7dd ) AM_READWRITE_LEGACY(to8_vreg_r, to8_vreg_w )
+ AM_RANGE ( 0xe7de, 0xe7df ) AM_READWRITE_LEGACY(to9_kbd_r, to9_kbd_w )
+ AM_RANGE ( 0xe7e4, 0xe7e7 ) AM_READWRITE_LEGACY(to8_gatearray_r, to8_gatearray_w )
+ AM_RANGE ( 0xe7e8, 0xe7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
/* AM_RANGE ( 0xe7f0, 0xe7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
- AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
- AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */
+ AM_RANGE ( 0xe7f2, 0xe7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xe7f8, 0xe7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xe7fe, 0xe7ff ) AM_READWRITE_LEGACY(to7_modem_mea8000_r, to7_modem_mea8000_w )
+ AM_RANGE ( 0xe800, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK ) /* 2 * 6 KB */
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x2ffff: 64 KB internal software ROM */
@@ -1701,56 +1717,56 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( to9p )
- ROM_REGION ( 0x38800, "maincpu", 0 )
+ ROM_REGION ( 0x38800, "maincpu", 0 )
/* BIOS & floppy */
- ROM_LOAD ( "to9p-0.rom", 0x30000, 0x2000,
+ ROM_LOAD ( "to9p-0.rom", 0x30000, 0x2000,
CRC(a2731296)
SHA1(b30e06127d6e99d4ac5a5bb67881df27bbd9a7e5) )
- ROM_LOAD ( "to9p-1.rom", 0x32000, 0x2000,
+ ROM_LOAD ( "to9p-1.rom", 0x32000, 0x2000,
CRC(c52ce315)
SHA1(7eacbd796e76bc72b872f9700c9b90414899ea0f) )
/* BASIC */
- ROM_LOAD ( "basicp-0.rom", 0x20000, 0x4000,
+ ROM_LOAD ( "basicp-0.rom", 0x20000, 0x4000,
CRC(e5a00fb3)
SHA1(281e535ed9b0f76e620253e9103292b8ff623d02) )
- ROM_LOAD ( "basicp-1.rom", 0x24000, 0x4000,
+ ROM_LOAD ( "basicp-1.rom", 0x24000, 0x4000,
CRC(4b241e63)
SHA1(ca8941a10db6cc069bf84c773f5e7d7d2c18449e) )
- ROM_LOAD ( "basicp-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basicp-2.rom", 0x28000, 0x4000,
CRC(0f5581b3)
SHA1(93815ca78d3532192aaa56cbf65b68b0f10f1b8a) )
- ROM_LOAD ( "basicp-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basicp-3.rom", 0x2c000, 0x4000,
CRC(ebe9c8d9)
SHA1(b667ad09a1181f65059a2cbb4c95421bc544a334) )
- ROM_FLOPPY7( 0x34000 )
+ ROM_FLOPPY7( 0x34000 )
- ROM_FILL( 0x10000, 0x10000, 0x39 )
+ ROM_FILL( 0x10000, 0x10000, 0x39 )
ROM_END
/* ------------ inputs ------------ */
static INPUT_PORTS_START ( to9p )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( to9_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to9_fconfig )
- PORT_INCLUDE ( to7_vconfig )
- PORT_INCLUDE ( to7_mconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( to9_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to9_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( to7_mconfig )
INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( to9p, to7 )
- MCFG_MACHINE_START ( to9p )
- MCFG_MACHINE_RESET ( to9p )
+ MCFG_MACHINE_START ( to9p )
+ MCFG_MACHINE_RESET ( to9p )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( to9p)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( to9p)
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, to9p_pia6821_sys )
MCFG_DEVICE_REMOVE( THOM_PIA_IO )
@@ -1758,7 +1774,9 @@ static MACHINE_CONFIG_DERIVED( to9p, to7 )
MCFG_DEVICE_REMOVE("centronics")
MCFG_CENTRONICS_PRINTER_ADD("centronics", standard_centronics)
- MCFG_MC6846_MODIFY( "mc6846", to9p_timer )
+ MCFG_MC6846_MODIFY( "mc6846", to9p_timer )
+
+ MCFG_DEVICE_REMOVE("cart_list")
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
@@ -1829,25 +1847,25 @@ a PC XT.
static ADDRESS_MAP_START ( mo6, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
- AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
- AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
- AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w )
- AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
- AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w )
- AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
- AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
+ AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
+ AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
+ AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w )
+ AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(to7_floppy_r, to7_floppy_w )
+ AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w )
+ AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
+ AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
/* AM_RANGE ( 0xa7f0, 0xa7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w )*/
- AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
- AM_RANGE ( 0xb000, 0xefff ) AM_ROMBANK ( THOM_CART_BANK )
- AM_WRITE_LEGACY(mo6_cartridge_w )
- AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK )
+ AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
+ AM_RANGE ( 0xb000, 0xefff ) AM_ROMBANK ( THOM_CART_BANK )
+ AM_WRITE_LEGACY(mo6_cartridge_w )
+ AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK )
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x2ffff: 64 KB BIOS ROM */
@@ -1861,61 +1879,61 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( mo6 )
- ROM_REGION ( 0x34800, "maincpu", 0 )
+ ROM_REGION ( 0x34800, "maincpu", 0 )
/* BIOS */
- ROM_LOAD ( "mo6-0.rom", 0x23000, 0x1000,
+ ROM_LOAD ( "mo6-0.rom", 0x23000, 0x1000,
CRC(0446eef6)
SHA1(b57fcda69c95f0c97c5cb0605d17c49a0c630300) )
- ROM_LOAD ( "mo6-1.rom", 0x27000, 0x1000,
+ ROM_LOAD ( "mo6-1.rom", 0x27000, 0x1000,
CRC(eb6df8d4)
SHA1(24e2232f582ce04f260acd8e9ec710468a81505c) )
/* BASIC */
- ROM_LOAD ( "basic6-0.rom", 0x20000, 0x3000,
+ ROM_LOAD ( "basic6-0.rom", 0x20000, 0x3000,
CRC(18789833)
SHA1(fccbf69cbc6deba45a767a26cd6454cf0eedfc2b) )
- ROM_LOAD ( "basic6-1.rom", 0x24000, 0x3000,
+ ROM_LOAD ( "basic6-1.rom", 0x24000, 0x3000,
CRC(c9b4d6f4)
SHA1(47487d2bc4c9a9c09c733bd89c49693c52e262de) )
- ROM_LOAD ( "basic6-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basic6-2.rom", 0x28000, 0x4000,
CRC(08eac9bb)
SHA1(c0231fdb3bcccbbb10c1f93cc529fc3b96dd3f4d) )
- ROM_LOAD ( "basic6-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basic6-3.rom", 0x2c000, 0x4000,
CRC(19d66dc4)
SHA1(301b6366269181b74cb5d7ccdf5455b7290ae99b) )
- ROM_FLOPPY5 ( 0x30000 )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY5 ( 0x30000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
ROM_END
ROM_START ( pro128 )
- ROM_REGION ( 0x34800, "maincpu", 0 )
+ ROM_REGION ( 0x34800, "maincpu", 0 )
/* BIOS */
- ROM_LOAD ( "pro128-0.rom", 0x23000, 0x1000,
+ ROM_LOAD ( "pro128-0.rom", 0x23000, 0x1000,
CRC(a8aef291)
SHA1(2685cca841f405a37ef48b0115f90c865ce79d0f) )
- ROM_LOAD ( "pro128-1.rom", 0x27000, 0x1000,
+ ROM_LOAD ( "pro128-1.rom", 0x27000, 0x1000,
CRC(5b3340ec)
SHA1(269f2eb3e3452014b8d1f0f9e1c63fe56375a863) )
/* BASIC */
- ROM_LOAD ( "basico-0.rom", 0x20000, 0x3000,
+ ROM_LOAD ( "basico-0.rom", 0x20000, 0x3000,
CRC(98b10d5e)
SHA1(d6b77e694fa85e1114293448e5a64f6e2cf46c22) )
- ROM_LOAD ( "basico-1.rom", 0x24000, 0x3000,
+ ROM_LOAD ( "basico-1.rom", 0x24000, 0x3000,
CRC(721d2124)
SHA1(51db1cd03b3891e212a24aa6563b09968930d897) )
- ROM_LOAD ( "basico-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basico-2.rom", 0x28000, 0x4000,
CRC(135438ab)
SHA1(617d4e4979842bea2c21ef7f8c50f3b08b15239a) )
- ROM_LOAD ( "basico-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basico-3.rom", 0x2c000, 0x4000,
CRC(2c2befa6)
SHA1(3e94e182bacbb55bb07be2af4c76c0b0df47b3bf) )
- ROM_FLOPPY5 ( 0x30000 )
- ROM_FILL ( 0x10000, 0x10000, 0x39 )
+ ROM_FLOPPY5 ( 0x30000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 )
ROM_END
@@ -1923,7 +1941,7 @@ ROM_END
static INPUT_PORTS_START ( mo6_keyboard )
- PORT_START ( "keyboard_0" )
+ PORT_START ( "keyboard_0" )
KEY ( 0, "N", N ) PORT_CHAR('N')
KEY ( 1, ", ?", COMMA ) PORT_CHAR(',') PORT_CHAR('?')
KEY ( 2, "; .", STOP ) PORT_CHAR(';') PORT_CHAR('.')
@@ -1932,7 +1950,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "X", X ) PORT_CHAR('X')
KEY ( 6, "W", W ) PORT_CHAR('W')
KEY ( 7, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1)
- PORT_START ( "keyboard_1" )
+ PORT_START ( "keyboard_1" )
KEY ( 0, "Delete Backspace", DEL ) PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE))
KEY ( 1, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
KEY ( 2, "> <", BACKSLASH2 ) PORT_CHAR('>') PORT_CHAR('<')
@@ -1941,7 +1959,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
KEY ( 6, UTF8_UP, UP ) PORT_CHAR(UCHAR_MAMEKEY(UP))
KEY ( 7, "BASIC", RCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(RCONTROL))
- PORT_START ( "keyboard_2" )
+ PORT_START ( "keyboard_2" )
KEY ( 0, "J", J ) PORT_CHAR('J')
KEY ( 1, "K", K ) PORT_CHAR('K')
KEY ( 2, "L", L ) PORT_CHAR('L')
@@ -1950,7 +1968,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "V", V ) PORT_CHAR('V')
KEY ( 6, "C \136", C ) PORT_CHAR('C')
KEY ( 7, "Caps-Lock", CAPSLOCK ) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
- PORT_START ( "keyboard_3" )
+ PORT_START ( "keyboard_3" )
KEY ( 0, "H \302\250", H ) PORT_CHAR('H')
KEY ( 1, "G", G ) PORT_CHAR('G')
KEY ( 2, "F", F ) PORT_CHAR('F')
@@ -1959,7 +1977,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "Q", Q ) PORT_CHAR('Q')
KEY ( 6, "Home Clear", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME)) PORT_CHAR(UCHAR_MAMEKEY(ESC))
KEY ( 7, "F1 F6", F1 ) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_CHAR(UCHAR_MAMEKEY(F6))
- PORT_START ( "keyboard_4" )
+ PORT_START ( "keyboard_4" )
KEY ( 0, "U", U ) PORT_CHAR('U')
KEY ( 1, "I", I ) PORT_CHAR('I')
KEY ( 2, "O", O ) PORT_CHAR('O')
@@ -1968,7 +1986,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "$ &", CLOSEBRACE ) PORT_CHAR('$') PORT_CHAR('&')
KEY ( 6, "Enter", ENTER ) PORT_CHAR(13)
KEY ( 7, "F2 F7", F2 ) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_CHAR(UCHAR_MAMEKEY(F7))
- PORT_START ( "keyboard_5" )
+ PORT_START ( "keyboard_5" )
KEY ( 0, "Y", Y ) PORT_CHAR('Y')
KEY ( 1, "T", T ) PORT_CHAR('T')
KEY ( 2, "R", R ) PORT_CHAR('R')
@@ -1977,7 +1995,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "A \140", A ) PORT_CHAR('A')
KEY ( 6, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
KEY ( 7, "F3 F8", F3 ) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_CHAR(UCHAR_MAMEKEY(F8))
- PORT_START ( "keyboard_6" )
+ PORT_START ( "keyboard_6" )
KEY ( 0, "7 \303\250", 7 ) PORT_CHAR('7') PORT_CHAR( 0xe8 )
KEY ( 1, "8 !", 8 ) PORT_CHAR('8') PORT_CHAR('!')
KEY ( 2, "9 \303\247", 9 ) PORT_CHAR('9') PORT_CHAR( 0xe7 )
@@ -1986,7 +2004,7 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "= +", EQUALS ) PORT_CHAR('=') PORT_CHAR('+')
KEY ( 6, "Accent", END ) PORT_CHAR(UCHAR_MAMEKEY(END))
KEY ( 7, "F4 F9", F4 ) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_CHAR(UCHAR_MAMEKEY(F9))
- PORT_START ( "keyboard_7" )
+ PORT_START ( "keyboard_7" )
KEY ( 0, "6 _", 6 ) PORT_CHAR('6') PORT_CHAR('_')
KEY ( 1, "5 (", 5 ) PORT_CHAR('5') PORT_CHAR('(')
KEY ( 2, "4 '", 4 ) PORT_CHAR('4') PORT_CHAR('\'')
@@ -1995,56 +2013,56 @@ static INPUT_PORTS_START ( mo6_keyboard )
KEY ( 5, "1 *", 1 ) PORT_CHAR('1') PORT_CHAR('*')
KEY ( 6, "Stop", TAB ) PORT_CHAR(27)
KEY ( 7, "F5 F10", F5 ) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_CHAR(UCHAR_MAMEKEY(F10))
- PORT_START ( "keyboard_8" )
+ PORT_START ( "keyboard_8" )
KEY ( 0, "[ {", QUOTE ) PORT_CHAR('[') PORT_CHAR('{')
KEY ( 1, "] }", BACKSLASH ) PORT_CHAR(']') PORT_CHAR('}')
KEY ( 2, ") \302\260", MINUS ) PORT_CHAR(')') PORT_CHAR( 0xb0 )
KEY ( 3, "\342\206\221 \302\250", OPENBRACE ) PORT_CHAR('^') PORT_CHAR( 0xa8 )
KEY ( 4, "\303\271 %", COLON ) PORT_CHAR( 0xf9 ) PORT_CHAR('%')
- PORT_BIT ( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT ( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
/* unused */
- PORT_START ( "keyboard_9" )
+ PORT_START ( "keyboard_9" )
INPUT_PORTS_END
/* QWERTY version */
static INPUT_PORTS_START ( pro128_keyboard )
- PORT_INCLUDE ( mo6_keyboard )
+ PORT_INCLUDE ( mo6_keyboard )
- PORT_MODIFY ( "keyboard_0" )
+ PORT_MODIFY ( "keyboard_0" )
KEY ( 1, "M", M ) PORT_CHAR('M')
KEY ( 2, ", ;", COMMA ) PORT_CHAR(',') PORT_CHAR(';')
KEY ( 3, "[ {", QUOTE ) PORT_CHAR('[') PORT_CHAR('{')
KEY ( 6, "Z", Z ) PORT_CHAR('Z')
KEY ( 7, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1)
- PORT_MODIFY ( "keyboard_1" )
+ PORT_MODIFY ( "keyboard_1" )
KEY ( 2, "- _", MINUS ) PORT_CHAR('-') PORT_CHAR('_')
- PORT_MODIFY ( "keyboard_2" )
+ PORT_MODIFY ( "keyboard_2" )
KEY ( 3, "\303\221", TILDE ) PORT_CHAR( 0xd1 )
- PORT_MODIFY ( "keyboard_3" )
+ PORT_MODIFY ( "keyboard_3" )
KEY ( 5, "A \140", A ) PORT_CHAR('A')
- PORT_MODIFY ( "keyboard_4" )
+ PORT_MODIFY ( "keyboard_4" )
KEY ( 4, ". :", STOP ) PORT_CHAR('.') PORT_CHAR(':')
KEY ( 5, "+ *", BACKSPACE ) PORT_CHAR('+') PORT_CHAR('*')
- PORT_MODIFY ( "keyboard_5" )
+ PORT_MODIFY ( "keyboard_5" )
KEY ( 4, "W", W ) PORT_CHAR('W')
KEY ( 5, "Q", Q ) PORT_CHAR('Q')
- PORT_MODIFY ( "keyboard_6" )
+ PORT_MODIFY ( "keyboard_6" )
KEY ( 0, "7 /", 7 ) PORT_CHAR('7') PORT_CHAR('/')
KEY ( 1, "8 (", 8 ) PORT_CHAR('8') PORT_CHAR('(')
KEY ( 2, "9 )", 9 ) PORT_CHAR('9') PORT_CHAR(')')
KEY ( 3, "0 =", 0 ) PORT_CHAR('0') PORT_CHAR('=')
KEY ( 4, "' \302\243", CLOSEBRACE ) PORT_CHAR('\'') PORT_CHAR( 0xa3 )
KEY ( 5, "] }", BACKSLASH ) PORT_CHAR(']') PORT_CHAR('}')
- PORT_MODIFY ( "keyboard_7" )
+ PORT_MODIFY ( "keyboard_7" )
KEY ( 0, "6 &", 6 ) PORT_CHAR('6') PORT_CHAR('&')
KEY ( 1, "5 %", 5 ) PORT_CHAR('5') PORT_CHAR('%')
KEY ( 2, "4 $", 4 ) PORT_CHAR('4') PORT_CHAR('$')
KEY ( 3, "3 \302\247", 3 ) PORT_CHAR('3') PORT_CHAR( 0xa7 )
KEY ( 4, "2 \"", 2 ) PORT_CHAR('2') PORT_CHAR('"')
KEY ( 5, "1 !", 1 ) PORT_CHAR('1') PORT_CHAR('!')
- PORT_MODIFY ( "keyboard_8" )
+ PORT_MODIFY ( "keyboard_8" )
KEY ( 0, "> <", BACKSLASH2 ) PORT_CHAR('>') PORT_CHAR('<')
KEY ( 1, "# \342\206\221", EQUALS ) PORT_CHAR('#') PORT_CHAR('^')
KEY ( 2, "\303\247 ?", COLON ) PORT_CHAR( 0xe7 ) PORT_CHAR('?')
@@ -2055,36 +2073,36 @@ INPUT_PORTS_END
static INPUT_PORTS_START ( mo6 )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( mo6_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to7_fconfig )
- PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( mo6_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to7_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
INPUT_PORTS_END
static INPUT_PORTS_START ( pro128 )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( pro128_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to7_fconfig )
- PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( pro128_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to7_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( mo6, to7 )
- MCFG_MACHINE_START ( mo6 )
- MCFG_MACHINE_RESET ( mo6 )
+ MCFG_MACHINE_START ( mo6 )
+ MCFG_MACHINE_RESET ( mo6 )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( mo6)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( mo6)
- MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface )
+ MCFG_CASSETTE_MODIFY( CASSETTE_TAG, mo5_cassette_interface )
- MCFG_DEVICE_REMOVE( "mc6846" )
+ MCFG_DEVICE_REMOVE( "mc6846" )
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, mo6_pia6821_sys )
MCFG_DEVICE_REMOVE( THOM_PIA_IO )
@@ -2097,6 +2115,8 @@ static MACHINE_CONFIG_DERIVED( mo6, to7 )
MCFG_CARTSLOT_EXTENSION_LIST("m5,rom")
MCFG_CARTSLOT_LOAD(mo5_cartridge)
+ MCFG_DEVICE_REMOVE("cart_list")
+
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("128K")
@@ -2142,27 +2162,27 @@ Here are the differences between the MO6 and MO5NR:
static ADDRESS_MAP_START ( mo5nr, AS_PROGRAM, 8, thomson_state )
- AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
- AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
- AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
- AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
- AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
- AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
- AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w )
- AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(mo5nr_net_r, mo5nr_net_w )
- AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w )
- AM_RANGE ( 0xa7e1, 0xa7e1 ) AM_DEVREADWRITE("centronics", centronics_device, read, write)
- AM_RANGE ( 0xa7e3, 0xa7e3 ) AM_READWRITE_LEGACY(mo5nr_prn_r, mo5nr_prn_w )
- AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
- AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
+ AM_RANGE ( 0x0000, 0x1fff ) AM_READ_BANK ( THOM_VRAM_BANK) AM_WRITE_LEGACY(to770_vram_w )
+ AM_RANGE ( 0x2000, 0x3fff ) AM_READ_BANK ( TO8_SYS_LO) AM_WRITE_LEGACY(to8_sys_lo_w )
+ AM_RANGE ( 0x4000, 0x5fff ) AM_READ_BANK ( TO8_SYS_HI) AM_WRITE_LEGACY(to8_sys_hi_w )
+ AM_RANGE ( 0x6000, 0x7fff ) AM_READ_BANK ( TO8_DATA_LO) AM_WRITE_LEGACY(to8_data_lo_w )
+ AM_RANGE ( 0x8000, 0x9fff ) AM_READ_BANK ( TO8_DATA_HI) AM_WRITE_LEGACY(to8_data_hi_w )
+ AM_RANGE ( 0xa000, 0xa7bf ) AM_ROMBANK ( THOM_FLOP_BANK )
+ AM_RANGE ( 0xa7c0, 0xa7c3 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xa7cb, 0xa7cb ) AM_WRITE_LEGACY(mo6_ext_w )
+ AM_RANGE ( 0xa7cc, 0xa7cf ) AM_DEVREADWRITE( "pia_1", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xa7d0, 0xa7d9 ) AM_READWRITE_LEGACY(mo5nr_net_r, mo5nr_net_w )
+ AM_RANGE ( 0xa7da, 0xa7dd ) AM_READWRITE_LEGACY(mo6_vreg_r, mo6_vreg_w )
+ AM_RANGE ( 0xa7e1, 0xa7e1 ) AM_DEVREADWRITE("centronics", centronics_device, read, write)
+ AM_RANGE ( 0xa7e3, 0xa7e3 ) AM_READWRITE_LEGACY(mo5nr_prn_r, mo5nr_prn_w )
+ AM_RANGE ( 0xa7e4, 0xa7e7 ) AM_READWRITE_LEGACY(mo6_gatearray_r, mo6_gatearray_w )
+ AM_RANGE ( 0xa7e8, 0xa7eb ) AM_DEVREADWRITE( "acia", acia6551_device, read, write )
/* AM_RANGE ( 0xa7f0, 0xa7f7 ) AM_READWRITE_LEGACY(to9_ieee_r, to9_ieee_w ) */
- AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
- AM_RANGE ( 0xa7f8, 0xa7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
- AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
- AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo6_cartridge_w ) /* 4 * 16 KB */
- AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK )
+ AM_RANGE ( 0xa7f2, 0xa7f3 ) AM_READWRITE_LEGACY(to7_midi_r, to7_midi_w )
+ AM_RANGE ( 0xa7f8, 0xa7fb ) AM_DEVREADWRITE( "pia_3", pia6821_device, read_alt, write_alt)
+ AM_RANGE ( 0xa7fe, 0xa7ff ) AM_DEVREADWRITE_LEGACY("mea8000", mea8000_r, mea8000_w)
+ AM_RANGE ( 0xb000, 0xefff ) AM_READ_BANK ( THOM_CART_BANK) AM_WRITE_LEGACY(mo6_cartridge_w ) /* 4 * 16 KB */
+ AM_RANGE ( 0xf000, 0xffff ) AM_ROMBANK ( TO8_BIOS_BANK )
/* 0x10000 - 0x1ffff: 64 KB external ROM cartridge */
/* 0x20000 - 0x2ffff: 64 KB BIOS ROM */
@@ -2176,32 +2196,32 @@ ADDRESS_MAP_END
/* ------------ ROMS ------------ */
ROM_START ( mo5nr )
- ROM_REGION ( 0x34800, "maincpu", 0 )
+ ROM_REGION ( 0x34800, "maincpu", 0 )
/* BIOS */
- ROM_LOAD ( "mo5nr-0.rom", 0x23000, 0x1000,
+ ROM_LOAD ( "mo5nr-0.rom", 0x23000, 0x1000,
CRC(06e31115)
SHA1(7429cc0c15475398b5ab514cb3d3efdc71cf082f) )
- ROM_LOAD ( "mo5nr-1.rom", 0x27000, 0x1000,
+ ROM_LOAD ( "mo5nr-1.rom", 0x27000, 0x1000,
CRC(7cda17c9)
SHA1(2ff6480ce9e30acc4c89b6113d7c8ea6095d90a5) )
/* BASIC */
- ROM_LOAD ( "basicn-0.rom", 0x20000, 0x3000,
+ ROM_LOAD ( "basicn-0.rom", 0x20000, 0x3000,
CRC(fae9e691)
SHA1(62fbfd6d4ca837f6cb8ed37f828eca97f80e6200) )
- ROM_LOAD ( "basicn-1.rom", 0x24000, 0x3000,
+ ROM_LOAD ( "basicn-1.rom", 0x24000, 0x3000,
CRC(cf134dd7)
SHA1(1bd961314e16e460d37a65f5e7f4acf5604fbb17) )
- ROM_LOAD ( "basicn-2.rom", 0x28000, 0x4000,
+ ROM_LOAD ( "basicn-2.rom", 0x28000, 0x4000,
CRC(b69d2e0d)
SHA1(ea3220bbae991e08259d38a7ea24533b2bb86418) )
- ROM_LOAD ( "basicn-3.rom", 0x2c000, 0x4000,
+ ROM_LOAD ( "basicn-3.rom", 0x2c000, 0x4000,
CRC(7785610f)
SHA1(c38b0be404d8af6f409a1b52cb79a4e10fc33177) )
- ROM_FLOPPY5 ( 0x30000 )
- ROM_FILL ( 0x10000, 0x10000, 0x39 ) /* TODO: network ROM */
+ ROM_FLOPPY5 ( 0x30000 )
+ ROM_FILL ( 0x10000, 0x10000, 0x39 ) /* TODO: network ROM */
ROM_END
@@ -2211,7 +2231,7 @@ ROM_END
static INPUT_PORTS_START ( mo5nr_keyboard )
- PORT_START ( "keyboard_0" )
+ PORT_START ( "keyboard_0" )
KEY ( 0, "N", N ) PORT_CHAR('N')
KEY ( 1, ", <", COMMA ) PORT_CHAR(',') PORT_CHAR('<')
KEY ( 2, ". >", STOP ) PORT_CHAR('.') PORT_CHAR('>')
@@ -2220,7 +2240,7 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 5, "X", X ) PORT_CHAR('X')
KEY ( 6, "W", W ) PORT_CHAR('W')
KEY ( 7, "Shift", LSHIFT ) PORT_CODE ( KEYCODE_RSHIFT ) PORT_CHAR(UCHAR_SHIFT_1)
- PORT_START ( "keyboard_1" )
+ PORT_START ( "keyboard_1" )
KEY ( 0, "Delete Backspace", DEL ) PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE))
KEY ( 1, "Insert", INSERT ) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
KEY ( 2, "Home", HOME ) PORT_CHAR(UCHAR_MAMEKEY(HOME))
@@ -2229,7 +2249,7 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 5, UTF8_LEFT, LEFT ) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
KEY ( 6, UTF8_UP, UP ) PORT_CHAR(UCHAR_MAMEKEY(UP))
KEY ( 7, "BASIC", RCONTROL )
- PORT_START ( "keyboard_2" )
+ PORT_START ( "keyboard_2" )
KEY ( 0, "J", J ) PORT_CHAR('J')
KEY ( 1, "K", K ) PORT_CHAR('K')
KEY ( 2, "L", L ) PORT_CHAR('L')
@@ -2237,8 +2257,8 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "B \140", B ) PORT_CHAR('B')
KEY ( 5, "V", V ) PORT_CHAR('V')
KEY ( 6, "C \136", C ) PORT_CHAR('C')
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_3" )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_3" )
KEY ( 0, "H \302\250", H ) PORT_CHAR('H')
KEY ( 1, "G", G ) PORT_CHAR('G')
KEY ( 2, "F", F ) PORT_CHAR('F')
@@ -2246,8 +2266,8 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "S", S ) PORT_CHAR('S')
KEY ( 5, "Q", Q ) PORT_CHAR('Q')
KEY ( 6, "Clear", ESC ) PORT_CHAR(UCHAR_MAMEKEY(ESC))
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_4" )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_4" )
KEY ( 0, "U", U ) PORT_CHAR('U')
KEY ( 1, "I", I ) PORT_CHAR('I')
KEY ( 2, "O", O ) PORT_CHAR('O')
@@ -2255,8 +2275,8 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "/ ?", SLASH ) PORT_CHAR('/') PORT_CHAR('?')
KEY ( 5, "* :", QUOTE ) PORT_CHAR('*') PORT_CHAR(':')
KEY ( 6, "Enter", ENTER ) PORT_CHAR(13)
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_5" )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_5" )
KEY ( 0, "Y", Y ) PORT_CHAR('Y')
KEY ( 1, "T", T ) PORT_CHAR('T')
KEY ( 2, "R", R ) PORT_CHAR('R')
@@ -2264,8 +2284,8 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "Z", Z ) PORT_CHAR('Z')
KEY ( 5, "A \140", A ) PORT_CHAR('A')
KEY ( 6, "Control", LCONTROL ) PORT_CHAR(UCHAR_MAMEKEY(LCONTROL))
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_6" )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_6" )
KEY ( 0, "7 ' \303\250", 7 ) PORT_CHAR('7') PORT_CHAR('\'' )
KEY ( 1, "8 ( \303\271", 8 ) PORT_CHAR('8') PORT_CHAR('(')
KEY ( 2, "9 ) \303\247", 9 ) PORT_CHAR('9') PORT_CHAR(')')
@@ -2273,8 +2293,8 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "- =", MINUS ) PORT_CHAR('-') PORT_CHAR('=')
KEY ( 5, "+ ;", EQUALS ) PORT_CHAR('+') PORT_CHAR(';')
KEY ( 6, "Accent", END ) PORT_CHAR(UCHAR_MAMEKEY(END))
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_START ( "keyboard_7" )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_START ( "keyboard_7" )
KEY ( 0, "6 & \303\251", 6 ) PORT_CHAR('6') PORT_CHAR('&')
KEY ( 1, "5 %", 5 ) PORT_CHAR('5') PORT_CHAR('%')
KEY ( 2, "4 $", 4 ) PORT_CHAR('4') PORT_CHAR('$')
@@ -2282,34 +2302,34 @@ static INPUT_PORTS_START ( mo5nr_keyboard )
KEY ( 4, "2 \"", 2 ) PORT_CHAR('2') PORT_CHAR('"')
KEY ( 5, "1 !", 1 ) PORT_CHAR('1') PORT_CHAR('!')
KEY ( 6, "Stop", TAB ) PORT_CHAR(27)
- PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
/* unused */
- PORT_START ( "keyboard_8" )
- PORT_START ( "keyboard_9" )
+ PORT_START ( "keyboard_8" )
+ PORT_START ( "keyboard_9" )
INPUT_PORTS_END
static INPUT_PORTS_START ( mo5nr )
- PORT_INCLUDE ( thom_lightpen )
- PORT_INCLUDE ( thom_game_port )
- PORT_INCLUDE ( mo5nr_keyboard )
- PORT_INCLUDE ( to7_config )
- PORT_INCLUDE ( to7_fconfig )
- PORT_INCLUDE ( to7_vconfig )
+ PORT_INCLUDE ( thom_lightpen )
+ PORT_INCLUDE ( thom_game_port )
+ PORT_INCLUDE ( mo5nr_keyboard )
+ PORT_INCLUDE ( to7_config )
+ PORT_INCLUDE ( to7_fconfig )
+ PORT_INCLUDE ( to7_vconfig )
INPUT_PORTS_END
/* ------------ driver ------------ */
static MACHINE_CONFIG_DERIVED( mo5nr, to7 )
- MCFG_MACHINE_START ( mo5nr )
- MCFG_MACHINE_RESET ( mo5nr )
+ MCFG_MACHINE_START ( mo5nr )
+ MCFG_MACHINE_RESET ( mo5nr )
- MCFG_CPU_MODIFY( "maincpu" )
- MCFG_CPU_PROGRAM_MAP ( mo5nr)
+ MCFG_CPU_MODIFY( "maincpu" )
+ MCFG_CPU_PROGRAM_MAP ( mo5nr)
- MCFG_DEVICE_REMOVE( "mc6846" )
+ MCFG_DEVICE_REMOVE( "mc6846" )
MCFG_PIA6821_MODIFY( THOM_PIA_SYS, mo5nr_pia6821_sys )
MCFG_DEVICE_REMOVE( THOM_PIA_IO )
@@ -2322,6 +2342,8 @@ static MACHINE_CONFIG_DERIVED( mo5nr, to7 )
MCFG_CARTSLOT_EXTENSION_LIST("m5,rom")
MCFG_CARTSLOT_LOAD(mo5_cartridge)
+ MCFG_DEVICE_REMOVE("cart_list")
+
/* internal ram */
MCFG_RAM_MODIFY(RAM_TAG)
MCFG_RAM_DEFAULT_SIZE("128K")