LSX-DODGERS Port for MSX(LDMSX) report003

ZAS error “Too may symbols”

I continued solve the differences between two assemblers as introduced in previous post, I encountered error “Too may symbols”(sic.) while including other source file. (FYI, this error message is not explained in HI-TECH C manuals.)

I suppose, this means “Too many sybols” and memory area is not enough. I decided to compress ZAS binary and make free memory.

I used PopCOM! execution file compresser on CP/M. It is distributed in “PC88 users club library”.

http://www.pc88.gr.jp/softlib/index.php?action=find_by_env&env=/cpm&from=1&size=20

After compression, size of ZAS.COM is 19840 from 37632 bytes.
(I compressed link.com as well this time for further use.)

I wanted to solve memory shortage by this with 18k extended free area, but in vain. “Too many symbols” error is not resolved by memory free area.

前回紹介したアセンブラ間での差分を解消しながら、ソースをアセンブルしていくと、ファイルをインクルードしたときに”Too may symbols”(ママ)のエラーが出てしまいました 。(ちなみにこのエラーメッセージはHI-TECH Cマニュアルに記載されてません)。

シンボルが多すぎる、ということだと思うのですが、メモリに確保している領域が足りなくなるのかな?と勝手に推測。いい機会なので、ZASのバイナリの方を圧縮してみることにしました。

使用したのはCP/M用の実行バイナリ圧縮ツールのPopComです。
PC88 users club libraryにあったものを使用しました。

http://www.pc88.gr.jp/softlib/index.php?action=find_by_env&env=/cpm&from=1&size=20

圧縮した結果、37632から19840になりました。
(後で使うので一緒にlink.comも圧縮しました。)

18k近くも空くなら、メモリ不足は解消するでしょう。
…と思いましたが、結論からいけばダメでした。

Symbolが多すぎるのは、空きメモリを増やしても解消しないようです。

LSX-DODGERS Port for MSX(LDMSX) report002

LSX-Dodgers is written by Z80 absolute macro assembler “OHM-Z80” on S-OS. S-OS is a multi-platform operating system project across some PCs in 80’s Japan. (S-OS is interesting and deeply technical topic so I can not describe here any further). I deeply involved in HI-TECH C for CP/M, so I want to use HI-TECH C assembler “ZAS” this time.

Ports of S-OS and OHM-Z80 is available here.

http://www.retropc.net/ohishi/s-os/

The my first interest (or TASK) is converting OHM-Z80 assembler source to HI-TECH C “ZAS” assembler. OHM-Z80 is highly extended (this topic is also so DEEP and technical, sorry) and source code for this assembler is not assembled easily with other assembler.

There are so many difference between these two assemblers and I tried to list below as far as I noticed (so it is not complete one).

My first goal is to complete editing these points.

*Description for addresses
[OHM-Z80]
Starts with $ or ends with H
[ZAS]
Ends with H

*Final and absolute address is determined by
[OHM-Z80]
OFFSET
[ZAS]
Linker(LINK -C)

*Including other source files
[OHM-Z80]
$INCLUDE
[ZAS]
*Include on line head

*Available characters for labeling
[OHM-Z80]
[],@ are OK
[ZAS]
[],@ are N/A

*Definition for bytes
[OHM-Z80]
DB & DEFB are available
[ZAS]
DB & DEFB are available, but DB cause error(by unknown reason)

*Definition for words
[OHM-Z80]
DW is available
[ZAS]
DW is not available(only DEFW)

*Recursing DEFW definition via labels
[OHM-Z80]
Available
[ZAS]
N/A

LSX-DodgersはS-OS用Z80アブソリュートマクロアセンブラである”OHM-Z80″で書かれました。S-OSは80年代のPCをまたいだマルチプラットフォームOSプロジェクト(S-OSは興味深いのですが、とてもディープで技術的な内容になるので、ここではこれ以上触れません)。自分はHI-TECH C for CP/Mにどっぷり浸かってしまったので、今回はHI-TECH C 用アセンブラである”ZAS”を使いたいと思います。

S-OSの移植版とOHM-Z80は以下で入手可能です。

http://www.retropc.net/ohishi/s-os/

