Jump to content



Photo
- - - - -

Mlc -- Multi-platform Language For Calcs


  • Please log in to reply
132 replies to this topic

#1 CrimsonCasio

CrimsonCasio

    UCF Ambassador

  • [Legends]
  • PipPipPipPipPipPipPipPipPipPip
  • 3579 posts
  • Gender:Male
  • Location:USA
  • Interests:Claculators, Stephen King, Video Games, Calculators, Programming, Calculators, Reading, Calculators... hmm, what else... Ah! Calculators!

  • Calculators:
    Algebra FX2.0, CFX 9850Ga+, Classpad 300

Posted 03 January 2005 - 04:46 PM

A few of you here were cleaver enough to find out about this from a post I made in a totally unreleated topic, that was just a sneak preview :)

Presenting MLC:

MLC is a project developed by Epic Programming Studios (EPS), it is the first (sucsessful) program of its kind. MLC is a multi-platform interperator for a new language specifically made for calculator games, it is designed to compleatly replace BASIC as the language of choice for creating games on calculators (use BASIC for math, thats what its there for ;) )

MLC is far faster than basic, and can use 4 levels of grayscale (thanks to Orwell's gxlib), it also features (or will feature) all the tools you could want to make a game :)
Another thing i know every basic programmer has been itching for: String and file support, is supported in MLC :D

here are some pictures of MLC games, from new to old, showing the progression of the language:

Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image
Posted Image

for a compleat list of pics go here

MLC is interperated like BASIC, but we've cut out alot of the unneed things in BASIC to speed things up, also MLC code is "complied" before each run, making it run much faster. speed has been our concern in every part of this, so you shouldnt have any complaints ;)

another of our goals is to preserve Basic's only redeaming feature and put it into MLC: on calc programability. the on calc BASIC editor is all you need to program in MLC, though a sprite editor is nice (in beta for AFX and PC). so all MLC program are open source and you can program and view them without special tools.

Im not going to say that MLC is as easy as basic... its much harder, but still not as hard as ASM/C. the reason its hard is because you can do so much more with it :D

anyway, by now i figgure some of you are looking for a link to a download, and are willing to choke it out of me, so here it is:

EPS Main Page
Direct MLC Download
MLC Readme

take a look at the game's we've provided, and use them to grasp the Basic sentax. a tutorial is in the works, but if you have questions feel free to ask (i may even quote you in the tutorial ;) )

#2 Andy.Davies

Andy.Davies

    Forum Ghost

  • [Legends]
  • PipPipPipPipPipPipPipPip
  • 1547 posts
  • Gender:Male
  • Location:Dorset, England
  • Interests:Age: 18
    Studying: MEng in cybernetics at Reading uni
    Interests: Progaming (VB, VB.Net, C#, Casio Basic)
    Computers UBBD (Using, Building, Breaking & Destroying)
    Gaming (FPS, RTS, RPG)
    Electronics
    Rock Music (Preferably Loud)
    Riley's (Pool & Snooker Bar)
    Driving (Preferably fast)
    Aikedo (Martial Art)

  • Calculators:
    Algebra FX 2.0 ROM 1.01, FX9750G

Posted 03 January 2005 - 05:02 PM

cool! very nice, well done Crimson and Co ;)

#3 4nic8

4nic8

    Casio Freak

  • Members
  • PipPipPipPip
  • 182 posts
  • Location:Warsaw, Poland

  • Calculators:
    Casio AFX 2.0 ROM 1.01, TI-89 (ASM 2.08 HW 2.00)

Posted 03 January 2005 - 05:09 PM

I hope you will like MLC for AFX. It took me "some" ;) time to do it ;) but I guess it was worth :D :rolleyes: :) B) ^_^

So download it and use it :plol: :lol:

#4 Roeoender

Roeoender

    UCF ASM/C Programming Only Winner

  • [Legends]
  • PipPipPipPip
  • 273 posts
  • Gender:Male
  • Location:Gdynia, Poland
  • Interests:Technical University student (informatics)
    Interests:
    Sport climbing
    Orieenting (100km walk in 23h31min)
    C/Asm on calculators

    Dislike cars

  • Calculators:
    CASIO AFX 2.0 ROM 1.01, 10 countable fingers

Posted 03 January 2005 - 05:52 PM

Whoa! I regret I didn't knew about it earlier.

