mirror of
https://github.com/TomHarte/CLK.git
synced 2025-04-09 00:37:27 +00:00
Introduces MSX ROMs and an MSX class.
This commit is contained in:
parent
fcf295fd68
commit
ff21ff90eb
26
Machines/MSX.cpp
Normal file
26
Machines/MSX.cpp
Normal file
@ -0,0 +1,26 @@
|
||||
//
|
||||
// MSX.cpp
|
||||
// Clock Signal
|
||||
//
|
||||
// Created by Thomas Harte on 24/11/2017.
|
||||
// Copyright © 2017 Thomas Harte. All rights reserved.
|
||||
//
|
||||
|
||||
#include "MSX.hpp"
|
||||
|
||||
namespace MSX {
|
||||
|
||||
class ConcreteMachine:
|
||||
public Machine {
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
using namespace MSX;
|
||||
|
||||
Machine *Machine::MSX() {
|
||||
return new ConcreteMachine;
|
||||
}
|
||||
|
||||
Machine::~Machine() {}
|
22
Machines/MSX.hpp
Normal file
22
Machines/MSX.hpp
Normal file
@ -0,0 +1,22 @@
|
||||
//
|
||||
// MSX.hpp
|
||||
// Clock Signal
|
||||
//
|
||||
// Created by Thomas Harte on 24/11/2017.
|
||||
// Copyright © 2017 Thomas Harte. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef MSX_hpp
|
||||
#define MSX_hpp
|
||||
|
||||
namespace MSX {
|
||||
|
||||
class Machine {
|
||||
public:
|
||||
virtual ~Machine();
|
||||
static Machine *MSX();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* MSX_hpp */
|
@ -221,6 +221,8 @@
|
||||
4B71368E1F788112008B8ED9 /* Parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B71368C1F788112008B8ED9 /* Parser.cpp */; };
|
||||
4B7136911F789C93008B8ED9 /* SegmentParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B71368F1F789C93008B8ED9 /* SegmentParser.cpp */; };
|
||||
4B7913CC1DFCD80E00175A82 /* Video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B7913CA1DFCD80E00175A82 /* Video.cpp */; };
|
||||
4B79A4FB1FC8FF9400EEDAD5 /* MSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B79A4F91FC8FF9400EEDAD5 /* MSX.cpp */; };
|
||||
4B79A4FD1FC9000C00EEDAD5 /* MSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B79A4F91FC8FF9400EEDAD5 /* MSX.cpp */; };
|
||||
4B79E4441E3AF38600141F11 /* cassette.png in Resources */ = {isa = PBXBuildFile; fileRef = 4B79E4411E3AF38600141F11 /* cassette.png */; };
|
||||
4B79E4451E3AF38600141F11 /* floppy35.png in Resources */ = {isa = PBXBuildFile; fileRef = 4B79E4421E3AF38600141F11 /* floppy35.png */; };
|
||||
4B79E4461E3AF38600141F11 /* floppy525.png in Resources */ = {isa = PBXBuildFile; fileRef = 4B79E4431E3AF38600141F11 /* floppy525.png */; };
|
||||
@ -819,6 +821,8 @@
|
||||
4B77069C1EC904570053B588 /* Z80.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Z80.hpp; path = Z80/Z80.hpp; sourceTree = "<group>"; };
|
||||
4B7913CA1DFCD80E00175A82 /* Video.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Video.cpp; path = Electron/Video.cpp; sourceTree = "<group>"; };
|
||||
4B7913CB1DFCD80E00175A82 /* Video.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Video.hpp; path = Electron/Video.hpp; sourceTree = "<group>"; };
|
||||
4B79A4F91FC8FF9400EEDAD5 /* MSX.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MSX.cpp; sourceTree = "<group>"; };
|
||||
4B79A4FA1FC8FF9400EEDAD5 /* MSX.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = MSX.hpp; sourceTree = "<group>"; };
|
||||
4B79E4411E3AF38600141F11 /* cassette.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cassette.png; sourceTree = "<group>"; };
|
||||
4B79E4421E3AF38600141F11 /* floppy35.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = floppy35.png; sourceTree = "<group>"; };
|
||||
4B79E4431E3AF38600141F11 /* floppy525.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = floppy525.png; sourceTree = "<group>"; };
|
||||
@ -1893,6 +1897,15 @@
|
||||
name = Z80;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4B79A4FC1FC8FF9800EEDAD5 /* MSX */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4B79A4F91FC8FF9400EEDAD5 /* MSX.cpp */,
|
||||
4B79A4FA1FC8FF9400EEDAD5 /* MSX.hpp */,
|
||||
);
|
||||
name = MSX;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4B8334881F5DB8470097E338 /* Implementation */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -2374,15 +2387,16 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4B54C0BB1F8D8E790050900F /* KeyboardMachine.cpp */,
|
||||
4BDCC5F81FB27A5E001220C5 /* ROMMachine.hpp */,
|
||||
4BA9C3CF1D8164A9002DDB61 /* ConfigurationTarget.hpp */,
|
||||
4B046DC31CFE651500E9E45E /* CRTMachine.hpp */,
|
||||
4B7041271F92C26900735E45 /* JoystickMachine.hpp */,
|
||||
4B8E4ECD1DCE483D003716C3 /* KeyboardMachine.hpp */,
|
||||
4BDCC5F81FB27A5E001220C5 /* ROMMachine.hpp */,
|
||||
4B38F3491F2EC12000D9235D /* AmstradCPC */,
|
||||
4B2E2D961C3A06EC00138695 /* Atari2600 */,
|
||||
4B4DC81D1D2C2425003C5BF8 /* Commodore */,
|
||||
4B2E2D9E1C3A070900138695 /* Electron */,
|
||||
4B79A4FC1FC8FF9800EEDAD5 /* MSX */,
|
||||
4BCF1FA51DADC3E10039D2E7 /* Oric */,
|
||||
4B2B3A461F9B8FA70062DABF /* Utility */,
|
||||
4B1497931EE4B5AC00CE2596 /* ZX8081 */,
|
||||
@ -3131,6 +3145,7 @@
|
||||
4B055AAA1FAE85F50060FFFF /* CPM.cpp in Sources */,
|
||||
4B055A9A1FAE85CB0060FFFF /* MFMDiskController.cpp in Sources */,
|
||||
4B055ACB1FAE9AFB0060FFFF /* SerialBus.cpp in Sources */,
|
||||
4B79A4FD1FC9000C00EEDAD5 /* MSX.cpp in Sources */,
|
||||
4B055AA41FAE85E50060FFFF /* DigitalPhaseLockedLoop.cpp in Sources */,
|
||||
4B055AE61FAE9B6F0060FFFF /* OutputShader.cpp in Sources */,
|
||||
4B055A9B1FAE85DA0060FFFF /* AcornADF.cpp in Sources */,
|
||||
@ -3367,6 +3382,7 @@
|
||||
4BFE7B871FC39BF100160B38 /* StandardOptions.cpp in Sources */,
|
||||
4B5FADC01DE3BF2B00AEC565 /* Microdisc.cpp in Sources */,
|
||||
4B54C0C81F8D91E50050900F /* Keyboard.cpp in Sources */,
|
||||
4B79A4FB1FC8FF9400EEDAD5 /* MSX.cpp in Sources */,
|
||||
4BEE0A701D72496600532C7B /* PRG.cpp in Sources */,
|
||||
4B8334861F5DA3780097E338 /* 6502Storage.cpp in Sources */,
|
||||
4B8FE2271DA1DE2D0090D3CE /* NSBundle+DataResource.m in Sources */,
|
||||
|
BIN
ROMImages/MSX/basic.rom
Normal file
BIN
ROMImages/MSX/basic.rom
Normal file
Binary file not shown.
225
ROMImages/MSX/cbios.txt
Normal file
225
ROMImages/MSX/cbios.txt
Normal file
@ -0,0 +1,225 @@
|
||||
C-BIOS 0.28
|
||||
===========
|
||||
|
||||
This software is a substitute BIOS which is can be used for running MSX
|
||||
emulators. It currently supports only execution of cartridge image ("ROMs").
|
||||
Before you use it, you should read and accept the license (see below).
|
||||
|
||||
On the C-BIOS web site, you can download newer versions, download the source
|
||||
code, and report bugs.
|
||||
|
||||
http://cbios.sourceforge.net/
|
||||
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
Copyright (c) 2002-2005 BouKiCHi. All rights reserved.
|
||||
Copyright (c) 2003 Reikan. All rights reserved.
|
||||
Copyright (c) 2004-2006,2008-2010 Maarten ter Huurne. All rights reserved.
|
||||
Copyright (c) 2004-2006,2008-2011 Albert Beevendorp. All rights reserved.
|
||||
Copyright (c) 2004-2005 Patrick van Arkel. All rights reserved.
|
||||
Copyright (c) 2004,2010-2011 Manuel Bilderbeek. All rights reserved.
|
||||
Copyright (c) 2004-2006 Joost Yervante Damad. All rights reserved.
|
||||
Copyright (c) 2004-2006 Jussi Pitkänen. All rights reserved.
|
||||
Copyright (c) 2004-2007 Eric Boon. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
History
|
||||
-------
|
||||
|
||||
ver 0.01 Initial
|
||||
ver 0.02 2002-08-15(JST)
|
||||
* Added original font and drawing screen.
|
||||
* Added dump-mode.
|
||||
* Changed recognition method of cartridges
|
||||
to recognize cartridges taking priority.
|
||||
ver 0.03 2002-08-19(JST)
|
||||
* Based on a suggestion from Ms.Okei,
|
||||
wrote 20h of BIOS(compare HL and DE).
|
||||
In the result, shooting game of a certain company became runnable
|
||||
more correctly.
|
||||
Thank Ms.Okei!!
|
||||
ver 0.04 2002-08-20(JST)
|
||||
* Added initialize of FCC2h-FCC4h.
|
||||
* Added function of GTSTCK and GTTRIG temporarily.
|
||||
* Divided msxb.bin to halfs.
|
||||
doing combining/copying with setb.bat now.
|
||||
ver 0.05 2002-08-27(JST)
|
||||
* Added INITGRP(only screen2), CHGMOD(graphic mode change routine),
|
||||
a routine calls H.STKE.
|
||||
* Rewrite memory recognition routine.
|
||||
* Some bug fixes.
|
||||
* Added sound test function.
|
||||
ver 0.06 2002-09-01(JST)
|
||||
* Fixed around of color.
|
||||
ver 0.07 2002-09-09(JST)
|
||||
* Added some sorts of keyboard routines.
|
||||
* Added joystich function to GTSTCK and GTTRIG.
|
||||
ver 0.08 2002-09-12(JST)
|
||||
* Restructured memory initialize routine.
|
||||
* Added error display routine.
|
||||
* Fixed routine of finding kinds of cartridges.
|
||||
* Fixed using method of EXPTBL.
|
||||
* Added initialize of from RG8SAV to RG23SA.
|
||||
* Now return within disabled interrupt from ENASLT routine.
|
||||
ver 0.09 2002-09-19(JST)
|
||||
* Made the rest half of font.
|
||||
* Improved key input routine.
|
||||
* Added CHPUT. With it, rewrote display routine.
|
||||
* Fixed init_grp.
|
||||
* Changed filenames to CBIOS.ROM, CBIOS_SUB.ROM.
|
||||
ver 0.10 2002-09-20(JST)
|
||||
* Fixed indent.
|
||||
* and so on...
|
||||
ver 0.10a 2002-09-22(JST)
|
||||
* Fixed license.
|
||||
* Added support of ROMs in page3.
|
||||
ver 0.11 2002-09-22(JST)
|
||||
* Small fix in init_sc5.
|
||||
ver 0.12beta
|
||||
2002-09-25(JST)
|
||||
* Added test routine for disk access. need DISK.ROM.
|
||||
* Added init_sc7.
|
||||
* Improved ENASLT. now finding cartridge uses ENASLT.
|
||||
* Improved RAM detection.
|
||||
ver 0.12 2002-09-27(JST)
|
||||
* Changed finding cartridge again.
|
||||
* Changed screen mode of cartridge running time.
|
||||
* Fixed keyboard routine.
|
||||
* Fixed stick routine against to interrupt.
|
||||
ver 0.13 2002-10-02(JST)
|
||||
* Based on info from Mr.Maarten (a member of openMSX developers),
|
||||
fixed around of SCREEN 5.
|
||||
For detail, switching line numbers,
|
||||
temporary treatment for a bug of reading from VDP status register,
|
||||
and so on.
|
||||
ver 0.14 2002-10-10(JST)
|
||||
* Rewrote comments in source within Japanese.
|
||||
ver 0.15 2003-02-26(JST)
|
||||
* Rewrote some of comments back to English again.
|
||||
* Fixed non-assemblable condition becauseof lack of font file.
|
||||
* Changed filename, some of label name, strings and so on.
|
||||
ver 0.16 2003-04-16(JST)
|
||||
* Separated sound test from source. (Disabled)
|
||||
ver 0.16a 2003-06-01(JST)
|
||||
* CHGMOD: When screen0/1, now load font to VRAM.
|
||||
* CHPUT: Now support also screen1 not only screen0.
|
||||
ver 0.16b 2003-08-10(JST)
|
||||
* Added entry: INITXT, INIT32.
|
||||
These were exist only as internal routine of CHGMOD.
|
||||
* INITXT, INIT32: Fixed screen clear failure.
|
||||
* CHPUT: Fixed scroll failure.
|
||||
ver 0.17 2003-08-10(JST)
|
||||
* Changed LICENSE.
|
||||
New LICENSE will be suitable in various situations.
|
||||
e.g. use as a firmware for hand-made hardware.
|
||||
ver 0.18 2004-12-18(CET)
|
||||
* First release since moving to SourceForge.
|
||||
* Much improved support for MSX2 games.
|
||||
* Graphical boot logo.
|
||||
* Included machine config files for several MSX emulators.
|
||||
* Various bug fixes.
|
||||
ver 0.19 2004-12-24(CET)
|
||||
* Added support for SCREEN4 and SCREEN8.
|
||||
* Added support for clock chip.
|
||||
* Added support for palette. This fixes a lot of wrong colours.
|
||||
* Stubbed many calls: non-implemented calls print their name on the
|
||||
openMSX debugdevice (if present).
|
||||
* Various bug fixes.
|
||||
ver 0.20 2005-02-09(CET)
|
||||
* Added an MSX2+ configuration, which includes V9958 and MSX MUSIC.
|
||||
* Separate main ROMs for MSX1/MSX2/MSX2+.
|
||||
* Implemented several MSX2 specific routines, including BLT*.
|
||||
* Display is disabled when switching to a different screen mode.
|
||||
* Improved CHPUT a lot; implemented control and escape codes.
|
||||
* Rewrote key buffering; fixes bug of keys being repeated.
|
||||
* New boot logo, even cooler than the previous one.
|
||||
* New font, placed at a fixed address so all games can find it.
|
||||
* Started work on a disk ROM, but it is not functional yet, so it
|
||||
is not enabled in the configurations.
|
||||
* Stubbed all non-implemented calls.
|
||||
* Various bug fixes.
|
||||
ver 0.21 2005-06-07(CET)
|
||||
* Fixed RuMSX configuration files, thanks to Rudolf Lechleitner.
|
||||
* Rewrote ROM search code; now all ROMs are recognized.
|
||||
Also a clear error message is printed for BASIC ROMs.
|
||||
* New boot logo for MSX2 and MSX2+.
|
||||
* Changed boot sequence:
|
||||
Show logo, switch to SCREEN 1 and search for ROMs.
|
||||
* Improved video code; fixes several games.
|
||||
* Various bug fixes.
|
||||
ver 0.22 2008-12-27(CET)
|
||||
* Use separate logo ROM to save space in the main ROM.
|
||||
* Set lower bits of PSG reg 15 before reading joystick trigger status.
|
||||
* Improved RAM search.
|
||||
* Many new routines implemented and existing implementations made
|
||||
more complete, especially character I/O and bitmap graphics.
|
||||
* Added lots of documentation to system variables.
|
||||
* Added support for GNU assembler.
|
||||
* Various bug fixes.
|
||||
ver 0.23 2009-01-04(CET)
|
||||
* Updated blueMSX configuration files, thanks to Benoît Delvaux.
|
||||
* Fixed version reported by MSX1 logo ROM.
|
||||
* Fixed several video routines so they work on MSX1 VDPs (TMS99xx).
|
||||
* A couple of other bug fixes.
|
||||
ver 0.24 2010-05-24(CET)
|
||||
* VRAM size is now properly checked, fixing R-Type's V9938 detection.
|
||||
* C-BIOS doesn't lie anymore about the interrupt frequency.
|
||||
* Don't di; halt when no ROM is found, the warning in openMSX may be
|
||||
confusing
|
||||
* A few minor bug fixes and tweaks.
|
||||
ver 0.25 2011-02-01(CET)
|
||||
* C-BIOS now offers localized versions in the flavours INT (default),
|
||||
JP and BR.
|
||||
* Bug fixes for compatibility with Mirai, Family Billiards.
|
||||
* A couple of other bug fixes.
|
||||
* This version only compiles with Pasmo 0.5.3, due to lack of
|
||||
standards in assembler directives...
|
||||
ver 0.26 2014-11-02(CET)
|
||||
* Restored support to compile with tniASM (v1.0 Beta 17 or higher)
|
||||
* Moved to git, which means a.o.: archived changelog.txt, use git log
|
||||
from now on
|
||||
* Fixed VDP VRAM access timing for MSX1 VDP's
|
||||
* Update openMSX configurations to the new structure
|
||||
* Fixed bug blueMSX configurations
|
||||
* Fixed build on Mac OS X and add support for "make dist"
|
||||
ver 0.27 2014-11-05(CET)
|
||||
* Fixed bug (regression) in filvrm on non-MSX1-VDP's
|
||||
* Fixed some small bugs in openMSX configs
|
||||
* Fixed line endings of this file
|
||||
ver 0.28 2017-07-30(CEST)
|
||||
* Fixed bug that prevented brackets and a few other keys from
|
||||
generating characters when pressed
|
||||
|
||||
Special Thanks
|
||||
--------------
|
||||
|
||||
People uploading MSX information to the internet.
|
||||
People developing any kind of emulators.
|
||||
All users.
|
||||
|
||||
Font edit tool:
|
||||
Gameboy Tile Designer version 2.2
|
||||
Copyright H. Mulder 1999
|
||||
|
BIN
ROMImages/MSX/disk.rom
Normal file
BIN
ROMImages/MSX/disk.rom
Normal file
Binary file not shown.
BIN
ROMImages/MSX/main_msx1.rom
Normal file
BIN
ROMImages/MSX/main_msx1.rom
Normal file
Binary file not shown.
BIN
ROMImages/MSX/main_msx1_br.rom
Normal file
BIN
ROMImages/MSX/main_msx1_br.rom
Normal file
Binary file not shown.
BIN
ROMImages/MSX/main_msx1_jp.rom
Normal file
BIN
ROMImages/MSX/main_msx1_jp.rom
Normal file
Binary file not shown.
7
ROMImages/MSX/readme.txt
Normal file
7
ROMImages/MSX/readme.txt
Normal file
@ -0,0 +1,7 @@
|
||||
ROMs for the MSX go here. Those included here are BouKiCHi’s C-BIOS open source reimplementation — see cbios.txt for authorship and licence information. ROMs for a specific MSX may be supplied instead if the user desires.
|
||||
|
||||
Expected files:
|
||||
|
||||
basic.rom
|
||||
disk.rom
|
||||
main_msx1.rom
|
Loading…
x
Reference in New Issue
Block a user