* WalrusIRC

You need to have 5 posts and not be part of restricted usergroups in order to use the WalrusIRC embedded shoutbox. However, you can also access our IRC channel called #CodeWalrus via EFnet.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Lephe

Pages: [1]
I would like to answer DJ Omnimaga's remarks about enhancing BASIC programming using add-in applications. The Casio BASIC interpreter is already very slow on fx-9860G and the lack of some elementary functions such as "clear line" does not help. We even imagined that Casio could have willingly slowed it down; on fx-9860G we can't be really sure because older SH3 processors are not that fast and usually downclocked, but when it comes to more recent models such as fx-CP400, it is just unbelievable that a calculator than can handle a large screen's rotation in real time can fail to smoothly run a pong.

That was just to suggest how much we battle against this interpreter instead of using it. Our rule of thumb to estimate whether a drawing method will be fast is "the less parsing, the faster". The best method we currently have to draw sprites is to render a parametric graph whose functions are list-subscripts and take advantage of the rendered lines to display what we want. This is not convenient in any way, and there is no obvious method for optimally converting images into lists of points for this method.

I had known for some time that an Asm() command existed, but I was not sure that it actually allowed you to execute native code. Is it the case?

As for "parser hooks", I'd be glad to know how you do this, because we have virtually no power on the behavior of the Casio BASIC interpreter. The only real project about enhancing BASIC applications, which was called "PRGM2", was some kind of weird hack in the form of an add-in, that would set up a timer to run every 10 milliseconds or so, launch the original parser via the PRGM application using a syscall, and wait for the BASIC program to load a function number into variable F. The timer would regularly check this variable, and execute a predefined function if it was non-null. Which means that PRMG2 programs looked a bit like:

Code: [Select]
'PRGM2              # Indicate this is a PRGM2 program in a comment

64->X               # X center of circle
32->Y               # Y center of circle
16->R               # Radius
5->F                # Function 5: draw filled circle (for instance)
While F:WhileEnd    # Wait for PRGM2 to catch and execute request

Which is very hard to maintain. The greatest problem in this question of enhancing BASIC is that whatever we do, it requires add-in support and not everyone has a calculator that can execute add-ins. In fact, the most common model can't. But then if you have add-in support, you'd better write an add-in yourself. It would be faster and it could be shaped precisely the way you want using appropriate data structures, functions, dual-buffering, and more.

I think this pretty sums up the situation. It's true though, that C programmers statistically don't come back to BASIC after they managed to write a proper add-in, so only very few people are interested in BASIC enhancement using add-ins.

Music Showcase & Production with other softwares / Lephe's tracks
« on: March 31, 2017, 03:31:31 pm »
Hi there! :)

I'm truly no expert at composing music but I wanted to give it a try, and I came up with a 1:30-song that sounds pretty good to me. I'm looking for some feedback about it, so I uploaded the file.

I composed it with LMMS's nice Triple Oscillators and exported it directly to OGG. Incidentally, it's called "Restless Battle".

Thanks to those who'll take some time to listen to it! :)

Other / Re: New member introductions: Say hello here!
« on: March 18, 2017, 08:29:24 pm »
Thanks for this! I read the whole post and I pretty much realize how hard it can be when communities like this are passed on to new maintainers. As for what CodeWalrus stands for, I would think that being transparent is a good habit. Maybe we actually need to be clearer about what happens on Planète Casio sometimes. :P

Other / Re: New member introductions: Say hello here!
« on: March 18, 2017, 08:01:59 pm »
Well, I would have liked to show up and say "nope, I'm actually Dark Storm", but you guessed correctly DJ Omnimaga - the principle of least surprise, I guess. I'll make sure to tell you if I ever manage to write a decent piece of music (which I doubt, but who knows, I'd even say I'm on something good right now).

So it was you mazhat who sent all those folks to my house? Well, thanks a lot. I'm still stuck with them and I'm not sure they'll let go of me before a few more hours. Especially the Canadians, they obstinately refuse to leave unless I give up on this mission. They seem pretty influential around here :P

I really don't know much about communities that originated in other countries than France. Could you explain a bit what you mean, DJ Omnimaga? I would really like to know what happened.

Other / Re: New member introductions: Say hello here!
« on: March 18, 2017, 02:37:53 pm »
Hello CodeWalrus!

A Planète Casio fellow suggested me that there were some projects worth of interest around here, and that I may do my bit towards this activity. I was naively expecting a somehow small forum since it's about 3 years old, but the place is actually more lively than Planète Casio itself. Well done!

So here I go. I've been programming fx-9860G models for quite a few years now (maybe 4 or 5), and I trust I've mainly been sticking to this platform because of its lower screen resolution (so that a dev' like me could draw at least recognizable... things), power (optimizing programs is rather fun after all), and because it's really easy to customize. I've been getting interested in lower-level development recently, which means I've started writing interrupt handlers, disassembling some syscalls and bypassing the system to execute drivers the way I want. This led to a project called « gint » (which is pronounced 'guin', and trust me, not a single Planète Casio member pronounces it the right way), which is a library that extends add-in development on fx-9860G. I have been mostly programming in C during all this period and I'm getting quite experienced when it comes to this language (I've been using it for something like 8 years).

On the non-calculator side, it mainly goes about listening to epic music (trying to compose a bit), writing some short fantastic stories, and getting interested in all the computer science theory, from data structures and the theory of languages to operating system development.

Oh, and I almost forgot to mention that I'm from the Planète Casio staff and that I'm infiltrating your community to carry out an industrial espionage mission. :P

Thanks for reading this, and while I'm at it, how come the footer still shows 2014-2016?

Pages: [1]

You can also use the following HTML or bulletin board code to share it on your page or forum signature!

Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games