But there is one thing to moan about:

MLC program are open source and you can program and view them without special tools

Well you cannot say that a piece of software is "open" when it must be interpreted by a software which source code isn't distributed. It is the same as with the Java Trap.
And in my opinion such project should be open source.

Anyway good work, it may be a real breakthrough for both calculator brands. :greengrin:
Roeoender.

#5 CrimsonCasio

CrimsonCasio

    UCF Ambassador

  • [Legends]
  • PipPipPipPipPipPipPipPipPipPip
  • 3579 posts
  • Gender:Male
  • Location:USA
  • Interests:Claculators, Stephen King, Video Games, Calculators, Programming, Calculators, Reading, Calculators... hmm, what else... Ah! Calculators!

  • Calculators:
    Algebra FX2.0, CFX 9850Ga+, Classpad 300

Posted 03 January 2005 - 06:02 PM

actually, the source code is available too, i just havent posted the links yet. the only rule is that if you modify it for some reason it has to be approved by us for it to be released (for the purpose of keeping things in line). wait for us to update the code, etc and i'll post a link on our site to the code.

also, i may have forgot to mention, MLC also runs on the Ti-86, and soon the ti89 and 83. :)

#6 Roeoender

Roeoender

    UCF ASM/C Programming Only Winner

  • [Legends]
  • PipPipPipPip
  • 273 posts
  • Gender:Male
  • Location:Gdynia, Poland
  • Interests:Technical University student (informatics)
    Interests:
    Sport climbing
    Orieenting (100km walk in 23h31min)
    C/Asm on calculators

    Dislike cars

  • Calculators:
    CASIO AFX 2.0 ROM 1.01, 10 countable fingers

Posted 03 January 2005 - 06:16 PM

Thats good. You don't have to hurry with publishing the source code - it would be goot to decide on one of the commonly used licenses. I think that after publishing src code you may receive some patches from "freelancers" so you'd better think about setting some cvs and version numbering format so that you won't sink in the chaos of multiple versions ;).

Making this language uniform between calc brands is really fantastic idea and having working implementations for afx and ti86 will surely quickly catch attention of many basic programmers :D.

#7 Orwell

Orwell

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 777 posts
  • Gender:Male
  • Location:Paris - France

  • Calculators:
    Casio AFX 1.02 / Casio ClassPad 300

Posted 03 January 2005 - 06:17 PM

Great project, i hope there will be a lot of MLC users! :lol:

Just a small thing: how did you do the screenshots? :unsure: Because there are only 3 colors on it... It's a pity that wing100 isn't able to show the 5 colors of gxlib :(

#8 CrimsonCasio

CrimsonCasio

    UCF Ambassador

  • [Legends]
  • PipPipPipPipPipPipPipPipPipPip
  • 3579 posts
  • Gender:Male
  • Location:USA
  • Interests:Claculators, Stephen King, Video Games, Calculators, Programming, Calculators, Reading, Calculators... hmm, what else... Ah! Calculators!

  • Calculators:
    Algebra FX2.0, CFX 9850Ga+, Classpad 300

Posted 03 January 2005 - 06:24 PM

@orwell: yeah, but once we get the PC version up to date better screenshots will be forthcomming ;)

@roe: huhn is already planning to use MLC in <{GNULINUX}>, and andy just asked me about doing somthing, so i think your right on that ;) . MLCafx will soon be able to accept parameters, so you will be able to link MLC games to the main menu and run it from other C/ASM progs, but we still need to write down the specific rules of how you may use this... we'll figure it out ;)

#9 Orwell

Orwell

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 777 posts
  • Gender:Male
  • Location:Paris - France

  • Calculators:
    Casio AFX 1.02 / Casio ClassPad 300

Posted 03 January 2005 - 06:32 PM

Btw, i think it could be useful to be able to use "external functions" by addition of the usual '#' commands. Some "packs" could be released with a set of functions (coded in MLC code or in C/asm, i don't know), and the programmer would become able to "include" and use it in hes prog... Its a pretty way to provide updates, and also the programmers won't have to write the same usual functions for each prog :)

#10 CrimsonCasio

CrimsonCasio

    UCF Ambassador

  • [Legends]
  • PipPipPipPipPipPipPipPipPipPip
  • 3579 posts
  • Gender:Male
  • Location:USA
  • Interests:Claculators, Stephen King, Video Games, Calculators, Programming, Calculators, Reading, Calculators... hmm, what else... Ah! Calculators!

  • Calculators:
    Algebra FX2.0, CFX 9850Ga+, Classpad 300

