ulas/.git
2 months agochore: Removed dependencies to clang
Lukas Krickl [Thu, 24 Apr 2025 16:49:23 +0000 (18:49 +0200)]
chore: Removed dependencies to clang

2 months agomacro: Fixed side-effect that was caused by the previous fix
Lukas Krickl [Mon, 14 Apr 2025 15:20:36 +0000 (17:20 +0200)]
macro: Fixed side-effect that was caused by the previous fix

The check should also ensure that the char following the new line
is not 0.

2 months agomacro: Fixed macro expansion bug
Lukas Krickl [Mon, 14 Apr 2025 15:14:31 +0000 (17:14 +0200)]
macro: Fixed macro expansion bug

It was not possible for macros to expand defines correctly when a
comment was preceeding the expansion.
This was caused by the comment_seen flag that instructs the preprocessor
to skip tokens in commnets.
This flag is now unset when a new line (\n) is encountered.

2 months agotests: Added tests for using macros with defines and .defs in an
Lukas Krickl [Mon, 14 Apr 2025 13:51:24 +0000 (15:51 +0200)]
tests: Added tests for using macros with defines and .defs in an
expression

2 months agoBUGS: Added macro bug
Lukas Krickl [Mon, 14 Apr 2025 13:33:02 +0000 (15:33 +0200)]
BUGS: Added macro bug

3 months agotests: Added first failure tests
Lukas Krickl [Thu, 20 Mar 2025 04:22:30 +0000 (05:22 +0100)]
tests: Added first failure tests

3 months agochore: Fixed type in tests code
Lukas Krickl [Wed, 19 Mar 2025 21:50:30 +0000 (22:50 +0100)]
chore: Fixed type in tests code

3 months agoscope: Reworked begin and endscope to use icounter
Lukas Krickl [Wed, 19 Mar 2025 21:40:54 +0000 (22:40 +0100)]
scope: Reworked begin and endscope to use icounter

3 months agoscope: Added .beginscope and .endscope
Lukas Krickl [Wed, 19 Mar 2025 21:28:38 +0000 (22:28 +0100)]
scope: Added .beginscope and .endscope

3 months agoTODO: Added tood note
Lukas Krickl [Wed, 19 Mar 2025 21:10:52 +0000 (22:10 +0100)]
TODO: Added tood note

3 months agoulas: Added .bank directive
Lukas Krickl [Wed, 12 Mar 2025 05:17:11 +0000 (06:17 +0100)]
ulas: Added .bank directive

3 months agosymbols: Added bank variable and TODO for new .bank command
Lukas Krickl [Sun, 2 Mar 2025 05:22:24 +0000 (06:22 +0100)]
symbols: Added bank variable and TODO for new .bank command

4 months agosymbols: Added new symbol format option
Lukas Krickl [Sat, 1 Mar 2025 18:29:50 +0000 (19:29 +0100)]
symbols: Added new symbol format option

5 months agoMerge branch 'mlb-sections' of codeberg.org:unlink2/ulas
Lukas Krickl [Sun, 19 Jan 2025 16:23:23 +0000 (17:23 +0100)]
Merge branch 'mlb-sections' of codeberg.org:unlink2/ulas

5 months agogitignore: Added patch to gitignore
Lukas Krickl [Sun, 19 Jan 2025 16:22:11 +0000 (17:22 +0100)]
gitignore: Added patch to gitignore

