Commit graph

138 commits

Author SHA1 Message Date
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
8dd78265b4 Nicer instruction printing 2025-05-08 19:32:43 +02:00
41bd413b4c Add LABEL class and replace uses of temporary strings with it 2025-05-08 19:10:38 +02:00
76f1fa0658 Add relative addressing type for branches 2025-05-08 19:10:15 +02:00
37241a1fc3 Replace the text assembly in high-level with instruction objects 2025-05-08 17:11:57 +02:00
0a3675feac Turn the user-side compiler into a proper ASDF system 2025-05-03 12:22:56 +02:00
fd5a8fac4f Add check so zero-page instructions can't use too big operands 2025-05-02 22:38:35 +02:00
hugova
09d7701c15 add test program for char_draw 2025-05-02 22:36:27 +02:00
19b9feb02d Begin serious work on User-Side Compiler (USC) 2025-05-02 22:26:29 +02:00