Posted 03 January 2005 - 06:34 PM

we've been thinking of things like that... but there are memory constaints on the Ti86 and 83 that i think wouldnt allow it... though we may allow external MLC files eventually.

#11 Bob Vila

Bob Vila

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 768 posts
  • Gender:Male
  • Location:USA

  • Calculators:
    FX 1.0+ : CFX-9850 GB Plus : TI-81

Posted 03 January 2005 - 07:18 PM

very nice, now all i need to do is send my calc in to get it fixed so i can use it :nod:

btw, looks like graphics have improved alot since i used it a while ago :)

#12 CrimsonCasio

CrimsonCasio

    UCF Ambassador

  • [Legends]
  • PipPipPipPipPipPipPipPipPipPip
  • 3579 posts
  • Gender:Male
  • Location:USA
  • Interests:Claculators, Stephen King, Video Games, Calculators, Programming, Calculators, Reading, Calculators... hmm, what else... Ah! Calculators!

  • Calculators:
    Algebra FX2.0, CFX 9850Ga+, Classpad 300

Posted 03 January 2005 - 07:22 PM

lol, yeah, the last version you saw is where MLCpc is now ;)
its archaic :D

#13 qwerty841

qwerty841

    Casio Freak

  • Members
  • PipPipPipPip
  • 198 posts
  • Gender:Male
  • Location:vernal

  • Calculators:
    ClassPad 300,TI 83 PSE,TI Voyage 200,Windows Calculator

Posted 03 January 2005 - 09:57 PM

Is it going to be usable on the classpad?

#14 Orwell

Orwell

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 777 posts
  • Gender:Male
  • Location:Paris - France

  • Calculators:
    Casio AFX 1.02 / Casio ClassPad 300

Posted 03 January 2005 - 10:17 PM

I think it wont be easy to do for CP 'cause one can only use b/w colors for now, and the keyboard is quite different etc...

#15 4nic8

4nic8

    Casio Freak

  • Members
  • PipPipPipPip
  • 182 posts
  • Location:Warsaw, Poland

  • Calculators:
    Casio AFX 2.0 ROM 1.01, TI-89 (ASM 2.08 HW 2.00)

Posted 03 January 2005 - 10:48 PM

Don't worry about the source I'll upload it soon. I'll add more comments etc. ^_^

#16 CrimsonCasio

CrimsonCasio

    UCF Ambassador

  • [Legends]
  • PipPipPipPipPipPipPipPipPipPip
  • 3579 posts
  • Gender:Male
  • Location:USA
  • Interests:Claculators, Stephen King, Video Games, Calculators, Programming, Calculators, Reading, Calculators... hmm, what else... Ah! Calculators!

  • Calculators:
    Algebra FX2.0, CFX 9850Ga+, Classpad 300

Posted 03 January 2005 - 11:01 PM

Is it going to be usable on the classpad?

<{POST_SNAPBACK}>

everybody bug SoftCalc about it and mabey ;)
(aka, were looking in to it ;) )

#17 4nic8

4nic8

    Casio Freak

  • Members
  • PipPipPipPip
  • 182 posts
  • Location:Warsaw, Poland

  • Calculators:
    Casio AFX 2.0 ROM 1.01, TI-89 (ASM 2.08 HW 2.00)

Posted 04 January 2005 - 12:53 AM

The source is here: :!: :greengrin: CLICK!!!

btw. ^_^
Pong 2
Copter 0-7

#18 Bob Vila

Bob Vila

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 768 posts
  • Gender:Male
  • Location:USA

  • Calculators:
    FX 1.0+ : CFX-9850 GB Plus : TI-81

Posted 04 January 2005 - 03:27 AM

is that the <{GNULINUX}> source?

#19 Mohamed

Mohamed

    UCF Police

  • [Legends]
  • PipPipPipPipPipPipPip
  • 519 posts
  • Gender:Male
  • Location:Egypt, Cairo

  • Calculators:
    AFX 2.0, PV-S660, fx-570MS

Posted 04 January 2005 - 07:04 AM

WOW! How did you keep it secret?
Anyway, a very excellent and successful idea, will make programming and sharing games a lot better, not to mention that gives another use for the AFX since I don't use after finishing college. :D

