Re: [cc65] Why does this work in 128 mode but not 64 mode?

From: Mark J. Reed <markjreed1mail.com>
Date: 2010-05-03 16:01:49
On Sun, May 2, 2010 at 2:56 PM, Spiro Trikaliotis
<ml-cc65@trikaliotis.net>wrote:

> Hello Mark,
>
> * On Sat, May 01, 2010 at 11:56:34AM -0400 Mark J. Reed wrote:
>
> >    Yes, I was about to post that I'd confirmed this as a bug in the C64
> >    KERNAL code, in both a physical C128 in 64 mode and VICE (which
> >    dumped core).
>
> Dumped core? Which version, which platform, what was the exact
> command(s) you executed?  This did not happen here!


Linux i686 (Ubuntu 9.10), VICE 2.1, cc65 2.13.  But I was mistaken - with a
simple assembly program to trigger the kernal bug, VICE behaves the same as
the hardware, just locking up.

it's with the attached C program - which is just Payton's getDriveStatus()
function and a main() that calls it - that my setup dumps core.

$ cl65 -o getstatus getstatus.c
$ x64 -autostart getstatus

This works fine (giving me a status of 30,syntax error,00,00).  Then I
unplug the disk drive by going to to Settings->Peripheral Settings->Device
#8->Device Type->None, and run again.  The VICE window disappears, with the
message "Received signal 11. Exiting..." in the console where I started it.
 I don't get an actual core file, but signal 11 is SEGV. And it happens
during the call to cbm_write().

However, I wasn't able to reproduce this with a simple test program coded
directly in assembly, so my investigation stopped there.  I'll be trying a
newer version of VICE before I bother tracking it down further.

 --
Mark J. Reed <markjreed@gmail.com>

----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Mon May 3 16:02:01 2010

This archive was generated by hypermail 2.1.8 : 2010-05-03 16:02:03 CEST