ulas/.git
18 months agoAdded comment bail when expanding preproc lines
Lukas Krickl [Fri, 29 Dec 2023 06:33:40 +0000 (07:33 +0100)]
Added comment bail when expanding preproc lines

18 months agoRemoved trailing semicolon
Lukas Krickl [Wed, 27 Dec 2023 17:10:10 +0000 (18:10 +0100)]
Removed trailing semicolon

18 months agoRemoved puts from tests
Lukas Krickl [Wed, 27 Dec 2023 17:09:23 +0000 (18:09 +0100)]
Removed puts from tests

18 months agoFixed preproc recursive replacement in a better way
Lukas Krickl [Wed, 27 Dec 2023 17:08:28 +0000 (18:08 +0100)]
Fixed preproc recursive replacement in a better way

18 months agodefine preproc directive allows macro replacement for nexted defines
Lukas Krickl [Wed, 27 Dec 2023 16:40:26 +0000 (17:40 +0100)]
define preproc directive allows macro replacement for nexted defines

18 months agoAdded counter symbol naming to .rep
Lukas Krickl [Sun, 24 Dec 2023 17:33:24 +0000 (18:33 +0100)]
Added counter symbol naming to .rep

18 months agoAdded basic .rep directive
Lukas Krickl [Sun, 24 Dec 2023 15:44:45 +0000 (16:44 +0100)]
Added basic .rep directive

18 months agoWIP: rep directive
Lukas Krickl [Sun, 24 Dec 2023 15:22:16 +0000 (16:22 +0100)]
WIP: rep directive

18 months agoAdded .chr directive to allow defining chr data
Lukas Krickl [Fri, 22 Dec 2023 06:38:46 +0000 (07:38 +0100)]
Added .chr directive to allow defining chr data

18 months agoAdded new .scc (set char code) directive to map ascii to a custom format
Lukas Krickl [Thu, 21 Dec 2023 19:17:38 +0000 (20:17 +0100)]
Added new .scc (set char code) directive to map ascii to a custom format

18 months agoFixed comments not working after .db
Lukas Krickl [Thu, 21 Dec 2023 03:56:24 +0000 (04:56 +0100)]
Fixed comments not working after .db

18 months agoFixed buffer overflow in macro expansion
Lukas Krickl [Wed, 20 Dec 2023 18:12:26 +0000 (19:12 +0100)]
Fixed buffer overflow in macro expansion

18 months agoAdded test case for crashing macro in prod
Lukas Krickl [Wed, 20 Dec 2023 18:07:51 +0000 (19:07 +0100)]
Added test case for crashing macro in prod

18 months agoFixed buffer underflow in trimend
Lukas Krickl [Tue, 19 Dec 2023 14:34:30 +0000 (15:34 +0100)]
Fixed buffer underflow in trimend

18 months agoAdded divison to test cases
Lukas Krickl [Tue, 19 Dec 2023 14:32:51 +0000 (15:32 +0100)]
Added divison to test cases

18 months agoFixed division in first pass
Lukas Krickl [Tue, 19 Dec 2023 14:24:10 +0000 (15:24 +0100)]
Fixed division in first pass

18 months agoAdded doc as to why a8 will not emit overflow warnings
Lukas Krickl [Sat, 16 Dec 2023 11:23:05 +0000 (12:23 +0100)]
Added doc as to why a8 will not emit overflow warnings

18 months agoFixed warning for ldh instructions
Lukas Krickl [Sat, 16 Dec 2023 11:21:52 +0000 (12:21 +0100)]
Fixed warning for ldh instructions

18 months agoAdded very basic -w flags
Lukas Krickl [Sat, 16 Dec 2023 08:06:08 +0000 (09:06 +0100)]
Added very basic -w flags

18 months ago.de now are evaluated during the first pass
Lukas Krickl [Sat, 16 Dec 2023 07:40:54 +0000 (08:40 +0100)]
.de now are evaluated during the first pass

18 months agoAdded jp hl
Lukas Krickl [Fri, 15 Dec 2023 17:54:42 +0000 (18:54 +0100)]
Added jp hl

18 months agoAdded jp hl instruction
Lukas Krickl [Fri, 15 Dec 2023 17:52:38 +0000 (18:52 +0100)]
Added jp hl instruction

18 months agoFixed di instruction opcode
Lukas Krickl [Fri, 15 Dec 2023 08:58:53 +0000 (09:58 +0100)]
Fixed di instruction opcode