#20 CrimsonCasio

CrimsonCasio

    UCF Ambassador

  • [Legends]
  • PipPipPipPipPipPipPipPipPipPip
  • 3579 posts
  • Gender:Male
  • Location:USA
  • Interests:Claculators, Stephen King, Video Games, Calculators, Programming, Calculators, Reading, Calculators... hmm, what else... Ah! Calculators!

  • Calculators:
    Algebra FX2.0, CFX 9850Ga+, Classpad 300

Posted 04 January 2005 - 08:29 AM

lol, honestly i dont know, seeing as how i had a link to the EPS site in my sig the entire time :D

anyway, ive just uploaded the beta for my newest game, i finished the engine compleatly but there are only two levels right now (feel free to add some ;) ). if you notice any bugs let me know :)

controls:
<span class=Shift' />: rotate paddle
<span class=CTRL' />: speed up paddle
[dir keys]: move

object: get the ball in the goal... sounds simple doesnt it? :crimson:
(remember that you can move away from the bottem of the screen)

link: http://dysfunction.e.../afx/BOUNCE.zip


EDIT:
btw, can one of our french speaking members post this on graph100.com and the FCC? also mabey the same for the DCF?


#21 huhn_m

huhn_m

    Casio Maniac

  • [Legends]
  • PipPipPipPipPipPipPipPip
  • 1957 posts
  • Gender:Male
  • Location:Germany / Dresden
  • Interests:Assembler(!!!)
    Computers and Programming
    Operating Systems
    Programmable Calculators
    Maths and everything arround it

  • Calculators:
    FX-82SX / AFX 2.0+ (ROM 1.03) / FX 1.0+ (ROM 1.03)

Posted 04 January 2005 - 10:44 AM

notice


:plol: :plol: :greengrin:

#22 4nic8

4nic8

    Casio Freak

  • Members
  • PipPipPipPip
  • 182 posts
  • Location:Warsaw, Poland

  • Calculators:
    Casio AFX 2.0 ROM 1.01, TI-89 (ASM 2.08 HW 2.00)

Posted 04 January 2005 - 11:08 AM

@Bob Vila: As long as AFX has operating system which is in 100% compatible with MS-DOS all C/ASM stuff won't have <{GNULINUX}> source :mellow:

#23 CrimsonCasio

CrimsonCasio

    UCF Ambassador

  • [Legends]
  • PipPipPipPipPipPipPipPipPipPip
  • 3579 posts
  • Gender:Male
  • Location:USA
  • Interests:Claculators, Stephen King, Video Games, Calculators, Programming, Calculators, Reading, Calculators... hmm, what else... Ah! Calculators!

  • Calculators:
    Algebra FX2.0, CFX 9850Ga+, Classpad 300

Posted 04 January 2005 - 11:34 AM

*grumble* ok, ok, we have established that my spelling is more than most third world countries... zip it and play the game ;)

#24 huhn_m

huhn_m

    Casio Maniac

  • [Legends]
  • PipPipPipPipPipPipPipPip
  • 1957 posts
  • Gender:Male
  • Location:Germany / Dresden
  • Interests:Assembler(!!!)
    Computers and Programming
    Operating Systems
    Programmable Calculators
    Maths and everything arround it

  • Calculators:
    FX-82SX / AFX 2.0+ (ROM 1.03) / FX 1.0+ (ROM 1.03)

Posted 04 January 2005 - 11:56 AM

it will never have ... :) my OS will never, ever by <{GNULINUX}> compatible due to the simple fact that the calc lacks ram & disc space :)

#25 Marco

Marco

    Casio Freak

  • Members
  • PipPipPipPip
  • 185 posts
  • Location:Dresden, Germany

  • Calculators:
    Casio CFX 9850G (broken),
    Casio CFX 9850GB,
    Casio Algebra FX 2.0 Plus

Posted 04 January 2005 - 12:47 PM

You really did a great job Crimson and all of the MLC staff :) :) :)

I think this will become VERY popular amongst basic coders, cause it also provides on calc programmability, but thereby eliminates all constrains the built in basic has (it's faster, you have string support, greyscales, built-in subroutines, your own data management, ..., and much more things you can do with).

It's really great :greengrin:
I regret that my basic years are over :cry: (though MLC is lots harder than Casio Basic, I think not all basic coders will use it)

btw, can one of our french speaking members post this on graph100.com and the FCC? also mabey the same for the DCF

I'm no french speaking member, but I'll post it in the DCF nevertheless ;)

