MNBIOS - A new BIOS for MSX2.

by flyguille on 27-12-2003, 20:47
Topic: Hardware
Languages:

From 1996 to 2003 flyguille developed and tested a new BIOS for his MSX2, called MNBIOS (MSX Non BASIC Input Output System). The purpose of this project is creating a new BIOS that increases the capabilities of the MSX2 hardware, without the need of directly addressing the hardware. Without modifying the hardware, MNBIOS supports a graphical screen mode with 341 sprites at a size of 16x16, and a screen of 85x35 characters, giving characters a text and background color, similar to SVGA. MNBIOS is a conmuted multitasking system which supports 1Gb of RAM paged and can manage 7 Z80 CPU's parallel working on single expansions.

MNBIOS is not a continuation of the MSX software standard, but a completely new standard. MNBIOS does not have to be loaded in ROM, it can work from disk as well. There already is a reference manual available in Spanish.

If you want read the programmer manual, you can send an email to [email protected].

Comments (33)

By anonymous

incognito ergo sum (109)

anonymous's picture

27-12-2003, 21:00

Without modifying hardware huh?
I suppose 1GB can be achieved with Padial's mappers that use extra I/O addresses, but the other stuff.... 85x35 in SCREEN7 means 6x6 characters, that's REALLY small.
And how does paralell processing work without modifying hardware?

By BiFi

Enlighted (4348)

BiFi's picture

27-12-2003, 21:06

Sounds cool. I hope the BIOS itself will be released as well, since it's pretty hard to code for it without having it, even with the programmer's manual.

By snout

Ascended (15187)

snout's picture

27-12-2003, 21:11

flyguille, I can imagine people would like to see for themselves what MNBIOS does. Do you plan to release the BIOS itself on a website?

By Arjan

Paladin (697)

Arjan's picture

27-12-2003, 21:17

GuyveR800, I think that only applies for the stuff mentioned in the sentence where he says you don't have to modify the hardware.

By anonymous

incognito ergo sum (109)

anonymous's picture

27-12-2003, 21:22

It would be interesting to see some example software!

By Sander

Ambassador (1843)

Sander's picture

28-12-2003, 01:06

How about some screenshots for starters?

By SLotman

Paragon (1205)

SLotman's picture

28-12-2003, 12:33

Is this even possible?
I mean, how do you replace the BIOS using software??
There is much explaining to be done, what about those 300 sprites? Where the memory for them come from? And how fast it is on a real machine?
And why 85 columns, when you can barely see 80 on a TV...?

If this is really true, I would be very interested! Any info on what the author will do with the bios? Release it for free? (I really dont see how someone could sell a bios that can be loaded by disk - specially when all programs written for it would need the same file...)

A small webpage with screenshots and some details would be really nice =P

By Grauw

Enlighted (8027)

Grauw's picture

28-12-2003, 14:37

Width of 85 is easy... Screen 7 is 512 pixels wide, screen 0 is only (80x6=) 480 pixels. So that leaves room for 5 more characters. And if your TV can properly display screen 7 (it should, only the border is in the overscan area), it should be able to properly display 85 columns aswell. But I'd rather have seen 26 lines instead of 24 or 35... Smile 6x6 characters seems a bit odd indeed.

I wonder about the 341 sprites though...

~Grauw

By Grauw

Enlighted (8027)

Grauw's picture

28-12-2003, 14:47

Btw, why isn't the programmer's manual downloadable somewhere, and uh indeed, some screenshots and more detailed info would be nice. In other words: homepage! ^_^

~Grauw

By snout

Ascended (15187)

snout's picture

28-12-2003, 15:27

Until then, this news is a bit bogus for me.

By snout

Ascended (15187)

snout's picture

28-12-2003, 15:55

thanks for posting that on my account name, Sander Tongue

By flyguille

Prophet (3029)

flyguille's picture

28-12-2003, 18:18

A REFERENCE PROGRAMMER MANUAL IS EVERY AVAILABLE ON THAT MAIL. IF YOU WANT LOOK AND YOU CAN OR A FRIEND CAN READ SPANISH. 180 PAGES APROX. IS NOT A BOGUS. A WORK OF SIX YEARS!!

By BiFi

Enlighted (4348)

BiFi's picture

28-12-2003, 18:48

Please hold out on the excessive capitals. I can understand your reaction is like this and I hope you understand our sceptisism. All this sounds really impressive though we're all wondering about some viewable proof of all this.

By flyguille

Prophet (3029)

flyguille's picture

28-12-2003, 19:02

Sorry by "hold the capitals" in the other message.
And sorry by my little english.

By Latok

msx guru (3641)

Latok's picture

29-12-2003, 00:06

Cool, never seen new software being accepted with such much disbelief. Should make you feel proud, dude. Just show us your product and/or manual and we will for ever lie at your feet Smile

