MSX FUSION-C, Talking about bugs, errors, mistakes

Page 16/18
9 | 10 | 11 | 12 | 13 | 14 | 15 | | 17 | 18

By ToriHino

Champion (493)

ToriHino's picture

18-03-2020, 12:26

ericb59 wrote:

Did you notice benefits in in executable perfomances or in executable file size ?

Not directly, executable is about the same size, i did no specific performance measurements.

For me the biggest benefit is the feature:
Intermingling of declarations and statements (ISO C99)
But this was already introduced in release 3.8.0

By ducasp

Champion (273)

ducasp's picture

20-03-2020, 14:20

ericb59 wrote:

Did you notice benefits in in executable perfomances or in executable file size ?

To be really honest to you, I've never thought on this. In general, my code fits well within the size constraints for DOS applications (in fact, far from reaching it) so never worried about file size. In regards to performance, did not find any discernible difference to my eyes/general feeling.

By fregarni

Supporter (16)

fregarni's picture

23-03-2020, 13:04

Hello,

SDCC 3.6 as you recommended.

By Bengalack

Expert (118)

Bengalack's picture

06-04-2020, 13:21

I use fusion-c 1.2 (and SDCC 4.0 atm). Does GetKeyMatrix really work?

char GetKeyMatrix(char line)

This code

    printf("%u \r\n", GetKeyMatrix( 0 ) );
    printf("%u \r\n", GetKeyMatrix( 1 ) );
    printf("%u \r\n", GetKeyMatrix( 2 ) );
    printf("%u \r\n", GetKeyMatrix( 3 ) );
    printf("%u \r\n", GetKeyMatrix( 4 ) );
    printf("%u \r\n", GetKeyMatrix( 5 ) );
    printf("%u \r\n", GetKeyMatrix( 6 ) );
    printf("%u \r\n", GetKeyMatrix( 7 ) );
    printf("%u \r\n", GetKeyMatrix( 8 ) );
    printf("%u \r\n", GetKeyMatrix( 9 ) );
    printf("%u \r\n", GetKeyMatrix( 10 ) );

gives me this (with no keys pressed).

64
65
66
67
68
69
70
71
72
73
74

I just wanted to check for the status, and somehow stray away from the built-in keypress-pause and stuff that is happening behind the scenes when pressing a key. But the above values does not help me

By ericb59

Paladin (942)

ericb59's picture

06-04-2020, 13:37

Hi Bengalack,
it must work well.

Anyway, in version 1.3 I've replaced this ASM function by something more simple.

add this to your program, you must have a better result I think.

#define GetKeyMatrix( data ) (*(char *)((0xFBE5+ data)))

- Change the name of the function into something else to avoid conflits with previous function.
- Use it in the same way as the original GetKeyMatrix function

By Bengalack

Expert (118)

Bengalack's picture

06-04-2020, 14:35

Thanks for the quick reply - this new define works nicely. Thumbs up Smile

Currently developing on openmsx/Philips_NMS_8255, and the previous version seems to have some serious issues Smile

By ducasp

Champion (273)

ducasp's picture

06-04-2020, 14:38

Bengalack wrote:

Thanks for the quick reply - this new define works nicely. Thumbs up Smile

Currently developing on openmsx/Philips_NMS_8255, and the previous version seems to have some serious issues Smile

It doesn't work on BlueMSX as well, did not bother checking on my SM-X... Using the system variable directly is much faster and work wonders, so Eric's suggestion / implementation for Fusion C 1.3 is really sweet. Wink

By ericb59

Paladin (942)

ericb59's picture

06-04-2020, 16:47

Ok good Big smile

I think I will publish Fusion-C 1.3 before the end of the week.
There are many improvements in v1.3...
Before that, to overcome the confinement we endure, I launched myself a little challenge yesterday.
Here in video.
https://www.youtube.com/watch?v=WlOnX2uqRxE&t=32s

By ToriHino

Champion (493)

ToriHino's picture

06-04-2020, 17:34

Even within half an hour Cool

By ericb59

Paladin (942)

ericb59's picture

06-04-2020, 19:10

the video is accelerated.
I did it in 45 minutes.

Page 16/18
9 | 10 | 11 | 12 | 13 | 14 | 15 | | 17 | 18