5 months agoMerge pull request 'mlb: Added support for sections to mlb' (#1) from mlb-sections...
unlink2 [Sun, 19 Jan 2025 09:48:24 +0000 (09:48 +0000)]
Merge pull request 'mlb: Added support for sections to mlb' (#1) from mlb-sections into master

Reviewed-on: https://codeberg.org/unlink2/ulas/pulls/1

5 months agoulas: mlb files now translate the relative address of sections origin/mlb-sections
Lukas Krickl [Sun, 19 Jan 2025 09:47:06 +0000 (10:47 +0100)]
ulas: mlb files now translate the relative address of sections
automatically

This is done by simply saving the .org address at time of invoking
.section.

5 months agomlb: Added support for sections to mlb
Lukas Krickl [Sun, 19 Jan 2025 07:00:06 +0000 (08:00 +0100)]
mlb: Added support for sections to mlb

This still needs testing.
It uses the current address at time of using .section as an offset so
that mlb files can be formatted correctly.

5 months agoTODO: Added idea to todo
Lukas Krickl [Sun, 19 Jan 2025 06:45:37 +0000 (07:45 +0100)]
TODO: Added idea to todo

5 months agoulas: Removed section use from mlb agian.
Lukas Krickl [Sun, 19 Jan 2025 06:34:18 +0000 (07:34 +0100)]
ulas: Removed section use from mlb agian.

.section will not work in mlb as intended for now because mlb requires
relative memory locations. This will need some more work.

5 months agoulas: pass now resets the currently set section
Lukas Krickl [Sun, 19 Jan 2025 06:25:03 +0000 (07:25 +0100)]
ulas: pass now resets the currently set section

5 months agoulas: Added .section directive
Lukas Krickl [Sun, 19 Jan 2025 06:17:23 +0000 (07:17 +0100)]
ulas: Added .section directive

This directive allows a user to define the memory region.
This is currently only used for mlb symbol files.

5 months agoTODO: Added section todo item
Lukas Krickl [Sat, 4 Jan 2025 05:11:50 +0000 (06:11 +0100)]
TODO: Added section todo item

5 months agoLICENSE: Updated year to 2025
Lukas Krickl [Wed, 1 Jan 2025 04:20:17 +0000 (05:20 +0100)]
LICENSE: Updated year to 2025

6 months agoAdded more todos
Lukas Krickl [Sun, 22 Dec 2024 10:18:11 +0000 (11:18 +0100)]
Added more todos

6 months agoAdded TODO for labels
Lukas Krickl [Sun, 15 Dec 2024 18:14:31 +0000 (19:14 +0100)]
Added TODO for labels

6 months agoAdded TODO
Lukas Krickl [Thu, 12 Dec 2024 05:06:51 +0000 (06:06 +0100)]
Added TODO

6 months agoUpdated man5 install dir
Lukas Krickl [Mon, 9 Dec 2024 04:35:34 +0000 (05:35 +0100)]
Updated man5 install dir

6 months agoUpdated install make task
Lukas Krickl [Mon, 9 Dec 2024 04:34:55 +0000 (05:34 +0100)]
Updated install make task

6 months agoAdded todo.md
Lukas Krickl [Sun, 8 Dec 2024 08:47:02 +0000 (09:47 +0100)]
Added todo.md

6 months agoAdded bugs.md
Lukas Krickl [Sun, 8 Dec 2024 08:46:31 +0000 (09:46 +0100)]
Added bugs.md

7 months agoUpdated -i flag to be -I instead
Lukas Krickl [Sun, 10 Nov 2024 19:04:19 +0000 (20:04 +0100)]
Updated -i flag to be -I instead

7 months agoAdded the ability to use defined consts inside of defines
Lukas Krickl [Tue, 5 Nov 2024 11:16:50 +0000 (12:16 +0100)]
Added the ability to use defined consts inside of defines

7 months agoRemoved debug print
Lukas Krickl [Mon, 4 Nov 2024 20:49:15 +0000 (21:49 +0100)]
Removed debug print

7 months agoFixed macro expansion not allowing #defines to expand
Lukas Krickl [Mon, 4 Nov 2024 20:48:46 +0000 (21:48 +0100)]
Fixed macro expansion not allowing #defines to expand

8 months agoAdded syntax reference manpage
Lukas Krickl [Tue, 29 Oct 2024 17:00:23 +0000 (18:00 +0100)]
Added syntax reference manpage

8 months agoCleaning up tags command in makefile
Lukas Krickl [Tue, 29 Oct 2024 14:26:29 +0000 (15:26 +0100)]
Cleaning up tags command in makefile

8 months agoAdded some more manpage entires.
Lukas Krickl [Tue, 29 Oct 2024 14:04:30 +0000 (15:04 +0100)]
Added some more manpage entires.

Described a few known bugs :^)

8 months agoAdded usage reference to readme
Lukas Krickl [Tue, 29 Oct 2024 11:15:18 +0000 (12:15 +0100)]
Added usage reference to readme

8 months agoUpdated manpage
Lukas Krickl [Tue, 29 Oct 2024 11:11:17 +0000 (12:11 +0100)]
Updated manpage

Includied all available options

8 months agoFixed buildtest build deps
Lukas Krickl [Tue, 29 Oct 2024 09:46:41 +0000 (10:46 +0100)]
Fixed buildtest build deps

8 months agoFixed buidltest cmd
Lukas Krickl [Tue, 29 Oct 2024 09:08:38 +0000 (10:08 +0100)]
Fixed buidltest cmd

8 months agoUpdated makefile to be more portable
Lukas Krickl [Tue, 29 Oct 2024 08:56:14 +0000 (09:56 +0100)]
Updated makefile to be more portable

8 months agoRemoved patsubst from makefile
Lukas Krickl [Tue, 29 Oct 2024 07:06:19 +0000 (08:06 +0100)]
Removed patsubst from makefile

8 months agoUpdated manpage path
Lukas Krickl [Fri, 25 Oct 2024 12:59:02 +0000 (14:59 +0200)]
Updated manpage path

8 months agoFixed sla instructions generating the wrong opcode
Lukas Krickl [Sat, 19 Oct 2024 04:24:53 +0000 (06:24 +0200)]
Fixed sla instructions generating the wrong opcode

8 months agoChanged timing label
Lukas Krickl [Wed, 9 Oct 2024 09:29:17 +0000 (11:29 +0200)]
Changed timing label

8 months agoAdded -D flag to allow defining preproc symbols using the command line
Lukas Krickl [Fri, 4 Oct 2024 17:27:26 +0000 (19:27 +0200)]
Added -D flag to allow defining preproc symbols using the command line

8 months agoAdded a fixme
Lukas Krickl [Wed, 2 Oct 2024 17:48:54 +0000 (19:48 +0200)]
Added a fixme

9 months agoulas: minor refactor of project structure
Lukas Krickl [Mon, 30 Sep 2024 15:17:15 +0000 (17:17 +0200)]
ulas: minor refactor of project structure

15 months agoFixed comment format error
Lukas Krickl [Wed, 13 Mar 2024 05:50:14 +0000 (06:50 +0100)]
Fixed comment format error

15 months agoAdded basic mlb support.
Lukas Krickl [Wed, 13 Mar 2024 05:46:07 +0000 (06:46 +0100)]
Added basic mlb support.

TODO: Allow user-defined sections for better label support

15 months agoUpdated license date
Lukas Krickl [Mon, 4 Mar 2024 16:47:55 +0000 (17:47 +0100)]
Updated license date

16 months agoRenamed wrongly named const
Lukas Krickl [Fri, 1 Mar 2024 05:54:33 +0000 (06:54 +0100)]
Renamed wrongly named const

16 months agoAdded unnamed labels
Lukas Krickl [Wed, 28 Feb 2024 09:45:23 +0000 (10:45 +0100)]
Added unnamed labels

Unnamed labels can be declared using just a :.
Unnamed labels ignore redefinition rules and
just get added to the symbol list regardless.
They currently only serve as markers, however in the future they can be
reached using + and - symbols to jump to the next or previous label
respectively.

16 months agoAdded unary + operator
Lukas Krickl [Tue, 27 Feb 2024 16:11:19 +0000 (17:11 +0100)]
Added unary + operator

16 months agoAdded test for disas
Lukas Krickl [Mon, 26 Feb 2024 16:46:09 +0000 (17:46 +0100)]
Added test for disas

16 months agoDisas now produces code that will compile back to unit test binary.
Lukas Krickl [Mon, 26 Feb 2024 16:10:13 +0000 (17:10 +0100)]
Disas now produces code that will compile back to unit test binary.
TODO: add this to tests

16 months agoWIP: disas improvements
Lukas Krickl [Mon, 26 Feb 2024 14:04:33 +0000 (15:04 +0100)]
WIP: disas improvements

16 months agoAdded header for disas files
Lukas Krickl [Mon, 26 Feb 2024 12:49:41 +0000 (13:49 +0100)]
Added header for disas files

16 months agoFixed 16 bit values
Lukas Krickl [Mon, 26 Feb 2024 05:56:24 +0000 (06:56 +0100)]
Fixed 16 bit values

16 months agoReplaced occurances of printf with the proper fprintf call in disas
Lukas Krickl [Sun, 25 Feb 2024 18:36:56 +0000 (19:36 +0100)]
Replaced occurances of printf with the proper fprintf call in disas

16 months agoWIP: fixed more disas instructions. WIP: 16 bit values in disas
Lukas Krickl [Sun, 25 Feb 2024 18:34:02 +0000 (19:34 +0100)]
WIP: fixed more disas instructions. WIP: 16 bit values in disas

16 months agoFixed a few more instructions
Lukas Krickl [Sun, 25 Feb 2024 17:31:26 +0000 (18:31 +0100)]
Fixed a few more instructions

16 months agoFixed some instruction parsers for disas
Lukas Krickl [Sun, 25 Feb 2024 07:40:10 +0000 (08:40 +0100)]
Fixed some instruction parsers for disas

16 months agoWIP: disasm output
Lukas Krickl [Sun, 25 Feb 2024 07:10:25 +0000 (08:10 +0100)]
WIP: disasm output

16 months agoWIP: added basic db fallback outupt to disasm
Lukas Krickl [Sat, 24 Feb 2024 11:44:37 +0000 (12:44 +0100)]
WIP: added basic db fallback outupt to disasm

16 months agoWIP: disas output
Lukas Krickl [Sat, 24 Feb 2024 11:31:21 +0000 (12:31 +0100)]
WIP: disas output

16 months agoChanged unsigned short to int for disas data
Lukas Krickl [Sat, 24 Feb 2024 07:06:35 +0000 (08:06 +0100)]
Changed unsigned short to int for disas data

16 months agoWIP: disas functionality
Lukas Krickl [Sat, 24 Feb 2024 06:50:29 +0000 (07:50 +0100)]
WIP: disas functionality

16 months agoWIP: disasm
Lukas Krickl [Thu, 22 Feb 2024 18:38:19 +0000 (19:38 +0100)]
WIP: disasm

16 months agoWIP: disas read loop
Lukas Krickl [Thu, 22 Feb 2024 13:15:45 +0000 (14:15 +0100)]
WIP: disas read loop

16 months agoWIP: added -a option. Fixed missing break when adding incpath
Lukas Krickl [Thu, 22 Feb 2024 06:04:29 +0000 (07:04 +0100)]
WIP: added -a option. Fixed missing break when adding incpath

16 months agoWIP: pass-system for disas calls
Lukas Krickl [Thu, 22 Feb 2024 05:43:46 +0000 (06:43 +0100)]
WIP: pass-system for disas calls

16 months agoReplaced relevant e16 with a16
Lukas Krickl [Wed, 21 Feb 2024 16:34:38 +0000 (17:34 +0100)]
Replaced relevant e16 with a16

16 months agoWIP: Adding addr16 type
Lukas Krickl [Wed, 21 Feb 2024 16:18:54 +0000 (17:18 +0100)]
WIP: Adding addr16 type

16 months agoAdded fixme to instruction table
Lukas Krickl [Tue, 20 Feb 2024 16:36:19 +0000 (17:36 +0100)]
Added fixme to instruction table

16 months agoFixed initializer for arch
Lukas Krickl [Tue, 20 Feb 2024 16:31:25 +0000 (17:31 +0100)]
Fixed initializer for arch

16 months agoAdded basic be/le flag to arch
Lukas Krickl [Tue, 20 Feb 2024 12:39:21 +0000 (13:39 +0100)]
Added basic be/le flag to arch

16 months agoAdded more wip items
Lukas Krickl [Tue, 20 Feb 2024 12:34:06 +0000 (13:34 +0100)]
Added more wip items

16 months agoWIP: added starting point for disassembly step
Lukas Krickl [Mon, 19 Feb 2024 17:54:36 +0000 (18:54 +0100)]
WIP: added starting point for disassembly step

16 months agoMoved asmspetok enum to arch
Lukas Krickl [Mon, 19 Feb 2024 16:49:24 +0000 (17:49 +0100)]
Moved asmspetok enum to arch

16 months agoFixed formatting for sm83 macros
Lukas Krickl [Mon, 19 Feb 2024 16:40:42 +0000 (17:40 +0100)]
Fixed formatting for sm83 macros

16 months agoFixed naming for sm83
Lukas Krickl [Mon, 19 Feb 2024 16:39:40 +0000 (17:39 +0100)]
Fixed naming for sm83

16 months agoRemoved todo comment that was resolved
Lukas Krickl [Mon, 19 Feb 2024 14:33:57 +0000 (15:33 +0100)]
Removed todo comment that was resolved

16 months agoMoved register lookup to arch.c
Lukas Krickl [Mon, 19 Feb 2024 12:25:14 +0000 (13:25 +0100)]
Moved register lookup to arch.c

16 months agoWIP: refactoring arch system
Lukas Krickl [Mon, 19 Feb 2024 10:25:20 +0000 (11:25 +0100)]
WIP: refactoring arch system

16 months agoAdded additional ok message when all tests pass
Lukas Krickl [Mon, 19 Feb 2024 06:24:30 +0000 (07:24 +0100)]
Added additional ok message when all tests pass

16 months agoFixed all remaining linter warnings
Lukas Krickl [Mon, 19 Feb 2024 06:05:29 +0000 (07:05 +0100)]
Fixed all remaining linter warnings

16 months agoFixed most linter warnings
Lukas Krickl [Mon, 19 Feb 2024 05:49:41 +0000 (06:49 +0100)]
Fixed most linter warnings

16 months agoFixed some linter warnings
Lukas Krickl [Sun, 18 Feb 2024 17:38:44 +0000 (18:38 +0100)]
Fixed some linter warnings

16 months agoRemoved a magick number
Lukas Krickl [Sun, 18 Feb 2024 03:58:23 +0000 (04:58 +0100)]
Removed a magick number

16 months agoMoved registers to own arch file
Lukas Krickl [Sat, 17 Feb 2024 17:50:18 +0000 (18:50 +0100)]
Moved registers to own arch file

16 months agoAdded more todos
Lukas Krickl [Sat, 17 Feb 2024 05:20:38 +0000 (06:20 +0100)]
Added more todos

16 months agoAdded todo for register lookup
Lukas Krickl [Sat, 17 Feb 2024 05:18:52 +0000 (06:18 +0100)]
Added todo for register lookup

16 months agoFixed linter warning
Lukas Krickl [Thu, 15 Feb 2024 13:43:59 +0000 (14:43 +0100)]
Fixed linter warning

16 months agoProject cleanup
Lukas Krickl [Thu, 15 Feb 2024 13:39:36 +0000 (14:39 +0100)]
Project cleanup

17 months agoImproved test for nested macros
Lukas Krickl [Thu, 4 Jan 2024 17:30:51 +0000 (18:30 +0100)]
Improved test for nested macros

17 months agoAdded test for recursive macro calls
Lukas Krickl [Thu, 4 Jan 2024 17:29:39 +0000 (18:29 +0100)]
Added test for recursive macro calls

17 months agoFixed $10 - $15 macro args
Lukas Krickl [Wed, 3 Jan 2024 22:18:40 +0000 (23:18 +0100)]
Fixed $10 - $15 macro args