By anonymous

incognito ergo sum (109)

anonymous's picture

29-12-2003, 01:04

I don't think there is disbelief. There is curiosity and wonder!
Please don't misinterpret this for a negative thing.

I think all of us would love to see this MNBIOS in action!

By mth

Champion (480)

mth's picture

29-12-2003, 02:07

If I understand correctly, MNBIOS is a BIOS replacement which can be loaded into RAM and offers a new API that offers new features. I guess it's similar to the custom BIOSes used in some games and demos, such as F-kernel. It is different from C-BIOS, which is a new implementation of the existing MSX BIOS API.

About 341 sprites: In hardware, this is impossible. But in software, you could offer an easy interface to sprite splits. The BIOS would handle setting up the sprite tables in the right way and swapping them on line interrupts.

About multitasking: do you mean it's a cooperative multitasking system which can handle 7 processes at once?

Where can MNBIOS be used? Looking at the description, I think it can be useful in new games. But I'd like to hear from flyguille what uses he had in mind while writing MNBIOS.

By SLotman

Paragon (1205)

SLotman's picture

29-12-2003, 10:45

Hey... I got the manual from him... its not 341 sprites on screen, but 341 sprites PATTERNS. From the manual:

"Cantidad de diseños de sprites soportados-341
Cantidad de sprites visualizados al mismo tiempo-32 (hasta 8 en una misma línea)."

(Ammount of sprites drawings supported - 341
Ammount os sprites viewable at the same time - 32 (8 at the same line))

This BIOS just handles 32 sprites on screen, as any normal MSX can.

One thing that caught my attention was this:
"SOPORTE A TERMINALES DE ALMACENAMIENTO DE DATOS
DISKETERA 360 K - 720 K - 1.2 MB - 1.44 MB - Solamente con formato de almacenamiento MSX 4."
(support to terminals of data storing
Disk drive 360k-720l-1.2MB-1.44MB - only in MSX4 storing format."

1.44MB disks on a MSX2, without hardware changes? THAT would be amazing....

By Grauw

Enlighted (8027)

Grauw's picture

29-12-2003, 13:09

Still, 341 sprite patters, hey, I could use that! ^_^. I still wonder how it's being done. Sure, screensplits come into mind, but then again, I wonder whether those really are in the BIOS? In my experience these kind of splits are quite situation-dependant. Especially because the sprite locations (and hence, the split locations) are stored in another table, which is kind of seperate from the patterntable... And what would you do if there are 2 sprites on one line, one being pattern 0 and the other being pattern 340? Can't solve that with a split. No, I don't think this is a solution with screensplits...

1.44 MB disks... the disk controllers can't handle that, afaik. Maybe he's only saying it is '1.44 ready' Smile. But, you can connect a 1.44 disk drive with an IDE interface to MSX. Those LS120 drives are a good example of that...

Oh, and by the way, seeing the sprite capabilities I would think this BIOS is intended for games... Or no? Anyways, flyguille, I really hope you can put up a homepage soon with more information and the programming manual, etc. Even though I do not know Spanish, Altavista Babelfish can do a lot to solve that Smile. Or maybe you can make an English version.

~Grauw

By ro

Guardian (4073)

ro's picture

29-12-2003, 13:18

funny. so euh, what other features does this bios have? (I mean some REAL OS features, like memory management for example) Would it be possibel to translate the manual to english so we, the stupid ppl, could figure them specs out by reading the manual on our own?

By BiFi

Enlighted (4348)

BiFi's picture

29-12-2003, 14:01

My Spanish is lousy, but I could get some of the features: memory management, multi-tasking (or even multi-threading) and windowing functions.

By flyguille

Prophet (3029)

flyguille's picture

29-12-2003, 15:22

Yes, the MNBIOS manage multiple text and graphics WINDOWS on the screen, but is a cooperative system. for redrawing windows, the MNBIOS call to the aplication runtime was subscribe previously, and MNBIOS masked the screen on redrawing process.

Only the aplication selected by the user can use the screen and psg, the others aplications loaded in memory are freeze and waiting.

The MNBIOS, can in other systems whit his ADR & ADM (resources manager & memory manage) manage the working of seven more z80, z180 or z380 working in parallel, whit the apropiated hardware expansions.

But the MNBIOS can work in a original MSX2 hardware, off course whit a limited memory for the aplications. The amazing of the MNBIOS is: aplicatios never see the hardware and not know if working on a original MSX2 or in a expansion memory.

By that i can say MNBIOS can run in a original MSX2 whitout any hardware modification.

On sprite topic, the MNBIOS manage a DSPR table on the RAM memory, on 16KB (minimun memory asigment) the MNBIOS can load 341 sprites in multicolor, when a program change the number of desing sprite, the MNBIOS not change it, change the DSPR data.

The filename *.DSPR have got a DSPR table. And the user can load and install it from SHELL line command.

Other features is a DCHRS table manage on RAM, because MNBIOS only support a bitmaped screens mode. IDEAL for v9990, but in a future version.

The filename *.DCHR have got a DCHR table. And the user can load and install it from SHELL line command.

The user interfaz is separate from kernel (as like a MSDOS).

The aspect of user interfaz is a text windows on the black screen with a DOS line command inside. Outside of the windows show the copyright and loading of the "MSXCOMMAND.EXEC" file (the user interfaz) text messages. But today i writing the user interfaz and i'am thinking add more things.

SORRY BY MY LITTLE ENGLISH <---- because that, i can't traslate the manual at english, because a reference manual need presicion in the traslation.

By flyguille

Prophet (3029)

flyguille's picture

29-12-2003, 15:27

SORRY, the MNBIOS only work whit bitmapped screen modes. The MNBIOS have got 4 usefull screen modes.

By anonymous

incognito ergo sum (109)

anonymous's picture

29-12-2003, 15:54

Very interesting!
It sounds like this system might be useful for a project Grauw might be working on in the future... Right Grauw? Smile

By flyguille

Prophet (3029)

flyguille's picture

29-12-2003, 16:52

Not, it´s working TODAY and in the future too.

I make a little webpage where can download de reference manual. I use a web asist because i'm not a web programmer. The webpage is uggly!!!! Tongue

http://usuarios.arnet.com.ar/flyguille/index.htm

By Latok

msx guru (3641)

Latok's picture

29-12-2003, 17:03

Oh my God, it's real! Smile

By BiFi

Enlighted (4348)

BiFi's picture

29-12-2003, 17:20

So it's a task switching feature in stead of a multi-tasking one. It's a bit different, nonetheless a nice feature to have.

By flyguille

Prophet (3029)

flyguille's picture

29-12-2003, 17:38

Yes , i say is 1.44 ready, because de MNBIOS not have a prefix format table, the MNBIOS load de boot sector or boot partition table, and load the general description of the media, and then use it. Off course too manage hard disks in the same way. The MNBIOS support all logical structure, and the drivers support all hardware conectivity.

The 5 drivers types supported are:

* Characters oriented drivers.
* Sectors oriented drivers.
* A.I. oriented driver. (like ADM driver (memory manager)).
* File oriented drivers (like CD-ROM driver)).
* Runtime oriented drivers.

