1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-02 00:41:42 +00:00

Upgraded XES plugin for supporting older JVMs. Added better support for start address to target platforms. Closes #574

This commit is contained in:
jespergravgaard 2020-11-15 10:11:43 +01:00
parent 164e0a614f
commit 762cce9720
39 changed files with 56 additions and 31 deletions

View File

@ -1,13 +1,13 @@
<component name="libraryTable">
<library name="Maven: dk.camelot64.kickass.xexplugin:kickassxexformat:1.0">
<library name="Maven: dk.camelot64.kickass.xexplugin:kickassxexformat:1.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/dk/camelot64/kickass/xexplugin/kickassxexformat/1.0/kickassxexformat-1.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/dk/camelot64/kickass/xexplugin/kickassxexformat/1.1/kickassxexformat-1.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/dk/camelot64/kickass/xexplugin/kickassxexformat/1.0/kickassxexformat-1.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/dk/camelot64/kickass/xexplugin/kickassxexformat/1.1/kickassxexformat-1.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/dk/camelot64/kickass/xexplugin/kickassxexformat/1.0/kickassxexformat-1.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/dk/camelot64/kickass/xexplugin/kickassxexformat/1.1/kickassxexformat-1.1-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -26,6 +26,6 @@
<orderEntry type="library" name="Maven: javax.json:javax.json-api:1.1.4" level="project" />
<orderEntry type="library" name="Maven: org.glassfish:javax.json:1.1.4" level="project" />
<orderEntry type="library" name="Maven: cml.kickass:kickassembler:5.16-65ce02.h" level="project" />
<orderEntry type="library" name="Maven: dk.camelot64.kickass.xexplugin:kickassxexformat:1.0" level="project" />
<orderEntry type="library" name="Maven: dk.camelot64.kickass.xexplugin:kickassxexformat:1.1" level="project" />
</component>
</module>

View File

@ -64,7 +64,7 @@
<dependency>
<groupId>dk.camelot64.kickass.xexplugin</groupId>
<artifactId>kickassxexformat</artifactId>
<version>1.0</version>
<version>1.1</version>
</dependency>
</dependencies>

View File

@ -0,0 +1,4 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
#Sun Nov 15 09:50:50 CET 2020
kickassxexformat-1.1.jar>=
kickassxexformat-1.1.pom>=

View File

@ -0,0 +1 @@
1201db12a8d649e9628019b9b983eb6f

View File

@ -0,0 +1 @@
4cce302cdbccf560c08f13295ac789136603844a

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>dk.camelot64.kickass.xexplugin</groupId>
<artifactId>kickassxexformat</artifactId>
<version>1.1</version>
<description>POM was created from install:install-file</description>
</project>

View File

@ -0,0 +1 @@
61fb4ac35772777c2e9901c22410e8ae

View File

@ -0,0 +1 @@
0bf6368d2e7dc168cfd09c6112617d317f5b4f36

View File

@ -3,10 +3,11 @@
<groupId>dk.camelot64.kickass.xexplugin</groupId>
<artifactId>kickassxexformat</artifactId>
<versioning>
<release>1.0</release>
<release>1.1</release>
<versions>
<version>1.0</version>
<version>1.1</version>
</versions>
<lastUpdated>20201114233804</lastUpdated>
<lastUpdated>20201115085050</lastUpdated>
</versioning>
</metadata>

View File

@ -1 +1 @@
692a58cd7630b4d37973c20aa00542a1
0a173b3e45eb6ddeb2c3d0db3f889af8

View File

@ -1 +1 @@
09008b573126bb7a904d1cf0743605bc5b929ab8
0e6e84eafedaa2c0425217cbfe87d5b0a2d2228e

View File