自分の最初の関心(というかタスク)はOHM-Z80のアセンブラソースをHI-TECH C “ZAS”アセンブラに変換することです。OHM-Z80は大幅に拡張されており(このトピックもディープでテクニカルなのです、スイマセン)、このアセンブラ用のソースコードは他のアセンブラではそう簡単にはアセンブルできません。

この二つのアセンブラの間には多くの差異があるため、気づいた範囲で(なので完全ではないのですが)以下にリストアップします。

最初の目標はこれらの点の修正を完了することです。

□アドレスの表記
[OHM-Z80]
$で始まるかHで終わる
[ZAS]
Hで終わる

□最終的な配置アドレス
[OHM-Z80]
OFFSET
[OHM-Z80]
リンカ(LINK -C)

□他ソースファイルのインクルード
[OHM-Z80]
$INCLUDE
[ZAS]
行頭で*Include

□他テキストのインクルード
[OHM-Z80]
$CHAIN
[ZAS]
行頭で*Include

□ラベルの文字制限
[OHM-Z80]
[]と@が使える
[ZAS]
使えない??

□DB
[OHM-Z80]
DBで通る(DEFBの略)
[ZAS]
DBでエラーが出るが、DEFBだと通る

□DW
[OHM-Z80]
DWで通る
[ZAS]
DEFWでないと通らない(省略形がない)

□DEFWでのラベルを介した再帰的な定義
[OHM-Z80]
DWで2バイト分なら他ラベルを参照しても通る
[ZAS]
通らない

LSX-DODGERS Port for MSX(LDMSX) report001

Do you know “LSX-Dodgers”?

This is MSX-DOS cloned OS runs on Sharp X1, Z80 series computers.

Unfortunately we don’t have MSX-DOS clones to redistribute freely on the Net, so we should have some. This “LSX-Dodgers” is the first and the best candidate for it, I suppose.

The source codes of “LSX-Dodgers” are published on github.com by original author GAKU. (We appreciate the work!!)

https://github.com/tablacus/LSX-Dodgers

I decided to port this OS to MSX and some other Z80 based computers, and forked it.

https://github.com/kumokosi/LSX-Dodgers-Ports/wiki

Planed tasks(2018/1/1)

*Source (format) convert from OHM-Z80 to HI-TECH C ZAS

*Tests for common functions between MSX-DOS and LSX-DODGERS

*Implements and tests for uncommon functions between MSX-DOS and LSX-DODGERS

*Implements and tests for extended functions by LSX-DODGERS

I will report about porting processes on this blog.

 

“LSX-Dodgers”というOSをご存知ですか?

これはMSX-DOSクローンのOSでSharpのX1シリーズ上で動くものです。

残念ながら、ネット上で自由に再配布できるMSX-DOSクローンがまだないので、何かしらほしいと思っていたところでした。この”LSX-Dodgers”は最初で最良の選択肢ではないでしょうか。

LSX-Dodgersのソースコードは原作者のGAKU氏によってgithub.comで公開されています(ありがとうございます!)

https://github.com/tablacus/LSX-Dodgers

このOSを、MSXはじめとした他のZ80搭載機に移植することにして、リポジトリをフォークしました。

https://github.com/kumokosi/LSX-Dodgers-Ports/wiki

2018/1/1現在計画しているタスクは以下の通りです。

・OHM-Z80からZASへのソース(フォーマット)変更
・MSX-DOSとLSX-DODGERSの共通部の動作確認
・MSX-DOS非互換部分のMSX対応版実装
・LSX-DODGERS拡張部分のX1→MSX対応

当ブログでは順次開発状況をレポートしていきます。

 

Sega GameGear Cartridge’s Chip Report

Some weeks ago, I researched my own Sega Game Gear’s chips inside. I would like to convert memory bank chips (if exist) but nothing are there as separated single chip. I gave up researching inside GameGear cartridge but I report how these were like. Have fan!

 

Socerian for MSX PSG PATCH

Sorcerian for MSX PSG Patch enables you to play SORCERIAN with PSG music.

“Sorcerian” is a one of most famous role playing game in Japan from 80’s.

