1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-11-01 05:05:32 +00:00
Commit Graph

137 Commits

Author SHA1 Message Date
Karol Stasiak
6a1733ce41 Add necessary whitespace 2019-08-05 14:06:50 +02:00
Karol Stasiak
154df77ad3 Remove temporary hacks 2019-08-05 11:05:40 +02:00
Karol Stasiak
34254314a6 6502: Fix word division and byte multiplication 2019-08-04 00:05:35 +02:00
Karol Stasiak
05c017e375 New encodings for MSX 2019-07-31 00:20:18 +02:00
Karol Stasiak
d9f8b5acc4 Add support for Japanese C64 2019-07-30 15:30:18 +02:00
Karol Stasiak
35ba36ce11 Function pointers – initial version 2019-07-27 00:58:10 +02:00
Karol Stasiak
af58b16e66 Better scrolling on NES 2019-07-12 13:31:10 +02:00
Karol Stasiak
98f35937e3 Improve text encodings on Atari 2019-07-12 13:29:59 +02:00
Karol Stasiak
c6d3cefa26 Fix the zp_reg module 2019-06-28 17:57:26 +02:00
Karol Stasiak
674f8d1983 Allow initializing writable variables on cartridge targets 2019-06-28 16:28:49 +02:00
Karol Stasiak
7f28a6b10f Optimize the zp_reg module 2019-06-28 16:27:35 +02:00
Karol Stasiak
95249da671 Fix nes_joy module, as it was totally broken 2019-06-28 16:26:05 +02:00
Karol Stasiak
51599c9615 Allow defining free zeropage bytes instead of pointers 2019-06-26 18:33:59 +02:00
Karol Stasiak
fae64c52a1 Use const arrays on cartridge targets (2) 2019-06-26 18:13:00 +02:00
Karol Stasiak
892c9ec8ff Use const arrays on cartridge targets 2019-06-26 17:54:29 +02:00
Karol Stasiak
b80e46d755 Minor fixes 2019-06-26 17:06:55 +02:00
Karol Stasiak
32476f2a4e Move readkey to a separate module 2019-06-26 15:51:09 +02:00
Karol Stasiak
b85e175292 Use CBM_64_COMPAT for Commodore 128 2019-06-26 13:41:57 +02:00
Karol Stasiak
03f2bacd2b Add readkey and fix putchar for more targets. 2019-06-26 13:00:55 +02:00
Karol Stasiak
e9e52d11a7 Add readkey for C64 & ZXS. Fix putchar('{q}') on C64. 2019-06-25 18:19:33 +02:00
Karol Stasiak
3852b2dbe9 More label file formats 2019-06-14 11:39:11 +02:00
Karol Stasiak
5ca6988039 Fix GB 2019-06-14 11:31:34 +02:00
Karol Stasiak
e219830ba1 Fix MSX 2019-06-12 22:54:40 +02:00
Karol Stasiak
e31737ad40 Unsigned division of word by byte 2019-06-06 13:06:30 +02:00
Karol Stasiak
2583f280a8 Unsigned byte division by non-constant 2019-06-06 01:17:34 +02:00
Karol Stasiak
bc8ac1f696 Preliminary MSX support 2019-06-05 13:31:43 +02:00
Karol Stasiak
1cb3b672b1 Add 8080-to-8086 translation 2019-05-31 17:03:35 +02:00
Karol Stasiak
3d6e226f55 Update copyright dates 2019-05-11 01:15:51 +02:00
Karol Stasiak
43e75276df Preliminary and experimental Game Boy support 2019-03-18 23:15:05 +01:00
Karol Stasiak
3a5cf16bba NES: fix swapped joypad definitions 2019-01-13 19:43:37 +01:00
Karol Stasiak
492300d298 C64: File I/O support 2019-01-05 01:19:14 +01:00
Karol Stasiak
4db1126b01 C64: Fix kernal definitions 2019-01-04 14:06:10 +01:00
Karol Stasiak
75e572f58c Library improvements:
– random module
– ensure_mixedcase() function
2018-12-30 18:59:32 +01:00
Karol Stasiak
b068663729 PET: Add oldpet and origpet encodings 2018-12-30 18:54:45 +01:00
Karol Stasiak
62575263c2 NEC PC-88: readline 2018-12-20 00:47:42 +01:00
Karol Stasiak
e13e744167 ZX Spectrum: read_line 2018-12-19 22:30:12 +01:00
Karol Stasiak
5153bd0551 C264 fixes and improvements 2018-12-19 22:26:10 +01:00
Karol Stasiak
310df1a8de It's Amstrad not Armstrad 2018-12-19 22:21:51 +01:00
Karol Stasiak
9f16311aff Preliminary CPC support 2018-12-19 19:02:29 +01:00
Karol Stasiak
05884f2c7b Standard library improvements 2018-12-19 19:01:53 +01:00
Karol Stasiak
08f9426ccb Multiplication fixes and improvements 2018-12-19 01:10:39 +01:00
Karol Stasiak
585407e9bb Library improvements 2018-12-17 17:18:29 +01:00
Karol Stasiak
7616c246ee Fix Apple 2 text codec 2018-12-17 17:15:34 +01:00
Karol Stasiak
007b1dc839 C64: ROM cartridge support 2018-12-17 11:13:01 +01:00
Karol Stasiak
78afe3d5f5 Preliminary support for volatile variables 2018-12-16 21:07:04 +01:00
Karol Stasiak
f32d72b51f Multiplication u16×u8 2018-12-14 22:50:20 +01:00
Karol Stasiak
ed38b00031 8080: Faster strlen; more multiplication optimizations 2018-10-04 23:22:26 +02:00
Karol Stasiak
cbe6d03e60 8080: Optimized multiplication 2018-09-28 23:45:26 +02:00
Karol Stasiak
35004220ca Fix stdio for ZX Spectrum 2018-09-28 22:39:52 +02:00
Karol Stasiak
fab1cafec3 Z80: Intel syntax support 2018-08-03 13:23:37 +02:00
Karol Stasiak
388ceb8b3a 6502: software BCD, increase default zpreg to 4 2018-08-03 13:06:23 +02:00
Karol Stasiak
ec9dba9d27 Z80: Use RRA instead of RR A in stdlib 2018-08-01 10:16:20 +02:00
Karol Stasiak
f929e396df Preliminary CP/M support 2018-07-31 01:02:55 +02:00
Karol Stasiak
2ef79d6894 Minor improvements for Intel 8080 and ZX Spectrum 2018-07-30 18:55:20 +02:00
Karol Stasiak
070ae395ee Text literals in expressions, escape sequences, and more 2018-07-28 00:58:20 +02:00
Karol Stasiak
71ad93fe09 Z80: Fix hex digit converions in stdlib 2018-07-24 19:11:40 +02:00
Karol Stasiak
215d8d92b4 Preprocessor. Z80 improvements. Library improvements. 2018-07-12 19:39:25 +02:00
Karol Stasiak
2c8de8b6a5 Text encoding improvements 2018-07-07 00:58:44 +02:00
Karol Stasiak
c3504a63b3 ZX Spectrum improvements 2018-07-05 00:50:13 +02:00
Karol Stasiak
c153588600 Use @word for reset vectors 2018-07-03 23:29:37 +02:00
Karol Stasiak
24ae52e3cc Really early and very incomplete ZX Spectrum support 2018-07-03 22:37:18 +02:00
Karol Stasiak
9512e8e7ae Really early and very incomplete PC-88 support 2018-07-02 00:31:47 +02:00
Karol Stasiak
2b6315f15b Let the optimizer optimize the multiplication routine 2018-07-01 19:07:47 +02:00
Karol Stasiak
d39aac86ac C64 should compile with no illegals by default, for SuperCPU, C65 and Mega65 compatibility 2018-06-24 19:39:16 +02:00
Karol Stasiak
3d47c51804 Less restrictive licensing for the standard library 2018-06-22 18:16:10 +02:00
Karol Stasiak
bf1a3a6677 Fix label name clash 2018-06-18 22:40:32 +02:00
Karol Stasiak
13b06bd505 Fix zeropage allocation 2018-06-18 22:40:14 +02:00
Karol Stasiak
278cbcec63 Fixed return dispatch returns on LUnix. Added non-relocated address constants. 2018-06-10 01:56:04 +02:00
Karol Stasiak
8931ced6fc Preliminary LUnix support 2018-06-09 00:18:21 +02:00
Karol Stasiak
7eab7c439e Preliminary Atari 2600 support 2018-04-03 23:13:57 +02:00
Karol Stasiak
76a30acf9a Preliminary BBC Micro support 2018-04-02 23:40:40 +02:00
Karol Stasiak
fcf4af6c55 NES mapper experiments 2018-03-17 17:09:30 +01:00
Karol Stasiak
9680423691 Famicom support 2018-03-15 23:46:16 +01:00
Karol Stasiak
8a347e5058 Preliminary segment support; C16/+4 fixes 2018-03-15 23:09:19 +01:00
Karol Stasiak
05e147b880 Removal of detailed flow analysis; it was slow and not worth it 2018-03-05 12:41:43 +01:00
Karol Stasiak
15dbaad6d1 Use zero page locations as as pseudo-registers; 8-bit multiplication and 16-bit shifts 2018-03-05 12:05:37 +01:00
Karol Stasiak
606011ea38 New target: C64 with SuperCPU in native mode 2018-03-03 21:41:49 +01:00
Karol Stasiak
6ed5d51260 Preliminary support for 65816, 65CE02 and HuC6280 2018-03-03 01:21:57 +01:00
Karol Stasiak
51a4fe5859 More pointer space for C64/C128 2018-02-27 11:58:18 +01:00
Karol Stasiak
0ca1be0c00 Tons of things:
– changed `inline` to `macro`
– added support for parameters for macros written in Millfork
– added `inline`, `noinline`, `register` hints
– added <<<< operator
– pointer dereference expressions are now supported more widely
– C64 library fixes
– added `-O1` command line option as an alias for `-O`
2018-02-01 22:39:38 +01:00
Karol Stasiak
c599db0068 Inline assembly improvements 2018-02-01 00:22:53 +01:00
Karol Stasiak
341466b198 Decimal multiplication, decimal right shift fixes 2018-01-31 22:26:20 +01:00
Karol Stasiak
c7f45ebddc Preliminary Apple II support 2018-01-23 13:37:03 +01:00
Karol Stasiak
6f2a157de0 More C64 I/O routines 2018-01-20 22:03:56 +01:00
Karol Stasiak
23a2830951 Fixed the C64 implementation of _panic 2018-01-10 10:54:15 +01:00
Karol Stasiak
502faa3694 panic() 2018-01-08 01:17:48 +01:00
Karol Stasiak
48e26a0538 Initial code upload 2017-12-07 00:23:30 +01:00