add fc64 (commodore 64 emulator) as canary performance app

VERIFIED FIXED

Status

VERIFIED FIXED
10 years ago
9 years ago

People

(Reporter: dschaffe, Unassigned)

Tracking

unspecified
x86
Mac OS X
Bug Flags:
in-testsuite +
flashplayer-triage +

Details

Attachments

(2 attachments, 2 obsolete attachments)

(Reporter)

Description

10 years ago
- add port of fc64 from flash to runnable in the shell
- add support in runtests.py for a build script since fc64 requires the script compiler to order dependencies, when building test1.as look for test1.build and run the script instead of calling asc.  
- the test runs in 20-30s just to boot and load the c64 environment, there is some work to do to be able to send input to the environment

the test is runnable by:
$ ./runtests.py -v -c misc -v canaries/fc64.as
verbose output is:

0 running canaries/fc64.as
canaries/fc64
   compiling fc64 running canaries/fc64.build
fc64: 177006
Files: 37 Time: 3130ms
java -ea -DAS3 -DAVMPLUS -classpath /Users/dschaffe/svn/asc/lib/asc.jar macromedia.asc.embedding.ScriptCompiler -d -import /Users/dschaffe/hg/tamarin-redux/core/builtin.abc -import /Users/dschaffe/hg/tamarin-redux/shell/shell_toplevel.abc -builtin canaries/fc64util/main.as canaries/fc64util/globals.as canaries/fc64util/core/cpu/ASM6502.as canaries/fc64util/core/cpu/CPU6502.as canaries/fc64util/core/cpu/CPUOpcodeInfo.as canaries/fc64util/core/cpu/CPURegisters.as canaries/fc64util/core/events/CPUResetEvent.as canaries/fc64util/core/events/OSInitializedEvent.as canaries/fc64util/core/exceptions/BreakpointException.as canaries/fc64util/core/memory/IMemoryManager.as canaries/fc64util/core/memory/io/IOHandler.as canaries/fc64util/core/memory/io/IOHandlerInfo.as canaries/fc64util/core/memory/MemoryBankInfo.as canaries/fc64util/core/misc/Convert.as canaries/fc64util/core/misc/StringUtils.as canaries/fc64util/c64/events/DebuggerEvent.as canaries/fc64util/c64/events/FrameRateInfoEvent.as canaries/fc64util/c64/events/RasterEvent.as canaries/fc64util/c64/memory/io/CIA1.as canaries/fc64util/c64/memory/io/CIA2.as canaries/fc64util/c64/memory/io/Keyboard.as canaries/fc64util/c64/memory/io/SID.as canaries/fc64util/c64/memory/io/VIC.as canaries/fc64util/c64/memory/io/VICSpriteInfo.as canaries/fc64util/c64/memory/MemoryManager.as canaries/fc64util/c64/memory/MemoryMap.as canaries/fc64util/c64/screen/Renderer.as canaries/fc64util/flash/XMLDocument.as canaries/fc64util/flash/XMLNode.as canaries/fc64util/flash/XMLNodeType.as canaries/fc64util/flash/XMLParser.as canaries/fc64util/flash/XMLSocket.as canaries/fc64util/flash/XMLTag.as canaries/fc64util/flash/XMLUI.as canaries/fc64.as

/Users/dschaffe/hg/tamarin-redux/objdir-release/shell/avmshell  canaries/fc64.abc
loading ROM canaries/fc64util/kernel/kernal.901227-03.bin
loading ROM canaries/fc64util/kernel/basic.901226-01.bin
loading ROM canaries/fc64util/kernel/characters.901225-01.bin
loading c64.............
screen at time 107:
***
****

screen at time 108:
**** COMMODORE 64 BASIC V2 ****
64K RAM SYSTEM

screen at time 109:
**** COMMODORE 64 BASIC V2 ****
64K RAM SYSTEM  38911 BASIC BYTES FREE
READY.

screen at time 110:
**** COMMODORE 64 BASIC V2 ****
64K RAM SYSTEM  38911 BASIC BYTES FREE
READY.
_
metric time 21414

canaries/fc64.as                                     21414    time
Flags: in-testsuite+
Flags: flashplayer-triage+
(Reporter)

Comment 1

10 years ago
Created attachment 355976 [details] [diff] [review]
fc64 emulator patch

the fc64 files have GNU GPL headers.
Attachment #355976 - Flags: review?(brbaker)
(Reporter)

Comment 2

10 years ago
Created attachment 355978 [details]
3 fc64 ROM binaries zipped (unzip to dir test/performance/canaries/fc64util/kernel)

Comment 3

10 years ago
I have sent an email to license@mozilla.org to confirm that it will not be a problem adding this source to the tree.

Comment 4

10 years ago
Comment on attachment 355976 [details] [diff] [review]
fc64 emulator patch

Should wait for response from legal about adding GPL files, I am not a lawyer...
Attachment #355976 - Flags: review?(brbaker) → review+

Comment 5

10 years ago
RE: GNU GPL license:

-----Original Message-----
From: Gervase Markham [mailto:gerv@mozilla.org] 
Sent: Monday, January 12, 2009 4:34 AM
To: Brent Baker
Cc: licensing@mozilla.org
Subject: Re: [Licensing] Test media licensed under GNU GPL

Brent Baker wrote:
> We have some performance test media that we would like to add to the
> tamarin code base which is licensed under the GNU GPL and I want to make
> sure that it is ok to add this code.  The source is not compiled into
> the product in any way, just used as a performance benchmark application.

That's fine, as long as it goes into a sub-directory of the top-level
other-licenses directory, which is where we like to keep stuff with
incompatible licensing. I hope that isn't too inconvenient.

Gerv
(Reporter)

Updated

10 years ago
Attachment #355976 - Attachment is obsolete: true
(Reporter)

Comment 6

10 years ago
Created attachment 359313 [details] [diff] [review]
new patch to run fc64 from other-license dir

I moved fc64 to the other-licenses directory and updated perf runtests.py to look in the other-licenses/test/performance for additional tests.
Attachment #359313 - Flags: review?(brbaker)
(Reporter)

Comment 7

10 years ago
Created attachment 360115 [details] [diff] [review]
newer new patch to run fc64 from other-license dir

updated patch,  added license header to kernel.README and removed flash/XML*.as files.  They were not necessary to run tests.
Attachment #360115 - Flags: review?(brbaker)
(Reporter)

Updated

10 years ago
Attachment #359313 - Attachment is obsolete: true
Attachment #359313 - Flags: review?(brbaker)

Comment 8

10 years ago
Comment on attachment 360115 [details] [diff] [review]
newer new patch to run fc64 from other-license dir

Just make sure to remove the ref to util.flash/*.as in the fc64.build file, otherwise there is a warning when compiling.
Attachment #360115 - Flags: review?(brbaker) → review+
(Reporter)

Comment 9

10 years ago
pushed to tamarin-redux in changeset 1418	7462e11eddc7
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED

Comment 10

9 years ago
Resolved fixed engineering / work item that has been pushed.  Setting status to verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.