MSX version plays music with FM sound (YM2413), but these are not so good as the one of other platforms. I prefer PSG version to FM, so make the patch.

Download from here.

DS5_PSG

Translation of “BEEP’s ‘Retro’ Hobby Program Contest”

This is ***unofficial*** translation of “1st. Beep’s ‘RETRO’ Hobby Game Program Contest”. If you interested in it, ask official staffs.

Official announcement is here (written in Japanese only)

第1回 BEEP ”レトロ”ホビーゲームプログラム・コンテスト 開催のお知らせ〜!


BEEP’s “Retro” Hobby Program Contest

There are 3 divisions in this contest. Please refer below.

1)8bit division

Gold prize 50000 Yen
Silver prize 30000 Yen
Bronze prize 10000 Yen

Series of MSX(1-2+)/PC8801/PC6001 etc. Free selection of models. Game content is not limited.

Please ask before starting development, because some models are cannot be tested.

2)16,32bit division

Gold prize 50000 Yen
Silver prize 30000 Yen
Bronze prize 10000 Yen

Series of FM-TOWNS/X68000/PC9801 etc. Free selection of models. Game content is not limited.
Please ask before starting development, because some models are cannot be tested.

3)Lottery game division

Gold prize 100000 Yen
Silver prize 50000 Yen
MSX or X68000

SHOP of “Akihabara @BEEP” has been provided coupons or prizes according to score of lottery game for customers who bought more than certain amount. It corrupted because of your enthusiasm. Beep needs second one now.

Shoot’em up style game for score attacking in 5-8 seconds.
Needs setting configuration for
-Number of each prizes
-Amount of lottery tickets
Ex:
Amount of lottery tickets: 100
Special prize:1
Probability is 1/100
Prize should be consumed and no more prizes should be issued in this case.
Configuration for probability of prizewinning. This is increased when user get high score.
Only movement and shot are controllable. Avoid complicated controls and difficult presentation.This game is for momentary playing.
Slightly randomize scoring or appearance occurrence ratio of enemies. (Don’t allow a certain users to get prize every time.)
Player can use only joypad.
Only one user who got high score can entry the name (input with keyboard, within 12 characters of alphabets and numbers. Name entry finished with enter key.)
Sound effects and BGMs
Production for easy understanding of each prize.
Loop or stop scrolling until a certain key is pressed.
Returns title when game finished.
High score and name should be displayed permanently while title screen and playing game.
Winner’s game of this division will be used daily at the Beep store. We want applicant of this division to accept request for (a little bit) modification if win the prize.

Common rule

Dead line: 2017/11/27

Each programs should not be needed special devices.
Ex:
MSX-Audio/68060/Extended MSX**/HDD are not acceptable.

** It might mean FM-7&FM-X convination [note by translator].

Extended devices which is distributed certain degree*** are acceptable.

2M memory for X68000/MSX FM cartridge(MSX-MUSIC)/16 Color Board and 26 Sound Board for PC9801VM

*** Judge by yourself ^^;

Application:

Send disk or tape which can be read by real PCs.

Destination address:
“171,Fujii-Shimogumi,Hanyuu-shi,Saitama-ken,348-0065,JAPAN
BEEP PROGRAM CONTEST”
Tel:+81485986552

Programs which is tested on emulators are acceptable.

Destination mail address
“BEEP PROGRAM CONTEST”
kobayashi[at]pcb-beep.com

Pack these items in parcel together

-Contact information
E-mail address or tel number
-Name and nickname
If your real name can be published, write about it.
-Comments
Comments for your program, free talking, self production, tested environment and explanation how to load the game.

Applied medias are not returned. Results of this contest will be revealed on the site of BEEP.

*Source codes, characters and musics from unlicensed copy righted materials are not allowed.
*Games should be unreleased anywhere else and your original one. If you have copy rights of the product, arrangement or diversion are acceptable.
*Don’t blame or attack certain person or organization.
Ex)
Destruction of XXX building etc.

*Applied games might be produced on the BEEP web site or SNSs. We would like to sell it like ENIX did early times. When it is realized, we will commit contract with winner.
*Application rules and others might be changed without preliminary announcement.


 

