Data register and pointers - where are they?

Tell us whatever CreatiVision-related story you want!
Post Reply
kevgal
Posts: 71
Joined: Mon Aug 04, 2014 9:19 pm

Data register and pointers - where are they?

Post by kevgal » Sat Jul 22, 2023 1:46 pm

The data register and pointers are meant to be at location 1195 and 1197. This seems to be the case in FunnyMu.exe but not in CreatiVision.exe or my real machine.
e.g running this-
10 print peek(1195)
20 data1,1,1,1,1,1,1,1,1
30 goto10
shows the location 1195 updating in FunnyMu.exe but remains static in my real machine and CreatVision.exe.
Whats going on? (this would explain why Kapooka works in Funnymu but not for long in CreatiVision.exe)
Cheers
Kev
User avatar
@username@
Posts: 321
Joined: Tue Oct 22, 2013 6:59 pm
Location: Scotland

Re: Data register and pointers - where are they?

Post by @username@ » Sun Jul 30, 2023 10:53 am

The creatiVision only has 1K of RAM - so 0 - 1023 addressable.

Any address above this will just have the bit masked off.

So maximum real RAM address is $3FF (1023).
In bits this is 0000 0011 1111 1111

The address you are trying to peek is 1195 or $4AB
In bits this is 0000 0100 1010 1011

So BIT 10d is thrown away - so you are really addressing 0000 0000 1010 1011

So real hardware does the same - if the address lines don't exist, they can't be set - but it will wrap round and peek poke there.

Anything below $FF is zero page - so enjoy any ensuing nightmare scenario you can think of when you trash BIOS/BASIC :lol:

You can see this in realtime if you fire up Mame in debug mode and look at offset $AB in the memory window, so mame crvision basic -debug
Post Reply