Jake In The Caves - Illegal Function Call in 4640

Page 3/3
1 | 2 |

By Manuel

Ascended (19053)

Manuel's picture

29-09-2022, 13:27

You advance automatically once you picked up all chicks and picked up the minimum number required. Iirc this number is in the level data. I think more for each level.

The part you talk about at the end of your post is probably implemented in the machine code.

By Hit-Biter

Master (163)

Hit-Biter's picture

29-09-2022, 16:41

Ahh Tanhk You. I'm going to have to learn Machine Code then as there is much that I still do not know :S

By Briqunullus

Hero (584)

Briqunullus's picture

29-09-2022, 17:05

Hi Paul, please learn to walk before you try running. Machine Code is awesome, but I suggest you try to understand the hardware a bit more first. This game is a good starting point as it uses SCREEN 1. In this screen mode, you can define a custom character set, and that's what the game does. Maybe you can experiment a bit with that.

Go to SCREEN 1 and use WIDTH 32. Type the FOR NEXT loop you see on the picture and press enter. Now you can VPOKE characters and colors. Give it a try and see what happens.

VPOKE between address 256 and 2047 to modify characters
VPOKE between address 8196 and 8255 to modify colors (8 at a time)

Technically the start addresses are 0 and 8192, but I skipped the first 32 characters of the character set, because you can only print them indirectly. And you don't need them for this experiment.

By thegeps

Paragon (1122)

thegeps's picture

30-09-2022, 01:41

I haven't seen the listing, but collision and checks between characters and/or sprites can be done by comparing ASC values and coordinates.
You can retrieve the sprite position over the nametable with a simple math formula.
The nametable is the map of the screen where characters are. It starts from vram address 6144 and is 768 bytes long (32 chars x 24 rows=768)
The formula for the memory location overlapped by a sprite is:
6144+int(x/8)+int(y/8)*32
Checking this location with vpeek you will.able to know if a sprite is over a pickable object. And adding 32 to the result you can check a row under the sprite (so you know if you are walking on a wall or if it is a gole to fall in)

By Hit-Biter

Master (163)

Hit-Biter's picture

12-10-2022, 23:38

OK GUYS. Ive been away from the MSX for a bit but on returning to the caves im still stuck on level 1. I seem to get an infinite number of chicks to rescue ! Ive managed 80 chicks before giving up. The odd thing is ive run check sum and checked the values on all lines and the program should be perfect. Sigh. Can someone explain to me how the program is controlling how the character advances to the next level. Thanks.

By Manuel

Ascended (19053)

Manuel's picture

13-10-2022, 07:52

You did clear all chicks from the screen? See e.g.https://youtu.be/E8LQUfOh9IU

By Hit-Biter

Master (163)

Hit-Biter's picture

13-10-2022, 21:39

Ahhh i did not understand ! I will try to clear all the chicks on the screen to see if it allows me to progress. Thanks Manuel. If this works I think my bug-fixing is done and i just need to translate the Nederlands to Engels. Tot zeins.

By Manuel

Ascended (19053)

Manuel's picture

14-10-2022, 07:55

I tried to explain this 2 times before. Now I wonder how I could have explained better...

By Hit-Biter

Master (163)

Hit-Biter's picture

16-10-2022, 02:05

LOL Maybe i'm just dense Big smile For me your English is good but back to front in some cases. For instance you wrote -

You advance automatically once you picked up all chicks and picked up the minimum number required. Iirc this number is in the level data. I think more for each level.

This is factually correct but its better written as -

Once you have picked up the minimum number of chicks for that level and then, having cleared whatever chicks remain, you then advance automatically to the next level. You will only advance once there are no chicks remaining to be rescued on screen so you will have to be fast before more are dropped !

The first sentence is enough but the second sentence is there to emphasis the point and to get the need to clear the screen before progress can be made across to your British neighbor ! Big smile

However I can barely string two words of Dutch together so you have done very well in comparison to me. I think there's a little lost in translation between the differences in how we think.

Ive tested the game and can in fact advance once ive cleared the screen successfully. I was looking for a bug where there was none !

Thanks Manuel.

Page 3/3
1 | 2 |