2017年の最新MSXゲームをスマホのWebMSXで遊んでみる

MSXdevは、世界中のMSXユーザーが自作のゲームを応募し、その出来を競いつつみんなで遊ぶコンテストです。2003年から毎年開催されてます。

実はこのコンテスト、応募された作品がダウンロードして遊べるんです。
文字通りの「世界の最新のMSXゲーム」が遊べる、とても素晴らしいコンテストです。

コンテストの優秀作品はブラッシュアップされた後、多くが市販されます。秋葉原などの電気街のショップで、外国製の新しいMSXROMゲームを見たことがないですか?

MSXdevの公式サイトに登録すると「コミュニティ賞」への一票を投票できます。最新のMSXゲームで遊んで、コンテストに投票してみんなで楽しめるMSXファンのお祭りなんです。
ここではお手軽に遊ぶためにスマホ(iPhone)からの操作を紹介しています。
(Androidでも同じようなアプリを使えば操作はできるはずです。)

※iPhone5Cでキャプチャしているため、画像は小さめです。ごめんなさい。
※iPhone5系、SEは画面が小さいのでちょっと操作しにくいです。自分は普通に使ってますが。

1.iZIPがあるとiPhoneの使い方が変わります

ZIPファイルを解凍してくれるiZIPというアプリケーション。実はiPhoneにファイルをしまっておくことができます。MSXdev17に応募されたゲームはZIPファイルで公開されているので、入れておくことをおススメします。

2.DROPBOXがあるとWebMSXがぐんと便利になります

WebMSXでゲームを読み込ませるのに便利です。アプリをインストールして、アカウントを作成しておいてください。

3.www.msxdev.orgからデータをダウンロード

応募された作品がウェブサイトで公開されています。ゲーム画面をクリックしてみてください。それぞれの記事が表示されます。

懐かしのフロッピーディスクのアイコンをクリックして、ゲームのZIPファイルをダウンロードします。

注意:
ダウンロードするファイルはちょっとサイズが大きいです(といっても1メガ程度ですが)。通信料が気になる人はWIFI接続してダウンロードしてください。

ダウンロードが完了すると、ファイル名だけが表示された画面になります。ここで「その他」のリンクをタップします。

4.iZIPに展開して保存

iZIPをインストールしていると、「iZIPで読み込む」アイコンが表示されているはずです。これをタップすると、iZIPが起動します。

iZIPが起動すると展開するかどうか聞いていますので、展開してください。(有料版への案内が開いている場合はXボタンで消してください)

これでiPhoneの中にファイルを保存できました。

5.DROPBOXへファイルをアップロードする

展開したファイルの中に、「.ROM」や「.DSK」といった名前のファイルがあると思います。そのファイルの左にある○をタップしてから、下のメニューの右から二番目「Open In」のアイコンをタップします。

 

下の段の一番左にある「Save TO DROPBOX」をタップします。

 

DROPBOXのフォルダが開きますので、わかりやすいところに保存してください。
※この画面では新しいディレクトリが作成できません。必要な場合はDROPBOXアプリの方で、あらかじめ作成しておきます。
※ここに表示されていないフォルダに保存したい場合は「別のフォルダを選択してください」をタップします。

最後に「保存」の文字をタップして終了です。

6.WebMSXから読み込む

では、WebMSXから読み込んでみましょう。

ブラウザを立ち上げたら、webmsx.orgにアクセスします。
最初の画面で「NICE」ボタンをタップするとMSXが起動します。

ダウンロードしたゲームが「.DSK」だった場合は、左から2番目のフロッピーディスクアイコンをクリック

「.ROM」だった場合は、左から4番目のカートリッジアイコンをタップします。

どちらの場合も、1番上の「Load from Files」をタップします。

読み込み先の一覧が表示されますが、DROPBOXをインストールしてから初めて起動した場合はここにメニューがでません。その場合は「その他」をタップします。

DROPBOXのトグルボタンが白くなっているので、これをタップして緑にした後、「完了」をタップします。

再びメニューに戻るので、DROPBOXを選択し、先ほど保存した場所から読み込んでください。