Btw some questions:

1. Does MLC have timing functions, too? (else MLC programs probably will run on Casio / TI at different speeds, the same for different interpreter versions)

2. MLC progs are stored in basic files; can you also split them into more than one? (I know this by own expoerience: making big basic files with the calc's program editor sucks a lot. So I splitted my basic programs into subfiles (my record was about 40 for my biggest basic program) and packed them all into one after development).

Or could you also make a new program editor with better features? Maybe an MLC IDE :rolleyes:

#26 4nic8

4nic8

    Casio Freak

  • Members
  • PipPipPipPip
  • 182 posts
  • Location:Warsaw, Poland

  • Calculators:
    Casio AFX 2.0 ROM 1.01, TI-89 (ASM 2.08 HW 2.00)

Posted 04 January 2005 - 02:31 PM

1. Does MLC have timing functions, too? (else MLC programs probably will run on Casio / TI at different speeds, the same for different interpreter versions)

The speed is similar, but we will probably have to synchronize it in 100% ;). But now MLC games works fine on AFX and TI 86

2. MLC progs are stored in basic files; can you also split them into more than one?

I don't like to have a few BASIC files for one game it can only make mess, so I'm not going to add option to link a few MLC files together.
BTW. You can use Search tool in the editor and find a function which you want to edit - it's not a problem ;)

#27 4nic8

4nic8

    Casio Freak

  • Members
  • PipPipPipPip
  • 182 posts
  • Location:Warsaw, Poland

  • Calculators:
    Casio AFX 2.0 ROM 1.01, TI-89 (ASM 2.08 HW 2.00)

Posted 04 January 2005 - 02:41 PM

:!: MLC (good) news: :!:

1) Al (the guy who is preparing documentation for HP-GCC C compiler for HP) will probably port my C code of MLCafx to HP. :rockband:
I guess I'll have to add more comments then;)

2) Burnt (the guy who made MLC for TI86) is porting his z80 code to TI-83(+). It's almost finished. MLC for TI-83(+) needs only a shell to choose a MLC file. :rolleyes: :)

#28 Deimos

Deimos

    Casio Freak

  • Members
  • PipPipPipPip
  • 107 posts
  • Location:Poland
  • Interests:3d modelling, paper models, BASIC programming-AFX (just beginning)

  • Calculators:
    AFX 2.0+

Posted 04 January 2005 - 02:57 PM

(though MLC is lots harder than Casio Basic, I think not all basic coders will use it)


It's not true, i'd even say it's much easier than basic. I had no problems adapting to MLC (see lander and pong2 ;) ) after a long use of basic. Not to say that syntax was changing and developing as i was learning. And considering all the advantages of MLC, it's no big deal to spend some time getting used to it.

LONG LIVE MLC! ;)



#29 Mohamed

Mohamed

    UCF Police

  • [Legends]
  • PipPipPipPipPipPipPip
  • 519 posts
  • Gender:Male
  • Location:Egypt, Cairo

  • Calculators:
    AFX 2.0, PV-S660, fx-570MS

Posted 04 January 2005 - 06:00 PM

I had a few problems, but the major one is:
After playing a while, when I tried GComm and another competition game I found the text corrupt and strange looking.
Then I realized that the game & GComm both use the Font.rfi, so I re-installed the font and it worked.

Does this have to do anything with memzones or shared memory?

#30 4nic8

4nic8

    Casio Freak

  • Members
  • PipPipPipPip
  • 182 posts
  • Location:Warsaw, Poland

  • Calculators:
    Casio AFX 2.0 ROM 1.01, TI-89 (ASM 2.08 HW 2.00)

Posted 04 January 2005 - 06:51 PM

I used create_mem_zone to create/delete/resize files only in the sector 1 (basic programs) and change_password to change a password of mlc saves files. :unsure:

So it shouldn't cause any change in other sectors etc. but do tell if something will be wrong once more :huh:

#31 Bob Vila

Bob Vila

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 768 posts
  • Gender:Male
  • Location:USA

  • Calculators:
    FX 1.0+ : CFX-9850 GB Plus : TI-81

Posted 04 January 2005 - 06:55 PM

