Beta Released!
#1
Posted 23 December 2005 - 10:49 PM
This is my christmas present to all of you!
The good news. Integer variables made it! Though I didn't do much testing with them they should work.
I hope to see many debug / improvement / suggestion reports!
Please discuss them either here or on the discussion page of the wiki.
The wiki is also where you can download the program.
Please follow the readme for a guide on how to compile and how to run your own sources!
Sources are (obviously) included. The compiler is as well.
Here is the wiki: http://84.16.238.71/.../index.php/Beta
#2
Posted 24 December 2005 - 10:40 AM
#3
Posted 24 December 2005 - 02:22 PM
Please do use either the emu or just press R after the debugger shows.
I can not test the thing on the calc for now since I don't have a comport on my notebook and my COmputer is Windows Free . However, I'll install ReactOS the next days and try if I can get Flash100 to run with it.
Then I'll test on calc.
I'll fix the problem this night.
If the delay is not as described in the readme please try to use a large number as #WAIT <time> and try to get the exact time one tick lasts so that I can set the emu to the right speed. I thought it to be 1/30 seconds per tick so the 150 ticks in the sample file were supposed to be 5 seconds.
Thanks for testing anyways I hope to get (beside the R3 with the fix) a version with function support before the end of the year!
#4
Posted 24 December 2005 - 10:03 PM
WARNING: The Beta page previously contained a wrong link.
The link to the R2 linked to the R1 file! So you didn't have the variable
version! Please redownload R2 if you used it (or use R3 since it is based on R2).
Thanks for testing!
#5
Posted 25 December 2005 - 06:12 PM
#6
Posted 25 December 2005 - 06:40 PM
"**Fatal** os.ASM(33) Can't locate file: inc\bytecode.inc"
Anyway, i tested the delay in beta1r2, and it sems that one tick is about 20 miliseconds long. (so 250 is needed for a 5 seconds delay).
#7
Posted 25 December 2005 - 07:09 PM
Please comment the line "include inc\bytecode.inc in the main file (os.asm)
or download the file again (I fixed it)
#8
Posted 26 December 2005 - 09:24 AM
Thanks for the command list. However, I noticed some things when I read it:
1) Do you still want a virtual screen? What are the benefits of this? The interpreter is so fast that you'll never see the screen building up. Do you want to keep it?
2) The #TEXT command does NOT support integer printing! It also never will. I want to bring some sort of consistency in there with as few overloaded functions as possible. Integer printing would need special checks at the VM level or a new opcode. I would much prefer it this way:
You convert the integer to a string using the appropriate command (don't remind it now) and then print the resulting string.
This is faster and has no visible backdraw. (Yes, though it involves more commands it is faster since there are no checks in the #TEXT command needed)
#9
Posted 26 December 2005 - 10:25 AM
1) Do you still want a virtual screen? What are the benefits of this? The interpreter is so fast that you'll never see the screen building up. Do you want to keep it?
Wow, then speed must be really impressive
Anyway, i think that #DRAW command will still be useful - especially in more sophisticated programs.
#10
Posted 26 December 2005 - 12:00 PM
- to avoid sparkling if there are lots of complex graphics commands as Pictures, BMP,...
- to mark the difference between drawing and calculations.
- VX and VY sprite commands are linked to the #DRAW command.
I let you decide.
I didn't test MLC 2 yet. I'll do it today or tomorrow (My internet connexion is in my parent home, and my computer is in my girlfriend home, so I can't connect my calc and have an internet connexion at the same time).
Ok for #TEXT. MLC 2 must be as fast as it can. Since there is a simple solution, I agree with you. I'll change the wiki to explain how to do it when the VAR->String command exists.
About the wiki command list, I hope people will add lots of exemples, because I think that's the best way to teach MLC 2 to novices.
I don't want to write commands that doesn't already exist for two reasons :
- people wouldn't understand why command doesn't run on their calc and would protest pointlessly.
- I don't know how future commands will run properly without tests (I would make mistakes like with the #TEXT command).
I've started a topic about how to install MLC 2 on calcs. However, I don't know how to do it since I haven't already done it. I think Huhn_m could start it. The topic is named : installation.
Wiki is a really good idea !!! This allows a complete documentation. However, we should keep an eye on changes made by people :
- They can write big mistakes.
- They can delete all the work we made. A backup should be necessary, shouldn't it ?
#11
Posted 26 December 2005 - 07:31 PM
For #TEXT: No problem. Its great the way you wrote it. There simply has to be an beginning. And yes ... it would be best to write only what is possible.
As for backups: There is no need to do them. Look in the "Recent changes" from the main menu or in the "history" box on every page. You can easily recreate old versions by making a diff.
Also since it is my own server I'll monitor it quite closely. (Just not to get any problems with illegal content since germany has quite tight rules.)
Btw. there is also a discussion tab. I sometimes note sth. there. Just click on the Discussion Tab. It is blue if there is content or red if you are the first to write and create the page.
#12
Posted 27 December 2005 - 09:46 AM
Didn't we talk about a #WKEY function that would replace #PAUS ? It's in an old topic, I don't remember where. What do you think about this ?
What are the next features you think you'll add ?
#13
Posted 27 December 2005 - 10:32 AM
2) The #PAUS is (as noted somewhere) only for debugging purposes and NOT final. Therefor no project should rely on its existance!
3) The next features will be the #CSTR command since this is quite important and the functions support. I hope to have them in by the end of the week.
I think then there is a first reall usable edition. The next will certainly be keyboard support.
I still wait for a reply from marco about the strings sicne I really don't get any further here without implementing a design flaw (as I see it)
#14
Posted 28 December 2005 - 09:28 PM
#15
Posted 29 December 2005 - 02:03 AM
You should be able to package it to a .lec file and then sent this to the calc.
Then just start it with your prefered explorer (e.g. Touche) or link it to the main menu.
#16
Posted 30 December 2005 - 07:51 PM
#17
Posted 30 December 2005 - 11:17 PM
#18
Posted 31 December 2005 - 12:13 AM
I package a drive generator with the next version.
#19
Posted 31 December 2005 - 11:07 AM
I've watched the next functions, and it seems there's a mistake : you wrote FUNC in place of FNCT. Is that an other function or just a mistake ?
Functions I would like to see in a next version are the basics graphics commands :
PIXL
PIXT
LINE (same as in basic !! Try MLC 1, you'll understand what I mean)
RECT
And modulus.
After, you could add those :
STOP
RCLP
SHFT
and loop functions as for and while.
#20
Posted 31 December 2005 - 01:21 PM
What do you mean by same as in basic? Same syntax ... well there is not
too much to the syntax of the line command. It is just
#Line <x1>,<y1>,<x2>,<y2>,<color>
Nothing more, nothing less. Or what did you mean?
Btw. functions are 100% functional already. Maybe I'll try to implement the parameter feature till tomorrow but as always there will be a release (no matter if I make this) since the new version is already ready to be packaged and also will be before I change additional things.
As for a already packaged file this would be pretty pointless since you would not be able to create any own programs and just could run the sample program. It is 100% easy:
1) Edit the MLC source,
2) Click make.bat
3) Send the os.exe to the calc.
Those who are not able to do this can't work with the betas anyways since
they need to edit the sources to make own programs work (for now!).
#21
Posted 31 December 2005 - 06:24 PM
#22
Posted 01 January 2006 - 09:58 AM
They use the same screen and hence have the same resolution to go with.
However you want it to work the clean (BASIC) way, if I understand you right. I think I'd have done this anyways. After all this is NOT a copy of MLC1. It is everything newly developed. I didn't look at the MLC1 sources after all, since my C is too limited to realize how the program works (probably).
#23
Posted 01 January 2006 - 11:01 AM
Will you add those basics graphics commands in the next beta ?
#24
Posted 01 January 2006 - 12:41 PM
Also the modulus will be included. This will probably come with the first source incompatibility since I will use the official / as the division sign and : as the mod sign then. For now : is still also a division sign but don't rely on it to work this way in future any more!
Be aware that the beta 3 still won't include colors since it is possible that I soon loose some money and thus can't afford to buy the comport for the notebook just yet, As soon as ReactOS can be installed on my PC I'll try it to send programs to my calculator. Then the color will work as well. For now, just use 9 as the color since this will be black in the future.
It should not be too difficult and so I'm looking towards the 1.02.2006 as the release date for the 3rd beta.
I'll publish the current beta2 (with functions) in roughly 9 hours. (I hope to get function forwarding done till then. This makes coding more easy)
#25
Posted 01 January 2006 - 02:30 PM
#26
Posted 01 January 2006 - 04:54 PM
(Thanks for the edit. Please log in if you can!)
#27
Posted 01 January 2006 - 08:42 PM
#28
Posted 02 January 2006 - 12:21 AM
Sorry. I'll be carefull.
I finnally succed to run MLC 2 on my calc !!!
However, I found a nasty bug in the beta1R3 : When I exit MLC 2, the EXE button lead to a freeze. I can move on the menu (but not at each time) untill I press this button. The cursor's place has no effect. It seems to be the same problem as the Deimos's one.
My ROM version is 1.00
I tried to put a wait of 1500. This lead to a wait of 30 seconds. So, it seems that 1 second is equal to 50, as Deimos said.
I like your %r as a return command in a string.
I'll try the new beta tommorow.
#29
Posted 02 January 2006 - 09:15 PM
I'll look into the problem. Seems as if I forgot to clean sth up. Is it when you leave it with the debugger or
only with an error message? SInce the error messages have a known but that doesn't reset the interrupts.
Thanks for the test on the wait command.
The %r is just the beginning. You can look into the text_prc.inc file in the inc directory and there
the documentation for the "_Print proc" procedure has many of the features listed I intend for escape characters! I will do underline and also color changes by escaping. Maybe this will even make the
color parameter obsolet one time. Also %n and %b can output numbers in strings but I would NOT
advise to use them in MLC2 programs for now since the just output some registers that are assigned with
internal stuff. I will redirect the input to a global variable later so you can do:
%0=180
and then write
#TEXT 10,10,"Hello Number %n",9
and will get "Hello Number 180"
Please do NOT use variable names starting with a number since they will be used for parameters in the future! This means that they might not have the values you intended since they are local variables then.
#30
Posted 02 January 2006 - 11:16 PM
Other thing : it seems negative numbers don't work. I tried to give a negative number to a variable and it gave me an error (on the emulator).
#31
Posted 03 January 2006 - 12:49 PM
I think the second method is better and make MLC 2 more homogeneous with the loop commands.
I like the police you use for the MLC 2 characters. It changes from those so many used ones.
#32
Posted 03 January 2006 - 08:35 PM
As for the error this is strange.
For the negative numbers. Well, they are not done yet, but ARE they actually needed? If not then they probably also won't be done ...
#33
Posted 03 January 2006 - 11:41 PM
#34
Posted 04 January 2006 - 04:45 PM
#35
Posted 04 January 2006 - 07:44 PM
I say the truth about the error on exiting MLC 2. Perhaps it's because of my ROM version (1.00).
#36
Posted 04 January 2006 - 09:10 PM
OK. I'll do neg. numbers
However, would be nice if deimos could tell if he gets the same problem.
#37
Posted 05 January 2006 - 11:10 AM
#38
Posted 05 January 2006 - 06:05 PM
I think this bug has to be solved at first. Else it can give MLC 2 a bad reputation since the very beginning. We should avert people that we know this bug and we're about to solve it.
#39
Posted 05 January 2006 - 08:13 PM
I will look into it ASAP. Looks like a wrong restored interrupt vector in the keyboard handler to me. Should be easy to fix.
I REALLY need to get a comport for my notebook. Maybe somewhen in the next 14 days ...
no need to repeating I understood
I will look into it ASAP. Looks like a wrong restored interrupt vector in the keyboard handler to me. Should be easy to fix.
I REALLY need to get a comport for my notebook. Maybe somewhen in the next 14 days ...
Edit: OH MY GOD! This is such a trivial error ... I think I found it. I won't releas a fix since you can fix it yourself:
The last lines of the os.asm (in the main directory, not in /inc) read:
MOV AX,04C00h;Terminate execution and return to DOS/CasioMenu INT 21 end start
if you don't program assembley then you probably don't know that DOS resides on int 21h (beside others) and needs to be called to exit the program.
No what did I )?%$)(?$ do? I forgot the h!!!! I can't even imagine how it didn't crash your calc immediately ... I don't know what is on int 15h (=21) but it is NOT dos.
However so just fix it by adding the h to the 21 and it should work again (at least I hope so).
So then the code looks like:
MOV AX,04C00h;Terminate execution and return to DOS/CasioMenu INT 21h end start
#40
Posted 06 January 2006 - 11:44 AM
This time though the screen doesn't get distorted like before, so i guess it's some improvement
3 user(s) are reading this topic
0 members, 3 guests, 0 anonymous users