@ -56,8 +56,6 @@ public class TargetPlatform {
VariableBuilderConfig.defaultPreConfig(config);
VariableBuilderConfig.defaultPostConfig(config);
this.variableBuilderConfig = config;
// Set the default start address
this.startAddress = 0x080d;
}
public String getName() {

View File

@ -97,7 +97,8 @@ public class Pass4CodeGeneration {
String entryName = program.getStartProcedure().getFullName();
linkScriptBody = linkScriptBody.replace("%E", entryName);
Number startAddress = program.getTargetPlatform().getStartAddress();
linkScriptBody = linkScriptBody.replace("%P", AsmFormat.getAsmNumber(startAddress));
if(startAddress!=null)
linkScriptBody = linkScriptBody.replace("%P", AsmFormat.getAsmNumber(startAddress));
asm.addLine(new AsmInlineKickAsm(linkScriptBody, 0L, 0L));
// If the link script contains ".segment" then generate segments!

View File

@ -1,6 +1,7 @@
{
"extension": "prg",
"link": "asm6502.ld",
"start_address": "0x2000",
"cpu": "MOS6502X",
"emulator": "x64sc"
}

View File

@ -2,7 +2,7 @@
.file [name="%O", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$080d]
.segmentdef Code [start=%P]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(%E)

View File

@ -2,6 +2,7 @@
"description": "Commodore 64 PRG executable file.",
"extension": "prg",
"link": "c64.ld",
"start_address": "0x080d",
"cpu": "MOS6502X",
"emulator": "x64sc",
"defines": {

View File

@ -1,6 +1,7 @@
{
"extension": "prg",
"link": "c64basic.ld",
"start_address": "0x080d",
"cpu": "MOS6502X",
"emulator": "x64sc",
"defines": {

View File

@ -2,7 +2,7 @@
.file [name="%O", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$2001]
.segmentdef Code [start=$2017]
.segmentdef Code [start=%P]
.segmentdef Data [startAfter="Code"]
.segment Basic
.byte $0a, $20, $0a, $00, $fe, $02, $20, $30, $00 // 10 BANK 0

View File

@ -2,6 +2,7 @@
"description": "MEGA65 platform PRG executable starting in MEGA65 mode.",
"extension": "prg",
"link": "mega65.ld",
"start_address": "0x2017",
"cpu": "MEGA45GS02",
"emulator": "xmega65 -prg",
"defines": {

View File

@ -2,7 +2,7 @@
.file [name="%O", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$080d]
.segmentdef Code [start=%P]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(%E)

View File

@ -2,6 +2,7 @@
"description": "MEGA65 platform executable starting in C64 mode.",
"extension": "prg",
"link": "mega65_c64.ld",
"start_address": "0x080d",
"cpu": "MEGA45GS02",
"emulator": "xmega65 -prg",
"defines": {

View File

@ -2,7 +2,7 @@
.file [name="%O", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$1001]
.segmentdef Code [start=$100d]
.segmentdef Code [start=%P]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(%E)

View File

@ -2,6 +2,7 @@
"description": "Commodore 16 / Plus/4 executable PRG file",
"extension": "prg",
"link": "plus4.ld",
"start_address": "0x100d",
"cpu": "MOS6502X",
"emulator": "xplus4",
"defines": {

View File

@ -1,3 +1,3 @@
.pc = $1001 "Basic"
:BasicUpstart(%E)
.pc = $100d "Program"
.pc = %P "Program"

View File

@ -1,6 +1,7 @@
{
"extension": "prg",
"link": "plus4basic.ld",
"start_address": "0x100d",
"cpu": "MOS6502X",
"emulator": "xplus4",
"defines": {

View File

@ -2,7 +2,7 @@
.file [name="%O", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$1001]
.segmentdef Code [start=$100e]
.segmentdef Code [start=%P]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(%E)

View File

@ -2,6 +2,7 @@
"description": "Commodore VIC 20 executable PRG file",
"extension": "prg",
"link": "vic20.ld",
"start_address": "0x100d",
"cpu": "MOS6502X",
"emulator": "xvic",
"defines": {

View File

@ -1,3 +1,3 @@
.pc = $1001 "Basic"
:BasicUpstart(%E)
.pc = $100d "Program"
.pc = %P "Program"

View File

@ -1,6 +1,7 @@
{
"extension": "prg",
"link": "vic20basic.ld",
"start_address": "0x100d",
"cpu": "MOS6502X",
"emulator": "xvic",
"defines": {

View File

@ -3,8 +3,7 @@
# Prepare by making the "official" metadata local
cp ./repo/dk/camelot64/kickass/xexplugin/kickassxexformat/maven-metadata.xml ./repo/dk/camelot64/kickass/xexplugin/kickassxexformat/maven-metadata-local.xml
# mvn install:install-file -Dmaven.repo.local=./repo/ -Dfile=/Applications/KickAssembler/KickAss.jar -DgroupId=cml.kickass -DartifactId=kickassembler -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true -Dversion=5.16
mvn install:install-file -Dmaven.repo.local=./repo/ -Dfile=/Users/jespergravgaard/c64/kickass-plugin-atari-xex/bin/KickAssXexFormat.jar -DgroupId=dk.camelot64.kickass.xexplugin -DartifactId=kickassxexformat -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true -Dversion=1.0
mvn install:install-file -Dmaven.repo.local=./repo/ -Dfile=/Users/jespergravgaard/c64/kickass-plugin-atari-xex/bin/KickAssXexFormat.jar -DgroupId=dk.camelot64.kickass.xexplugin -DartifactId=kickassxexformat -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true -Dversion=1.1
# Finalize by making the local metadata official
pushd ./repo/dk/camelot64/kickass/xexplugin/kickassxexformat

View File

@ -10,7 +10,7 @@
.file [name="raster65.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$080d]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)

View File

@ -2041,7 +2041,7 @@ ASSEMBLER BEFORE OPTIMIZATION
.file [name="raster65.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$080d]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)
@ -3213,7 +3213,7 @@ Score: 9963
.file [name="raster65.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$080d]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)

View File

@ -3,7 +3,7 @@
.file [name="pragma-noparenthesis.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$1001]
.segmentdef Code [start=$100e]
.segmentdef Code [start=$100d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)

View File

@ -136,7 +136,7 @@ ASSEMBLER BEFORE OPTIMIZATION
.file [name="pragma-noparenthesis.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$1001]
.segmentdef Code [start=$100e]
.segmentdef Code [start=$100d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)
@ -227,7 +227,7 @@ Score: 42
.file [name="pragma-noparenthesis.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$1001]
.segmentdef Code [start=$100e]
.segmentdef Code [start=$100d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)

View File

@ -9,7 +9,7 @@
.file [name="vic20-simple.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$1001]
.segmentdef Code [start=$100e]
.segmentdef Code [start=$100d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(main)

View File

@ -140,7 +140,7 @@ ASSEMBLER BEFORE OPTIMIZATION
.file [name="vic20-simple.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$1001]
.segmentdef Code [start=$100e]
.segmentdef Code [start=$100d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(main)
@ -230,7 +230,7 @@ Score: 331
.file [name="vic20-simple.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$1001]
.segmentdef Code [start=$100e]
.segmentdef Code [start=$100d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(main)