Schrijver
| Hello World!! version for MNBIOS
|
flyguille msx master Berichten: 1223 | Geplaatst: 05 April 2004, 16:11   |
Quote:
| Flyguille
When will a version be available that can execute programs?
Anyway the Hello world demo can be seen? (other than in assembly that is)
|
Thanks by your interest... yeah, i are planning to release a second DEMO with aplications execution, and all the improvements than are already done.
Maybe before to the big remaking <---- That mean, i will do a big re-structuring of the ADR system (administrator of resources) <--- That mean, some functions to modify like TRUD functions, some useless functions deleted like DIV64 (for make free space), all the drivers and API will be fully remapped.
But the remapping are close to the current mapping, easy to re-write aplication code for fit with the new mapping.
That big re-structuring is needed for reach up to 255 drivers or libraries instead 16.
Some functions will be a bit faster and other a bit less faster.
Also is needed for improved the capabilities of the back-grounds process.
|
|
BiFi msx guru Berichten: 3142 | Geplaatst: 05 April 2004, 21:02   |
btw, did the compiled exec of hello world work?
|
|
flyguille msx master Berichten: 1223 | Geplaatst: 05 April 2004, 22:05   |
You can't use the demo for test the HELLO world program... because is not too simply like renaming to MSXCOMMAND.EXEC and mount that on A: ... Why?
For do that, is needed to insert a lot of more code inside hello world aplicación...
Like:
. VDP initiation.
. mount CHRS design chart.
. ENABLE the KEYBOARD buffer.
. Create a window if you want, if not all PRINTING will go printed on the DESK.
Why VDP initiation?, because the kernel not do that... for allow to the user interface got the complete control of the view.
Mount chars design? .... YES, that chart aren't on kernel and need be mounted externally first.
Enable keyboard buffer? .... Yes, CON & PRN drivers are mounted externally on MSXCOMMAND.EXEC for allow to the User interface got the complete control of the printing on paper and console typing input.
By that reasons are not possible execute any aplication instead the normal MSXCOMMAND.EXEC user interface...
On other hand, the user interface are loaded and executed using a short load/run routine and not send all information on the CPU registers than some aplication will need.
Simply, wait for the second DEMO if you want test aplications programs.
|
|
BiFi msx guru Berichten: 3142 | Geplaatst: 05 April 2004, 22:18   |
I didn't mean that. You want to test it on MNBIOS yourself. I just want to know if it runs. That way I know the header system and the rest is correct.
|
|
flyguille msx master Berichten: 1223 | Geplaatst: 05 April 2004, 22:36   |
I can't test yet, but i dump the compiled version in HEX and check the format and almost is correct.... also are correct the assembler code and the executing addresses on the header.
So, i think that work.
C:hello.exec ( 319 Bytes )
Addr 0 1 2 3 4 5 6 7 8 9 A B C D E F Text view
-------------------------------------------------------------------------
0000000 EF 40 00 00 2A 41 00 00 35 41 00 00 36 41 00 00 ´@..*A..5A..6A..
0000001 37 41 00 00 3D 41 00 00 20 20 20 20 20 20 20 20 7A..=A..
0000002 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000003 20 20 20 20 00 00 00 00 20 20 20 20 20 20 20 20 ....
0000004 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000005 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000006 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000007 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000008 20 20 20 20 20 20 20 20 44 44 2F 4D 4D 2F 59 59 DD/MM/YY
0000009 59 59 44 44 2F 4D 4D 2F 59 59 59 59 3E 41 00 00 YYDD/MM/YYYY>A..
000000A 00 48 65 6C 6C 6F 20 77 6F 72 6C 64 21 21 21 00 .Hello world!!!.
000000B 48 65 6C 6C 6F 20 77 6F 72 6C 64 20 41 47 41 49 Hello world AGAI
000000C 4E 21 21 21 00 3C 50 72 65 73 73 20 61 6E 79 20 N!!!.<Press any
000000D 6B 65 79 20 74 6F 20 63 6F 6E 74 69 6E 75 65 20 key to continue
000000E 6F 72 20 51 20 66 6F 72 20 51 75 69 74 3E 00 3E or Q for Quit>.>
000000F 18 21 A1 40 CD 60 C2 3E 18 21 C5 40 CD 60 C2 CD .!í@-`->.!+@-`--
0000010 7C C2 38 06 FE 51 C8 C3 EF 40 FE 61 28 07 AF CD |-8._Q++´@_a(.»-
0000011 E0 C2 C3 FF 40 3A A0 40 FE FF 20 E3 AF 32 A0 40 Ó-+ @:á@_ Ò»2á@
0000012 FD 21 FD 00 0E 01 F7 C3 EF 40 3E 18 21 B0 40 CD ²!²...¸+´@>.!_@-
0000013 60 C2 C3 F7 40 C9 C9 3E FF 32 A0 40 C9 C9 C9 `-+¸@++> 2á@+++
But , see the 000A0 position... got the value 00h.... that is a wasted byte.... i are bussy to check why... but allways it will run ok.
|
|
flyguille msx master Berichten: 1223 | Geplaatst: 06 April 2004, 03:30   |
nop, is not a wasted byte, is the FlagTask variable
So, all ok.
|
|
NYYRIKKI msx master Berichten: 1525 | Geplaatst: 07 April 2004, 13:23   |
Quote:
| I HOPE ThiS INFORMATION IS CLEAR
|
Ok, I understand now better. It still COULD be done like I suggested, but that would make initialize routine of interrupt handler quite a complex as you would need to make a table of addresses to call.
Quote:
| Long code for just saying "Hey babe, how you're doing" . ..
|
That is not a long code as it is multitasking assembler program. To compare... look here for Hello World program without BIOS:
www.roesler-ac.de/wolfram/hello.htm#Asm-Z80-Console |
|
|
|
|