@Bob Vila: As long as AFX has operating system which is in 100% compatible with MS-DOS all C/ASM stuff won't have <{GNULINUX}> source  :mellow:

<{POST_SNAPBACK}>

oh, i didnt realize that this was the program to go on the calc, not the program that runs the programs on the PC ;) maybe i should read more closly next time

#32 Deimos

Deimos

    Casio Freak

  • Members
  • PipPipPipPip
  • 107 posts
  • Location:Poland
  • Interests:3d modelling, paper models, BASIC programming-AFX (just beginning)

  • Calculators:
    AFX 2.0+

Posted 04 January 2005 - 08:44 PM

@Mohamed - i've been playing with various versions of MLC for some time now, and nothing was ever wrong with Gcomm.

#33 CrimsonCasio

CrimsonCasio

    UCF Ambassador

  • [Legends]
  • PipPipPipPipPipPipPipPipPipPip
  • 3579 posts
  • Gender:Male
  • Location:USA
  • Interests:Claculators, Stephen King, Video Games, Calculators, Programming, Calculators, Reading, Calculators... hmm, what else... Ah! Calculators!

  • Calculators:
    Algebra FX2.0, CFX 9850Ga+, Classpad 300

Posted 04 January 2005 - 09:49 PM

You really did a great job Crimson and all of the MLC staff :)  :)  :)

I think this will become VERY popular amongst basic coders, cause it also provides on calc programmability, but thereby eliminates all constrains the built in basic has (it's faster, you have string support, greyscales, built-in subroutines, your own data management, ..., and much more things you can do with).

It's really great  :greengrin:
I regret that my basic years are over :cry: (though MLC is lots harder than Casio Basic, I think not all basic coders will use it)
I'm no french speaking member, but I'll post it in the DCF nevertheless ;)

Btw some questions:

1. Does MLC have timing functions, too? (else MLC programs probably will run on Casio / TI at different speeds, the same for different interpreter versions)

2. MLC progs are stored in basic files; can you also split them into more than one? (I know this by own expoerience: making big basic files with the calc's program editor sucks a lot. So I splitted my basic programs into subfiles (my record was about 40 for my biggest basic program) and packed them all into one after development).

Or could you also make a new program editor with better features? Maybe an MLC IDE  :rolleyes:

<{POST_SNAPBACK}>


first, i cant take real credit, ive been asking someone to do something like this for years, but its nic's project, if he weren't here there would be no MLC... so thank him ;)

2) i actually want this... we'll sort it out later ;)

as for an editor, huhn will be making that as a part of <{GNULINUX}>, so you'll be able to use <{GNULINUX}> as an editor for MLC if you should want to. :)

#34 2072

2072

    Casio over god

  • Admin
  • PipPipPipPipPipPipPipPip
  • 1564 posts
  • Gender:Male
  • Location:Somewherebourg
  • Interests:Alternative states of consciousness, programming, making things work the best they possibly can.

  • Calculators:
    AFX2 ROM 1.02, CFX-9940GT+, FX-180P-Plus

Posted 05 January 2005 - 12:15 AM

This is a great project, for CVS etc... you should open a sourceforge account.

I can't wait to see MLC and all the programs that already exists in the File Sharing :rolleyes:

