Jake In The Caves - Illegal Function Call in 4640

Страница 1/3
| 2 | 3

By Hit-Biter

Master (163)

Аватар пользователя 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

By gdx

Enlighted (5833)

Аватар пользователя 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.

By Manuel

Ascended (19058)

Аватар пользователя 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.

By ro

Scribe (4817)

Аватар пользователя 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?

By Hit-Biter

Master (163)

Аватар пользователя 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.

By Hit-Biter

Master (163)

Аватар пользователя 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 ?

By gdx

Enlighted (5833)

Аватар пользователя gdx

15-09-2022, 10:05

Yes, just after the error occurs.

By Hydragon

Paladin (747)

Аватар пользователя 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

By Hit-Biter

Master (163)

Аватар пользователя Hit-Biter

15-09-2022, 14:46

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

By ToriHino

Paladin (806)

Аватар пользователя 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.

By Hit-Biter

Master (163)

Аватар пользователя 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'

Страница 1/3
| 2 | 3