e88e966521
Add mechanism for transforming objects to different types
2025-05-16 21:00:14 +02:00
hugova
69232b6d53
optimize general multiplication, less cpu cykels in most cases
2025-05-16 18:37:21 +02:00
3211f6d441
Add primitive tokenizer for USC
2025-05-16 12:31:18 +02:00
b9bda5ad68
Add missing RELATIVE-MIXIN
2025-05-16 12:31:18 +02:00
53002f2b8a
Slight syntax adjustment
...
I just couldn't stand "dotimes x 200", and "for x do 200 times" just
feels so much nicer. I also added a space after an opening parenthesis
to ensure that my tokenizer gets to eat this particular type of
unnecessary but permitted whitespace.
2025-05-16 12:31:18 +02:00
hugova
9a06f770c2
add general multiplication implementation
2025-05-16 11:11:21 +02:00
bc3e07356e
Add a USC test program
2025-05-16 10:39:03 +02:00
3878b57848
Add syntax example
2025-05-16 10:39:03 +02:00
hugova
c6392088f8
optimize away JMP instruction in mem logic
2025-05-15 17:43:23 +02:00
hugova
f17b332005
optimize code, no need to set Y after overflow
2025-05-15 17:39:43 +02:00
hugova
350e014e3f
fix the banner of char_draw to the compiler
2025-05-15 17:36:34 +02:00
hugova
465996a2e6
used unsafe add to improve char_draw performance
2025-05-15 17:32:42 +02:00
hugova
c1a79b32b7
unroll loop for faster char-draw:s
2025-05-15 17:24:40 +02:00
hugova
98ef4eaef0
remove unused instruction
2025-05-15 17:14:24 +02:00
hugova
87fd6a1b9d
make memset work more like c:s implementation.
2025-05-15 17:05:28 +02:00
hugova
cc46c68290
optimize new memcpy
2025-05-15 16:18:50 +02:00
hugova
f8dbfd86f9
rewrite memcpy to work more like c:s implementation
2025-05-15 16:11:51 +02:00
hugova
3295b71f6b
make char_draw faster using lookup-table
2025-05-12 12:21:18 +02:00
hugova
55e63ff627
optimise away constant by adding it to lookup-table
2025-05-12 02:24:55 +02:00
hugova
d34d25ce9f
reduce 2 into 1 instruction in pixel_draw.s
2025-05-12 02:06:26 +02:00
hugova
65905fa7e7
optimise pixel draw using lookup table
2025-05-12 01:44:00 +02:00
hugova
2bab2a6c8a
change naming convention for one variable
2025-05-11 22:32:36 +02:00
hugova
c2e89a5487
make char.s use ARGVEC
2025-05-11 22:23:08 +02:00
hugova
c2a4ff416d
fix comment and fix syntax
2025-05-11 20:45:11 +02:00
hugova
017a337180
make pixel drawing faster using lookup table
2025-05-11 20:00:48 +02:00
hugova
e89d566fbb
make .build executable
2025-05-11 19:59:47 +02:00
hugova
df5130df2e
comment out buggy code in source.s
2025-05-08 23:06:32 +02:00
hugova
83793035ad
add use of ARGVEC see public.inc
2025-05-08 23:05:38 +02:00
hugova
9b5fd7d6e5
limit pixel_draw to only write pixel with 0 - 255 x_pos
2025-05-08 23:05:38 +02:00
c336e43c19
Add bytesquashing (turning instructions etc. into dead bytes)
2025-05-08 22:18:57 +02:00
010cc5dd87
Make FIX-LABEL-ADDRESSES-IN-INSTRUCTION-LIST add PROGRAM_END label
2025-05-08 22:18:57 +02:00
9d2d0dea6b
Fix instruction redefinition and add some opcodes
2025-05-08 22:18:57 +02:00
184d0324c0
Fix broken INSTRUCTION-LENGTH
2025-05-08 22:18:57 +02:00
31bb5f8509
Add offset label class
2025-05-08 22:18:57 +02:00
15a70836ac
Add temporary ARGVEC and VARVEC definitions
2025-05-08 22:18:57 +02:00
4a4a7b8485
Add LABELP predicate
2025-05-08 22:18:57 +02:00
379d33d5a1
Move label name + prefix warning to the right place
2025-05-08 22:18:57 +02:00
eec5edc715
Correct instruction length of immediates
2025-05-08 22:18:57 +02:00
hugova
032cbea0ab
create build file and remove enviroment specific file
2025-05-08 21:46:02 +02:00
hugova
3e063e9aaf
move pixel-draw code
2025-05-08 21:41:46 +02:00
d9673915a5
Add public.inc
...
That revert before? I was kidding, I concede nothing! I win! (i.e. we
talked for a while and both decided that an argument vector was better
after all)
2025-05-08 21:17:09 +02:00
8a45d4fca1
Revert "populate .inc file with parameters for compiler"
...
We changed our minds, Hugo has the better idea, I concede and humbly
admit defeat.
This reverts commit 8d5cf37448
.
2025-05-08 20:24:18 +02:00
hugova
8d5cf37448
populate .inc file with parameters for homade compiler, will change format
2025-05-08 20:16:06 +02:00
hugova
c8484975a8
move emacs uggly banner to the right place
2025-05-08 20:15:13 +02:00
hugova
a553549b18
found place were old 16-bit zeropage format was used, fix that!
2025-05-08 20:11:04 +02:00
hugova
75bbe83a01
fix spelling
2025-05-08 19:41:17 +02:00
37b2864a7d
Add function to compute addresses of labels in instruction list
2025-05-08 19:36:10 +02:00
501da2341e
Bind *LABEL-COUNTER* to 0 at the start of compiling
2025-05-08 19:33:31 +02:00
bcc039774b
Move *LABEL-COUNTER* to label.lisp
2025-05-08 19:33:13 +02:00
5ca740efa9
Add PRODUCE-COMMENT
2025-05-08 19:32:54 +02:00