Emulator r39 Released

Announcements by the development team or forum staff.
User avatar
svenvandevelde
Posts: 488
Joined: Wed Dec 23, 2020 6:30 am
Location: Belgium, Antwerpen

Emulator r39 Released

Post by svenvandevelde »


Bingo! Got it working now! So new interrupt vector at $0314 has value $E040.





 

KICKC home page by Jesper Gravgaard.
My KICKC alpha with Commander X16 extensions.
User avatar
svenvandevelde
Posts: 488
Joined: Wed Dec 23, 2020 6:30 am
Location: Belgium, Antwerpen

Emulator r39 Released

Post by svenvandevelde »


Any known issues with the mouse pointer? It seems the mouse pointer "get" api at $FFB6 is not working as expected.

Maybe I'm wrong, i baseline the mouse vectors to be returned at $22, which should be available to the user, right?

But it's not working. No mouse movement ...





 

 

KICKC home page by Jesper Gravgaard.
My KICKC alpha with Commander X16 extensions.
ZeroByte
Posts: 714
Joined: Wed Feb 10, 2021 2:40 pm

Emulator r39 Released

Post by ZeroByte »


Has cc65 updated the repo yet to be R39 compliant?

rje
Posts: 1263
Joined: Mon Apr 27, 2020 10:00 pm
Location: Dallas Area

Emulator r39 Released

Post by rje »



On 3/30/2022 at 12:40 PM, ZeroByte said:




Has cc65 updated the repo yet to be R39 compliant?



No.   cc65's cputc(), cputs(), and cprintf() appear to be non-working for X16.r39.  Text frame address change?

Michael Steil
Posts: 94
Joined: Mon May 18, 2020 7:25 pm

Emulator r39 Released

Post by Michael Steil »



On 3/30/2022 at 6:44 PM, svenvandevelde said:




And the interrupt return vector has changed also ?.



Where was that again ... address vector in $0314 ....



let me check ... E040?



The location of the default IRQ handler is not API and must not be relied on. It changes in every single revision of the ROM.

Read the current value in your code, and jump to it at the end.

Michael Steil
Posts: 94
Joined: Mon May 18, 2020 7:25 pm

Emulator r39 Released

Post by Michael Steil »



On 3/30/2022 at 7:37 PM, svenvandevelde said:




Any known issues with the mouse pointer? It seems the mouse pointer "get" api at $FFB6 is not working as expected.



$FF6B

User avatar
svenvandevelde
Posts: 488
Joined: Wed Dec 23, 2020 6:30 am
Location: Belgium, Antwerpen

Emulator r39 Released

Post by svenvandevelde »



On 3/30/2022 at 8:23 PM, Michael Steil said:




$FF6B



Typo, you are correct, i meant to write $FF6B

image.png.d3a6b84c60f6c0c96d849dea596e77b2.png

 

So this code seems to be correct.

This is the API call fragment:

image.png.774968d8b1de52ca20e656a0180cca83.png

However, the zero pages $22, $23, $24, $25 stay 0, regardless if I move the mouse or not.

I"m sequently calling this CX16_MOUSE_GET continuously.

I've attached a demo prg with source code in asm.



cx16-mouse.prgcx16-mouse.ccx16-mouse.asm

KICKC home page by Jesper Gravgaard.
My KICKC alpha with Commander X16 extensions.
User avatar
desertfish
Posts: 1091
Joined: Tue Aug 25, 2020 8:27 pm
Location: Netherlands

Emulator r39 Released

Post by desertfish »


There's been a change in the mouse_config() API  https://github.com/commanderx16/x16-docs/blob/master/Commander X16 Programmer's Reference Guide.md#function-name-mouse_config

However I think there's also a bug.   Setting X and Y both to zero seem to reduce the 'screen size' to 0 by 0 blocks instead of keeping the 'current' resolution as the documentation now says.

I find that if you set them to 80 and 60 respectively, or perhaps follow the code snippet given in the docs, the mouse moves again.

 

Also there is a small error in the documentation, it still says "Communication registers: .A, .X" , this should be   "Communication registers: .A, .X, .Y" now.

Michael Steil
Posts: 94
Joined: Mon May 18, 2020 7:25 pm

Emulator r39 Released

Post by Michael Steil »



On 3/31/2022 at 12:07 AM, desertfish said:




There's been a change in the mouse_config() API  https://github.com/commanderx16/x16-docs/blob/master/Commander X16 Programmer's Reference Guide.md#function-name-mouse_config



However I think there's also a bug.   Setting X and Y both to zero seem to reduce the 'screen size' to 0 by 0 blocks instead of keeping the 'current' resolution as the documentation now says.



I find that if you set them to 80 and 60 respectively, or perhaps follow the code snippet given in the docs, the mouse moves again.



0 does keep the current size config. It's just that if you never called mouse_config before, the current config is 0x0, which it will keep.

@svenvandevelde, you need to call mouse_config, like in the example in the docs.

 

Michael Steil
Posts: 94
Joined: Mon May 18, 2020 7:25 pm

Emulator r39 Released

Post by Michael Steil »



On 3/31/2022 at 12:07 AM, desertfish said:




Also there is a small error in the documentation, it still says "Communication registers: .A, .X" , this should be   "Communication registers: .A, .X, .Y" now.



Pull request, please? ?

Post Reply