18 months agoAdded .de and .se for simple enum-like definitions
Lukas Krickl [Fri, 15 Dec 2023 08:14:18 +0000 (09:14 +0100)]
Added .de and .se for simple enum-like definitions

18 months agoAdded more TODOS
Lukas Krickl [Thu, 14 Dec 2023 13:15:07 +0000 (14:15 +0100)]
Added more TODOS

18 months agoAdded more todos
Lukas Krickl [Thu, 14 Dec 2023 12:09:45 +0000 (13:09 +0100)]
Added more todos

18 months agoFixed missing memset in release build
Lukas Krickl [Thu, 14 Dec 2023 07:16:58 +0000 (08:16 +0100)]
Fixed missing memset in release build

18 months agoAdjusted symbols output format
Lukas Krickl [Thu, 14 Dec 2023 04:54:29 +0000 (05:54 +0100)]
Adjusted symbols output format

18 months agoAddedmore tabs for now
Lukas Krickl [Thu, 14 Dec 2023 04:54:03 +0000 (05:54 +0100)]
Addedmore tabs for now

18 months agoAdded 0x as a prefix for symbols
Lukas Krickl [Thu, 14 Dec 2023 04:52:08 +0000 (05:52 +0100)]
Added 0x as a prefix for symbols

18 months agoMade symbol ints hex
Lukas Krickl [Thu, 14 Dec 2023 04:51:46 +0000 (05:51 +0100)]
Made symbol ints hex

18 months agoAdded basic symbol output
Lukas Krickl [Thu, 14 Dec 2023 04:50:07 +0000 (05:50 +0100)]
Added basic symbol output

18 months agoFixed ret z instruction
Lukas Krickl [Wed, 13 Dec 2023 18:26:57 +0000 (19:26 +0100)]
Fixed ret z instruction

18 months agoAdded tests for db
Lukas Krickl [Wed, 13 Dec 2023 13:37:22 +0000 (14:37 +0100)]
Added tests for db

18 months agoFixed swap instructions
Lukas Krickl [Tue, 12 Dec 2023 13:10:40 +0000 (14:10 +0100)]
Fixed swap instructions

18 months agoFixed symbol scoping rules
Lukas Krickl [Tue, 12 Dec 2023 08:27:38 +0000 (09:27 +0100)]
Fixed symbol scoping rules

18 months agoAdded test to cover .adv
Lukas Krickl [Mon, 11 Dec 2023 20:21:19 +0000 (21:21 +0100)]
Added test to cover .adv

18 months agoAdded .adv directive
Lukas Krickl [Mon, 11 Dec 2023 20:20:11 +0000 (21:20 +0100)]
Added .adv directive

18 months agoLabels can now appear before asm directives
Lukas Krickl [Mon, 11 Dec 2023 20:06:18 +0000 (21:06 +0100)]
Labels can now appear before asm directives

18 months agoAdded missing ld [hl], a instruction
Lukas Krickl [Mon, 11 Dec 2023 17:00:17 +0000 (18:00 +0100)]
Added missing ld [hl], a instruction

18 months agoAdded todo
Lukas Krickl [Mon, 11 Dec 2023 15:43:35 +0000 (16:43 +0100)]
Added todo

18 months agoFixed readme
Lukas Krickl [Mon, 11 Dec 2023 08:49:46 +0000 (09:49 +0100)]
Fixed readme

18 months agoAdded some todos
Lukas Krickl [Mon, 11 Dec 2023 08:48:59 +0000 (09:48 +0100)]
Added some todos

18 months agoAdded .chksm directive that inserts rom header checksum into the rom
Lukas Krickl [Sun, 10 Dec 2023 17:33:30 +0000 (18:33 +0100)]
Added .chksm directive that inserts rom header checksum into the rom

18 months agoFixed tests
Lukas Krickl [Sun, 10 Dec 2023 12:41:35 +0000 (13:41 +0100)]
Fixed tests

18 months agoFixed bug that caused incorrect label addresses during the
Lukas Krickl [Sun, 10 Dec 2023 12:39:59 +0000 (13:39 +0100)]
Fixed bug that caused incorrect label addresses during the
first pass

18 months agoAdded #include directive
Lukas Krickl [Sun, 10 Dec 2023 11:40:27 +0000 (12:40 +0100)]
Added #include directive

18 months agoWIP: #include
Lukas Krickl [Sun, 10 Dec 2023 09:15:05 +0000 (10:15 +0100)]
WIP: #include

18 months agoAdded remaining int expression evaluations
Lukas Krickl [Sun, 10 Dec 2023 08:15:57 +0000 (09:15 +0100)]
Added remaining int expression evaluations