「.ROM」のゲームの場合は読み込んだ後に、自動的にリセットされてゲームが起動します。
「.DSK」のゲームの場合は、1番左の電源マークのメニューから「RESET」をタップすると、リセットされます。

WebMSXはブラウザ以外のアプリケーションに切り替えたまましばらく経つと、読み込みしなおします。こうなるとゲームの内容も消えてしまうので、またDROPBOXから読み込むところからやりなおしです。

他のアプリに切り替えるときには、一番左の電源マークのメニューから「Save State」を選択し、

1~10のどれかに保存してからにしてください。

次に遊ぶ時には、同じ電源マークから「Load State」を選択すれば続きから遊べます。

ちょっと手順は複雑ですが、慣れればそれほどでもありません。
最新のMSXゲームをスマホで、気軽に楽しみましょう!

PC-8001 compatible font on MSX

This is trial for changing MSX font with PC-8001 compatible fonts.

PC-8001 line PCs are produced first “Personal” computer in Japan in 1979 by NEC.It is distributed mainly in Japan but PC-8001A is sold in US.

“Mycom BASIC Magazine” was one of early PC dedicated magazine which publishes type-in style games on it. Many games for PC-8001 were published there.

These games had distinctive taste because graphics were consisted by only characters generated by PCG(Programmable Character Generator) and seemed so attractive for me (at that time).

PC-8001 runs N-Basic, which was based on Microsoft Basic. Mr. Kazuhiko Nishi introduced MS to NEC and realized MS based “N-Basic”. Do you know Mr. Nishi?
Yes, he is one of founder of ASCII corporation, which is one of core company of MSX standard. MSX BASIC is also based on Microsoft Basic as you know.

Thus games on N-BASIC can be ported to MSX-BASIC with ease, I think.
Graphical devices are different between them, but not impossible.
This file is one of preparation for porting such games to MSX.

 

My trial porting (SCREEN0:WIDTH80/TEXT2 MODE of VDP)

Original fonts (cited from the net)

This test purpose file are downloadable from here.

Windows’ memopad like key bindings for Viper text editor

Text editor “Viper” has so many functions so that we don’t know what to do
for the first time. But we should not understand all because VWIN.CFG makes
limit for key binding.

VWIN.CFG is a setting file of “Viper” multi-functional text editor.
It makes viper controllable easily “as far as possible”.
It has minimal key binds like Windows’ memopad.

Text editor “viper” is included in the package of “Text editor V & Z”.
Download v&z2src.lzh at this site below.

Text Editor V & Z site

Would you try this editor with easy key binds?

P.S
VWIN.CFG itself was not attached to this page…
Download it and try. Thanks.

VWIN100

SpliceMSX script ver.0.5alpha is released

SpliceMSX ver.0.5alpha is released

This script installs Hitech-C Libraries for MSX.
Ver. 0.5 is a incremental difference from ver.0.1, 0.2 and 0.4, thus you should execute ver.0.1, 0.2 and 0.4 before ver.0.5.
* 0.3 “Installer for Hitech-C and related files for MSXs” is temporarily skipped due to technical reason.
** Patches for 0.4 are not needed but desireble to extract or patched.

Caution!!

This project is *alpha* version and we still doing trials and errors.
Read document in archive carefully before execute this script.
Version “alpha” files are series of incremental difference. Execute all of
previous versions before latest version.

Detailed(translated) documents will be announced with ver.7.0.
Documents are available in installed package or at web sites. These are written in some other languages and not easy to read now though.

References

Hitech-C ResourceKit#2 by Tatsuhiko Syoji

Hitech-C ResourceKit#2 by Tatsuhiko Syoji

MCLIB, MSX-C compatible library by Tatsuhiko Syoji

GFX Library by Rafael Jannone

Banking library, with BGM, graphic, CPU control

LIBDOS2 and LIBFIX by Arnold Metselaar

NDOS, BTM library by Konamiman

LIBPOSIX by Diederick de Vries

Download

SpliceMSX0.5alpha

What is “SpliceMSX”?

“SpliceMSX” is not a name of particular software, but project for building integrated development environment for MSX, using good softwares from all ages and countries. Cores of this project are install/setup scripts for building development environment for MSX.