Skip Menu |

This queue is for tickets about the CPU-Emulator-Z80 CPAN distribution.

Report information
The Basics
Id: 129572
Status: resolved
Priority: 0/
Queue: CPU-Emulator-Z80

People
Owner: Nobody in particular
Requestors: borek [...] lupomesky.cz
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Issue with CPU::Emulator::Z80
Date: Tue, 14 May 2019 20:44:14 +0200
To: bug-CPU-Emulator-Z80 [...] rt.cpan.org
From: Borek Lupoměský <borek [...] lupomesky.cz>
There seems to be not quite a bug, but an inconvenient semantics with creating memory from binary in the new() method. If you use non-zero ORG in your code and then pass the resulting binary to the emulator as new(memory => $binary), then the binary is actually loaded at 0x0000. This leads to problems. It would be nice if one could specify: 1. memory size, 2. binary string, 3. origin address, where the binary should be loaded.
On Tue May 14 19:50:18 2019, borek@lupomesky.cz wrote: Show quoted text
> There seems to be not quite a bug, but an inconvenient semantics with > creating memory from binary in the new() method. If you use non-zero ORG > in your code and then pass the resulting binary to the emulator as > new(memory => $binary), then the binary is actually loaded at 0x0000. > This leads to problems. It would be nice if one could specify: 1. memory > size, 2. binary string, 3. origin address, where the binary should be > loaded.
I think this is better fixed in CPU::Emulator::Memory. And so it is, in version 1.1005 which I just uploaded to the CPAN. Incidentally, I'd be interested to know what you're using this for. Please bear in mind that I never completed the various interrupt modes.
Subject: Re: [rt.cpan.org #129572] Issue with CPU::Emulator::Z80
Date: Wed, 15 May 2019 05:26:04 +0200
To: bug-CPU-Emulator-Z80 [...] rt.cpan.org
From: Borek Lupoměský <borek [...] lupomesky.cz>
Dne 15.5.2019 v 1:05 David Cantrell via RT napsal(a): Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=129572 > > > On Tue May 14 19:50:18 2019, borek@lupomesky.cz wrote:
>> There seems to be not quite a bug, but an inconvenient semantics with >> creating memory from binary in the new() method. If you use non-zero ORG >> in your code and then pass the resulting binary to the emulator as >> new(memory => $binary), then the binary is actually loaded at 0x0000. >> This leads to problems. It would be nice if one could specify: 1. memory >> size, 2. binary string, 3. origin address, where the binary should be >> loaded.
> I think this is better fixed in CPU::Emulator::Memory. And so it is, in version 1.1005 which I just uploaded to the CPAN. > > Incidentally, I'd be interested to know what you're using this for. Please bear in mind that I never completed the various interrupt modes.
Oh nice, that was quick -- I wasn't really hoping you're still maintaining this. Anyway, I am using the Z80 assembler and emulator modules to write a ... geocaching puzzle. Short program, that when run generates GPS coordinates of the final coordinates. Doing this in perl is very convenient as I can easily do some additional mangling and transforms on the resulting binary to fit my purpose. Thanks for the update.