The MNBIOS can link all this drivers types.

If you have a special hardware, only you need write the correct driver and install that in the file config.

By example:

A tipical sector oriented driver have 4 primary runtimes.

This runtime is use for general loads or writes. it's work with a logical number sector.
LOAD ;read "n" number of sectors.
WRITE ;write "n" numbre of sectors.

The MNBIOS use this runtimes for load or write the boot sector or partition table.
CONTROL ;use for positioned the head on a specific sector / face / track.
WRITE_SECTOR ;use for write a sector.
LOAD_SECTOR ;use for load a sector.

The caracters and sectors types drivers, have got a bidirectional negotiation runtimes, because the driver can command to the aplication and the aplication can command to the driver. IT is useful in a modem or LAN card.

All this is expain in the reference programmer manual.

By konamiman

Paladin (1017)

konamiman's picture

29-12-2003, 21:36

> If you have a special hardware, only you need write the correct driver and install that in the file config.

THIS is what we need!

flyguille sent me the manual of MNBIOS two days before posting the news here and I just had time to take a quick look, but if all which is promised is true (and I'm not doubting that it is), we are about to face a very cool thing.

By Sylvester

Champion (397)

Sylvester's picture

30-12-2003, 00:48

hmm, so the big question is, when can we expect a first public release ?

By flyguille

Prophet (3029)

flyguille's picture

30-12-2003, 01:04

mmm... The release MNBIOS version for the "Talent MSX2 & Talent DPF 550" diskdriver ON 01/2004.
Other version of same kernel but for diferent FDC (floppy disk controller) hardware, in other words "whit a diferent "DISK" driver" are release after.

Today, the kernel are in testing process.

By Grauw

Enlighted (8027)

Grauw's picture

30-12-2003, 01:19

Flyguille, thanks for the web page. Although the pictures don't seem to be working right now, it looks pretty ok Smile. Or maybe it looks better without pictures, I can't tell ^^. Anyways, I'll check out the manual, see if I can make some sense out of it...

And er, Guyver... ;p.
Well, who knows.

~Grauw

By CarlosMSX

Supporter (1)

CarlosMSX's picture

31-12-2003, 13:11

Hi ppl!

I can confirmate that the MNBIOS is real, I saw a version without shell but working at all, in the past argentinan users meeteng.
Have a good new year!!!