Fork of MAME with enhancements for TRS-80 Color Computer development
C++ C Lua SuperCollider Python Objective-C++ Other
Clone or download
Pull request Compare This branch is 19 commits ahead, 10784 commits behind mamedev:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
3rdparty
android-project
artwork
benchmarks
bgfx
build
docs
doxygen
hash
hlsl
ini/presets
keymaps
language
nl_examples
plugins
projects
regtests
samples
scripts
src
tests
web
.drone.sec
.drone.yml
.gitattributes
.gitignore
.travis.yml
LICENSE.md
README.md
appveyor.yml
makefile
uismall.bdf

README.md

MAME

This is the MILLILUK development fork of MAME -- the Multiple Arcade Machine Emulator.

Modifications current as of MAME 0.183.

OS Status
Linux / Mac Build Status
Windows Build status

Downloads

Windows 64 bit | Windows 32 bit

Project Goals

  • Improve the CoCo family of emulators (help wanted!)
  • Cleanly provide ideas for possible inclusion in MAME
  • Hackishly provide an improved development environment for the TRS-80 CoCo and its relatives (MC-10, Dragon, etc.)

How to Contribute

Mac/Linux: Visit http://mamedev.org/tools/. This also works if you want a command line environment on Windows (you don't).

Windows: Generated ("make vs2017") Visual Studio 2017 project files are checked in for your convenience:

Changelog

  • Enable $FF9C semigraphics emulation (thanks, Nick Marentes!)
  • Enable GIME to set screen height in legacy graphics modes (thanks, Robert Gault!)
  • Add more accurate CoCo 3 composite palette and support for phase invert
  • Improve 6309 register display in the debugger
  • Add LOG (0x103E) and BREAK (0x113E) support to 6809/6309 (inspired by Tim Lindner's EMUBRK)
  • Add DEBUGCONTROL port and frame and cycle counts
  • Do not break into MAME debugger on launch (use ~)
  • Improved mouse cursor hiding on Windows
  • Build a subset of CoCo-related drivers as "mametiny"
  • Include Visual Studio build files: /build/projects/windows/mametiny/vs2017/mametiny.sln

Checked boxes indicates patches accepted into the main MAME code base.

Developer Enhancements

The following fake opcodes are added to the 6809 and 6309 CPU:

BREAK (0x113E) - breaks into the MAME debugger

LOG (0x103E) - writes printf-style output to the MAME debug window

      LOG           ; log output
      FDB   FSTR    ; pointer to format string
      FDB   PX1     ; 16 bit pointer to 16 bit value
      FDB   PY1     ; 16 bit pointer to 8 bit value (see format string!)
      FDB   PX2     ; 16 bit pointer to 16 bit value
      FDB   PY2     ; 16 bit pointer to 8 bit value
      ; execution continues here ...
      RTS
        
; format string
FSTR  FCC   "%hu,%hhu - %hu,%hhu"
      FCB   10,0

Additional timing support

ADDRESS    NAME            READ    WRITE

FF04       DEBUGCONTROL    N/A     Bit 0: Set to '1' causes the System Cycle Count at $FF05 to be snapshot.
                           N/A     Bit 1: Set to '1' causes the video Frame count at $FF09 to be snapshot.
                           N/A     Bit 2...7: N/A

FF05-FF08  CYCLECOUNT      When read, the values between $FF05 and $FF08 represent a snapshot of the system's 
                           internal cycle counter. The snapshot occurs when the appropriate write is made to 
                           the control register at $FF04. The most significant byte begins at $FF05, the 
                           least significant byte of the 32-bit value is at $FF08.

FF09-FF0C  FRAMECOUNT      When read, the values between $FF09 and $FF0B represent a snapshot of the system's
                           video frame counter. The snapshot occurs when the appropriate write is made to the
                           control register at $FF04. The most significant byte begins at $FF09, the least
                           significant byte of the 32-bit value is at $FF0C.

License

All modifications are licensed under the BSD 3 Clause license.