README.cbios 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. C-BIOS 0.29
  2. ===========
  3. This software is a substitute BIOS which is can be used for running MSX
  4. emulators. It currently supports only execution of cartridge image ("ROMs").
  5. Before you use it, you should read and accept the license (see below).
  6. On the C-BIOS web site, you can download newer versions, download the source
  7. code, and report bugs.
  8. http://cbios.sourceforge.net/
  9. License
  10. -------
  11. Copyright (c) 2002-2005 BouKiCHi. All rights reserved.
  12. Copyright (c) 2003 Reikan. All rights reserved.
  13. Copyright (c) 2004-2006,2008-2010 Maarten ter Huurne. All rights reserved.
  14. Copyright (c) 2004-2006,2008-2011 Albert Beevendorp. All rights reserved.
  15. Copyright (c) 2004-2005 Patrick van Arkel. All rights reserved.
  16. Copyright (c) 2004,2010-2011 Manuel Bilderbeek. All rights reserved.
  17. Copyright (c) 2004-2006 Joost Yervante Damad. All rights reserved.
  18. Copyright (c) 2004-2006 Jussi Pitkänen. All rights reserved.
  19. Copyright (c) 2004-2007 Eric Boon. All rights reserved.
  20. Redistribution and use in source and binary forms, with or without
  21. modification, are permitted provided that the following conditions
  22. are met:
  23. 1. Redistributions of source code must retain the above copyright
  24. notice, this list of conditions and the following disclaimer.
  25. 2. Redistributions in binary form must reproduce the above copyright
  26. notice, this list of conditions and the following disclaimer in the
  27. documentation and/or other materials provided with the distribution.
  28. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  29. IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  30. OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  31. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  32. INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  33. NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  34. DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  35. THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  36. (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  37. THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  38. History
  39. -------
  40. ver 0.01 Initial
  41. ver 0.02 2002-08-15(JST)
  42. * Added original font and drawing screen.
  43. * Added dump-mode.
  44. * Changed recognition method of cartridges
  45. to recognize cartridges taking priority.
  46. ver 0.03 2002-08-19(JST)
  47. * Based on a suggestion from Ms.Okei,
  48. wrote 20h of BIOS(compare HL and DE).
  49. In the result, shooting game of a certain company became runnable
  50. more correctly.
  51. Thank Ms.Okei!!
  52. ver 0.04 2002-08-20(JST)
  53. * Added initialize of FCC2h-FCC4h.
  54. * Added function of GTSTCK and GTTRIG temporarily.
  55. * Divided msxb.bin to halfs.
  56. doing combining/copying with setb.bat now.
  57. ver 0.05 2002-08-27(JST)
  58. * Added INITGRP(only screen2), CHGMOD(graphic mode change routine),
  59. a routine calls H.STKE.
  60. * Rewrite memory recognition routine.
  61. * Some bug fixes.
  62. * Added sound test function.
  63. ver 0.06 2002-09-01(JST)
  64. * Fixed around of color.
  65. ver 0.07 2002-09-09(JST)
  66. * Added some sorts of keyboard routines.
  67. * Added joystich function to GTSTCK and GTTRIG.
  68. ver 0.08 2002-09-12(JST)
  69. * Restructured memory initialize routine.
  70. * Added error display routine.
  71. * Fixed routine of finding kinds of cartridges.
  72. * Fixed using method of EXPTBL.
  73. * Added initialize of from RG8SAV to RG23SA.
  74. * Now return within disabled interrupt from ENASLT routine.
  75. ver 0.09 2002-09-19(JST)
  76. * Made the rest half of font.
  77. * Improved key input routine.
  78. * Added CHPUT. With it, rewrote display routine.
  79. * Fixed init_grp.
  80. * Changed filenames to CBIOS.ROM, CBIOS_SUB.ROM.
  81. ver 0.10 2002-09-20(JST)
  82. * Fixed indent.
  83. * and so on...
  84. ver 0.10a 2002-09-22(JST)
  85. * Fixed license.
  86. * Added support of ROMs in page3.
  87. ver 0.11 2002-09-22(JST)
  88. * Small fix in init_sc5.
  89. ver 0.12beta
  90. 2002-09-25(JST)
  91. * Added test routine for disk access. need DISK.ROM.
  92. * Added init_sc7.
  93. * Improved ENASLT. now finding cartridge uses ENASLT.
  94. * Improved RAM detection.
  95. ver 0.12 2002-09-27(JST)
  96. * Changed finding cartridge again.
  97. * Changed screen mode of cartridge running time.
  98. * Fixed keyboard routine.
  99. * Fixed stick routine against to interrupt.
  100. ver 0.13 2002-10-02(JST)
  101. * Based on info from Mr.Maarten (a member of openMSX developers),
  102. fixed around of SCREEN 5.
  103. For detail, switching line numbers,
  104. temporary treatment for a bug of reading from VDP status register,
  105. and so on.
  106. ver 0.14 2002-10-10(JST)
  107. * Rewrote comments in source within Japanese.
  108. ver 0.15 2003-02-26(JST)
  109. * Rewrote some of comments back to English again.
  110. * Fixed non-assemblable condition becauseof lack of font file.
  111. * Changed filename, some of label name, strings and so on.
  112. ver 0.16 2003-04-16(JST)
  113. * Separated sound test from source. (Disabled)
  114. ver 0.16a 2003-06-01(JST)
  115. * CHGMOD: When screen0/1, now load font to VRAM.
  116. * CHPUT: Now support also screen1 not only screen0.
  117. ver 0.16b 2003-08-10(JST)
  118. * Added entry: INITXT, INIT32.
  119. These were exist only as internal routine of CHGMOD.
  120. * INITXT, INIT32: Fixed screen clear failure.
  121. * CHPUT: Fixed scroll failure.
  122. ver 0.17 2003-08-10(JST)
  123. * Changed LICENSE.
  124. New LICENSE will be suitable in various situations.
  125. e.g. use as a firmware for hand-made hardware.
  126. ver 0.18 2004-12-18(CET)
  127. * First release since moving to SourceForge.
  128. * Much improved support for MSX2 games.
  129. * Graphical boot logo.
  130. * Included machine config files for several MSX emulators.
  131. * Various bug fixes.
  132. ver 0.19 2004-12-24(CET)
  133. * Added support for SCREEN4 and SCREEN8.
  134. * Added support for clock chip.
  135. * Added support for palette. This fixes a lot of wrong colours.
  136. * Stubbed many calls: non-implemented calls print their name on the
  137. openMSX debugdevice (if present).
  138. * Various bug fixes.
  139. ver 0.20 2005-02-09(CET)
  140. * Added an MSX2+ configuration, which includes V9958 and MSX MUSIC.
  141. * Separate main ROMs for MSX1/MSX2/MSX2+.
  142. * Implemented several MSX2 specific routines, including BLT*.
  143. * Display is disabled when switching to a different screen mode.
  144. * Improved CHPUT a lot; implemented control and escape codes.
  145. * Rewrote key buffering; fixes bug of keys being repeated.
  146. * New boot logo, even cooler than the previous one.
  147. * New font, placed at a fixed address so all games can find it.
  148. * Started work on a disk ROM, but it is not functional yet, so it
  149. is not enabled in the configurations.
  150. * Stubbed all non-implemented calls.
  151. * Various bug fixes.
  152. ver 0.21 2005-06-07(CET)
  153. * Fixed RuMSX configuration files, thanks to Rudolf Lechleitner.
  154. * Rewrote ROM search code; now all ROMs are recognized.
  155. Also a clear error message is printed for BASIC ROMs.
  156. * New boot logo for MSX2 and MSX2+.
  157. * Changed boot sequence:
  158. Show logo, switch to SCREEN 1 and search for ROMs.
  159. * Improved video code; fixes several games.
  160. * Various bug fixes.
  161. ver 0.22 2008-12-27(CET)
  162. * Use separate logo ROM to save space in the main ROM.
  163. * Set lower bits of PSG reg 15 before reading joystick trigger status.
  164. * Improved RAM search.
  165. * Many new routines implemented and existing implementations made
  166. more complete, especially character I/O and bitmap graphics.
  167. * Added lots of documentation to system variables.
  168. * Added support for GNU assembler.
  169. * Various bug fixes.
  170. ver 0.23 2009-01-04(CET)
  171. * Updated blueMSX configuration files, thanks to Benoît Delvaux.
  172. * Fixed version reported by MSX1 logo ROM.
  173. * Fixed several video routines so they work on MSX1 VDPs (TMS99xx).
  174. * A couple of other bug fixes.
  175. ver 0.24 2010-05-24(CET)
  176. * VRAM size is now properly checked, fixing R-Type's V9938 detection.
  177. * C-BIOS doesn't lie anymore about the interrupt frequency.
  178. * Don't di; halt when no ROM is found, the warning in openMSX may be
  179. confusing
  180. * A few minor bug fixes and tweaks.
  181. ver 0.25 2011-02-01(CET)
  182. * C-BIOS now offers localized versions in the flavours INT (default),
  183. JP and BR.
  184. * Bug fixes for compatibility with Mirai, Family Billiards.
  185. * A couple of other bug fixes.
  186. * This version only compiles with Pasmo 0.5.3, due to lack of
  187. standards in assembler directives...
  188. ver 0.26 2014-11-02(CET)
  189. * Restored support to compile with tniASM (v1.0 Beta 17 or higher)
  190. * Moved to git, which means a.o.: archived changelog.txt, use git log
  191. from now on
  192. * Fixed VDP VRAM access timing for MSX1 VDP's
  193. * Update openMSX configurations to the new structure
  194. * Fixed bug blueMSX configurations
  195. * Fixed build on Mac OS X and add support for "make dist"
  196. ver 0.27 2014-11-05(CET)
  197. * Fixed bug (regression) in filvrm on non-MSX1-VDP's
  198. * Fixed some small bugs in openMSX configs
  199. * Fixed line endings of this file
  200. ver 0.28 2017-07-30(CEST)
  201. * Fixed bug that prevented brackets and a few other keys from
  202. generating characters when pressed
  203. ver 0.29 2018-02-18(CET)
  204. * Removed NLMSX configs. We don't think anyone is interested anymore
  205. * Made generic international ROM config 60Hz and added an EU variant
  206. at 50Hz default interrupt frequency
  207. Special Thanks
  208. --------------
  209. People uploading MSX information to the internet.
  210. People developing any kind of emulators.
  211. All users.
  212. Font edit tool:
  213. Gameboy Tile Designer version 2.2
  214. Copyright H. Mulder 1999