FONT.RFI problem Mohamed encountered could happen if MLC (or another program) writes outside a memzone damaging the font.rfi one... (I've noticed similar problems after running some of the competition programs)

@4nic8: Do you always use the function write_mem_zone() to write in your memzones?

#35 4nic8

4nic8

    Casio Freak

  • Members
  • PipPipPipPip
  • 182 posts
  • Location:Warsaw, Poland

  • Calculators:
    Casio AFX 2.0 ROM 1.01, TI-89 (ASM 2.08 HW 2.00)

Posted 05 January 2005 - 12:29 AM

I didn't use write_mem_zone, I made some kind of a useful trick and made a few pointer which directly read from a BASIC files and write in a few cases (during tokenizing to a BASIC file and during adding "ERR:" tag in the MLC code) but it seems to work fine ;). I'll check it once more to be sure but we hadn't any problems with it so far.
create_mem_zone(1,TEMP_FILE,fp_c.b_size,CREATE_ZONE);
if (search_mem_zone(1,TEMP_FILE,&fp_t)==-1) error_msg("Out of RAM memory","",0);   	 
/* pointer to the tokenized code */
code = (unsigned char far *) MK_FP(fp_t.b_segment,fp_t.b_offset+21);
    
code_size=(uint)fp_c.b_size;
search_mem_zone(1,name,&fp_c);
/* pointer to the source code */
source = (unsigned char far *) MK_FP(fp_c.b_segment,fp_c.b_offset+21);

if (search_mem_zone(1,sv_name,&fp_sv)==-1) error_msg("Out of RAM memory","",0);  
change_password(&fp_sv,"mlcsave");
/* pointer to the save file code */
mlc_save = (unsigned char far *) MK_FP(fp_sv.b_segment,fp_sv.b_offset+21);


#36 2072

2072

    Casio over god

  • Admin
  • PipPipPipPipPipPipPipPip
  • 1564 posts
  • Gender:Male
  • Location:Somewherebourg
  • Interests:Alternative states of consciousness, programming, making things work the best they possibly can.

  • Calculators:
    AFX2 ROM 1.02, CFX-9940GT+, FX-180P-Plus

Posted 05 January 2005 - 01:06 AM

fp_t.b_offset+21

you shouldn't do that, you should use fp_t.b_inner_offset which point at the first real byte of the content because if ever you decide to use a different zone type your prog will have troubles.

Then each time you write to a zone using a far pointer you should check if you are not writting outside it.

VERY IMPORTANT: Remember that each time you create a new zone YOU MUST re-search ALL the memzones you are using that are located after the one you created because the memory have changed...

Note that Memzone lib 2.0 is almost ready (I just have to create and run tests :( -boring- ). It changes completely the way we handle memzones: you handle them as files using functions like mopen, mwrites, mseek etc... and if you write after the end of a memzone, it behaves like a normal filesystem and will increase the size of the zone :)

#37 4nic8

4nic8

    Casio Freak

  • Members
  • PipPipPipPip
  • 182 posts
  • Location:Warsaw, Poland

  • Calculators:
    Casio AFX 2.0 ROM 1.01, TI-89 (ASM 2.08 HW 2.00)

Posted 05 January 2005 - 01:14 AM

VERY IMPORTANT: Remember that each time you create a new zone YOU MUST re-search ALL the memzones that are after the one you created because the memory have changed...

I was very careful with it ^_^

btw. I'll check and change a few things to be in 1000% sure that everything is fine and I'll release MLCafx version 1.01 B)

#38 Roeoender

Roeoender

    UCF ASM/C Programming Only Winner

  • [Legends]
  • PipPipPipPip
  • 273 posts
  • Gender:Male
  • Location:Gdynia, Poland
  • Interests:Technical University student (informatics)
    Interests:
    Sport climbing
    Orieenting (100km walk in 23h31min)
    C/Asm on calculators

    Dislike cars

  • Calculators:
    CASIO AFX 2.0 ROM 1.01, 10 countable fingers

Posted 07 January 2005 - 02:08 PM

Before I forget:
It should be easy to create a compiler (or rather translator) that would work on PC and generate C source code from MLC program. This way program could run even faster after compiling.

IMHO running speed shouldn't be adjusted to the slowest calcs, Maybe add an instruction that would turn on/off timing compatibility.

Well designing a new language requires lots of thinking not programming ;)
Roeoender.

#39 Orwell

Orwell

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 777 posts
  • Gender:Male
  • Location:Paris - France

  • Calculators:
    Casio AFX 1.02 / Casio ClassPad 300

Posted 07 January 2005 - 03:25 PM

It seems like there are a few problems with contrast on the different roms (e.g. 1.05)... 4nic8 you should maybe add a "contrast control" in your shell, so anyone could adjust it to the best value for him :)

#40 AlephMobius

AlephMobius

    Casio Freak

  • Members
  • PipPipPipPip
  • 189 posts

  • Calculators:
    AFX 2.0+, TI-89, EL-9300C

Posted 07 January 2005 - 03:27 PM

I am only one voice but I have to disagree with Roeoender. I think the whole point of the project should be that the same game runs on many calculator models almost exactly the same. I think there may be a place for a language that replaces BASIC as this one does but only works on the AFX series. It could use the advantages the AFX has over some other calculators. However, IMHO introducing any options that allow an MLC game to run on one calculator but not as well on another is a huge mistake. Wouldn't this be the opposite of what y'all are trying to accomplish?




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users