Jake In The Caves - Illegal Function Call in 4640

Página 1/3
| 2 | 3

Por Hit-Biter

Master (166)

Imagen del Hit-Biter

15-09-2022, 01:19

OK Guys, looking for a little advice on tracing this Error ! The line in question is :-

4640 POKE I,VAL("&H"+A$)

So my understanding is that POKE is writing data to a specific memory address. I don't fully understand memory addresses,bus addresses, stacks, registers etc so errr yea but I'm currently assuming its got something to do with the all those DATA statements. However a little help in narrowing the search would be appreciated as I've little experience in tracing issues with a command of this type. Syntax is easy, others not so much but i can follow the program structure in some cases but this command is foreign to me :/

The program listing can be found in Nr 13 MSX Computer Magazine Page 57.

https://www.msxcomputermagazine.nl/archief/mcm-13/

Dank u well

Paul

Login sesión o register para postear comentarios

Por gdx

Enlighted (6219)

Imagen del gdx

15-09-2022, 02:28

Illegal function call occurs when the parameter after the comma is incorrect. A$ has probably taken a bad value. What is A$ worth when the error occurs? It should be a string of one or two characters corresponding to a hexadecimal value between 0 and FF.

Por Manuel

Ascended (19469)

Imagen del Manuel

15-09-2022, 07:38

This part of the program is poking bytes into memory, probably a machine code program. You made a mistake in the data lines. You can use the ICP program to check whether the typed in lines are correct... That's the best way.

Por ro

Scribe (4964)

Imagen del ro

15-09-2022, 08:25

aaaaaah, the old Jake In The Caves. I used too like this one very much. Wasn't it Stefan van der Loef who wrote that?

Por Hit-Biter

Master (166)

Imagen del Hit-Biter

15-09-2022, 09:38

Thanks guys, I suspected it was a DATA issue. Manuel or someone can you eleborate on the ICP Program ? I assume its some sort of checksum program as i see the checksum values on the side of the listing.

Por Hit-Biter

Master (166)

Imagen del Hit-Biter

15-09-2022, 09:51

gdx wrote:

Illegal function call occurs when the parameter after the comma is incorrect. A$ has probably taken a bad value. What is A$ worth when the error occurs? It should be a string of one or two characters corresponding to a hexadecimal value between 0 and FF.

How do i check the value of A$ ? PRINT A$ after the program crashes ?

Por gdx

Enlighted (6219)

Imagen del gdx

15-09-2022, 10:05

Yes, just after the error occurs.

Por Hydragon

Paladin (751)

Imagen del Hydragon

15-09-2022, 13:02

Hit-Biter wrote:

Thanks guys, I suspected it was a DATA issue. Manuel or someone can you eleborate on the ICP Program ? I assume its some sort of checksum program as i see the checksum values on the side of the listing.

That ICP program:
"Invoer Controle Programma 4" can be found on page 8 Wink

Por Hit-Biter

Master (166)

Imagen del Hit-Biter

15-09-2022, 14:46

Guys ! Is this program compatible with MSX 1 or is it only MSX 2 ?

Por ToriHino

Paladin (858)

Imagen del ToriHino

15-09-2022, 15:39

Hit-Biter wrote:

Guys ! Is this program compatible with MSX 1 or is it only MSX 2 ?

When you click on the link in MCM to run it, you can see that it starts from an MSX 1.

Por Hit-Biter

Master (166)

Imagen del Hit-Biter

15-09-2022, 15:48

Ahhh sorry for the presumably dumb question. I just get an error in dutch mentioning 'MSX 2 disk'

Página 1/3
| 2 | 3