Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question regarding building the binaries #78

Open
vipoo opened this issue Nov 27, 2020 · 2 comments
Open

Question regarding building the binaries #78

vipoo opened this issue Nov 27, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@vipoo
Copy link

vipoo commented Nov 27, 2020

Hello Néstor,

Been reading about Nextor and how its evolved and come to be what it is - it seems to be a really cool project.

I was wondering if you might have a few minutes to help me with some questions/issues I have detailed below?

I was trying to follow the build steps for compiling, but I cant build the command2.sys unit. Under the v3.0 and v2.1 branches there is no compile.bat within source\command\command\compile.bat. I copied the compile.bat file from the v2.0 branch, and the M80/L80 binaries, and was able to get a COMMAND2.SYS built - but this would seem like a strange process - so it makes me think that something is not quite right.

Am I missing something, or is the README in error, or something else?

I am just starting out, so not sure once i have built some binaries what to do next - i assume building up an emulator instance to test em out?

Perhaps I am barking up the wrong tree here --- I am wondering if I can create an instance of Nextor to run on my custom built MSX hardware. I am working thru a series of expansion boards for my RC2014 platform kit, and I would really like to use open-source software in the ROM images.

Really not sure if this is something that is achievable or make sense - is it possible to build a rom image with CBIOS/Nextor booting up with RAM/ROM emulated floppies (and eventually hook my real floppy drives in)?

Questions I have at the moment are:

  1. Is this in the realm of possibility?
  2. Can Nextor run without MSX Basic - will it work with CBIOS?
  3. If not, what kind of gap exists?
  4. Any suggestions on how I might proceed?

Regards
Dean.

PS: I am detailing the progress of my design/build at: https://hackaday.io/project/175574-msx-compatible-boards-for-rc2014

@Konamiman
Copy link
Owner

Konamiman commented Dec 27, 2020

Hi @vipoo.

Regarding command2.com (I guess that's what you mean by command2.sys): indeed, the documentation is abyectly lying, there's currently no script to build command2.com. I didn't bother on making one since I haven't made any change to that file for Nextor, the recommended thing to do is to just use COMMAND 2.41 as is. Honestly I don't know why on Earth I claimed such a build script for command2.com to exist, probably I got confused with something else.

As for using Nextor in a BASIC-less setup: I have no idea if it would work. Nextor needs BASIC for the CALL commands, for sure; but I don't know if it would maybe boot directly in command interpreter mode if that part is missing. My guess would be that it won't, since in general the code assumes a full MSX system to be in place.

As for testing, yes, the best approach is to use an emulator - that's what I myself do most of the time for convenience; I only test on real hardware right before releasing a new version. I use mostly blueMSX (with its integrated support for Sunrise IDE) and occasionally openMSX (since it emulates the MegaFlashROM SCC+ SD).

I hope that helps!

@vipoo
Copy link
Author

vipoo commented Dec 30, 2020

Regarding command2.com (I guess that's what you mean by command2.sys): indeed, the documentation is abyectly lying, there's currently no script to build command2.com. I didn't bother on making one since I haven't made any change to that file for Nextor, the recommended thing to do is to just use COMMAND 2.41 as is. Honestly I don't know why on Earth I claimed such a build script for command2.com to exist, probably I got confused with something else.

I have since figured this out. I really want to make sure i can assembly everything -- otherwise how can one hack? 😏

As for using Nextor in a BASIC-less setup: I have no idea if it would work. Nextor needs BASIC for the CALL commands, for sure; but I don't know if it would maybe boot directly in command interpreter mode if that part is missing. My guess would be that it won't, since in general the code assumes a full MSX system to be in place.

It works - have it running on my hardware now. Only had issue with one thing, the code for Russian keyboard makes a direct call to ROM address 0D89H. I am very early in my process of learning MSX, so not sure if this an official BIOS entry point - or just a function that is available for most/all ROMS. Its not support at this stage by CBIOS.

This was easy enough to fix, I simple added a conditional switch EX_RUSSIAN to exclude russian keyboard support. And activated that on my RC2014 build only.

As for testing, yes, the best approach is to use an emulator - that's what I myself do most of the time for convenience; I only test on real hardware right before releasing a new version. I use mostly blueMSX (with its integrated support for Sunrise IDE) and occasionally openMSX (since it emulates the MegaFlashROM SCC+ SD).

I used blueMSX a lot in the early days, to explore and understand Nextor and CBIOS code. But now its all running on my actual kit hardware.

The emulator has limited value for me now, as obviously they do not support some of my hardware.

So far, I have achieved the following:

  1. Designed/built kit including keyboard, video (V9958), sound and RAM/ROM.
  2. System boots up diskless using CBIOS/Nextor.
  3. Coded an embedded driver to give me a read-only disk image within the ROM.
  4. I get a RAMDISK for free - thanks!
  5. Run some simple apps so far (pt3play, loadrom and pacman)
  6. Wrote an xmodem app, talking directly to my SIO/2 chip. - I can send files to the RAM Disk from my PC.

If you interested, here's a link to the latest demo video of my setup. https://youtu.be/PlqrQ548rpE

Further Questions:

I do have some questions that perhaps you could help me with.

  1. I have an intermittent bug, where I keep getting '** Wrong version of MSX-DOS**'. Finally tracked it down to the code that checks the volume ID (cli.mac, EXECOM, line 1482). If I understand it right, it's looking at single bit of the ID, and if not set, assumes incorrect/old image? I don't know anything about FAT volume IDs. Have not investigate what mkfs.fat is generating - i believe a number based on current time. Not sure why its intermittent for me. The expert mode disables it - so easy to work around for the moment.

  2. I have managed to build most of the utilities within Nextor, using my make scripts. But some of the utilities I am not sure how to build. These seem to be created with C and assembler. What tools are you using to build these?

  • diskcopy
  • xcopy
  • xdir

And I have yet to get undel to assemble -- Only now, I can't remember why? 😖

Anyway, let me finish by saying I really appreciate what you have done with this project. It's very impressive. When I wrote the embedded Rom disk driver, it was so easy to understand the interface - well documented and explained. I plan to write drivers for my HDD and FDD interface boards sometime in the future. Nextor makes contemplating that quite easy. Cool Bananas!

Cheers
Dean

@Konamiman Konamiman added the enhancement New feature or request label Aug 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants