Github messages for voidlinux
 help / color / mirror / Atom feed
From: voidlinux-github@inbox.vuxu.org
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] New package: asm6-1.6
Date: Tue, 05 Nov 2019 13:34:52 +0100	[thread overview]
Message-ID: <20191105123452.dDdYkWi1QCppikuh8sdiZhtNcq7BuEMFPNiI2g94F6w@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-16140@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 304 bytes --]

There is an updated pull request by rc-05 against master on the void-packages repository

https://github.com/rc-05/void-packages asm6
https://github.com/void-linux/void-packages/pull/16140

New package: asm6-1.6


A patch file from https://github.com/void-linux/void-packages/pull/16140.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-asm6-16140.patch --]
[-- Type: text/x-diff, Size: 10161 bytes --]

From dfe8fb515e89dc2a854d05c17829250a7efd7fd3 Mon Sep 17 00:00:00 2001
From: rc-05 <rc23@email.it>
Date: Tue, 5 Nov 2019 13:09:04 +0100
Subject: [PATCH] New package: asm6-1.6

---
 srcpkgs/asm6/files/asm6.1 | 314 ++++++++++++++++++++++++++++++++++++++
 srcpkgs/asm6/template     |  26 ++++
 2 files changed, 340 insertions(+)
 create mode 100644 srcpkgs/asm6/files/asm6.1
 create mode 100644 srcpkgs/asm6/template

diff --git a/srcpkgs/asm6/files/asm6.1 b/srcpkgs/asm6/files/asm6.1
new file mode 100644
index 00000000000..97ead17138f
--- /dev/null
+++ b/srcpkgs/asm6/files/asm6.1
@@ -0,0 +1,314 @@
+.TH asm6
+.sh NAME
+asm6 \- Simple but functional 6502 assembler.
+.SH SYNOPSIS
+.B asm6
+[\fB\-options]
+.IR sourcefile
+[\fB\outputfile]
+[\fB\listfile]
+.SH DESCRIPTION
+Yes, it's another 6502 assembler.  I built it to do NES development, but you
+can probably use it for just about anything.  Why use this instead of one of
+the other zillion assemblers out there?  I don't know, but choice is good,
+right? :)  I wrote it because I thought most others were either too finicky,
+had weird syntax, took too much work to set up, or too bug-ridden to be useful.
+
+This is free software.  You may use, modify, and / or redistribute any part
+of this software in any fashion.
+
+--------------------------------------------------------------
+Syntax
+--------------------------------------------------------------
+
+Comments begin with a semicolon (;).  A colon (:) following a label is
+optional.
+
+    examples:
+
+        lda #$00             ;hi there
+        label1: jmp label2
+        label2  beq label1
+
+--------------------------------------------------------------
+Numbers and expressions
+--------------------------------------------------------------
+
+Hexadecimal numbers begin with '$' or end with 'h'.  Binary numbers begin
+with '%' or end with 'b'.  Characters and strings are surrounded by
+single or double quotes.  The characters (' " \) within quotes must be
+preceded by a backslash (\).
+
+    examples:
+
+        12345
+        '12345'
+        $ABCD
+        0ABCDh
+        %01010101
+        01010101b
+
+Supported operators (listed by precedence):
+
+          ( )
+ (unary)  + - ~ ! < >
+          * / %
+          + -
+          << >>
+          < > <= >=
+          = == != <> 
+          &
+          ^
+          |
+          &&
+          ||
+
+'=' and '<>' are equivalent to C's '==' and '!=' operators.  The unary '<'
+and '>' operators give the lower and upper byte of a 16-bit word (respectively).
+All other operators function like their C equivalents.
+        
+--------------------------------------------------------------
+Labels
+--------------------------------------------------------------
+
+Labels are case sensitive.  The special '$' label holds the current program
+address.  Labels beginning with '@' are local labels. They have limited scope,
+visible only between non-local labels.  Names of local labels may be reused.
+
+        label1:
+          @tmp1:
+          @tmp2:
+        label2:
+          @tmp1:
+          @tmp2:
+
+Labels beginning with one or more '+' or '-' characters are nameless labels,
+especially useful for forward and reverse branches.
+
+    example:
+
+      --  ldx #0
+       -  lda $2002 ;loop (wait for vblank)
+          bne -
+       -  lda $2002 ;nameless labels are easy to reuse..
+          bne -
+
+          cpx #69
+          beq +     ;forward branch..
+          cpx #96
+          beq +here ;use more characters to make more unique
+
+          jmp --    ;multiple --'s handy for nested loops
+       +  ldx #0
+   +here  nop
+        
+--------------------------------------------------------------
+Assembler directives (in no particular order)
+--------------------------------------------------------------
+
+All directives are case insensitive and can also be preceded by a period (.)
+
+
+EQU
+
+        For literal string replacement, similar to #define in C.
+
+                one EQU 1
+                plus EQU +
+                DB one plus one ;DB 1 + 1
+
+=
+
+        Unlike EQU, statements with '=' are evaluated to a number first.
+        Also unlike EQU, symbols created with '=' can be reused.
+
+                i=1
+                j EQU i+1
+                k=i+1   ;k=1+1
+                i=j+1   ;i=i+1+1
+                i=k+1   ;i=2+1
+
+INCLUDE (also INCSRC)
+
+        Assemble another source file as if it were part of the current
+        source.
+
+                INCLUDE whatever.asm
+
+INCBIN (also BIN)
+
+        Add the contents of a file to the assembly output.
+
+                moredata: INCBIN whatever.bin
+
+	An optional file offset and size can be specified.
+
+		INCBIN foo.bin, $400		;read foo.bin from $400 to EOF
+		INCBIN foo.bin, $200, $2000	;read $2000 bytes, starting from $200
+
+DB, DW (also BYTE/WORD, DCB/DCW, DC.B/DC.W)
+
+        Emit byte(s) or word(s).  Multiple arguments are separated by
+        commas.  Strings can be "shifted" by adding a value to them (see
+        example).
+
+                DB $01,$02,$04,$08
+                DB "ABCDE"+1          ;equivalent to DB "BCDEF"
+                DB "ABCDE"-"A"+32     ;equivalent to DB 32,33,34,35,36
+
+DL, DH
+
+        Similar to DB, outputting only the LSB or MSB of a value.
+
+                DL a,b,c,d            ;equivalent to DB <a, <b, <c, <d
+                DH a,b,c,d            ;equivalent to DB >a, >b, >c, >d
+
+HEX
+
+        Compact way of laying out a table of hex values.  Only raw hex values
+        are allowed, no expressions.  Spaces can be used to separate numbers.
+
+                HEX 456789ABCDEF  ;equivalent to DB $45,$67,$89,$AB,$CD,$EF
+                HEX 0 1 23 4567   ;equivalent to DB $00,$01,$23,$45,$67
+
+DSB, DSW (also DS.B/DS.W)
+
+        Define storage (bytes or words).  The size argument may be followed
+        by a fill value (default filler is 0).
+
+                DSB 4         ;equivalent to DB 0,0,0,0
+                DSB 8,1       ;equivalent to DB 1,1,1,1,1,1,1,1
+                DSW 4,$ABCD   ;equivalent to DW $ABCD,$ABCD,$ABCD,$ABCD
+
+PAD
+
+        Fill memory from the current address to a specified address.  A fill
+        value may also be specified.
+
+                PAD $FFFA     ;equivalent to DSB $FFFA-$
+                PAD $FFFA,$EA ;equivalent to DSB $FFFA-$,$EA
+
+ORG
+
+        Set the starting address if it hasn't been assigned yet, otherwise
+        ORG functions like PAD.
+
+                ORG $E000     ;start assembling at $E000
+                .
+                .
+                .
+                ORG $FFFA,$80 ;equivalent to PAD $FFFA,$80
+
+ALIGN
+
+        Fill memory from the current address to an N byte boundary.  A fill
+        value may also be specified.
+
+                ALIGN 256,$EA
+
+FILLVALUE
+
+        Change the default filler for PAD, ALIGN, etc.
+
+                FILLVALUE $FF
+
+BASE
+
+        Set the program address.  This is useful for relocatable code,
+        multiple code banks, etc.  The same can also be accomplished by
+        assigning the '$' symbol directly (i.e. '$=9999').
+
+                oldaddr=$
+                BASE $6000
+                stuff:
+                    .
+                    .
+                    .
+                BASE oldaddr+$-stuff
+
+IF / ELSEIF / ELSE / ENDIF
+
+        Process a block of code if an expression is true (nonzero).
+
+                IF j>0
+                    DB i/j
+                ELSE
+                    DB 0
+                ENDIF
+
+IFDEF / IFNDEF
+
+        Process a block of code if a symbol has been defined / not defined.
+
+                IFDEF _DEBUG_
+                    .
+                    .
+                    .
+                ENDIF
+
+MACRO / ENDM
+
+        MACRO name args...
+
+        Define a macro.  Macro arguments are comma separated.
+        Labels defined inside macros are local (visible only to that macro).
+
+                MACRO setAXY x,y,z
+                    LDA #x
+                    LDX #y
+                    LDY #z
+                ENDM
+
+                setAXY $12,$34,$56
+                        ;expands to LDA #$12
+                        ;           LDX #$34
+                        ;           LDY #$56
+
+REPT / ENDR
+
+        Repeat a block of code a specified number of times.
+        Labels defined inside REPT are local.
+
+                i=0
+                REPT 256
+                    DB i
+                    i=i+1
+                ENDR
+
+ENUM / ENDE
+
+        Reassign PC and suppress assembly output.  Useful for defining
+        variables in RAM.
+
+                ENUM $200
+                foo:    db 0
+                foo2:   db 0
+                ENDE
+
+ERROR
+
+        Stop assembly and display a message.
+
+                IF x>100
+                        ERROR "X is out of range :("
+                ENDIF
+
+.SH OPTIONS
+.TP
+.BR \-?
+Show the help message.
+.TP
+.BR \-l
+Create a listing file.
+.TP
+.BR \-L
+Create a verbose listing file by expanding REPT and MACRO blocks.
+.TP
+.BR \-d<name>
+Define a symbol.
+.TP
+.BR \-q
+Quiet mode (no output unless an error occurs).
+.SH AUTHORS
+loopy - Original developer of this assembler.
+rc-05 - Author of this manual for *nix-like operating system for a more convenient interface.
diff --git a/srcpkgs/asm6/template b/srcpkgs/asm6/template
new file mode 100644
index 00000000000..5f515394748
--- /dev/null
+++ b/srcpkgs/asm6/template
@@ -0,0 +1,26 @@
+# Template file for 'asm6'
+pkgname=asm6
+version=1.6
+revision=1
+create_wrksrc=no
+hostmakedepends="unzip"
+short_desc="Simple but functional 6502 assembler"
+maintainer="rc-05 <rc23@email.it>"
+license="Public Domain"
+homepage="http://3dscapture/NES"
+distfiles="http://3dscapture.com/NES/asm6.zip"
+checksum=b37956f37815a75a6712c0d1f8eea06d1207411921c2e7ff46a133f35f0b3e1d
+nocross="Unable to strip and debug package due to unrecognized format of input file"
+
+do_build() {
+	gcc -Wall -pedantic -std=c17 -O3 -o asm6 asm6.c
+}
+
+do_install() {
+	vbin asm6
+	vman ${FILESDIR}/asm6.1
+}
+
+post_install() {
+	vlicense README.TXT
+}

  parent reply	other threads:[~2019-11-05 12:34 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-05 12:16 [PR PATCH] " voidlinux-github
2019-11-05 12:30 ` [PR PATCH] [Updated] " voidlinux-github
2019-11-05 12:34 ` voidlinux-github [this message]
2019-11-05 13:07 ` voidlinux-github
2019-11-05 13:36 ` voidlinux-github
2019-11-05 13:40 ` voidlinux-github
2019-11-06 14:08 ` voidlinux-github
2019-11-06 14:29 ` voidlinux-github

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191105123452.dDdYkWi1QCppikuh8sdiZhtNcq7BuEMFPNiI2g94F6w@z \
    --to=voidlinux-github@inbox.vuxu.org \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).