18 months agoAdded remaining int operators
Lukas Krickl [Sun, 10 Dec 2023 08:03:58 +0000 (09:03 +0100)]
Added remaining int operators

18 months agoAdded -i option for include path management
Lukas Krickl [Sat, 9 Dec 2023 21:40:55 +0000 (22:40 +0100)]
Added -i option for include path management

18 months agoAdded .incbin directive
Lukas Krickl [Sat, 9 Dec 2023 21:34:11 +0000 (22:34 +0100)]
Added .incbin directive

18 months agoWIP: path resolver
Lukas Krickl [Sat, 9 Dec 2023 20:33:00 +0000 (21:33 +0100)]
WIP: path resolver

18 months agoPath bounds checks
Lukas Krickl [Sat, 9 Dec 2023 17:27:50 +0000 (18:27 +0100)]
Path bounds checks

18 months agoWIP: path resolver
Lukas Krickl [Sat, 9 Dec 2023 17:26:48 +0000 (18:26 +0100)]
WIP: path resolver

18 months agoWIP: inc path resolution
Lukas Krickl [Sat, 9 Dec 2023 14:31:50 +0000 (15:31 +0100)]
WIP: inc path resolution

18 months agoWIP: path resolution for include and incbin
Lukas Krickl [Wed, 6 Dec 2023 14:14:35 +0000 (15:14 +0100)]
WIP: path resolution for include and incbin

18 months agoAdded .str directive
Lukas Krickl [Tue, 5 Dec 2023 18:56:23 +0000 (19:56 +0100)]
Added .str directive

18 months agoFixed leak issue with string expressions
Lukas Krickl [Tue, 5 Dec 2023 14:15:32 +0000 (15:15 +0100)]
Fixed leak issue with string expressions

18 months agoWIP: .def str directive
Lukas Krickl [Tue, 5 Dec 2023 13:29:19 +0000 (14:29 +0100)]
WIP: .def str directive

18 months agoFixed string tokenizer
Lukas Krickl [Tue, 5 Dec 2023 09:25:53 +0000 (10:25 +0100)]
Fixed string tokenizer

18 months agoWIP: string expressions
Lukas Krickl [Tue, 5 Dec 2023 09:04:51 +0000 (10:04 +0100)]
WIP: string expressions

18 months agoWIP: added doc comment
Lukas Krickl [Mon, 4 Dec 2023 21:59:18 +0000 (22:59 +0100)]
WIP: added doc comment

18 months agoAdded test for filling until a certain address
Lukas Krickl [Mon, 4 Dec 2023 21:44:52 +0000 (22:44 +0100)]
Added test for filling until a certain address

18 months agoAdded .fill instruction
Lukas Krickl [Mon, 4 Dec 2023 19:45:32 +0000 (20:45 +0100)]
Added .fill instruction

18 months agoAdded .db expression
Lukas Krickl [Mon, 4 Dec 2023 19:00:13 +0000 (20:00 +0100)]
Added .db expression

18 months agoAdded .def and .set
Lukas Krickl [Mon, 4 Dec 2023 14:22:51 +0000 (15:22 +0100)]
Added .def and .set

18 months agoAdded test for .set
Lukas Krickl [Mon, 4 Dec 2023 13:54:42 +0000 (14:54 +0100)]
Added test for .set

18 months agoWIP: .set command
Lukas Krickl [Mon, 4 Dec 2023 13:45:57 +0000 (14:45 +0100)]
WIP: .set command

18 months agoAdded test for relative jump
Lukas Krickl [Mon, 4 Dec 2023 09:16:12 +0000 (10:16 +0100)]
Added test for relative jump

18 months agoRemoved global symaddress
Lukas Krickl [Mon, 4 Dec 2023 08:58:57 +0000 (09:58 +0100)]
Removed global symaddress

18 months agoAdded $ for current address
Lukas Krickl [Mon, 4 Dec 2023 08:58:30 +0000 (09:58 +0100)]
Added $ for current address

18 months agoAdded local scope resolver test
Lukas Krickl [Mon, 4 Dec 2023 07:12:30 +0000 (08:12 +0100)]
Added local scope resolver test

18 months agoAdded '@' check to islabelname
Lukas Krickl [Sun, 3 Dec 2023 20:58:29 +0000 (21:58 +0100)]
Added '@' check to islabelname

18 months agoAdded test for setting
Lukas Krickl [Sun, 3 Dec 2023 19:59:46 +0000 (20:59 +0100)]
Added test for setting

