Skip to content

Commit 4b5333f

Browse files
Develop (#7)
* Update README.md * Use argument label for self modifying code * Globally accessible public macros prefixed with c64lib_ prefix * CHANGES.md file introduced * far bne added * pseudocommand converted to macro * border conditions for near/far jump corrected * Use fixed 64spec * Use KickAss 5.5 * Use gradle plugin * Use gradle plugin from gradle plugin repo * fix on travis yml * env aware * reverted to good version * Migration to retro assembler gradle plugin 0.2.0 * Plugin version update * Gradle Wrapper version updated * Migration to 0.3.0 * Test on installing vice * usage of 0.4.0rc01 * prepare to build vice from sources * try do download and compile vice 3 * tar syntax corrected * look around * lets try out bionic * manual installation of deb package * dpkg update * install dependencies * Install deps * change to xenial * circle ci integration * Use custom docker image * installation of vice skipped * vice debug * upgrade of docker image version * yet another vice debug * move to 0.1.3 docker image ver * go for image 0.1.4 * Upgrade to ka 5.9 * Moved to CircleCI completely * fbpl added * Migrate to new Gradle (6), Migrate to ra 1.0.1 * Missing math import added * Update Ka to 5.11 * Support for pseudocommands * copy8 added * more tests * set8 pseudocommand * toBytes function * upgrade ka * Shape declaration macros moved there * Exceed assert removed * fix build * Change log update * README.md update; change log clean up
1 parent 935a685 commit 4b5333f

25 files changed

+500
-192
lines changed

.circleci/config.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Java Gradle CircleCI 2.0 configuration file
2+
version: 2
3+
jobs:
4+
build:
5+
branches:
6+
only:
7+
- master
8+
- develop
9+
docker:
10+
- image: maciejmalecki/c64libci:0.1.4
11+
12+
working_directory: ~/repo
13+
14+
environment:
15+
JVM_OPTS: -Xmx3200m
16+
TERM: dumb
17+
18+
steps:
19+
- checkout
20+
21+
- run: ./gradlew

.gitignore

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1-
.cbm
1+
# KickAssembler out files
22
*.prg
33
*.sym
4+
*.dbg
5+
*.vs
6+
*.specOut
7+
.asminfo.txt
8+
.source.txt
49

5-
# gradle
10+
# Gradle files
611
.gradle
7-
build
812

13+
# IDE and tool files
14+
.idea
15+
.ra

.travis.yml

Lines changed: 0 additions & 11 deletions
This file was deleted.

README.md

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1-
# common
2-
3-
* master: [![Build Status](https://travis-ci.org/c64lib/common.svg?branch=master)](https://travis-ci.org/c64lib/common)
1+
# c64lib/common
2+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
3+
[![CircleCI](https://circleci.com/gh/c64lib/common/tree/master.svg?style=svg)](https://circleci.com/gh/c64lib/common/tree/master)
4+
[![CircleCI](https://circleci.com/gh/c64lib/common/tree/develop.svg?style=svg)](https://circleci.com/gh/c64lib/common/tree/develop)
5+
[![Gitter](https://badges.gitter.im/c64lib/community.svg)](https://gitter.im/c64lib/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
6+
7+
## Change log
8+
### Changes in version 0.2.0
9+
10+
* Public elements of library are also declared as global symbols in "-global.asm" files using `c64lib_` name prefix.
11+
12+
* New macro: `common.asm/fbne` - far bne.
13+
* New macro: `common.asm/fbmi` - far bmi.
14+
* New macro: `common.asm/ch` - to define single line of hires character.
15+
* New macro: `common.asm/cm` - to define single line of multicolor character.
16+
17+
* New pseudocommand: `math.asm/add16` - add two 16-bit values.
18+
* New pseudocommand: `math.asm/sub16` - subtract two 16-bit values.
19+
* New pseudocommand: `math.asm/asl16` - 16-bit asl operation.
20+
* New pseudocommand: `math.asm/inc16` - increment 16-bit number.
21+
* New pseudocommand: `math.asm/dec16` - decrement 16-bit number.
22+
23+
* New pseudocommand: `mem.asm/copy16` - copies 16-bit number.
24+
* New pseudocommand: `mem.asm/copy8` - copies 8-bit number.
25+
* New pseudocommand: `mem.asm/set8` - sets 8-bit number to given value.

build.gradle

Lines changed: 19 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,19 @@
1-
class KickAssemblerPlugin implements Plugin<Project> {
2-
3-
void apply(Project project) {
4-
def extension = project.extensions.create('kickAssembler', KickAssemblerPluginExtension, project)
5-
project.tasks.create('assemble', Assemble) {
6-
kaJar = extension.kaJar;
7-
libDir = extension.libDir;
8-
}
9-
project.tasks.create('clean', CleanKickFiles)
10-
}
11-
}
12-
13-
class KickAssemblerPluginExtension {
14-
15-
final Property<File> kaJar
16-
final Property<String> libDir
17-
18-
KickAssemblerPluginExtension(Project project) {
19-
kaJar = project.objects.property(File)
20-
kaJar.set(new File(project.buildDir,'ka/KickAss.jar'))
21-
libDir = project.objects.property(String)
22-
libDir.set('..')
23-
}
24-
}
25-
26-
class Assemble extends DefaultTask {
27-
28-
final Property<File> kaJar = project.objects.property(File)
29-
final Property<String> libDir = project.objects.property(String)
30-
31-
@TaskAction
32-
def assemble() {
33-
project.fileTree(dir: '.', include: '**/*.asm', exclude: 'cpm_modules').each { file ->
34-
println file.path
35-
project.javaexec {
36-
main '-jar'
37-
args kaJar.get(), '-libdir', libDir.get(), file.path
38-
}
39-
}
40-
}
41-
}
42-
43-
class CleanKickFiles extends Delete {
44-
45-
@TaskAction
46-
def void clean() {
47-
delete project.buildDir
48-
delete project.fileTree(".").matching {
49-
include "**/*.prg", "**/*.sym"
50-
}
51-
super.clean()
52-
}
53-
}
54-
55-
56-
plugins {
57-
id "de.undercouch.download" version "3.4.3"
58-
}
59-
60-
apply plugin: KickAssemblerPlugin
61-
62-
def kaJar = new File(buildDir,'ka/KickAss.jar')
63-
64-
kickAssembler {
65-
libDir = libdir
66-
}
67-
68-
69-
task downloadKickAss(type: Download) {
70-
src "https://github.com/c64lib/asm-ka/releases/download/$kickAssemblerVersion/KickAss.jar"
71-
dest kaJar
72-
}
73-
1+
plugins {
2+
id "com.github.c64lib.retro-assembler" version "1.1.0-rc01"
3+
}
4+
5+
repositories {
6+
jcenter()
7+
}
8+
9+
apply plugin: "com.github.c64lib.retro-assembler"
10+
11+
retroProject {
12+
13+
dialect = "KickAssembler"
14+
dialectVersion = "5.13"
15+
libDirs = ["..", ".ra/deps/c64lib"]
16+
17+
libFromGitHub "c64lib/64spec", "0.7.0pr"
18+
}
19+

gradle.properties

Lines changed: 0 additions & 2 deletions
This file was deleted.

gradle/wrapper/gradle-wrapper.jar

-561 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

gradlew

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
#!/usr/bin/env sh
22

3+
#
4+
# Copyright 2015 the original author or authors.
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
#
18+
319
##############################################################################
420
##
521
## Gradle start up script for UN*X
@@ -28,7 +44,7 @@ APP_NAME="Gradle"
2844
APP_BASE_NAME=`basename "$0"`
2945

3046
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31-
DEFAULT_JVM_OPTS=""
47+
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
3248

3349
# Use the maximum available, or set MAX_FD != -1 to use that value.
3450
MAX_FD="maximum"

gradlew.bat

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
@rem
2+
@rem Copyright 2015 the original author or authors.
3+
@rem
4+
@rem Licensed under the Apache License, Version 2.0 (the "License");
5+
@rem you may not use this file except in compliance with the License.
6+
@rem You may obtain a copy of the License at
7+
@rem
8+
@rem http://www.apache.org/licenses/LICENSE-2.0
9+
@rem
10+
@rem Unless required by applicable law or agreed to in writing, software
11+
@rem distributed under the License is distributed on an "AS IS" BASIS,
12+
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
@rem See the License for the specific language governing permissions and
14+
@rem limitations under the License.
15+
@rem
16+
117
@if "%DEBUG%" == "" @echo off
218
@rem ##########################################################################
319
@rem
@@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0
1430
set APP_HOME=%DIRNAME%
1531

1632
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17-
set DEFAULT_JVM_OPTS=
33+
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
1834

1935
@rem Find java.exe
2036
if defined JAVA_HOME goto findJavaFromJavaHome

0 commit comments

Comments
 (0)