mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
Merge branch 'master' of https://github.com/mamedev/mame
This commit is contained in:
commit
a1698491fe
@ -651,7 +651,7 @@ Published by Others (T-yyy*** serial codes, for yyy depending on the publisher)
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="cookpico">
|
||||
<software name="cookpico">
|
||||
<description>Cooking Pico (Jpn)</description>
|
||||
<year>1999</year>
|
||||
<publisher>Sega Toys</publisher>
|
||||
|
@ -17,18 +17,18 @@
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="doraedbl">
|
||||
<description>Doraemon Nobita no Dou Butsu Land</description>
|
||||
<year>1996</year>
|
||||
<publisher>Sega</publisher>
|
||||
<part name="cart" interface="sawatte_cart">
|
||||
<feature name="pcb" value="171-7323A" />
|
||||
<feature name="ic1" value="MPR-19040" />
|
||||
<dataarea name="rom" size="524288">
|
||||
<rom name="mpr-19040.ic1" size="524288" crc="0c9bae2f" sha1="bc5030fab99e8f4b1bcc8ed77c1cc07d8407df93" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
<software name="doraedbl">
|
||||
<description>Doraemon Nobita no Dou Butsu Land</description>
|
||||
<year>1996</year>
|
||||
<publisher>Sega</publisher>
|
||||
<part name="cart" interface="sawatte_cart">
|
||||
<feature name="pcb" value="171-7323A" />
|
||||
<feature name="ic1" value="MPR-19040" />
|
||||
<dataarea name="rom" size="524288">
|
||||
<rom name="mpr-19040.ic1" size="524288" crc="0c9bae2f" sha1="bc5030fab99e8f4b1bcc8ed77c1cc07d8407df93" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mickkuda">
|
||||
<description>Mickey no Kudamonoya-san</description>
|
||||
@ -90,20 +90,20 @@
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="soreike">
|
||||
<description>Soreike! Anpanman Onamae Na~ni</description>
|
||||
<year>1996</year>
|
||||
<publisher>Sega</publisher>
|
||||
<part name="cart" interface="sawatte_cart">
|
||||
<feature name="pcb" value="171-7323A" />
|
||||
<feature name="ic1" value="MPR-19041" />
|
||||
<dataarea name="rom" size="524288">
|
||||
<rom name="mpr-19041.ic1" size="524288" crc="ec924165" sha1="b25a5637c8cc1f2f6224595853d540195be86ec9" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
<software name="soreike">
|
||||
<description>Soreike! Anpanman Onamae Na~ni</description>
|
||||
<year>1996</year>
|
||||
<publisher>Sega</publisher>
|
||||
<part name="cart" interface="sawatte_cart">
|
||||
<feature name="pcb" value="171-7323A" />
|
||||
<feature name="ic1" value="MPR-19041" />
|
||||
<dataarea name="rom" size="524288">
|
||||
<rom name="mpr-19041.ic1" size="524288" crc="ec924165" sha1="b25a5637c8cc1f2f6224595853d540195be86ec9" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="micknatk">
|
||||
<software name="micknatk">
|
||||
<description>Tokyo Disneyland - Mickey no Nakayoshi Tankentai</description>
|
||||
<year>1998</year>
|
||||
<publisher>Sega?</publisher>
|
||||
@ -148,17 +148,17 @@
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="uht">
|
||||
<description>Ultra Hero Touch</description>
|
||||
<year>1997</year>
|
||||
<publisher>Bandai</publisher>
|
||||
<part name="cart" interface="sawatte_cart">
|
||||
<feature name="pcb" value="171-7323A" />
|
||||
<feature name="ic1" value="MPR-19828-T" />
|
||||
<dataarea name="rom" size="524288">
|
||||
<rom name="mpr-19828-t.ic1" size="524288" crc="57988dc7" sha1="438a35b2a46ec82b5e31478d9e244928f98891ab" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
<software name="uht">
|
||||
<description>Ultra Hero Touch</description>
|
||||
<year>1997</year>
|
||||
<publisher>Bandai</publisher>
|
||||
<part name="cart" interface="sawatte_cart">
|
||||
<feature name="pcb" value="171-7323A" />
|
||||
<feature name="ic1" value="MPR-19828-T" />
|
||||
<dataarea name="rom" size="524288">
|
||||
<rom name="mpr-19828-t.ic1" size="524288" crc="57988dc7" sha1="438a35b2a46ec82b5e31478d9e244928f98891ab" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</softwarelist>
|
||||
|
@ -7595,7 +7595,7 @@
|
||||
<year>1990</year>
|
||||
<publisher>Seo Jin</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<feature name="slot" value="seojin" />
|
||||
<feature name="slot" value="seojin" />
|
||||
<dataarea name="rom" size="0x080000">
|
||||
<rom name="SG11004A 79ST0086END 9045" size="0x080000" crc="cdbfe86e" sha1="83d6f261471dca20f8d2e33b9807d670e9b4eb9c" offset="000000" />
|
||||
</dataarea>
|
||||
|
869
hash/zorba.xml
Normal file
869
hash/zorba.xml
Normal file
@ -0,0 +1,869 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
|
||||
<!--
|
||||
Thanks to http://www.zorba.z80.de for info!
|
||||
|
||||
Attempting to load any td0 dump in this list throws a fatalerror,
|
||||
and they are all marked as unsupported.
|
||||
|
||||
The following "Oracle of Zeus" newsletter disks are known to be dumped,
|
||||
but require special permission for the dumps to be obtained:
|
||||
|
||||
1983-11-01 Oracle of Zeus Vol.1 No.1
|
||||
oracle12.td0 1984-01-01 113K Oracle of Zeus Vol.1 No.2
|
||||
oracle13.td0 1984-03-01 182K Oracle of Zeus Vol.1 No.3
|
||||
oracle14.td0 1984-06-01 191K Oracle of Zeus Vol.1 No.4
|
||||
oracle15.td0 1984-09-01 195K Oracle of Zeus Vol.1 No.5
|
||||
oracle16.td0 1984-11-01 191K Oracle of Zeus Vol.1 No.6
|
||||
oracle21.td0 1985-02-01 176K Oracle of Zeus Vol.2 No.1
|
||||
oracle22.td0 1985-05-01 192K Oracle of Zeus Vol.2 No.2
|
||||
oracle23.td0 1985-08-01 190K Oracle of Zeus Vol.2 No.3
|
||||
oracle24.td0 1986-05-01 192K Oracle of Zeus Vol.2 No.4
|
||||
-->
|
||||
<softwarelist name="zorba" description="Telcon Zorba floppy disks">
|
||||
|
||||
<!-- CP/M disks -->
|
||||
|
||||
<software name="compat" supported="no">
|
||||
<description>Compat (v3.2)</description>
|
||||
<year>1985</year>
|
||||
<publisher>Mycroft Labs</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="78499">
|
||||
<rom name="compat v3.2 - application disk.td0" size="78499" crc="19a9d6a9" sha1="e496a9bdfa171b742425f11423c101abce8c9e85" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="cpm">
|
||||
<description>58K CP/M (v2.2, BIOS v1.7A)</description>
|
||||
<year>1984?</year>
|
||||
<publisher>Telcon</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="174565">
|
||||
<rom name="zorba1.imd" size="174565" crc="b7c4e257" sha1="be10a48c8e512476cd39c2ca0faa261bda280260" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="332397">
|
||||
<rom name="zorba2.imd" size="332397" crc="9f4832b9" sha1="41b6ff86ac11077f3a16bd9ed7be991448b16968" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="351758">
|
||||
<rom name="zorba5.imd" size="351758" crc="d3a2362a" sha1="4d291814b23144a7f122b565348fd5021af8c43e" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!-- System disk was missing, using one from the parent set -->
|
||||
<software name="cpm17" cloneof="cpm" supported="partial">
|
||||
<description>58K CP/M (v2.2, BIOS v1.7)</description>
|
||||
<year>1984</year>
|
||||
<publisher>Telcon</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="174565">
|
||||
<rom name="zorba1.imd" size="174565" crc="b7c4e257" sha1="be10a48c8e512476cd39c2ca0faa261bda280260" offset="0" status="baddump" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="139002">
|
||||
<rom name="cpm-80 v2.2 (zorba bios v1.7) - source disk.td0" size="139002" crc="1c549210" sha1="0ceff17dca1e9cfb7306d9e04d6c323cf434d2f2" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="109526">
|
||||
<rom name="cpm-80 v2.2 (zorba bios v1.7) - utility disk.td0" size="109526" crc="da09bdd8" sha1="6d78efec8441833498025a2852504489dade9d94" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="cpm16" cloneof="cpm" supported="no">
|
||||
<description>58K CP/M (v2.2, BIOS v1.6)</description>
|
||||
<year>1984</year>
|
||||
<publisher>Telcon</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="171898">
|
||||
<rom name="cpm-80 v2.2 (zorba bios v1.6) - system disk.td0" size="171898" crc="6df3c58e" sha1="3a15e3b927f88fa34e6e6cdfffc272ff83b2a061" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="226552">
|
||||
<rom name="cpm-80 v2.2 (zorba bios v1.6) - utility disk.td0" size="226552" crc="b65c0436" sha1="9f8ed5dd2167f5b9f0abd27fa6d4ed1f50646d2f" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="cpm16a" cloneof="cpm" supported="no">
|
||||
<description>58K CP/M (v2.2, BIOS v1.6, Alt)</description>
|
||||
<year>1984</year>
|
||||
<publisher>Telcon</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="193670">
|
||||
<rom name="cpm-80 v2.2 (zorba bios v1.6) - system disk 1.td0" size="193670" crc="a4530528" sha1="ff29f06c57485e8ff41f2217daac63598bdaa74e" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="171990">
|
||||
<rom name="cpm-80 v2.2 (zorba bios v1.6) - system disk 2.td0" size="171990" crc="993b96ce" sha1="ac3bcd735244d3a6405dd02efbb37f944174ad3a" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="226552">
|
||||
<rom name="cpm-80 v2.2 (zorba bios v1.6) - utility disk.td0" size="226552" crc="b65c0436" sha1="9f8ed5dd2167f5b9f0abd27fa6d4ed1f50646d2f" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="datastar" supported="no">
|
||||
<description>DataStar (Release 1.41)</description>
|
||||
<year>1982</year>
|
||||
<publisher>MicroPro International</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="285491">
|
||||
<rom name="datastar v1.41.td0" size="285491" crc="ff9ce693" sha1="e054c30a4738f94d6a66b21a0d8d1b6a98eecbb4" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="datastar14" cloneof="datastar">
|
||||
<description>DataStar (Release 1.4)</description>
|
||||
<year>1982</year>
|
||||
<publisher>MicroPro International</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="290987">
|
||||
<rom name="zorba3.imd" size="290987" crc="d5cf92cb" sha1="d123e3763ac8da14ef7443361f77df34dcc5cd0f" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="dbase2" supported="no">
|
||||
<description>dBase II (v2.41)</description>
|
||||
<year>1982</year>
|
||||
<publisher>Ashton-Tate</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="117176">
|
||||
<rom name="ashton-tate dbase ii v2.41 application disk - disk 1.td0" size="117176" crc="4d51f8b4" sha1="617169d9e1d2e10460a3966968701ccd44c147f2" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="94274">
|
||||
<rom name="ashton-tate dbase ii v2.41 sample disk 1 - disk 2.td0" size="94274" crc="3f0b6f59" sha1="4af4aaee1f631ae1be0be11f2fc2131cf0bfbd77" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="22058">
|
||||
<rom name="ashton-tate dbase ii v2.41 sample disk 2 - disk 3.td0" size="22058" crc="cfc04630" sha1="c988d1b330d1cdecf25bd63625a6caae20b53393" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop4" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="22056">
|
||||
<rom name="ashton-tate dbase ii v2.41 sample disk 3 - disk 4.td0" size="22056" crc="f54b6f10" sha1="769b7abd592431cb260f72ab43300fb23ea5ec40" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop5" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="29424">
|
||||
<rom name="ashton-tate dbase ii v2.41 sample disk 4 - disk 5.td0" size="29424" crc="fa4531f8" sha1="9791a692446540bcf57241e798cf7bd0d8a30ce8" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="mite" supported="no">
|
||||
<description>Mite (v3.0)</description>
|
||||
<year>1985</year>
|
||||
<publisher>Mycroft Labs</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="161505">
|
||||
<rom name="mite v3.0 - application disk.td0" size="161505" crc="4a1e5dec" sha1="1bd24b9481047a8c7db93c56fa2fd56b68e0aa49" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="wscs" supported="no">
|
||||
<description>WordStar (Release 3.0) and CalcStar (Release 1.45)</description>
|
||||
<year>198?</year>
|
||||
<publisher><unknown></publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="356678">
|
||||
<rom name="wordstar v3.00.td0" size="356678" crc="37896ed4" sha1="df2c938987dda821863383cbbcb9b8e1008606f3" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="wscsa" cloneof="wscs">
|
||||
<description>WordStar (Release 3.0) and CalcStar (Release 1.2)</description>
|
||||
<year>198?</year>
|
||||
<publisher><unknown></publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="259832">
|
||||
<rom name="zorba4.imd" size="259832" crc="3c89eb7a" sha1="c54c579e9a24410870eed5f7a6c3a73f0f5f2633" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 001 Public Domain Software
|
||||
COMPARE.COM - File comparison utility
|
||||
WASH.COM - File management utility
|
||||
SWEEP.COM - File managment utility
|
||||
UNERASE.COM - Unerases deleted file
|
||||
INDEX.COM - Directory utility
|
||||
SHOW.COM - Displays files a screenful at a time
|
||||
WS.KEY - WordStar key definition file
|
||||
SQUEEZE.COM - Data compression program
|
||||
UMPIRE.COM - Give your memory a checkup
|
||||
FILTER.COM - Strips unprintable characters from files
|
||||
MENU.COM - Menu program
|
||||
CHESS.COM - Plays, even displays a little board
|
||||
BANNER.COM - Prints banner headlines
|
||||
DU.COM - Track and sector level disk utility
|
||||
IDXGEN.COM - Generate an idex at the end of WordStar files
|
||||
TRANSLAT.COM - 8080 to Z80 non optimizing translator
|
||||
CAT.COM - Disk catalog program
|
||||
LOOK.COM - Memory search program
|
||||
CRCK.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus1" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 1</description>
|
||||
<year>1983</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="204828">
|
||||
<rom name="zeuslib. 001 public domain software.td0" size="204828" crc="049704a6" sha1="8ad508756e2715d23f8da21825cca31b39e836ee" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 002 Public Domain Software
|
||||
HELP.COM - Help utility
|
||||
*.BAS - Several MBASIC games
|
||||
SM.COM - Smartmodem program
|
||||
PHOTO.COM - Screen-to-file dump utility
|
||||
OK.COM - Setup program for Okidata printer
|
||||
CURSOR.MAC - Program to change cursor
|
||||
NEWSWEEP.COM - Newsweep version 1.9 in 8K file
|
||||
DU-V86.COM - Disk Utility version 8.6
|
||||
SAP27.COM - Directory sort & purge
|
||||
DIR.COM - File diference utility
|
||||
SCAN.COM - File display utility
|
||||
TYPER.COM - Typewritter program
|
||||
PGLST.COM - Converts single column into multi-column list
|
||||
UN.COM - File unprotector
|
||||
RUBIK.CQB - Rubik cube program
|
||||
CRCK.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus2" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 2</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="280008">
|
||||
<rom name="zeuslib. 002 public domain software.td0" size="280008" crc="2eaa4c27" sha1="c2b443d710e5677b0af7bcc696e0fa78f6489796" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 003 Public Domain Software
|
||||
AUTOWRAP.COM - Switches on wrap at the end of the line
|
||||
NOMASK.COM - Disables the zapping of the high bit in CONOUT
|
||||
CMP.COM - File comparision utility
|
||||
DF.COM - Sorted directory program
|
||||
IDXGEN.PQS - Source for index generating program
|
||||
INDEXZ.COM - Index program
|
||||
LINES.COM - Get the number of lines in your document
|
||||
PASSWORD.COM - Allows you to make a program password protected
|
||||
SCRAMBLE.COM - Encript a file
|
||||
RENAME.COM - Accepts wildcards when renaming
|
||||
LU.COM - Library Utility used to combine files
|
||||
XREF.BQS - Generates cross reference listings
|
||||
XCAT36.COM - Cross reference utility for MAST.CAT
|
||||
LISTT16.COM - File printing program version 16
|
||||
FCB.COM - Displays the file control blocks
|
||||
RULER.COM - Displays ruler on 25th line of the screen
|
||||
OKI92.COM - Setup for Okidata 92 printer
|
||||
ZBSET251.LBR - Display text on 25th (status) line
|
||||
ZBMDM727.LBR - Modem 7 terminal program version 2.7
|
||||
NSWP199.COM - Newsweep version 1.99
|
||||
CRCK.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus3" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 3</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="263142">
|
||||
<rom name="zeuslib. 003 public domain software.td0" size="263142" crc="3f715516" sha1="fd22691481f0aab59f6ca5d3a9130eb00c064b77" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 004 Public Domain Software
|
||||
*.* - Programming tools disk
|
||||
(disassemblers, macro libraries, tracer, compiler, loader, etc)
|
||||
CRCK.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus4" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 4</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="269382">
|
||||
<rom name="zeuslib. 004 public domain software.td0" size="269382" crc="a2a3005d" sha1="653329e738f2313e9515016d2a4aacd7d40293ce" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 005 Public Domain Software
|
||||
CAL.COM - Calendar program
|
||||
PHOTO1.COM - Save Screen to disk file
|
||||
QK20.LBR - Qwikkey 2.0 key redefinition program
|
||||
DELBR.COM - Library files extractor
|
||||
LSWEEP.COM - Sweep for libraries
|
||||
BARGRAPH.LBR - Zorba graphics program
|
||||
WASH2.COM - Disk washer-upper version 3.2
|
||||
UNERA12.COM - Unerase program
|
||||
ALLOC.COM - Lists the allocation blocks on disk
|
||||
DIRCHK.COM - Lists the files on a disk
|
||||
DUPUSR21.COM - Make programs accessible in different USER areas
|
||||
RITEMAN.COM - Printer setup for the Inforunner Riteman
|
||||
SD-78.COM - Super Directory 7.8
|
||||
FILEFIND.COM - Checks all available user areas on all drives
|
||||
FAST2.LBR - Speeds up disk bound programs
|
||||
BSORT.LBR - Fast sort program
|
||||
EAC.COM - Extended Arithmetic Calculator
|
||||
FILTER11.AQM - Source code to FILTER
|
||||
UNSPOOL.AQM - print spooler source code
|
||||
FMENU.COM - File Menu program
|
||||
LABEL.LBR - Label printing programs
|
||||
SYNONYM.LBR - Synonym program
|
||||
DRI-HLP.LBR - Library of HELP files for Digital Research programs
|
||||
FIND.COM - Another HELP program
|
||||
CPMADR.COM - CP/M attributes and drive format information
|
||||
PAUSE.COM - For use in SUBMIT files, menu programs, etc.
|
||||
DISKCOPY.COM - Zorba track to track disk copy program
|
||||
CRCK8.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus5" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 5</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="241178">
|
||||
<rom name="zeuslib. 005 public domain software.td0" size="241178" crc="1e82d9bc" sha1="d6a6c1ece5ed55c8883a13c1cd9957e5979edf29" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 006 Public Domain Software
|
||||
WS-INFO.LBR - DOC files for patching WordStar
|
||||
ENSOFT2.LBR - Document conversion program
|
||||
TUCHTYPE.LBR - Touch-typing programs
|
||||
GRADEBOK.LBR - A gradebook program
|
||||
FILT2.LBR - Filters BASIC program files created with WordStar
|
||||
SPELL20.* - Spelling checker version 2.0
|
||||
SPINDOWN.LBR - How to get the Zorba drives to spindown quicker
|
||||
-->
|
||||
<software name="zeus6" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 6</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="268476">
|
||||
<rom name="zeuslib. 006 public domain software.td0" size="268476" crc="1cd375f1" sha1="84d248b824b7d065fd7551fa4a2fd194d6ff2a24" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 007 Public Domain Software
|
||||
*.* - This disk contains a grab-bag of games
|
||||
(requires either MBASIC or CBASIC)
|
||||
CRCK8.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus7" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 7</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="180484">
|
||||
<rom name="zeuslib. 007 public domain software.td0" size="180484" crc="a22ea734" sha1="f66e320ccb4990372ab443a1f1006d175e4307e6" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 008 Public Domain Software
|
||||
ZBMDM740.COM - Modem 7.40 terminal program
|
||||
PHONDATA.LBR - Phone number filing system
|
||||
MSGFILES.LBR - Files commonly downloaded from BBS's
|
||||
LRBDSK22.LBR - Creates logical drives on a single disk
|
||||
RBBS35.LBR - Bulletin board program
|
||||
SECURSYS.DOC - Advice for sysops on system security
|
||||
SCRNWRAP.LBR - Screen wrap program for BIOS 1.7A & 1.8B
|
||||
PILOT.LBR - Pilot Game with source
|
||||
TTY.ASM - TTY program
|
||||
-->
|
||||
<software name="zeus8" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 8</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="304818">
|
||||
<rom name="zeuslib. 008 public domain software.td0" size="304818" crc="c173a8ed" sha1="d3b7fb35a95a1e88f1cacf30fa4690d91c058046" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 009 Public Domain Software
|
||||
MODEM9XX.* - Modem 9.00 terminal program
|
||||
RUNOFF.LBR - Text formating program
|
||||
ZCPR22.LBR - ZCPR is a replacement for CP/M's CCP
|
||||
CRC.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus9" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 9</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="264184">
|
||||
<rom name="zeuslib. 009 public domain software.td0" size="264184" crc="f41a5f53" sha1="f863263f211c328f124abf5a40e93aa6503aa20e" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 010 Public Domain Software
|
||||
GRAF.DQC - MX-80 bit-plot graphics program
|
||||
FX80-PIX.LBR - FX80 pictures
|
||||
ROFF40.LBR - Text formating program version 4.0
|
||||
@.COM - Online expression evaluator for CP/M's CCP
|
||||
SWAP.LBR - Swaps CP/M's CONSOLE and LIST outputs
|
||||
CRC.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus10" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 10</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="249080">
|
||||
<rom name="zeuslib. 010 public domain software.td0" size="249080" crc="aca92c7e" sha1="d05346cb40f9a2ab468c0173a8b9430caa15ecc0" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 011 Public Domain Software
|
||||
VUKEY.COM - Shows function keys on 25th line
|
||||
DU2V17.COM - Disk Utility version 1.7
|
||||
BLIST.COM - Proofing source code for BEGIN END blocks
|
||||
MORSECOD.COM - Morse code program
|
||||
OKI92ITAL.COM - Okidata 92 printer setup program
|
||||
M7ZB-3.ASM - Modem 7 overlay for the Zorba
|
||||
ZSIDFIX.DOC - Patch for Digital Research's ZSID debugger
|
||||
MEX.COM - Modem terminal program
|
||||
CRCK8.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus11" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 11</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="268902">
|
||||
<rom name="zeuslib. 011 public domain software.td0" size="268902" crc="bbca9771" sha1="b8434a474971143ee9cd25e1fc665c5a8dc831e1" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 012 Public Domain Software
|
||||
ADVNTURE.LBR - Adventure game
|
||||
BULLCOW.COM - Bullcow game
|
||||
HANGMAN.LBR - Hangman game
|
||||
PILOT.LBR - Pilot game
|
||||
PLANE.COM - Poor man's flight simulator
|
||||
SQUARE2.COM - Zorba video demonstration program
|
||||
ZWORM2.COM - Green worm screen wiggle
|
||||
ZGAMMON.BAS - Back Gammon game
|
||||
FROG.BAS - dichotomous key demonstration program
|
||||
CRC.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus12" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 12</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="276624">
|
||||
<rom name="zeuslib. 012 public domain software.td0" size="276624" crc="d85bf1cb" sha1="e5a3e46fb9c7258769bb185a6cfc9baf416de0a9" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 013 Public Domain Software
|
||||
MCAT41.LBR - Popular catalog system
|
||||
MEMTEST.COM - Rasmussen memory test version 1.8
|
||||
MTYPE.COM - Type utility that accepts wildcards
|
||||
GRAPHICS.BAS - Zorba Graphics tutorial (MBASIC)
|
||||
INFO.COM - Maps where things are in your CP/M system
|
||||
MONITOR.LBR - Serial line data analyzer
|
||||
PHOTO2.LBR - Saves Screen image to disk
|
||||
DUMPX.LBR - Improved CP/M dump utility
|
||||
ASCIDUMP.LBR - Dump a file to the screen
|
||||
DIABLO.AQM - WordStar patch for Diablo printer
|
||||
DRAW.PQS - Draw program - Turbo Pascal source
|
||||
SCR-MU.LBR - Programmer's screen management utility
|
||||
GEMINI15.LBR - CBASIC program for setting printer attributes
|
||||
DATER.LBR - Calendar program written in C
|
||||
SAP38.LBR - Latest Sort & Pack directory program
|
||||
FIND40.LBR - Find text string
|
||||
WHATSNEW.LBR - What's new on disk since last change
|
||||
HELP.AQM - Source code for HELP.COM
|
||||
UNDEL.LBR - Undelete program
|
||||
SETDRU.LBR - A BIOS filter for hard disk users
|
||||
ZCOMPARE.LBR - File comparision program
|
||||
DISKMON.COM - Disk monitor utility
|
||||
COUNT.LBR - Program to determine length of a file
|
||||
LISTT16A.AQM - Source code for creating lists
|
||||
MBASUTIL.LBR - 4 function calculator
|
||||
ODDBALL.LBR - Bizarre game, supposedly Italian ping pong!
|
||||
INVANALY.BAS - Investment analysis program
|
||||
INSTMNT.LBR - Finds lowest commission rate
|
||||
BNCHMARK.BAS - Benchmark & Timmings
|
||||
DIRECDIF.LBR - Program to compare directory tracks
|
||||
COMPARE2.COM - 2K file compare program
|
||||
ESSAY.RQS - A true story by Richard Stillman
|
||||
CRC.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus13" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 13</description>
|
||||
<year>1984</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="284364">
|
||||
<rom name="zeuslib. 013 public domain software.td0" size="284364" crc="1412b3ac" sha1="6b9727a6cfe26e215b0928d3bdb53f2665c72865" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 014 Public Domain Software
|
||||
APPEND.LBR - Append adds one file to another
|
||||
DBL.LBR - Prints pages side by side on an ordinary page
|
||||
VDO.COM - Good emulation of Wordstar's non-document mode
|
||||
SPEED.PGS - Squeezed source code for SPEED (drive speed checking)
|
||||
DUMP2.LBR - Improved CP/M dump program
|
||||
SAP39.LBR - Latest version of directory sort and pack
|
||||
GOTHIC.LBR - Printing block letters in gothic font
|
||||
SAVEPROM.LBR - Saves contents of the Zorba boot prom
|
||||
SONARWAR.LQR - Squeezed library of game
|
||||
OTHELLO.COM - Compiled version of CBASIC Othello game
|
||||
ZGRAF15.LBR - ZGRAF business graphic program
|
||||
SC2.HQP - Squeezed Help file for SuperCalc 2
|
||||
FUNNIES.LBR - A barrel of fun
|
||||
ZM.LBR - There's always room for another assembler
|
||||
BLIST.LBR - Turbo Pascal list utility
|
||||
QUOTES.PRN - Pithy savings of pithy people
|
||||
PIPPATCH.AQM - File with patches to PIP
|
||||
SAVER.AQM - Recover text from memory after Wordstar crash
|
||||
FRUN.COM - Odd game
|
||||
CRC.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus14" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 14</description>
|
||||
<year>1985</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="302842">
|
||||
<rom name="zeuslib. 014 public domain software.td0" size="302842" crc="d4ffdd8a" sha1="7b2caae4c4623c25469e06d190b4fa53c67bdce8" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 015 Public Domain Software
|
||||
DIRFILES3.LBR - Utility to associate a comment with each file name
|
||||
NULU10.COM - Assembly language version of LU & LSWEEP
|
||||
ADDRESS.LBR - Computerized name, address and phone number book
|
||||
FTNOTE12.LBR - Footnoting program for use with WordStar
|
||||
EDIT.LBR - Line Editor
|
||||
LUX42.LBR - Utility for browsing on-line in libraries (LBR files)
|
||||
DIRR.COM - Another directory program
|
||||
FOOTBALL.COM - A game of American football
|
||||
LFILTER.LBR - Utility to facilitate file interchange
|
||||
MCIMAIL2.LBR - A library of MCI mail stuff
|
||||
XLIST.COM - Cross-reference utility for Turbo Pascal programs
|
||||
SIFT.LBR - Finds a string in a text file
|
||||
ZORKHINT.LBR - Some programs to assist you with the game ZORK
|
||||
PASSWORD.AQM - squeezed source for PASSWORD program on Zeuslib.003
|
||||
HANG.BAS - what could this be? You'll need MBASIC to find out.
|
||||
UNSPOOL.HLP - Help file for UNSPOOL program
|
||||
CRC.COM - Cyclic redundancy check program
|
||||
-->
|
||||
<software name="zeus15" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 15</description>
|
||||
<year>1985</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="238514">
|
||||
<rom name="zeuslib. 015 public domain software.td0" size="238514" crc="200665b1" sha1="e8a690c2f2d3a4439b4b34f9c2077f8f3d4035ca" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 016 Public Domain Software
|
||||
SMC.COM - The Small C complier
|
||||
FORTH.COM - A true Fig-Forth
|
||||
XLISP.COM - This is LISP from SIG/M
|
||||
-->
|
||||
<software name="zeus16" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 16</description>
|
||||
<year>1985</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="284722">
|
||||
<rom name="zeuslib. 016 public domain software.td0" size="284722" crc="6a2de0eb" sha1="a7804dd1a0dec12b5e8525fbdba08b0f3b360cff" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 017 Public Domain Software
|
||||
TOUR.COM - Outline processor
|
||||
DIRFILES.COM - Ver. 3.1 creates a 'data' file listing
|
||||
EDIT.COM - Small, fast text editor
|
||||
EX15.COM - Replacement for Submit.com and Xsub.com
|
||||
FILT6.COM - Filters text files and removes control characters
|
||||
WSDOCON.COM - Converts any text file into Wordstar document file
|
||||
KERMIT39.COM - Telecommunications program
|
||||
N30.COM - Accepts any decimal, hex, or binary number or any ASCII character and displays the value in all four modes
|
||||
WHATCHAR.COM - Accepts keyboard entry and displays decimal and hexadecimal equivalent
|
||||
NULU12.COM - Latest version of NU L(ibrary) U(tility)
|
||||
QK21.COM - Qwikkey version 2.1
|
||||
SUPERZAP.COM - Full screen interactive disk update utility
|
||||
MEMAP.COM - System map utility
|
||||
TPA.COM - Display TPA size
|
||||
WINDEX.COM - Creates an index for any Wordstar document file
|
||||
WS-USER.AQM - Assembly patch for changing default drives
|
||||
GRXR.LBR - Turns a text file into a 'runnable' .com file
|
||||
-->
|
||||
<software name="zeus17" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 17</description>
|
||||
<year>1985</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="196860">
|
||||
<rom name="zeuslib. 017 public domain software.td0" size="196860" crc="494998ae" sha1="495e97b1329370619b36769be10a90b70995de22" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 018 Public Domain Software
|
||||
MEX (A Modem Executive for CP/M-80)
|
||||
(Version 1.12 and 1.14 - instructions & help files)
|
||||
(Zorba - specific overlay files & runnable version)
|
||||
Command files
|
||||
Documentation, Help files
|
||||
MEX command/key/library files
|
||||
MEX overlay/patch files
|
||||
-->
|
||||
<software name="zeus18" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 18</description>
|
||||
<year>1985</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="232056">
|
||||
<rom name="zeuslib. 018 public domain software.td0" size="232056" crc="d0cb40d8" sha1="34ce4b85f0245a70c98b79420643e179aaf94e1a" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 019 Public Domain Software
|
||||
Wordprocessing & Text Utilities Disk:
|
||||
Biblioms (Bibliography Management system)
|
||||
Sift 2.2 - Text search/sort (Zorba specific)
|
||||
Listfilz - Annotated disk directories
|
||||
Linesort - Alphabetical sort line-by-line
|
||||
Screenwright - Screenplay formatter
|
||||
Wordstar patches - how to get started
|
||||
-->
|
||||
<software name="zeus19" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 19</description>
|
||||
<year>1985</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="202302">
|
||||
<rom name="zeuslib. 019 public domain software.td0" size="202302" crc="5aab0c0f" sha1="a79d65730aa2fb8aa6bd8667a1a2a049b29e6b68" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 020 Public Domain Software
|
||||
Oracle of Zeus - Index (Volume 1)
|
||||
Supercalc, Calcstar, Infostar templates
|
||||
Curve-fitting and graphing programs
|
||||
MBASIC programmer's utility
|
||||
Zorba utilities and oddities
|
||||
M7ZB-4 - latest Zorba modem overlay
|
||||
RECIPE.COM - file your kitchen favorites
|
||||
-->
|
||||
<software name="zeus20" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 20</description>
|
||||
<year>1985</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="237880">
|
||||
<rom name="zeuslib. 020 public domain software.td0" size="237880" crc="48dbec4f" sha1="cbf6ace0fdb29fdff8d7e01f21a029339fab7198" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 021 Public Domain Software
|
||||
Entertaining and Educational Games
|
||||
(With MBASIC, CBASIC, and Pascal source included)
|
||||
-->
|
||||
<software name="zeus21" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 21</description>
|
||||
<year>1985</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="269470">
|
||||
<rom name="zeuslib. 021 public domain software.td0" size="269470" crc="0efd6c68" sha1="a2b52a52694d9c75486f8573c4534442e3531c7f" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!--
|
||||
Zeuslib. 022 Public Domain Software
|
||||
Forth-83 (Version 2.1.1) - The Laxen/Perry Model
|
||||
F83.COM - the compiled system
|
||||
The source files - all .BLK files
|
||||
Documentation/instruction files
|
||||
TUTORIAL.COM - simple help for begginers
|
||||
-->
|
||||
<software name="zeus22" supported="no">
|
||||
<description>Zeus Public Domain Software Disk 22</description>
|
||||
<year>1985</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="252560">
|
||||
<rom name="zeuslib. 022 public domain software.td0" size="252560" crc="2bcd0db4" sha1="ccd3371ed90c68f88dede9dbbe6b3d4ee32b717f" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="zeusbios" supported="no">
|
||||
<description>Zorba BIOS (v1.8Z)</description>
|
||||
<year>1986</year>
|
||||
<publisher>Zorba Equipment Users' Society (Zeus)</publisher>
|
||||
|
||||
<part name="flop43" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="116362">
|
||||
<rom name="zorba bios v1.8z.td0" size="116362" crc="51e4746a" sha1="ed363b3ef97e273ac887a46c1a839dc8b5d15307" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<!-- Co-Power-88 disks -->
|
||||
|
||||
<software name="copower" supported="no">
|
||||
<description>Co-Power-88 for Telcon Zorba</description>
|
||||
<year>1985</year>
|
||||
<publisher>SWP</publisher>
|
||||
<info name="usage" value="Requires Co-Power-88 expansion" />
|
||||
|
||||
<part name="flop19" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="39433">
|
||||
<rom name="swp co-power 88.td0" size="39433" crc="f4134db7" sha1="fc270abad2f715b86138d192ccc7f9ab173e77c9" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="cpm86" supported="no">
|
||||
<description>CP/M-86 (v1.1)</description>
|
||||
<year>1983</year>
|
||||
<publisher>SWP?</publisher>
|
||||
<info name="usage" value="Requires Co-Power-88 expansion" />
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="247616">
|
||||
<rom name="digital research cpm-86 v1.1.td0" size="247616" crc="d6137dca" sha1="0feba6c3c36f28be5aec57ec877ea57e67d1754a" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="pcdos330" supported="no">
|
||||
<description>PC-DOS (v3.30)</description>
|
||||
<year>1987</year>
|
||||
<publisher>SWP?</publisher>
|
||||
<info name="usage" value="Requires Co-Power-88 expansion" />
|
||||
|
||||
<part name="flop18" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="322343">
|
||||
<rom name="pc dos 3.30 system disk.td0" size="322343" crc="ca6260df" sha1="2a0d4988ee2562a98b7af1d345d4899ce55aa8d2" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="pcdos211" supported="no">
|
||||
<description>PC-DOS (v2.11)</description>
|
||||
<year>1983</year>
|
||||
<publisher>SWP?</publisher>
|
||||
<info name="usage" value="Requires Co-Power-88 expansion" />
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="227363">
|
||||
<rom name="pc dos 2.11 system disk 1.td0" size="227363" crc="c6291464" sha1="68b7ccd7ffac98f76bca48ae4cae2fccd70f8a51" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="228103">
|
||||
<rom name="pc dos 2.11 system disk 2.td0" size="228103" crc="3f898887" sha1="0071c716f1c6d5be153c5013f29819869f449209" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
</softwarelist>
|
@ -1894,6 +1894,8 @@ files {
|
||||
MAME_DIR .. "src/mame/video/fmtowns.cpp",
|
||||
MAME_DIR .. "src/mame/machine/fm_scsi.cpp",
|
||||
MAME_DIR .. "src/mame/machine/fm_scsi.h",
|
||||
MAME_DIR .. "src/mame/machine/fmt_icmem.cpp",
|
||||
MAME_DIR .. "src/mame/machine/fmt_icmem.h",
|
||||
MAME_DIR .. "src/mame/drivers/fm7.cpp",
|
||||
MAME_DIR .. "src/mame/includes/fm7.h",
|
||||
MAME_DIR .. "src/mame/video/fm7.cpp",
|
||||
|
@ -334,7 +334,7 @@ static void InitDasm8201(void)
|
||||
Op[i].type = type;
|
||||
|
||||
/* 2 byte code ? */
|
||||
while (isspace((uint8_t)*p)) p++;
|
||||
while (isspace(u8(*p))) p++;
|
||||
if( (*p) )
|
||||
Op[i].type |= 0x10;
|
||||
/* number of param */
|
||||
|
@ -184,7 +184,7 @@ const device_type ALPHA8301L = &device_creator<alpha8301_cpu_device>;
|
||||
#define FN(x) &alpha8201_cpu_device::x
|
||||
|
||||
|
||||
alpha8201_cpu_device::alpha8201_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
alpha8201_cpu_device::alpha8201_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: cpu_device(mconfig, ALPHA8201L, "ALPHA-8201L", tag, owner, clock, "alpha8201l", __FILE__)
|
||||
, m_program_config("program", ENDIANNESS_LITTLE, 8, 10, 0)
|
||||
, m_io_config("io", ENDIANNESS_LITTLE, 8, 6, 0)
|
||||
@ -193,7 +193,7 @@ alpha8201_cpu_device::alpha8201_cpu_device(const machine_config &mconfig, const
|
||||
}
|
||||
|
||||
|
||||
alpha8201_cpu_device::alpha8201_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source)
|
||||
alpha8201_cpu_device::alpha8201_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, u32 clock, const char *shortname, const char *source)
|
||||
: cpu_device(mconfig, type, name, tag, owner, clock, shortname, source)
|
||||
, m_program_config("program", ENDIANNESS_LITTLE, 8, 10, 0)
|
||||
, m_io_config("io", ENDIANNESS_LITTLE, 8, 6, 0)
|
||||
@ -201,7 +201,7 @@ alpha8201_cpu_device::alpha8201_cpu_device(const machine_config &mconfig, device
|
||||
{
|
||||
}
|
||||
|
||||
alpha8301_cpu_device::alpha8301_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
alpha8301_cpu_device::alpha8301_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: alpha8201_cpu_device(mconfig, ALPHA8301L, "ALPHA-8301L", tag, owner, clock, "alpha8301l", __FILE__)
|
||||
{
|
||||
m_opmap = opcode_8301;
|
||||
@ -217,49 +217,49 @@ unsigned alpha8201_cpu_device::M_RDMEM_OPCODE()
|
||||
return retval;
|
||||
}
|
||||
|
||||
void alpha8201_cpu_device::M_ADD(uint8_t dat)
|
||||
void alpha8201_cpu_device::M_ADD(u8 dat)
|
||||
{
|
||||
uint16_t temp = m_A + dat;
|
||||
u16 temp = m_A + dat;
|
||||
m_A = temp & 0xff;
|
||||
m_zf = (m_A==0);
|
||||
m_cf = temp>>8;
|
||||
}
|
||||
|
||||
void alpha8201_cpu_device::M_ADDB(uint8_t dat)
|
||||
void alpha8201_cpu_device::M_ADDB(u8 dat)
|
||||
{
|
||||
uint16_t temp = m_B + dat;
|
||||
u16 temp = m_B + dat;
|
||||
m_B = temp & 0xff;
|
||||
m_zf = (m_B==0);
|
||||
m_cf = temp>>8;
|
||||
}
|
||||
|
||||
void alpha8201_cpu_device::M_SUB(uint8_t dat)
|
||||
void alpha8201_cpu_device::M_SUB(u8 dat)
|
||||
{
|
||||
m_cf = (m_A>=dat); // m_cf is No Borrow
|
||||
m_A -= dat;
|
||||
m_zf = (m_A==0);
|
||||
}
|
||||
|
||||
void alpha8201_cpu_device::M_AND(uint8_t dat)
|
||||
void alpha8201_cpu_device::M_AND(u8 dat)
|
||||
{
|
||||
m_A &= dat;
|
||||
m_zf = (m_A==0);
|
||||
}
|
||||
|
||||
void alpha8201_cpu_device::M_OR(uint8_t dat)
|
||||
void alpha8201_cpu_device::M_OR(u8 dat)
|
||||
{
|
||||
m_A |= dat;
|
||||
m_zf = (m_A==0);
|
||||
}
|
||||
|
||||
void alpha8201_cpu_device::M_XOR(uint8_t dat)
|
||||
void alpha8201_cpu_device::M_XOR(u8 dat)
|
||||
{
|
||||
m_A ^= dat;
|
||||
m_zf = (m_A==0);
|
||||
m_cf = 0;
|
||||
}
|
||||
|
||||
void alpha8201_cpu_device::M_JMP(uint8_t dat)
|
||||
void alpha8201_cpu_device::M_JMP(u8 dat)
|
||||
{
|
||||
m_pc.b.l = dat;
|
||||
/* update pc page */
|
||||
@ -279,8 +279,8 @@ void alpha8201_cpu_device::M_UNDEFINED()
|
||||
|
||||
void alpha8201_cpu_device::M_UNDEFINED2()
|
||||
{
|
||||
uint8_t op = M_RDOP(m_pc.w.l-1);
|
||||
uint8_t imm = M_RDMEM_OPCODE();
|
||||
u8 op = M_RDOP(m_pc.w.l-1);
|
||||
u8 imm = M_RDMEM_OPCODE();
|
||||
logerror("alpha8201: PC = %03x, Unimplemented opcode = %02x,%02x\n", m_pc.w.l-2, op,imm);
|
||||
#if SHOW_MESSAGE_CONSOLE
|
||||
osd_printf_debug("alpha8201: PC = %03x, Unimplemented opcode = %02x,%02x\n", m_pc.w.l-2, op,imm);
|
||||
@ -293,7 +293,7 @@ void alpha8201_cpu_device::M_UNDEFINED2()
|
||||
|
||||
void alpha8201_cpu_device::stop()
|
||||
{
|
||||
uint8_t pcptr = M_RDMEM(0x001) & 0x1f;
|
||||
u8 pcptr = M_RDMEM(0x001) & 0x1f;
|
||||
M_WRMEM(pcptr,(M_RDMEM(pcptr)&0xf)+0x08); /* mark entry point ODD to HALT */
|
||||
m_mb |= 0x08; /* mark internal HALT state */
|
||||
}
|
||||
@ -600,7 +600,7 @@ void alpha8201_cpu_device::device_reset()
|
||||
void alpha8201_cpu_device::execute_run()
|
||||
{
|
||||
unsigned opcode;
|
||||
uint8_t pcptr;
|
||||
u8 pcptr;
|
||||
|
||||
if(m_halt)
|
||||
{
|
||||
@ -688,7 +688,7 @@ void alpha8201_cpu_device::execute_set_input(int inputnum, int state)
|
||||
}
|
||||
|
||||
|
||||
offs_t alpha8201_cpu_device::disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options)
|
||||
offs_t alpha8201_cpu_device::disasm_disassemble(std::ostream &stream, offs_t pc, const u8 *oprom, const u8 *opram, u32 options)
|
||||
{
|
||||
extern CPU_DISASSEMBLE( alpha8201 );
|
||||
return CPU_DISASSEMBLE_NAME(alpha8201)(this, stream, pc, oprom, opram, options);
|
||||
|
@ -20,11 +20,11 @@ cpu/alph8201/ will be removed when the alpha 8304 has been dumped.
|
||||
* *
|
||||
\**************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef __ALPH8201_H__
|
||||
#define __ALPH8201_H__
|
||||
|
||||
#pragma once
|
||||
|
||||
enum
|
||||
{
|
||||
ALPHA8201_PC = STATE_GENPC,
|
||||
@ -50,8 +50,8 @@ class alpha8201_cpu_device : public cpu_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
alpha8201_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
alpha8201_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source);
|
||||
alpha8201_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
alpha8201_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, u32 clock, const char *shortname, const char *source);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
@ -59,9 +59,9 @@ protected:
|
||||
virtual void device_reset() override;
|
||||
|
||||
// device_execute_interface overrides
|
||||
virtual uint32_t execute_min_cycles() const override { return 1; }
|
||||
virtual uint32_t execute_max_cycles() const override { return 16; }
|
||||
virtual uint32_t execute_input_lines() const override { return 1; }
|
||||
virtual u32 execute_min_cycles() const override { return 1; }
|
||||
virtual u32 execute_max_cycles() const override { return 16; }
|
||||
virtual u32 execute_input_lines() const override { return 1; }
|
||||
virtual void execute_run() override;
|
||||
virtual void execute_set_input(int inputnum, int state) override;
|
||||
|
||||
@ -74,25 +74,25 @@ protected:
|
||||
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual uint32_t disasm_min_opcode_bytes() const override { return 1; }
|
||||
virtual uint32_t disasm_max_opcode_bytes() const override { return 4; }
|
||||
virtual offs_t disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options) override;
|
||||
virtual u32 disasm_min_opcode_bytes() const override { return 1; }
|
||||
virtual u32 disasm_max_opcode_bytes() const override { return 4; }
|
||||
virtual offs_t disasm_disassemble(std::ostream &stream, offs_t pc, const u8 *oprom, const u8 *opram, u32 options) override;
|
||||
|
||||
uint8_t M_RDMEM(uint16_t A) { return m_program->read_byte(A); }
|
||||
void M_WRMEM(uint16_t A,uint8_t V) { m_program->write_byte(A, V); }
|
||||
uint8_t M_RDOP(uint16_t A) { return m_direct->read_byte(A); }
|
||||
uint8_t M_RDOP_ARG(uint16_t A) { return m_direct->read_byte(A); }
|
||||
uint8_t RD_REG(uint8_t x) { return m_RAM[(m_regPtr<<3)+(x)]; }
|
||||
void WR_REG(uint8_t x, uint8_t d) { m_RAM[(m_regPtr<<3)+(x)]=(d); }
|
||||
u8 M_RDMEM(u16 A) { return m_program->read_byte(A); }
|
||||
void M_WRMEM(u16 A, u8 V) { m_program->write_byte(A, V); }
|
||||
u8 M_RDOP(u16 A) { return m_direct->read_byte(A); }
|
||||
u8 M_RDOP_ARG(u16 A) { return m_direct->read_byte(A); }
|
||||
u8 RD_REG(u8 x) { return m_RAM[(m_regPtr<<3)+(x)]; }
|
||||
void WR_REG(u8 x, u8 d) { m_RAM[(m_regPtr<<3)+(x)]=(d); }
|
||||
|
||||
unsigned M_RDMEM_OPCODE();
|
||||
void M_ADD(uint8_t dat);
|
||||
void M_ADDB(uint8_t dat);
|
||||
void M_SUB(uint8_t dat);
|
||||
void M_AND(uint8_t dat);
|
||||
void M_OR(uint8_t dat);
|
||||
void M_XOR(uint8_t dat);
|
||||
void M_JMP(uint8_t dat);
|
||||
void M_ADD(u8 dat);
|
||||
void M_ADDB(u8 dat);
|
||||
void M_SUB(u8 dat);
|
||||
void M_AND(u8 dat);
|
||||
void M_OR(u8 dat);
|
||||
void M_XOR(u8 dat);
|
||||
void M_JMP(u8 dat);
|
||||
void M_UNDEFINED();
|
||||
void M_UNDEFINED2();
|
||||
|
||||
@ -102,10 +102,10 @@ protected:
|
||||
void nop() { }
|
||||
void rora() { m_cf = m_A &1; m_A = (m_A>>1) | (m_A<<7); }
|
||||
void rola() { m_cf = (m_A>>7)&1; m_A = (m_A<<1) | (m_A>>7); }
|
||||
void inc_b() { M_ADDB(0x02); }
|
||||
void dec_b() { M_ADDB(0xfe); }
|
||||
void inc_a() { M_ADD(0x01); }
|
||||
void dec_a() { M_ADD(0xff); }
|
||||
void inc_b() { M_ADDB(0x02); }
|
||||
void dec_b() { M_ADDB(0xfe); }
|
||||
void inc_a() { M_ADD(0x01); }
|
||||
void dec_a() { M_ADD(0xff); }
|
||||
void cpl() { m_A ^= 0xff; };
|
||||
|
||||
void ld_a_ix0_0() { m_A = M_RDMEM(m_ix0.w.l+0); }
|
||||
@ -290,26 +290,26 @@ protected:
|
||||
void ld_lp2_n() { m_lp2 = M_RDMEM_OPCODE(); }
|
||||
void ld_b_n() { m_B = M_RDMEM_OPCODE(); }
|
||||
|
||||
void djnz_lp0() { uint8_t i=M_RDMEM_OPCODE(); m_lp0--; if (m_lp0 != 0) M_JMP(i); }
|
||||
void djnz_lp1() { uint8_t i=M_RDMEM_OPCODE(); m_lp1--; if (m_lp1 != 0) M_JMP(i); }
|
||||
void djnz_lp2() { uint8_t i=M_RDMEM_OPCODE(); m_lp2--; if (m_lp2 != 0) M_JMP(i); }
|
||||
void jnz() { uint8_t i=M_RDMEM_OPCODE(); if (!m_zf) M_JMP(i); }
|
||||
void jnc() { uint8_t i=M_RDMEM_OPCODE(); if (!m_cf) M_JMP(i);}
|
||||
void jz() { uint8_t i=M_RDMEM_OPCODE(); if ( m_zf) M_JMP(i); }
|
||||
void jc() { uint8_t i=M_RDMEM_OPCODE(); if ( m_cf) M_JMP(i);}
|
||||
void jmp() { M_JMP(M_RDMEM_OPCODE() ); }
|
||||
void djnz_lp0() { u8 i=M_RDMEM_OPCODE(); m_lp0--; if (m_lp0 != 0) M_JMP(i); }
|
||||
void djnz_lp1() { u8 i=M_RDMEM_OPCODE(); m_lp1--; if (m_lp1 != 0) M_JMP(i); }
|
||||
void djnz_lp2() { u8 i=M_RDMEM_OPCODE(); m_lp2--; if (m_lp2 != 0) M_JMP(i); }
|
||||
void jnz() { u8 i=M_RDMEM_OPCODE(); if (!m_zf) M_JMP(i); }
|
||||
void jnc() { u8 i=M_RDMEM_OPCODE(); if (!m_cf) M_JMP(i);}
|
||||
void jz() { u8 i=M_RDMEM_OPCODE(); if ( m_zf) M_JMP(i); }
|
||||
void jc() { u8 i=M_RDMEM_OPCODE(); if ( m_cf) M_JMP(i);}
|
||||
void jmp() { M_JMP(M_RDMEM_OPCODE() ); }
|
||||
|
||||
void stop();
|
||||
|
||||
/* ALPHA 8301 : added instruction */
|
||||
void exg_a_ix0() { uint8_t t=m_A; m_A = m_ix0.b.l; m_ix0.b.l = t; }
|
||||
void exg_a_ix1() { uint8_t t=m_A; m_A = m_ix1.b.l; m_ix1.b.l = t; }
|
||||
void exg_a_ix2() { uint8_t t=m_A; m_A = m_ix2.b.l; m_ix2.b.l = t; }
|
||||
void exg_a_lp0() { uint8_t t=m_A; m_A = m_lp0; m_lp0 = t; }
|
||||
void exg_a_lp1() { uint8_t t=m_A; m_A = m_lp1; m_lp1 = t; }
|
||||
void exg_a_lp2() { uint8_t t=m_A; m_A = m_lp2; m_lp2 = t; }
|
||||
void exg_a_b() { uint8_t t=m_A; m_A = m_B; m_B = t; }
|
||||
void exg_a_rb() { uint8_t t=m_A; m_A = m_regPtr; m_regPtr = t; }
|
||||
void exg_a_ix0() { u8 t=m_A; m_A = m_ix0.b.l; m_ix0.b.l = t; }
|
||||
void exg_a_ix1() { u8 t=m_A; m_A = m_ix1.b.l; m_ix1.b.l = t; }
|
||||
void exg_a_ix2() { u8 t=m_A; m_A = m_ix2.b.l; m_ix2.b.l = t; }
|
||||
void exg_a_lp0() { u8 t=m_A; m_A = m_lp0; m_lp0 = t; }
|
||||
void exg_a_lp1() { u8 t=m_A; m_A = m_lp1; m_lp1 = t; }
|
||||
void exg_a_lp2() { u8 t=m_A; m_A = m_lp2; m_lp2 = t; }
|
||||
void exg_a_b() { u8 t=m_A; m_A = m_B; m_B = t; }
|
||||
void exg_a_rb() { u8 t=m_A; m_A = m_regPtr; m_regPtr = t; }
|
||||
|
||||
void ld_ix0_a() { m_ix0.b.l = m_A; }
|
||||
void ld_ix1_a() { m_ix1.b.l = m_A; }
|
||||
@ -320,8 +320,8 @@ protected:
|
||||
void ld_b_a() { m_B = m_A; }
|
||||
void ld_rb_a() { m_regPtr = m_A; }
|
||||
|
||||
void exg_ix0_ix1() { uint8_t t=m_ix1.b.l; m_ix1.b.l = m_ix0.b.l; m_ix0.b.l = t; }
|
||||
void exg_ix0_ix2() { uint8_t t=m_ix2.b.l; m_ix2.b.l = m_ix0.b.l; m_ix0.b.l = t; }
|
||||
void exg_ix0_ix1() { u8 t=m_ix1.b.l; m_ix1.b.l = m_ix0.b.l; m_ix0.b.l = t; }
|
||||
void exg_ix0_ix2() { u8 t=m_ix2.b.l; m_ix2.b.l = m_ix0.b.l; m_ix0.b.l = t; }
|
||||
|
||||
void op_d4() { m_A = M_RDMEM( ((m_RAM[(7<<3)+7] & 3) << 8) | M_RDMEM_OPCODE() ); }
|
||||
void op_d5() { M_WRMEM( ((m_RAM[(7<<3)+7] & 3) << 8) | M_RDMEM_OPCODE(), m_A ); }
|
||||
@ -337,16 +337,16 @@ protected:
|
||||
void op_rep_ld_b_ix0() { do { m_RAM[(m_B>>1)&0x3f] = M_RDMEM(m_ix0.w.l); m_ix0.b.l++; m_B+=2; m_lp0--; } while (m_lp0 != 0); }
|
||||
void ld_rxb_a() { m_RAM[(m_B>>1)&0x3f] = m_A; }
|
||||
void ld_a_rxb() { m_A = m_RAM[(m_B>>1)&0x3f]; }
|
||||
void cmp_a_rxb() { uint8_t i=m_RAM[(m_B>>1)&0x3f]; m_zf = (m_A==i); m_cf = (m_A>=i); }
|
||||
void cmp_a_rxb() { u8 i=m_RAM[(m_B>>1)&0x3f]; m_zf = (m_A==i); m_cf = (m_A>=i); }
|
||||
void xor_a_rxb() { M_XOR(m_RAM[(m_B>>1)&0x3f] ); }
|
||||
|
||||
void add_a_cf() { if (m_cf) inc_a(); }
|
||||
void sub_a_cf() { if (m_cf) dec_a(); }
|
||||
void tst_a() { m_zf = (m_A==0); }
|
||||
void clr_a() { m_A = 0; m_zf = (m_A==0); }
|
||||
void cmp_a_n() { uint8_t i=M_RDMEM_OPCODE(); m_zf = (m_A==i); m_cf = (m_A>=i); }
|
||||
void tst_a() { m_zf = (m_A==0); }
|
||||
void clr_a() { m_A = 0; m_zf = (m_A==0); }
|
||||
void cmp_a_n() { u8 i=M_RDMEM_OPCODE(); m_zf = (m_A==i); m_cf = (m_A>=i); }
|
||||
void xor_a_n() { M_XOR(M_RDMEM_OPCODE() ); }
|
||||
void call() { uint8_t i=M_RDMEM_OPCODE(); m_retptr.w.l = m_pc.w.l; M_JMP(i); };
|
||||
void call() { u8 i=M_RDMEM_OPCODE(); m_retptr.w.l = m_pc.w.l; M_JMP(i); };
|
||||
void ld_a_ix0_a() { m_A = M_RDMEM(m_ix0.w.l+m_A); }
|
||||
void ret() { m_mb = m_retptr.b.h; M_JMP( m_retptr.b.l ); };
|
||||
void save_zc() { m_savez = m_zf; m_savec = m_cf; };
|
||||
@ -366,27 +366,27 @@ protected:
|
||||
address_space_config m_program_config;
|
||||
address_space_config m_io_config;
|
||||
|
||||
uint8_t m_RAM[8*8]; /* internal GP register 8 * 8bank */
|
||||
u8 m_RAM[8*8]; /* internal GP register 8 * 8bank */
|
||||
unsigned m_PREVPC;
|
||||
PAIR m_retptr; /* for 8301, return address of CALL */
|
||||
PAIR m_pc; /* 2bit+8bit program counter */
|
||||
uint8_t m_regPtr; /* RB register base */
|
||||
uint8_t m_mb; /* MB memory bank reg. latch after Branch */
|
||||
uint8_t m_cf; /* C flag */
|
||||
uint8_t m_zf; /* Z flag */
|
||||
uint8_t m_savec; /* for 8301, save flags */
|
||||
uint8_t m_savez; /* for 8301, save flags */
|
||||
//
|
||||
PAIR m_ix0; /* 8bit memory read index reg. */
|
||||
PAIR m_ix1; /* 8bitmemory read index reg. */
|
||||
PAIR m_ix2; /* 8bitmemory write index reg. */
|
||||
uint8_t m_lp0; /* 8bit loop reg. */
|
||||
uint8_t m_lp1; /* 8bit loop reg. */
|
||||
uint8_t m_lp2; /* 8bit loop reg. */
|
||||
uint8_t m_A; /* 8bit accumulator */
|
||||
uint8_t m_B; /* 8bit register */
|
||||
//
|
||||
uint8_t m_halt; /* halt input line */
|
||||
u8 m_regPtr; /* RB register base */
|
||||
u8 m_mb; /* MB memory bank reg. latch after Branch */
|
||||
u8 m_cf; /* C flag */
|
||||
u8 m_zf; /* Z flag */
|
||||
u8 m_savec; /* for 8301, save flags */
|
||||
u8 m_savez; /* for 8301, save flags */
|
||||
|
||||
PAIR m_ix0; /* 8bit memory read index reg. */
|
||||
PAIR m_ix1; /* 8bitmemory read index reg. */
|
||||
PAIR m_ix2; /* 8bitmemory write index reg. */
|
||||
u8 m_lp0; /* 8bit loop reg. */
|
||||
u8 m_lp1; /* 8bit loop reg. */
|
||||
u8 m_lp2; /* 8bit loop reg. */
|
||||
u8 m_A; /* 8bit accumulator */
|
||||
u8 m_B; /* 8bit register */
|
||||
|
||||
u8 m_halt; /* halt input line */
|
||||
|
||||
address_space *m_program;
|
||||
direct_read_data *m_direct;
|
||||
@ -396,9 +396,9 @@ protected:
|
||||
const s_opcode *m_opmap;
|
||||
|
||||
// Used for import/export only
|
||||
uint8_t m_sp;
|
||||
uint8_t m_R[8];
|
||||
uint8_t m_flags;
|
||||
u8 m_sp;
|
||||
u8 m_R[8];
|
||||
u8 m_flags;
|
||||
};
|
||||
|
||||
|
||||
@ -406,7 +406,7 @@ class alpha8301_cpu_device : public alpha8201_cpu_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
alpha8301_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
alpha8301_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
};
|
||||
|
||||
|
||||
|
@ -202,7 +202,7 @@ protected:
|
||||
}
|
||||
};
|
||||
|
||||
// artificator internal class
|
||||
// artificater internal class
|
||||
class artifacter
|
||||
{
|
||||
public:
|
||||
|
@ -41,12 +41,23 @@ public:
|
||||
m_vram(*this, "vram")
|
||||
{ }
|
||||
|
||||
uint32_t m_test_x,m_test_y,m_start_offs;
|
||||
uint8_t m_type;
|
||||
u32 m_test_x,m_test_y,m_start_offs;
|
||||
u8 m_type;
|
||||
|
||||
u8 irl0pend, irl0en;
|
||||
u8 irl1pend, irl1en;
|
||||
u8 irl2pend, irl2en; // UARTs ?
|
||||
u8 irl3pend0, irl3en0;
|
||||
u8 irl3pend1, irl3en1;
|
||||
void testIrq();
|
||||
|
||||
DECLARE_READ8_MEMBER(irqpend_r);
|
||||
DECLARE_WRITE8_MEMBER(irqen_w);
|
||||
DECLARE_READ8_MEMBER(test_r);
|
||||
DECLARE_WRITE64_MEMBER(eeprom_w);
|
||||
DECLARE_READ64_MEMBER(hwver_r);
|
||||
virtual void video_start() override;
|
||||
virtual void machine_reset() override;
|
||||
uint32_t screen_update_aristmk6(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<ns16550_device> m_uart0;
|
||||
@ -60,6 +71,10 @@ public:
|
||||
void aristmk6_state::video_start()
|
||||
{
|
||||
}
|
||||
void aristmk6_state::machine_reset()
|
||||
{
|
||||
irl0pend = irl0en = irl1pend = irl1en = irl2pend = irl2en = irl3pend0 = irl3en0 = irl3pend1 = irl3en1 = 0;
|
||||
}
|
||||
|
||||
uint32_t aristmk6_state::screen_update_aristmk6(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
@ -67,6 +82,11 @@ uint32_t aristmk6_state::screen_update_aristmk6(screen_device &screen, bitmap_rg
|
||||
int x,y,count;
|
||||
const uint8_t *blit_ram = memregion("maincpu")->base();
|
||||
|
||||
if (machine().input().code_pressed(KEYCODE_U)) {
|
||||
irl2pend |= 2;
|
||||
testIrq();
|
||||
}
|
||||
|
||||
if(machine().input().code_pressed(KEYCODE_Z))
|
||||
m_test_x++;
|
||||
|
||||
@ -168,6 +188,68 @@ uint32_t aristmk6_state::screen_update_aristmk6(screen_device &screen, bitmap_rg
|
||||
return 0;
|
||||
}
|
||||
|
||||
void aristmk6_state::testIrq()
|
||||
{
|
||||
m_maincpu->set_input_line(SH4_IRL0, (irl0pend & irl0en) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_maincpu->set_input_line(SH4_IRL1, (irl1pend & irl1en) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_maincpu->set_input_line(SH4_IRL2, (irl2pend & irl2en) ? ASSERT_LINE : CLEAR_LINE);
|
||||
m_maincpu->set_input_line(SH4_IRL3, ((irl3pend0 & irl3en0) || (irl3pend1 & irl3en1)) ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
READ8_MEMBER(aristmk6_state::irqpend_r)
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0x00e8 - 0x00e8:
|
||||
return irl0pend;
|
||||
case 0x00f0 - 0x00e8:
|
||||
return irl1pend;
|
||||
case 0x00f8 - 0x00e8:
|
||||
return irl2pend;
|
||||
case 0x0100 - 0x00e8:
|
||||
return irl3pend0;
|
||||
case 0x0101 - 0x00e8:
|
||||
return irl3pend1;
|
||||
default:
|
||||
logerror("Unhandled read %08x\n", 0x120000e8 + offset);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(aristmk6_state::irqen_w)
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0x0108 - 0x0108:
|
||||
irl0en = data;
|
||||
irl0pend &= ~data;
|
||||
testIrq();
|
||||
break;
|
||||
case 0x0110 - 0x0108:
|
||||
irl1en = data;
|
||||
irl1pend &= ~data;
|
||||
testIrq();
|
||||
break;
|
||||
case 0x0118 - 0x0108:
|
||||
irl2en = data;
|
||||
irl2pend &= ~data;
|
||||
testIrq();
|
||||
break;
|
||||
case 0x0120 - 0x0108:
|
||||
irl3en0 = data;
|
||||
irl3pend0 &= ~data;
|
||||
testIrq();
|
||||
break;
|
||||
case 0x0121 - 0x0108:
|
||||
irl3en1 = data;
|
||||
irl3pend1 &= ~data;
|
||||
testIrq();
|
||||
break;
|
||||
default:
|
||||
logerror("Unhandled write %08x %02x\n", 0x12000108 + offset, data);
|
||||
}
|
||||
}
|
||||
|
||||
READ8_MEMBER(aristmk6_state::test_r)
|
||||
{
|
||||
static int flip;
|
||||
@ -216,6 +298,8 @@ static ADDRESS_MAP_START( aristmk6_map, AS_PROGRAM, 64, aristmk6_state )
|
||||
AM_RANGE(0x12000078, 0x1200007f) AM_WRITENOP // watchdog ??
|
||||
AM_RANGE(0x12000080, 0x12000087) AM_WRITENOP // 0-1-2 written here repeatedly, diag LED or smth ?
|
||||
AM_RANGE(0x120000E0, 0x120000E7) AM_READ(hwver_r)
|
||||
AM_RANGE(0x120000E8, 0x12000107) AM_READ8(irqpend_r, 0xffffffffffffffffU)
|
||||
AM_RANGE(0x12000108, 0x12000127) AM_WRITE8(irqen_w, 0xffffffffffffffffU)
|
||||
AM_RANGE(0x12400010, 0x12400017) AM_DEVREADWRITE8("uart1", ns16550_device, ins8250_r, ins8250_w, 0xffffffffffffffffU)
|
||||
AM_RANGE(0x12400018, 0x1240001f) AM_DEVREADWRITE8("uart0", ns16550_device, ins8250_r, ins8250_w, 0xffffffffffffffffU)
|
||||
AM_RANGE(0x13800000, 0x13800007) AM_READ8(test_r, 0xffffffffffffffffU)
|
||||
|
@ -181,6 +181,7 @@ Notes:
|
||||
#include "bus/scsi/scsihd.h"
|
||||
#include "softlist.h"
|
||||
|
||||
|
||||
// CD controller IRQ types
|
||||
#define TOWNS_CD_IRQ_MPU 1
|
||||
#define TOWNS_CD_IRQ_DMA 2
|
||||
@ -2143,8 +2144,8 @@ static ADDRESS_MAP_START(towns_mem, AS_PROGRAM, 32, towns_state)
|
||||
// AM_RANGE(0x00100000, 0x005fffff) AM_RAM // some extra RAM
|
||||
AM_RANGE(0x80000000, 0x8007ffff) AM_READWRITE8(towns_gfx_high_r,towns_gfx_high_w,0xffffffff) AM_MIRROR(0x180000) // VRAM
|
||||
AM_RANGE(0x81000000, 0x8101ffff) AM_READWRITE8(towns_spriteram_r,towns_spriteram_w,0xffffffff) // Sprite RAM
|
||||
// 0xc0000000 - 0xc0ffffff // IC Memory Card (static, first 16MB only)
|
||||
// 0xc1000000 - 0xc1ffffff // IC Memory Card (banked, can show any of 4 banks), JEIDA v4 only (UX and later)
|
||||
AM_RANGE(0xc0000000, 0xc0ffffff) AM_DEVREADWRITE8("icmemcard", fmt_icmem_device, static_mem_read, static_mem_write, 0xffffffff)
|
||||
AM_RANGE(0xc1000000, 0xc1ffffff) AM_DEVREADWRITE8("icmemcard", fmt_icmem_device, mem_read, mem_write, 0xffffffff)
|
||||
AM_RANGE(0xc2000000, 0xc207ffff) AM_ROM AM_REGION("user",0x000000) // OS ROM
|
||||
AM_RANGE(0xc2080000, 0xc20fffff) AM_ROM AM_REGION("user",0x100000) // DIC ROM
|
||||
AM_RANGE(0xc2100000, 0xc213ffff) AM_ROM AM_REGION("user",0x180000) // FONT ROM
|
||||
@ -2172,7 +2173,7 @@ static ADDRESS_MAP_START(marty_mem, AS_PROGRAM, 16, towns_state)
|
||||
AM_RANGE(0x00a00000, 0x00a7ffff) AM_READWRITE8(towns_gfx_high_r,towns_gfx_high_w,0xffff) AM_MIRROR(0x180000) // VRAM
|
||||
AM_RANGE(0x00b00000, 0x00b7ffff) AM_ROM AM_REGION("user",0x180000) // FONT
|
||||
AM_RANGE(0x00c00000, 0x00c1ffff) AM_READWRITE8(towns_spriteram_r,towns_spriteram_w,0xffff) // Sprite RAM
|
||||
AM_RANGE(0x00d00000, 0x00dfffff) AM_RAM // IC Memory Card (is this usable on the Marty?)
|
||||
AM_RANGE(0x00d00000, 0x00dfffff) AM_DEVREADWRITE8("icmemcard", fmt_icmem_device, mem_read, mem_write, 0xffff)
|
||||
AM_RANGE(0x00e80000, 0x00efffff) AM_ROM AM_REGION("user",0x100000) // DIC ROM
|
||||
AM_RANGE(0x00f00000, 0x00f7ffff) AM_ROM AM_REGION("user",0x180000) // FONT
|
||||
AM_RANGE(0x00f80000, 0x00f8ffff) AM_DEVREADWRITE8("pcm", rf5c68_device, rf5c68_mem_r, rf5c68_mem_w, 0xffff) // WAVE RAM
|
||||
@ -2195,7 +2196,7 @@ static ADDRESS_MAP_START(ux_mem, AS_PROGRAM, 16, towns_state)
|
||||
AM_RANGE(0x00a00000, 0x00a7ffff) AM_READWRITE8(towns_gfx_high_r,towns_gfx_high_w,0xffff) AM_MIRROR(0x180000) // VRAM
|
||||
AM_RANGE(0x00b00000, 0x00b7ffff) AM_ROM AM_REGION("user",0x180000) // FONT
|
||||
AM_RANGE(0x00c00000, 0x00c1ffff) AM_READWRITE8(towns_spriteram_r,towns_spriteram_w,0xffff) // Sprite RAM
|
||||
AM_RANGE(0x00d00000, 0x00dfffff) AM_RAM // IC Memory Card
|
||||
AM_RANGE(0x00d00000, 0x00dfffff) AM_DEVREADWRITE8("icmemcard", fmt_icmem_device, mem_read, mem_write, 0xffff)
|
||||
AM_RANGE(0x00e00000, 0x00e7ffff) AM_ROM AM_REGION("user",0x000000) // OS
|
||||
AM_RANGE(0x00e80000, 0x00efffff) AM_ROM AM_REGION("user",0x100000) // DIC ROM
|
||||
AM_RANGE(0x00f00000, 0x00f7ffff) AM_ROM AM_REGION("user",0x180000) // FONT
|
||||
@ -2229,6 +2230,9 @@ static ADDRESS_MAP_START( towns_io , AS_IO, 32, towns_state)
|
||||
AM_RANGE(0x0440,0x045f) AM_READWRITE8(towns_video_440_r, towns_video_440_w, 0xffffffff)
|
||||
// System port
|
||||
AM_RANGE(0x0480,0x0483) AM_READWRITE8(towns_sys480_r,towns_sys480_w,0x000000ff) // R/W (0x480)
|
||||
// IC Memory Card
|
||||
AM_RANGE(0x0488,0x048b) AM_DEVREAD8("icmemcard",fmt_icmem_device,status_r,0x00ff0000)
|
||||
AM_RANGE(0x0490,0x0493) AM_DEVREADWRITE8("icmemcard",fmt_icmem_device,bank_r,bank_w,0x0000ffff)
|
||||
// CD-ROM
|
||||
AM_RANGE(0x04c0,0x04cf) AM_READWRITE8(towns_cdrom_r,towns_cdrom_w,0x00ff00ff)
|
||||
// Joystick / Mouse ports
|
||||
@ -2281,6 +2285,9 @@ static ADDRESS_MAP_START( towns16_io , AS_IO, 16, towns_state) // for the 386SX
|
||||
AM_RANGE(0x0440,0x045f) AM_READWRITE8(towns_video_440_r, towns_video_440_w, 0xffff)
|
||||
// System port
|
||||
AM_RANGE(0x0480,0x0481) AM_READWRITE8(towns_sys480_r,towns_sys480_w,0x00ff) // R/W (0x480)
|
||||
// IC Memory Card
|
||||
AM_RANGE(0x048a,0x048b) AM_DEVREAD8("icmemcard",fmt_icmem_device,status_r,0x00ff)
|
||||
AM_RANGE(0x0490,0x0491) AM_DEVREADWRITE8("icmemcard",fmt_icmem_device,bank_r,bank_w,0xffff)
|
||||
// CD-ROM
|
||||
AM_RANGE(0x04c0,0x04cf) AM_READWRITE8(towns_cdrom_r,towns_cdrom_w,0x00ff)
|
||||
// Joystick / Mouse ports
|
||||
@ -2322,7 +2329,7 @@ static INPUT_PORTS_START( towns )
|
||||
PORT_CONFSETTING(0x20, "Mouse")
|
||||
PORT_CONFSETTING(0x40, "6-button joystick")
|
||||
|
||||
// Keyboard
|
||||
// Keyboard
|
||||
PORT_START( "key1" ) // scancodes 0x00-0x1f
|
||||
PORT_BIT(0x00000001,IP_ACTIVE_HIGH,IPT_UNUSED)
|
||||
PORT_BIT(0x00000002,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("ESC") PORT_CODE(KEYCODE_TILDE) PORT_CHAR(27)
|
||||
@ -2768,6 +2775,8 @@ static MACHINE_CONFIG_FRAGMENT( towns_base )
|
||||
|
||||
//MCFG_VIDEO_START_OVERRIDE(towns_state,towns)
|
||||
|
||||
MCFG_FMT_ICMEMCARD_ADD("icmemcard")
|
||||
|
||||
/* internal ram */
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
MCFG_RAM_DEFAULT_SIZE("6M")
|
||||
|
@ -356,10 +356,16 @@ ROM_END
|
||||
|
||||
ROM_START( isbc2861 )
|
||||
ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF )
|
||||
ROM_LOAD16_BYTE( "174894-001.bin", 0x0000, 0x4000, CRC(79e4f7af) SHA1(911a4595d35e6e82b1149e75bb027927cd1c1658))
|
||||
ROM_LOAD16_BYTE( "174894-002.bin", 0x0001, 0x4000, CRC(66747d21) SHA1(4094b1f10a8bc7db8d6dd48d7128e14e875776c7))
|
||||
ROM_LOAD16_BYTE( "174894-003.bin", 0x8000, 0x4000, CRC(c98c7f17) SHA1(6e9a14aedd630824dccc5eb6052867e73b1d7db6))
|
||||
ROM_LOAD16_BYTE( "174894-004.bin", 0x8001, 0x4000, CRC(61bc1dc9) SHA1(feed5a5f0bb4630c8f6fa0d5cca30654a80b4ee5))
|
||||
ROM_SYSTEM_BIOS( 0, "v11", "iSDM Monitor V1.1" )
|
||||
ROMX_LOAD( "174894-001.bin", 0x0000, 0x4000, CRC(79e4f7af) SHA1(911a4595d35e6e82b1149e75bb027927cd1c1658), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD( "174894-002.bin", 0x0001, 0x4000, CRC(66747d21) SHA1(4094b1f10a8bc7db8d6dd48d7128e14e875776c7), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD( "174894-003.bin", 0x8000, 0x4000, CRC(c98c7f17) SHA1(6e9a14aedd630824dccc5eb6052867e73b1d7db6), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROMX_LOAD( "174894-004.bin", 0x8001, 0x4000, CRC(61bc1dc9) SHA1(feed5a5f0bb4630c8f6fa0d5cca30654a80b4ee5), ROM_SKIP(1) | ROM_BIOS(1))
|
||||
ROM_SYSTEM_BIOS( 1, "v10", "iSDM Monitor V1.0" )
|
||||
ROMX_LOAD( "rmx286-_in_socket_u41_on_isbc_286-10.bin.u41", 0x0000, 0x4000, CRC(00996834) SHA1(a17a0f8909be642d89199660b24574b71a9d0c13), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD( "rmx286-_in_socket_u76_on_isbc_286-10.bin.u76", 0x0001, 0x4000, CRC(90c9c7e8) SHA1(b5f961ab236976713266fe7a378e8750825fd5dc), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD( "rmx286-_in_socket_u40_on_isbc_286-10.bin.u40", 0x8000, 0x4000, CRC(35716c9b) SHA1(5b717b4c2f6c59ec140635df7448294a22123a16), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROMX_LOAD( "rmx286-_in_socket_u75_on_isbc_286-10.bin.u75", 0x8001, 0x4000, CRC(68c3eb50) SHA1(3eeef2676e4fb187adb8ab50645f4bd172426c15), ROM_SKIP(1) | ROM_BIOS(2))
|
||||
ROM_END
|
||||
|
||||
ROM_START( rpc86 )
|
||||
@ -375,4 +381,4 @@ ROM_END
|
||||
COMP( 19??, rpc86, 0, 0, rpc86, isbc, driver_device, 0, "Intel", "RPC 86",MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
|
||||
COMP( 1978, isbc86, 0, 0, isbc86, isbc, driver_device, 0, "Intel", "iSBC 86/12A",MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
|
||||
COMP( 19??, isbc286, 0, 0, isbc286, isbc, driver_device, 0, "Intel", "iSBC 286",MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
|
||||
COMP( 1983, isbc2861, 0, 0, isbc2861, isbc, driver_device, 0, "Intel", "iSBC 286/10",MACHINE_NOT_WORKING | MACHINE_NO_SOUND)
|
||||
COMP( 1983, isbc2861, 0, 0, isbc2861, isbc, driver_device, 0, "Intel", "iSBC 286/10", MACHINE_NO_SOUND)
|
||||
|
@ -900,7 +900,7 @@ Game modes explained:
|
||||
|
||||
|
||||
NOTE: Speakers should be connected serially to Speaker (+) and Speaker (-).
|
||||
You must avoid connecting speakers parallely or connecting speakers
|
||||
You must avoid connecting speakers parallelly or connecting speakers
|
||||
to Speaker (+) and GND, to keep the amplifier from being damaged or
|
||||
from malfunctioning.
|
||||
|
||||
|
@ -2695,6 +2695,17 @@ ROM_START( tekken3 )
|
||||
ROM_REGION( 0x1000000, "c352", 0 ) /* samples */
|
||||
ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) )
|
||||
ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) )
|
||||
|
||||
// Namco Cyber Lead cabinet JVS I/O and LED display controller
|
||||
ROM_REGION(0x40000, "cabinet_io", 0)
|
||||
// JVS I/O board (namco ltd.;I/O CYBER LEAD;Ver1.03;JPN,LED-0100)
|
||||
// labels: CL1 I/OB, I/O LED (I/O) PCB
|
||||
// ICs: Namco C77 H8/???? MCU, Atmel AT29C020 256k x8 FlashROM, NEC N341256 32k x8 SRAM, 14.7MHz Xtal, Altera EPM7064 labeled I/OLEDM1
|
||||
ROM_LOAD("cl1-iob.ic5", 0x0000, 0x40000, CRC(abb90360) SHA1(d938b1e1ae596d0ab1007352f61b0b800363c762) )
|
||||
// LED display controller, connected to above I/O
|
||||
// labels: CL1 LEDA, I/O LED (LED) PCB
|
||||
// ICs: same as above plus EPSON SED1351F LCD controller, 12MHz Xtal
|
||||
ROM_LOAD("cl1-leda.ic5", 0x0000, 0x40000, CRC(43602a58) SHA1(64156ded8c43dbbe84b5d6ae13a068c8b18e8aed) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( tekken3ae )
|
||||
|
@ -692,11 +692,13 @@ private:
|
||||
|
||||
// FULL RANGE video levels for 100-B model, taken from page 46 of PDF
|
||||
const uint8_t video_levels[16] = { 255, 217, 201,186, 171, 156, 140, 125, 110, 97, 79, 66, 54, 31, 18, 0 };
|
||||
uint8_t m_PORT50;
|
||||
};
|
||||
|
||||
|
||||
// GDC RESET MACRO - used in "machine_reset" & GDC_EXTRA_REGISTER_w !
|
||||
#define GDC_RESET_MACRO \
|
||||
m_PORT50 = 0; \ \
|
||||
m_GDC_INDIRECT_REGISTER = 0; \
|
||||
m_GDC_MODE_REGISTER = 0; \
|
||||
m_GDC_WRITE_MASK = 0; \
|
||||
@ -2234,7 +2236,7 @@ WRITE8_MEMBER(rainbow_state::z80_diskcontrol_w)
|
||||
m_floppy = con->get_device();
|
||||
if (m_floppy)
|
||||
selected_drive = drive;
|
||||
printf("%i <- SELECTED DRIVE...\n", m_unit);
|
||||
// printf("%i <- SELECTED DRIVE...\n", m_unit);
|
||||
}
|
||||
|
||||
if (selected_drive == INVALID_DRIVE)
|
||||
@ -2766,7 +2768,7 @@ WRITE16_MEMBER(rainbow_state::vram_w)
|
||||
}
|
||||
|
||||
if(!(m_GDC_MODE_REGISTER & GDC_MODE_VECTOR)) // 0 : (NOT VECTOR MODE) Text Mode and Write Mask Batch
|
||||
out = (out & m_GDC_WRITE_MASK) | (mem & ~m_GDC_WRITE_MASK); // // M_MASK (1st use)
|
||||
out = (out & ~m_GDC_WRITE_MASK) | (mem & m_GDC_WRITE_MASK); // // M_MASK (1st use)
|
||||
else
|
||||
out = (out & ~data) | (mem & data); // VECTOR MODE !
|
||||
|
||||
@ -2789,17 +2791,21 @@ READ8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_r)
|
||||
uint8_t out = 0;
|
||||
switch(offset)
|
||||
{
|
||||
case 0:
|
||||
out = m_PORT50;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if(m_GDC_INDIRECT_REGISTER & GDC_SELECT_SCROLL_MAP ) // 0x80
|
||||
{
|
||||
// Documentation says it is always incremented, no matter if read or write:
|
||||
out = m_GDC_SCROLL_BUFFER_PRELOAD[m_GDC_scroll_index++]; // // * READ * SCROLL_MAP ( 256 x 8 )
|
||||
m_GDC_scroll_index &= 0xFF; // 0...255 (CPU accesses 256 bytes)
|
||||
break;
|
||||
}
|
||||
else
|
||||
printf("\n * UNEXPECTED CASE: READ REGISTER 50..55 with INDIRECT_REGISTER $%02x and OFFSET $%02x *", m_GDC_INDIRECT_REGISTER, offset);
|
||||
if(m_GDC_INDIRECT_REGISTER & GDC_SELECT_SCROLL_MAP ) // 0x80
|
||||
{
|
||||
// Documentation says it is always incremented (read and write):
|
||||
out = m_GDC_SCROLL_BUFFER_PRELOAD[m_GDC_scroll_index++]; // // * READ * SCROLL_MAP ( 256 x 8 )
|
||||
m_GDC_scroll_index &= 0xFF; // 0...255 (CPU accesses 256 bytes)
|
||||
break;
|
||||
}
|
||||
else
|
||||
printf("\n * UNEXPECTED CASE: READ REGISTER 50..55 with INDIRECT_REGISTER $%02x and OFFSET $%02x *", m_GDC_INDIRECT_REGISTER, offset);
|
||||
break;
|
||||
|
||||
default:
|
||||
printf("\n * UNHANDLED CASE: READ REGISTER 50..55 with INDIRECT_REGISTER $%02x and OFFSET $%02x *", m_GDC_INDIRECT_REGISTER, offset);
|
||||
@ -2826,10 +2832,15 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
||||
|
||||
switch(offset)
|
||||
{
|
||||
case 0: // Mode Register must be reloaded following any write to port 50 (software reset).
|
||||
// Graphics option software reset. Any write to this port also resynchronizes the
|
||||
// read/modify/write memory cycles of the Graphics Option to those of the GDC.
|
||||
GDC_RESET_MACRO
|
||||
case 0: // Mode register must be reloaded following any write to port 50 (software reset).
|
||||
// FIXME: "Any write to this port also resynchronizes the
|
||||
// read/modify/write memory cycles of the Graphics Option to those of the GDC." (?)
|
||||
if( data & 1 ) // PDF QV069 suggests 1 -> 0 -> 1; most programs just set bit 0.
|
||||
{
|
||||
GDC_RESET_MACRO // Graphics option software reset (separate from GDC reset...)
|
||||
printf("(PC=%x)\n", machine().device("maincpu")->safe_pc());
|
||||
}
|
||||
m_PORT50 = data;
|
||||
break;
|
||||
|
||||
case 1: // 51h - DATA loaded into register previously written to 53h.
|
||||
@ -2993,13 +3004,13 @@ WRITE8_MEMBER(rainbow_state::GDC_EXTRA_REGISTER_w)
|
||||
break;
|
||||
|
||||
// --------- WRITE MASK (2 x 8 = 16 bits) USED IN WORD MODE ONLY !
|
||||
// NOTE: there is NO specific order for the WRITE_MASK (according to txt/code samples in PDF)!
|
||||
// !! NEW: LOW... HI JUXTAPOSITION...!!
|
||||
// There is no specific order for the WRITE_MASK (according to txt/code samples in DEC's PDF).
|
||||
// NOTE: LOW <-> HI JUXTAPOSITION!
|
||||
case 4: // 54h Write Mask LOW
|
||||
m_GDC_WRITE_MASK = ( BITSWAP8(~data, 0, 1, 2, 3, 4, 5, 6, 7) << 8 ) | ( m_GDC_WRITE_MASK & 0x00FF );
|
||||
m_GDC_WRITE_MASK = ( BITSWAP8(data, 0, 1, 2, 3, 4, 5, 6, 7) << 8 ) | ( m_GDC_WRITE_MASK & 0x00FF );
|
||||
break;
|
||||
case 5: // 55h Write Mask HIGH
|
||||
m_GDC_WRITE_MASK = ( m_GDC_WRITE_MASK & 0xFF00 ) | BITSWAP8(~data, 0, 1, 2, 3, 4, 5, 6, 7);
|
||||
m_GDC_WRITE_MASK = ( m_GDC_WRITE_MASK & 0xFF00 ) | BITSWAP8(data, 0, 1, 2, 3, 4, 5, 6, 7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -3060,7 +3071,7 @@ MCFG_VT_VIDEO_RAM_CALLBACK(READ8(rainbow_state, read_video_ram_r))
|
||||
MCFG_VT_VIDEO_CLEAR_VIDEO_INTERRUPT_CALLBACK(WRITELINE(rainbow_state, clear_video_interrupt))
|
||||
|
||||
// *************************** COLOR GRAPHICS (OPTION) **************************************
|
||||
MCFG_DEVICE_ADD("upd7220", UPD7220, XTAL_32MHz / 4) // WAR: 31188000 / 4 TO BE VERIFIED. Duell schematics shows 31.188 (?) Mhz (/ 4 = 7.797 Mhz)
|
||||
MCFG_DEVICE_ADD("upd7220", UPD7220, 31188000 / 4) // Duell schematics shows a 31.188 Mhz clock (confirmed by RFKA; not in XTAL)
|
||||
MCFG_UPD7220_VSYNC_CALLBACK(WRITELINE(rainbow_state, GDC_vblank_irq)) // "The vsync callback line needs to be below the 7220 DEVICE_ADD line."
|
||||
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, upd7220_map)
|
||||
|
@ -2,13 +2,15 @@
|
||||
// copyright-holders:Robbbert
|
||||
/************************************************************************************************************
|
||||
|
||||
Telcon Zorba
|
||||
Telcon Industries/Modular Micros/Gemini Electronics Zorba
|
||||
http://www.zorba.z80.de
|
||||
|
||||
2013-08-25 Skeleton
|
||||
2015-02-20 Boots from floppy, is now usable.
|
||||
|
||||
This was one of the last CP/M-based systems, already out of date when it was released.
|
||||
Because it doesn't use the standard Z80 peripherals, it uses a homebrew interrupt controller to make use
|
||||
of the Z80's IM2.
|
||||
of the Z80's IM2.
|
||||
|
||||
The keyboard is an intelligent serial device like the Kaypro's keyboard. They even have the same plug,
|
||||
and might be swappable. Need a schematic.
|
||||
@ -17,6 +19,23 @@ Instead of using a daisy chain, the IM2 vectors are calculated by a prom (u77).
|
||||
contents make no sense at all (mostly FF), so the vectors for IRQ0 and IRQ2 are hard-coded. Other IRQ
|
||||
vectors are not used as yet.
|
||||
|
||||
Three companies are known to have sold the Zorba over its lifetime: Telcon Industries, Modular Micros
|
||||
(a subsidiary of Modular Computers (ModComp)), and Gemini Electronics. 7-inch and 9-inch models were
|
||||
available from Telcon and Modular Micros, while Gemini exclusively sold the 9-inch version. The ROM dumps
|
||||
currently used in this emulation originate from a Modular Micros Zorba.
|
||||
|
||||
The two versions of the Zorba were sold by Modular Micros were:
|
||||
- Zorba 7: 7" CRT, 2 410K floppies, 22 lbs, $1595
|
||||
- Zorba 2000: 9" CRT, 2 820K floppies, 10M HD optional, 25 lbs, ~$2000
|
||||
|
||||
The 7-inch version has the screen on the left, the floppy drives on the right, and a Zorba logo on the
|
||||
far right; on the 9-inch version this arrangement is reversed and the logo is removed.
|
||||
|
||||
The startup screen varies across each company:
|
||||
- Telcon: "TELCON ZORBA" graphical logo
|
||||
- Modular Micros: "ZORBA" graphical logo with "MODULAR MICROS, INC." below in normal text
|
||||
- Gemini: "GEMINI ZORBA" graphical logo
|
||||
|
||||
Status:
|
||||
- Boots up, and the keyboard works
|
||||
|
||||
@ -27,6 +46,8 @@ ToDo:
|
||||
- Fix the display
|
||||
- Connect the PIT to the UARTs
|
||||
- Replace the ascii keyboard with the real one, if possible
|
||||
- Dump Telcon and Gemini BIOSes
|
||||
- Emulate the Co-Power-88 expansion (allows PC-DOS, CP/M-86, etc. to be used)
|
||||
- Probably lots of other things
|
||||
|
||||
|
||||
@ -44,6 +65,7 @@ ToDo:
|
||||
#include "sound/beep.h"
|
||||
#include "machine/keyboard.h"
|
||||
#include "machine/wd_fdc.h"
|
||||
#include "softlist.h"
|
||||
|
||||
|
||||
class zorba_state : public driver_device
|
||||
@ -410,6 +432,8 @@ static MACHINE_CONFIG_START( zorba, zorba_state )
|
||||
/* Keyboard */
|
||||
MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0)
|
||||
MCFG_GENERIC_KEYBOARD_CB(WRITE8(zorba_state, kbd_put))
|
||||
|
||||
MCFG_SOFTWARE_LIST_ADD("flop_list", "zorba")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( zorba )
|
||||
@ -428,4 +452,8 @@ ROM_START( zorba )
|
||||
ROM_LOAD( "74ls288.u77", 0x0040, 0x0020, CRC(946e03b0) SHA1(24240bdd7bdf507a5b51628fb36ad1266fc53a28) ) // suspected bad dump
|
||||
ROM_END
|
||||
|
||||
COMP( 1982, zorba, 0, 0, zorba, zorba, zorba_state, zorba, "Telcon Industries", "Zorba", MACHINE_NOT_WORKING )
|
||||
COMP( 1984?, zorba, 0, 0, zorba, zorba, zorba_state, zorba, "Modular Micros", "Zorba (Modular Micros)", MACHINE_NOT_WORKING )
|
||||
|
||||
// Undumped versions (see startup screen notes at top of file)
|
||||
// COMP( 1983, zorbat, zorba, 0, zorba, zorba, zorba_state, zorba, "Telcon Industries", "Zorba (Telcon Industries)", MACHINE_NOT_WORKING )
|
||||
// COMP( 1984, zorbag, zorba, 0, zorba, zorba, zorba_state, zorba, "Gemini Electronics", "Zorba (Gemini Electronics)", MACHINE_NOT_WORKING )
|
||||
|
@ -20,6 +20,9 @@
|
||||
#include "machine/ram.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/fm_scsi.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
#include "machine/fmt_icmem.h"
|
||||
|
||||
#define IRQ_LOG 0 // set to 1 to log IRQ line activity
|
||||
|
||||
@ -92,6 +95,7 @@ class towns_state : public driver_device
|
||||
m_fdc(*this, "fdc"),
|
||||
m_flop0(*this, "fdc:0"),
|
||||
m_flop1(*this, "fdc:1"),
|
||||
m_icmemcard(*this, "icmemcard"),
|
||||
m_nvram(*this, "nvram"),
|
||||
m_nvram16(*this, "nvram16"),
|
||||
m_ctrltype(*this, "ctrltype"),
|
||||
@ -124,6 +128,7 @@ class towns_state : public driver_device
|
||||
required_device<mb8877_t> m_fdc;
|
||||
required_device<floppy_connector> m_flop0;
|
||||
required_device<floppy_connector> m_flop1;
|
||||
required_device<fmt_icmem_device> m_icmemcard;
|
||||
ram_device* m_messram;
|
||||
cdrom_image_device* m_cdrom;
|
||||
cdda_device* m_cdda;
|
||||
|
@ -189,6 +189,7 @@ private:
|
||||
AUDIO_DMA *ai_fifo_get_top();
|
||||
void ai_fifo_push(uint32_t address, uint32_t length);
|
||||
void ai_fifo_pop();
|
||||
bool ai_delayed_carry;
|
||||
|
||||
dmadac_sound_device *ai_dac[2];
|
||||
uint32_t ai_dram_addr;
|
||||
|
184
src/mame/machine/fmt_icmem.cpp
Normal file
184
src/mame/machine/fmt_icmem.cpp
Normal file
@ -0,0 +1,184 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*********************************************************************
|
||||
|
||||
fmt_icmem.cpp
|
||||
|
||||
FM Towns IC Memory Card
|
||||
PCMCIA SRAM Memory Cards, up to 64MB supported
|
||||
|
||||
*********************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "emuopts.h"
|
||||
#include "fmt_icmem.h"
|
||||
|
||||
// device type definition
|
||||
const device_type FMT_ICMEM = &device_creator<fmt_icmem_device>;
|
||||
|
||||
//-------------------------------------------------
|
||||
// fmt_icmem_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
fmt_icmem_device::fmt_icmem_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, FMT_ICMEM, "FM Towns IC Memory Card", tag, owner, clock, "fmt_icmem", __FILE__),
|
||||
device_image_interface(mconfig, *this),
|
||||
m_writeprotect(*this,"icmem"),
|
||||
m_change(false),
|
||||
m_attr_select(false),
|
||||
m_detect(false),
|
||||
m_bank(0)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
static INPUT_PORTS_START( fmt_icmem )
|
||||
PORT_START("icmem")
|
||||
PORT_CONFNAME(0x01, 0x00, "IC Memory Card Write Protect")
|
||||
PORT_CONFSETTING(0x00, DEF_STR( Off ))
|
||||
PORT_CONFSETTING(0x01, DEF_STR( On ))
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_config_complete - perform any
|
||||
// operations now that the configuration is
|
||||
// complete
|
||||
//-------------------------------------------------
|
||||
|
||||
void fmt_icmem_device::device_config_complete()
|
||||
{
|
||||
// set brief and instance name
|
||||
update_names();
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
||||
void fmt_icmem_device::device_start()
|
||||
{
|
||||
m_memcard_ram = std::make_unique<uint8_t[]>(0x1000000);
|
||||
m_bank = 0;
|
||||
m_detect = false;
|
||||
m_change = false;
|
||||
save_item(NAME(m_change));
|
||||
save_item(NAME(m_detect));
|
||||
save_item(NAME(m_bank));
|
||||
}
|
||||
|
||||
ioport_constructor fmt_icmem_device::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME(fmt_icmem);
|
||||
}
|
||||
|
||||
image_init_result fmt_icmem_device::call_load()
|
||||
{
|
||||
memset(m_memcard_ram.get(), 0xff, 0x1000000);
|
||||
fseek(0, SEEK_SET);
|
||||
size_t ret = fread(m_memcard_ram.get(), 0x1000000);
|
||||
|
||||
if(ret != length())
|
||||
return image_init_result::FAIL;
|
||||
|
||||
m_change = true;
|
||||
m_detect = true;
|
||||
return image_init_result::PASS;
|
||||
}
|
||||
|
||||
void fmt_icmem_device::call_unload()
|
||||
{
|
||||
fseek(0, SEEK_SET);
|
||||
if(!m_writeprotect->read())
|
||||
fwrite(m_memcard_ram.get(), 0x1000000);
|
||||
m_change = true;
|
||||
m_detect = false;
|
||||
}
|
||||
|
||||
image_init_result fmt_icmem_device::call_create(int format_type, util::option_resolution *format_options)
|
||||
{
|
||||
memset(m_memcard_ram.get(), 0xff, 0x1000000);
|
||||
|
||||
size_t ret = fwrite(m_memcard_ram.get(), 0x1000000);
|
||||
if(ret != 0x1000000)
|
||||
return image_init_result::FAIL;
|
||||
|
||||
m_change = true;
|
||||
m_detect = true;
|
||||
return image_init_result::PASS;
|
||||
}
|
||||
|
||||
|
||||
READ8_MEMBER(fmt_icmem_device::static_mem_read)
|
||||
{
|
||||
return m_memcard_ram[offset];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(fmt_icmem_device::static_mem_write)
|
||||
{
|
||||
m_memcard_ram[offset] = data;
|
||||
}
|
||||
|
||||
READ8_MEMBER(fmt_icmem_device::mem_read)
|
||||
{
|
||||
return m_memcard_ram[(m_bank*0x100000) + offset];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(fmt_icmem_device::mem_write)
|
||||
{
|
||||
m_memcard_ram[(m_bank*0x100000) + offset] = data;
|
||||
}
|
||||
|
||||
// Memory Card status:
|
||||
// bit 0 - 0 = Write Enable, 1 = Write Protect
|
||||
// bit 1,2 - Card Detect - 00 = Card Inserted, 11 = No card inserted, 10 or 01 = Card error?
|
||||
// bit 3,4,5 - not memory card related (EEPROM and backup battery level)
|
||||
// bit 6 - unknown
|
||||
// bit 7 - 1 = card changed, flips back to 0 when read
|
||||
READ8_MEMBER(fmt_icmem_device::status_r)
|
||||
{
|
||||
uint8_t ret = 0x00;
|
||||
|
||||
ret |= (m_writeprotect->read() & 0x01);
|
||||
if(is_readonly()) // if image is read-only, then set write protect.
|
||||
ret |= 0x01;
|
||||
if(!m_detect)
|
||||
ret |= 0x06;
|
||||
if(m_change)
|
||||
ret |= 0x80;
|
||||
m_change = false;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// Memory Card bank select (0x490)
|
||||
// bit 0-5: bank select (bits 0-3 not used in non-386SX systems?)
|
||||
// Attribute/Common memory select (0x491)
|
||||
// bit 0: 0 = common memory, 1 = attribute memory (TODO)
|
||||
// bit 7: 0 indicates that card is JEIDA v4 compliant
|
||||
READ8_MEMBER(fmt_icmem_device::bank_r)
|
||||
{
|
||||
switch(offset)
|
||||
{
|
||||
case 0:
|
||||
return m_bank & 0x0f;
|
||||
case 1:
|
||||
return m_attr_select ? 1 : 0;
|
||||
}
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(fmt_icmem_device::bank_w)
|
||||
{
|
||||
switch(offset)
|
||||
{
|
||||
case 0:
|
||||
m_bank = data & 0x0f;
|
||||
break;
|
||||
case 1:
|
||||
m_attr_select = data & 0x01;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
77
src/mame/machine/fmt_icmem.h
Normal file
77
src/mame/machine/fmt_icmem.h
Normal file
@ -0,0 +1,77 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*********************************************************************
|
||||
|
||||
fmt_icmem.h
|
||||
|
||||
FM Towns IC Memory Card
|
||||
|
||||
*********************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef __FMT_ICMEM_H__
|
||||
#define __FMT_ICMEM_H__
|
||||
|
||||
//**************************************************************************
|
||||
// INTERFACE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_FMT_ICMEMCARD_ADD(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, FMT_ICMEM, 0)
|
||||
|
||||
/***************************************************************************
|
||||
FUNCTION PROTOTYPES
|
||||
***************************************************************************/
|
||||
|
||||
class fmt_icmem_device : public device_t,
|
||||
public device_image_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
fmt_icmem_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual iodevice_t image_type() const override { return IO_MEMCARD; }
|
||||
|
||||
virtual bool is_readable() const override { return true; }
|
||||
virtual bool is_writeable() const override { return true; }
|
||||
virtual bool is_creatable() const override { return true; }
|
||||
virtual bool must_be_loaded() const override { return false; }
|
||||
virtual bool is_reset_on_load() const override { return false; }
|
||||
virtual const char *file_extensions() const override { return "icm"; }
|
||||
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
virtual image_init_result call_create(int format_type, util::option_resolution *format_options) override;
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_config_complete() override;
|
||||
|
||||
DECLARE_READ8_MEMBER(static_mem_read);
|
||||
DECLARE_WRITE8_MEMBER(static_mem_write);
|
||||
DECLARE_READ8_MEMBER(mem_read);
|
||||
DECLARE_WRITE8_MEMBER(mem_write);
|
||||
DECLARE_READ8_MEMBER(status_r);
|
||||
DECLARE_READ8_MEMBER(bank_r);
|
||||
DECLARE_WRITE8_MEMBER(bank_w);
|
||||
|
||||
|
||||
protected:
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
private:
|
||||
required_ioport m_writeprotect;
|
||||
std::unique_ptr<uint8_t[]> m_memcard_ram;
|
||||
bool m_change;
|
||||
bool m_attr_select;
|
||||
uint8_t m_detect;
|
||||
uint8_t m_bank;
|
||||
};
|
||||
|
||||
|
||||
// device type definition
|
||||
extern const device_type FMT_ICMEM;
|
||||
|
||||
|
||||
#endif /* __FMT_ICMEM_H__ */
|
@ -170,6 +170,7 @@ void n64_periphs::device_reset()
|
||||
ai_dacrate = 0;
|
||||
ai_bitrate = 0;
|
||||
ai_status = 0;
|
||||
ai_delayed_carry = false;
|
||||
|
||||
pi_dma_timer->adjust(attotime::never);
|
||||
pi_rd_len = 0;
|
||||
@ -1255,6 +1256,9 @@ void n64_periphs::ai_dma()
|
||||
//
|
||||
//fwrite(&ram[current->address/2],current->length,1,audio_dump);
|
||||
|
||||
if (ai_delayed_carry)
|
||||
current->address += 0x2000;
|
||||
|
||||
ram = &ram[current->address/2];
|
||||
|
||||
//osd_printf_debug("DACDMA: %x for %x bytes\n", current->address, current->length);
|
||||
@ -1266,6 +1270,11 @@ void n64_periphs::ai_dma()
|
||||
// adjust the timer
|
||||
period = attotime::from_hz(DACRATE_NTSC) * (ai_dacrate + 1) * (current->length / 4);
|
||||
ai_timer->adjust(period);
|
||||
|
||||
if (((current->address + current->length) & 0x1FFF) == 0)
|
||||
ai_delayed_carry = true;
|
||||
else
|
||||
ai_delayed_carry = false;
|
||||
}
|
||||
|
||||
TIMER_CALLBACK_MEMBER(n64_periphs::ai_timer_callback)
|
||||
@ -1286,6 +1295,7 @@ void n64_periphs::ai_timer_tick()
|
||||
else
|
||||
{
|
||||
ai_status &= ~0x40000000;
|
||||
ai_delayed_carry = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -177,7 +177,7 @@ enum
|
||||
* +-+-+-+-+-+-+----+----+----+----+----+----+----+----+----+----+ *
|
||||
* *
|
||||
* SPRn 1=collision with sprite #n *
|
||||
* BKGD 1=collision with set background bit *
|
||||
* BKGD 1=collision with set background bit *
|
||||
* BRDR 1=collision with screen border *
|
||||
* *
|
||||
****************************************************************************
|
||||
|
@ -852,7 +852,7 @@ try_again:
|
||||
m_adapter, D3DDEVTYPE_HAL, device_hwnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE, &m_presentation, &m_device);
|
||||
if (FAILED(result))
|
||||
{
|
||||
// if we got a "DEVICELOST" error, it may be transistory; count it and only fail if
|
||||
// if we got a "DEVICELOST" error, it may be transitory; count it and only fail if
|
||||
// we exceed a threshold
|
||||
if (result == D3DERR_DEVICELOST)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user