18 months agoWIP: re-assigning symbols
Lukas Krickl [Sun, 3 Dec 2023 18:58:20 +0000 (19:58 +0100)]
WIP: re-assigning symbols

18 months agoAdded test for scoped redefinition
Lukas Krickl [Sun, 3 Dec 2023 12:40:07 +0000 (13:40 +0100)]
Added test for scoped redefinition

18 months agoWIP: moved : removal code to symbolset
Lukas Krickl [Sun, 3 Dec 2023 12:32:12 +0000 (13:32 +0100)]
WIP: moved : removal code to symbolset

18 months agoFixed scope tests
Lukas Krickl [Sun, 3 Dec 2023 12:07:35 +0000 (13:07 +0100)]
Fixed scope tests

18 months agoWIP: symbol scoping tests
Lukas Krickl [Sun, 3 Dec 2023 06:37:59 +0000 (07:37 +0100)]
WIP: symbol scoping tests

18 months agoAdded proper label resolver for globals with test
Lukas Krickl [Sat, 2 Dec 2023 21:45:57 +0000 (22:45 +0100)]
Added proper label resolver for globals with test

18 months agoWIP: address labels
Lukas Krickl [Sat, 2 Dec 2023 15:21:25 +0000 (16:21 +0100)]
WIP: address labels

18 months agoWIP: symbol definition
Lukas Krickl [Sat, 2 Dec 2023 12:43:30 +0000 (13:43 +0100)]
WIP: symbol definition

18 months agoWIP: symbol def
Lukas Krickl [Sat, 2 Dec 2023 11:17:51 +0000 (12:17 +0100)]
WIP: symbol def

18 months agoWIP: symbol definition
Lukas Krickl [Sat, 2 Dec 2023 10:52:30 +0000 (11:52 +0100)]
WIP: symbol definition

18 months agoWIP: added const flag to symbols
Lukas Krickl [Sat, 2 Dec 2023 06:17:09 +0000 (07:17 +0100)]
WIP: added const flag to symbols

19 months agoWIP: symbols
Lukas Krickl [Thu, 30 Nov 2023 19:00:17 +0000 (20:00 +0100)]
WIP: symbols

19 months agoWIP: symbol defines
Lukas Krickl [Thu, 30 Nov 2023 12:39:34 +0000 (13:39 +0100)]
WIP: symbol defines

19 months agoMoved label code to asmline
Lukas Krickl [Thu, 30 Nov 2023 08:23:52 +0000 (09:23 +0100)]
Moved label code to asmline

19 months agoWIP: label parser
Lukas Krickl [Thu, 30 Nov 2023 06:42:44 +0000 (07:42 +0100)]
WIP: label parser

19 months agoWIP: symbols
Lukas Krickl [Thu, 30 Nov 2023 06:05:53 +0000 (07:05 +0100)]
WIP: symbols

19 months agoAdded headers to dependencies for obejct files
Lukas Krickl [Thu, 30 Nov 2023 05:28:21 +0000 (06:28 +0100)]
Added headers to dependencies for obejct files

19 months agoAdded benchmark output
Lukas Krickl [Wed, 29 Nov 2023 17:05:46 +0000 (18:05 +0100)]
Added benchmark output

19 months agoMoved preprocessor definition to ulas struct
Lukas Krickl [Wed, 29 Nov 2023 16:44:43 +0000 (17:44 +0100)]
Moved preprocessor definition to ulas struct

19 months agoAdded doc for 2-pass mode
Lukas Krickl [Wed, 29 Nov 2023 14:35:50 +0000 (15:35 +0100)]
Added doc for 2-pass mode

19 months agoFixed line numbering in 2-pass mode
Lukas Krickl [Wed, 29 Nov 2023 14:32:38 +0000 (15:32 +0100)]
Fixed line numbering in 2-pass mode

19 months agoAdded 2-pass code when stdin is not stin
Lukas Krickl [Wed, 29 Nov 2023 14:31:32 +0000 (15:31 +0100)]
Added 2-pass code when stdin is not stin

19 months agoRemoved pass code
Lukas Krickl [Wed, 29 Nov 2023 14:18:05 +0000 (15:18 +0100)]
Removed pass code

19 months agoRemoved multi pass system again for now
Lukas Krickl [Wed, 29 Nov 2023 13:42:18 +0000 (14:42 +0100)]
Removed multi pass system again for now

19 months agoWIP: multi-pass setup
Lukas Krickl [Wed, 29 Nov 2023 13:05:25 +0000 (14:05 +0100)]
WIP: multi-pass setup