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

Página 3/26
1 | 2 | | 4 | 5 | 6 | 7 | 8

Por ericb59

Paragon (1102)

imagem de ericb59

19-02-2019, 08:37

@anata : Did I miss to include a file in the example folder ?
Which sample code are you talking about ?

In Fusion-c/examples/ there is SUPERGIR.SC8
You must copy/paste it in the Working Folder/DSK/
if you want the program load it.

.SC8 are image file.
This type of image can be done by converting JPG/PNG file with a Image tool converter.
I'm using the online Jannone tool, available here : http://msx.jannone.org/conv/

Por ducasp

Paladin (680)

imagem de ducasp

19-02-2019, 11:09

I couldn't use Getche() or getche.... (quick manual says getch () , msx_fusion.h specifies Getche, using both won't compile, first case ( Getche() ) will return the following compile warning:

?ASlink-Warning-Undefined Global '_Getche' referenced by module....

And, likewise, using getche():

?ASlink-Warning-Undefined Global '_getche' referenced by module....

Plus some additional warnings about implicit declaration...

Code won't work and will crash upon calling it.

By the way, any examples creating your interrupt hook?

Could not get it working following the example in __interrupt.h

Por Francisco Gálvez

Resident (36)

imagem de Francisco Gálvez

19-02-2019, 18:27

Thanks a lot. I was sad... nobody answered Tongue .
I'm confused about why not to do a circle function for MSX1 but It's your work and is an awesome work, I swear.
I'll try the solution that you propose. Thanks again.

Por ericb59

Paragon (1102)

imagem de ericb59

19-02-2019, 19:24

@ducasp : You are right, Getche was not correctly included in the library

Please download this new file (fusion.lib) : https://drive.google.com/open?id=1m4Qb_6R9OZfM1eZmSwCcByw62w...
and copy it in Working Folder/fusion-c/lib/
(replace the original one)

Getche must now works.

I will publish an updated version of the library in while, with some debugs and new functions.

Por ToriHino

Paladin (857)

imagem de ToriHino

19-02-2019, 19:45

ducasp wrote:

By the way, any examples creating your interrupt hook?

Could not get it working following the example in __interrupt.h

It looks like the implementation of install_isr and uninstall isr is missing. For me i now use something like this:

install_isr(void(*isr)void))
{
  unsinged int address = (unsigned int)handler;
  byte* mem = (byte *)0x38;

  mem[0] = 0xC3; //JP
  mem[1] = (byte)(address & 0x00ff);
  mem[2] = (byte)((address & 0xff00) >> 8);
}

But that is taking over the complete interrupt handler on adress 0x38 (and i left out here saving the original handler).
Another way is to just hook into 0xFD9A (KEYI) or 0xFD9F (TIMI), for example by using this wrapper library from Emily82.

Por hit9918

Prophet (2932)

imagem de hit9918

19-02-2019, 22:20

this needs disabled interrupts or will make the random crashes

Por ericb59

Paragon (1102)

imagem de ericb59

20-02-2019, 06:46

There is no interupt functions actually implemented in Fusion-c.
"__interrupt.h" is a first attempt, but is not documented.

I'm really not a specialist, if someone would like help me and the community by adding ISR to FUSION-C with (documentation) It would be really great.

Someone ?

Por ToriHino

Paladin (857)

imagem de ToriHino

20-02-2019, 19:41

I'll see what i can do with the current ISR implementation i use in the RoboSOP player and separate it into a more generic usable implementation.

Por ericb59

Paragon (1102)

imagem de ericb59

20-02-2019, 20:26

ToriHino wrote:

I'll see what i can do with the current ISR implementation i use in the RoboSOP player and separate it into a more generic usable implementation.

it sounds nice Shocked!

Por ducasp

Paladin (680)

imagem de ducasp

22-02-2019, 14:44

CharToUpper and CharToLower are not declared in msx_fusion.h, they are declared as StrToUpper and StrToLower... Fixing the header file code compiles and links fine.

Página 3/26
1 | 2 | | 4 | 5 | 6 | 7 | 8