Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HuCC beta and the latest PCEAS updates. #4

Merged
merged 299 commits into from
Oct 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
299 commits
Select commit Hold shift + click to select a range
78f24d1
Change pseudo_flags to pseudo_allowed and make its usage easier to un…
jbrandwood Mar 9, 2024
d3228e9
Update PCEAS to properly handle overlayed memory banks in a StreetFig…
jbrandwood Mar 12, 2024
bd68029
Fix sym2inc to work with PCEAS's modified .sym file.
jbrandwood Mar 12, 2024
c5c6fc3
Add rom-core-hugerom example showing how to make a StreetFighterII-si…
jbrandwood Mar 12, 2024
8372778
Update core-startup.asm for the removal of .settag in PCEAS.
jbrandwood Mar 13, 2024
977a1d8
Update whats.new and improve comments in hugerom.asm
jbrandwood Mar 13, 2024
4ae16e2
Merge pull request #26 from jbrandwood/master
jbrandwood Mar 13, 2024
060905a
Fix parsing a '#' at the start of data in a ".dw".
jbrandwood Mar 13, 2024
1563f18
Add rom-core-hugerom example project to the examples/asm/elmer README.
jbrandwood Mar 13, 2024
d4e7cd6
Clean up .gitignore
jbrandwood Mar 25, 2024
e94b9cf
Try to get github to publish non-release 'master' builds with the 'cu…
jbrandwood Mar 25, 2024
03f20e9
The github conditional seems to work, but the tag name doesn't. Try a…
jbrandwood Mar 25, 2024
cce3913
Merge pull request #30 from jbrandwood/master
jbrandwood Mar 25, 2024
13e604b
Add Dave Shadoff's changes to include/huc/startup.asm
jbrandwood Mar 26, 2024
574cf43
Merge pull request #31 from jbrandwood/master
jbrandwood Mar 26, 2024
6ec3171
Remove duplicate equate definitions from various asm files.
jbrandwood Mar 30, 2024
1bee72f
Fix PCEAS .ifdef not knowing that an existing symbol can be undefined.
jbrandwood Mar 30, 2024
84c9766
Significant updates to PCEAS symbol handling.
jbrandwood Mar 30, 2024
58701b2
Update cd-core-scsitest and ted2-core-guilliver to test the new stuff.
jbrandwood Mar 30, 2024
0f5b697
Improve the comments in rom-core-hugerom
jbrandwood Mar 30, 2024
eb63aff
Upgrade libpng from 1.6.37 to 1.6.43, and zlib from 1.2.11 to 1.3.1.
jbrandwood Mar 31, 2024
086f414
Add "offset" and "length" parameters to .incbin in PCEAS.
jbrandwood Apr 1, 2024
ae77239
Merge pull request #32 from jbrandwood/master
jbrandwood Apr 1, 2024
5266c5b
Enable multiprocessor compilation for building HuC and the other tools.
jbrandwood Apr 2, 2024
1cd0af4
Rename a symbol's defcnt and refcnt because they're both now tracked …
jbrandwood Apr 2, 2024
5419fb7
Revert "Enable multiprocessor compilation for building HuC and the ot…
jbrandwood Apr 2, 2024
611e945
Fix HuC's farmemget() to stop it stomping all over memory when crossi…
jbrandwood Apr 3, 2024
183b4e2
Merge pull request #33 from jbrandwood/master
jbrandwood Apr 3, 2024
a3351fb
Update github linux build to Ubuntu 22.04, and add MacOS-14 for testing.
jbrandwood Apr 3, 2024
aa635f1
OK, so you can't just comment-out a line in build.yml!
jbrandwood Apr 3, 2024
eb6b525
So xcode-14 is still broken on macos-12, try building with xcode-13.4.1
jbrandwood Apr 3, 2024
afb243e
Fix stupid typo in .incchrpal
jbrandwood Apr 3, 2024
36774e4
Merge pull request #36 from jbrandwood/master
jbrandwood Apr 3, 2024
5a7a872
Remove debug printout left in .incchrpal
jbrandwood Apr 4, 2024
fc9ea15
Change PCEAS usage of platform define WIN32 to _WIN32 instead.
jbrandwood Apr 7, 2024
a1ded6f
Move PCEAS tracking of included files from do_include() to open_input().
jbrandwood Apr 7, 2024
fdd2cdf
Change unnamed .procgroups to use a symbol name based on the source f…
jbrandwood Apr 7, 2024
906c939
Make PCEAS branch-tracking optional in the first and last passes.
jbrandwood Apr 8, 2024
53ce170
Fix a couple of examples that failed when unused .procs are not assem…
jbrandwood Apr 9, 2024
bc403a2
Major rework of the PCEAS code that strips out unused procedures.
jbrandwood Apr 9, 2024
875e362
Clean up PCEAS error and warning messages to make them more consistent.
jbrandwood Apr 10, 2024
a627890
Merge pull request #37 from jbrandwood/master
jbrandwood Apr 11, 2024
3b3f236
Allow PCEAS to build on Windows with VS2019 by adding xgetopt
jbrandwood Apr 11, 2024
988a20e
Small fixes and cleanup to xgetopt source.
jbrandwood Apr 14, 2024
5c710f2
Alter PCEAS to combine multiple source files on the command line into…
jbrandwood Apr 14, 2024
e191ca7
Use cd-core-scsitest example to test PCEAS's new multiple source files.
jbrandwood Apr 14, 2024
9ee573a
PCEAS: Use xgetopt on all target platforms to avoid annoying differen…
jbrandwood Apr 14, 2024
aca8ffa
<sigh> OK, neither linux or mac are happy with this use of xgetopt.
jbrandwood Apr 14, 2024
81d68fd
Small PCEAS fixes for processing SDCC-generated code.
jbrandwood Apr 15, 2024
202dd75
Change PCEAS usage of SDCC's _DATA area.
jbrandwood Apr 19, 2024
fd79b31
Update .gitignore to filter out msbuild droppings.
jbrandwood Apr 19, 2024
93ec913
Add ./huc/bin/ to the path while building the asm example projects.
jbrandwood Apr 19, 2024
28e3ea4
Modify ./huc/src makefile so "make clean" removes msbuild intermediates.
jbrandwood Apr 19, 2024
c5b8ede
Really ... Apple doesn't understand "rm --one-file-system"?
jbrandwood Apr 19, 2024
80c49e4
Change PCEAS to store line number and file info for where symbols are…
jbrandwood Apr 28, 2024
727f1fc
Add a note about when the VDC locks-in Burst Mode for the next frame.
jbrandwood Jun 8, 2024
37ec9a7
Fix for HuC and isoLINK parsing of PCE_INCLUDE on linux.
jbrandwood Jun 8, 2024
41e917b
Duplicate src/huc directory into src/hucc
jbrandwood Apr 28, 2024
efa3bec
Restore src/huc directory after duplication
jbrandwood Apr 28, 2024
de823c2
Add VS2019 msbuild solution directory to HuCC
jbrandwood Apr 30, 2024
0de861e
Initial changes from HuC to HuCC.
jbrandwood Apr 30, 2024
651a49b
Add HuCC to .gitignore and src/Makefile
jbrandwood May 2, 2024
c383199
Remove I_SWAPW i-code and __swapw macro, they aren't used anywhere.
jbrandwood May 2, 2024
fd0d166
Comment out all HuCC built-in pragma fastcall definitions.
jbrandwood May 13, 2024
97abd87
Add "__far" as an alternative to "far" for declaring far pointers.
jbrandwood May 13, 2024
7771e10
Change the name of HuCC "an()" to "alphanum()" to make it more readable.
jbrandwood May 13, 2024
d018c28
Increase max number of HuCC __fastcall arguments from 8 to 16.
jbrandwood May 14, 2024
deaf6db
Comment out more HuCC ancient pre-fastcall hard coded function defini…
jbrandwood May 14, 2024
27e8e40
Comment out HuCC's current branch optimization, it provides little be…
jbrandwood May 19, 2024
0dd6415
Use macros instead of hard-coded instructions for storing bytes in HuCC.
jbrandwood May 19, 2024
e215106
Add VS2019 msbuild solution directory to PCEAS
jbrandwood May 19, 2024
2d40423
Add .alias and .ref pseudo ops to PCEAS.
jbrandwood May 19, 2024
8991667
Small tweaks to the international fonts in examples/asm/elmer/fonts/
jbrandwood May 19, 2024
6f548ae
Whoops, I broke PCEAS's detection of the redefinition of location sym…
jbrandwood May 20, 2024
0e28a2e
Add ".hucc" pseudo-op to PCEAS so the compiler can signal generated c…
jbrandwood May 20, 2024
0ec6991
Remove the remains of the hard-coded MagicKit fastcalls from HuCC.
jbrandwood May 20, 2024
b7fb85d
Change HuCC to output const data with a more-descriptive label.
jbrandwood May 20, 2024
a02530d
Surround HuCC generated procedures with ".hucc" and ".pceas".
jbrandwood May 21, 2024
0eefcd3
Add __xsafe attribute to __fastcall function declarations in HuCC.
jbrandwood Jun 3, 2024
24112ff
Clean out the unused remains of some ancient attempt to get HuC to us…
jbrandwood Jun 3, 2024
9d58f20
Remove some more dregs of ancient hard-coded functions in HuCC.
jbrandwood Jun 3, 2024
6aaad13
Add "--hucc" option flag to PCEAS which changes the thunk epilog code.
jbrandwood Jun 8, 2024
0ac8962
Change HuCC function prolog and epilog code generation, and the
jbrandwood Jun 8, 2024
ea2e7ff
Fix for HuCC parsing of PCE_INCLUDE on linux.
jbrandwood Jun 8, 2024
84e4fa1
Change HuCC to add "huc_globals" labels around definitions generated …
jbrandwood Jun 14, 2024
9a526f7
Change PCEAS to allow .DS in a procedure by fixing how .DS checks for…
jbrandwood Jun 15, 2024
a24e67c
Add <unistd.h> to HuCC for non-Windows builds.
jbrandwood Jun 15, 2024
cac63fb
Almost-random changes to CodeQL script to see if it helps with the Co…
jbrandwood Jun 15, 2024
edee03a
Fix rom-core-hugerom makefile, is this what broke CodeQL?
jbrandwood Jun 15, 2024
f54e352
Revert "Almost-random changes to CodeQL script to see if it helps wit…
jbrandwood Jun 15, 2024
5d34d8c
Make HuCC define "__HUC__" and "__HUCC__" for use in C header files.
jbrandwood Jun 23, 2024
6d6cb1a
Update isoLINK to detect HuCC programs and use an embedded copy of
jbrandwood Jun 27, 2024
c402082
Change HuC examples makefiles to avoid multiprocessor build errors
jbrandwood Jun 27, 2024
3ed4848
Make HuCC's #inctilepal align to the next bank if there's not enough
jbrandwood Jun 30, 2024
acae635
Change the function names that HuCC uses for variable shifts so that
jbrandwood Jun 30, 2024
c5609ba
Change HuCC's "#pragma fastcall" so that library functions with no
jbrandwood Jun 30, 2024
0c0d271
Change how PCEAS reports branch optimization to allow for huge C prog…
jbrandwood Jun 30, 2024
659446c
Add HuCC's "leave" macro to HuC to make it easier for developers to
jbrandwood Jul 9, 2024
1804ee8
Fix compiler warning in HuLZ tool.
jbrandwood Jul 14, 2024
465f3db
Make PCEAS give an error message if an "rts" is used in a #asm
jbrandwood Jul 14, 2024
59488ed
Add .PHASE/.DEPHASE to PCEAS to allow code to be targeted to run at a…
jbrandwood Jul 14, 2024
961acab
Make isoLINK recognize that a Stage1 kernel loader should not use IPL…
jbrandwood Jul 18, 2024
ebcd123
Change PCEAS so that symbols changing address is an error() and not
jbrandwood Jul 18, 2024
12c188a
Add HuCC changes to examples/asm/elmer/core* library files.
jbrandwood Jul 18, 2024
c2fcafc
Change vdc.asm to do faster SuperGRAFX detection, and use .PHASE/.DEP…
jbrandwood Jul 18, 2024
d129f13
Small change to vce.asm for compatibility with HuCC.
jbrandwood Jul 18, 2024
1340935
Change examples/asm/elmer/* to use __temp instead of _temp to avoid
jbrandwood Jul 18, 2024
baabe27
Move the asm libs that HuCC needs from examples/asm/elmer/include/ to…
jbrandwood Jul 20, 2024
4bbc579
Update sym2inc to use the PCE_INCLUDE path, and update the example
jbrandwood Jul 20, 2024
fcd1696
OK, so don't use local versions of strlcpy() or strlcat() on a Mac.
jbrandwood Jul 20, 2024
ad6b41b
Move ted2.inc that HuCC needs from examples/asm/elmer/include/ to inc…
jbrandwood Jul 20, 2024
327814a
Whoops, fix the core-kernel IRQ2 handling I broke a few days ago!
jbrandwood Jul 27, 2024
5cbf109
Add the new HuCC libraries, headers and default fonts.
jbrandwood Jul 27, 2024
12ee9cb
Whoops, I forgot to declare abs() in the HuCC header files!
jbrandwood Jul 29, 2024
187c234
Add, but do not enable, code for the HuCC compiler to check for C stack
jbrandwood Jul 29, 2024
c6e95c4
Change HuCC I_LBEQ/I_LBNE/I_LBRA to I_BEQ/I_BNE/I_BRA to make them
jbrandwood Jul 31, 2024
1723a92
Fix TGEMU's handling of VDC and VCE mirrored addresses so that
jbrandwood Aug 1, 2024
499fa5c
Fix TGEMU failing to set the NZ flags after a PLX and PLY.
jbrandwood Aug 3, 2024
c58d163
Change the CORE library to set a CORE_PAGE define in addition to
jbrandwood Aug 3, 2024
71b5fb6
Add exit() and abort() functions to HuCC for the TGEMU unit testing.
jbrandwood Aug 3, 2024
72d17be
Change hucc-final.asm to reset CORE_PAGE before including the library
jbrandwood Aug 3, 2024
be8f611
Fix typo in hucc-systemcard.h
jbrandwood Aug 3, 2024
0daaa85
Change hucc.asm to pass the program's return code from main() back
jbrandwood Aug 3, 2024
c06008a
Change HuCC to reset .CODE and .DATA pages after #incasm and #incasml…
jbrandwood Aug 4, 2024
327416d
Change testsuite to remove malloc() tests if building with HuCC.
jbrandwood Aug 4, 2024
082f371
Add get_vram(), put_vram() and __builtin_ffs() to the HuCC library
jbrandwood Aug 4, 2024
44eed58
Disable the __far in strcmp() because HuCC doesn't handle __far
jbrandwood Aug 4, 2024
bf7d913
Change HuCC to automatically include "huc.h" in order to define all
jbrandwood Aug 4, 2024
24ebf35
Change tests/930526-1.c to use < 128 bytes of local variable stack
jbrandwood Aug 4, 2024
ee09cd2
Change PCEAS to default .DATA to use page 3, and if using newproc,
jbrandwood Aug 4, 2024
c01b3dc
Remove the last code for the pseudo vram[] and vdc[] arrays from HuCC.
jbrandwood Aug 4, 2024
5764de4
Change HuCC's strlcat() to be standards-compliant when the destination
jbrandwood Aug 5, 2024
ce2c92c
Change TGEMU to load/verify different screen dumps for HuC and HuCC
jbrandwood Aug 5, 2024
9eabea9
Make memcpy(), memset(), memcmp(), etc, check for a zero length.
jbrandwood Aug 6, 2024
f969a62
Fix a couple of HuCC codegen typos in macro names and add __extuw
jbrandwood Aug 6, 2024
29439f2
Fix silly typo bug in HuCC's __asrwi macro.
jbrandwood Aug 7, 2024
15c12d9
Fix HuCC's variable asr/asl/lsr with counts >= 16.
jbrandwood Aug 7, 2024
52f27b3
Update test/tests/looop-ivopts-2.c and test/dg/pr10392-1.c for the
jbrandwood Aug 7, 2024
212c703
Shuffle the location of variables in hucc.asm to make the C stack
jbrandwood Aug 7, 2024
9c5cd80
Change how TGEMU chooses between HuC and HuCC screendumps, now it
jbrandwood Aug 7, 2024
c2d4d04
Fix the command line that HuCC passes to PCEAS on linux and MacOS.
jbrandwood Aug 8, 2024
bb2d2eb
Move HuCC's optimized i-code output routine gen_asm() from optimize.c
jbrandwood Aug 8, 2024
841ca75
Reorder the macros in hucc-codegen.asm to cluster related things
jbrandwood Aug 9, 2024
c68845c
Add a visible seperator between functions output by HuCC so that
jbrandwood Aug 9, 2024
4190479
Change eq/ne/gt/le/ge/lt to use the I_CMPW i-code instead of I_JSR
jbrandwood Aug 10, 2024
3560bdf
Add a new "huc-conditionals.c" test to the testsuite to stress the
jbrandwood Aug 10, 2024
34a73cd
Reorganize HuCC's code generation of conditional statements in order …
jbrandwood Aug 10, 2024
f2a2c2a
Teach HuCC to optimize "== 0" and "!= 0" into __notw and __tstw.
jbrandwood Aug 10, 2024
53feb61
Teach HuCC to optimize "== 1234" and "!= 1234" into __cmpwi_eq and __…
jbrandwood Aug 10, 2024
f1f39da
Stop HuCC from emitting "<" for the two ZP locations that it knows
jbrandwood Aug 11, 2024
8ab5dc0
Remove I_LDBY and I_LDYB i-codes that seem to have been a mostly unsu…
jbrandwood Aug 13, 2024
7a40551
Add optimizations for byte-array address calculation to complement
jbrandwood Aug 14, 2024
01fcccd
Remove the totally unused X_LDUB i-code.
jbrandwood Aug 14, 2024
d51cf3c
Fix HuCC code generation so that a T_SYMBOL always contains a pointer
jbrandwood Aug 15, 2024
d7b43a8
Fix various stupid oversights that were causing a bunch of library
jbrandwood Aug 18, 2024
742e35e
Add sgx_detect() to HuCC's library.
jbrandwood Aug 19, 2024
d5455e5
Add MagicKit's psg_* equates to hucc-deprecated.inc
jbrandwood Aug 19, 2024
ee040fd
Make HuCC understand the return type from functions so that it can use
jbrandwood Aug 22, 2024
b5d7295
Clean up HuCC's handling of static local variable definitions and
jbrandwood Aug 22, 2024
4594d03
Change how HuCC generates the local function variables in "-fno-recur…
jbrandwood Aug 23, 2024
13f3ff7
Fix HuCC's peephole optimizer so that it can handle "LDWI number; ADD…
jbrandwood Aug 23, 2024
cde4c48
Change HuCC's __ldw, __ldb and __lbub macros to remove the optional
jbrandwood Aug 24, 2024
87b61c7
Teach HuCC to optimize "if (variable)" and "if (!variable) into __tnz…
jbrandwood Aug 24, 2024
dc1d795
Change HuCC to defer the addition of an array's base address until
jbrandwood Aug 25, 2024
e7b4aa3
Beautify HuCC's code generation in order to make it easier to read.
jbrandwood Aug 27, 2024
52d1761
Improve HuCC's code generation for "switch()" statements, and then
jbrandwood Aug 28, 2024
9826850
Add missing reference to <limits.h> that Linux and MacOS need.
jbrandwood Aug 28, 2024
82f6bc0
Another tiny improvement to the __switchw and __switchb macros.
jbrandwood Aug 28, 2024
6521164
Teach HuCC to optimize reading "array[variable]" when the array is
jbrandwood Aug 29, 2024
8533618
Fix HuCC's optimization of unused post-increment and post-decrement
jbrandwood Aug 30, 2024
73fddd3
Fix HuCC's optimization of I_SWITCHW into I_SWITCHB to include the
jbrandwood Aug 31, 2024
e83c523
Consolidate HuCC's I_ADDWI/I_SUBWI/etc optimizations into one rule
jbrandwood Aug 31, 2024
f963e08
Initial reorganization of HuCC's peephole optimization to add math
jbrandwood Sep 1, 2024
c41c184
Remove X_PEAS i-code because it offers no saving in code generation, …
jbrandwood Sep 3, 2024
4c8bca2
Clean up HuCC's output for more consistancy in tabbing and spacing
jbrandwood Sep 3, 2024
b00cbd3
Teach HuCC how to use PCEAS's .alias to remove the double-branching
jbrandwood Sep 3, 2024
9f3dd16
sym2inc: fix outputting garbage
rofl0r Sep 5, 2024
fa96abe
Teach HuCC to optimize writing "array[index]" when the array is
jbrandwood Sep 6, 2024
5f3a7a1
Merge pull request #40 from jbrandwood/master
jbrandwood Sep 6, 2024
a2d4e73
Merge pull request #39 from rofl0r/fix_sym2inc
jbrandwood Sep 6, 2024
8de2d0d
Add more of MagicKit's old macro definitions to hucc-deprecated.inc
jbrandwood Sep 6, 2024
bbd2ef6
Merge pull request #41 from jbrandwood/master
jbrandwood Sep 6, 2024
3b7324f
Add HuC's put_tile() and sgx_put_tile() functions to HuCC's library.
jbrandwood Sep 7, 2024
a1a1200
Change HuCC to remove Uli's spamming of C enums to the console.
jbrandwood Sep 7, 2024
d21acfc
Merge pull request #42 from jbrandwood/master
jbrandwood Sep 7, 2024
ebb5609
Fix bug in HuCC poke() function where the address can be corrupted
jbrandwood Sep 8, 2024
5d9885d
Merge pull request #43 from jbrandwood/master
jbrandwood Sep 8, 2024
24b781e
Add generation of I_FENCE to HuCC to mark the end of a C statement
jbrandwood Sep 9, 2024
89646f9
Modify I_FARPTR_I macro to save a byte, and make it easier to read.
jbrandwood Sep 10, 2024
d2b9cd7
Change "bm_error" variable to "__bm_error" so that it is available
jbrandwood Sep 10, 2024
051c63f
Change "__poke" into an alias for "__si" to save 2 bytes of ZP.
jbrandwood Sep 10, 2024
465de40
Add HuCC examples/ directory, and "sgx" and "shmup" examples, both
jbrandwood Sep 11, 2024
0a01feb
Make HuCC set palette entry 1 to cyan so that text is visible when
jbrandwood Sep 11, 2024
4ef68e4
Merge pull request #44 from jbrandwood/master
jbrandwood Sep 11, 2024
da859b7
Rewrite HuCC's optimization of pre and post increment/decrement.
jbrandwood Sep 13, 2024
53b9414
Add HuCC optimizations for "array[index]" pre and post increment/decr…
jbrandwood Sep 14, 2024
d0bbc7b
Rename all HuCC i-codes and macros to follow the new naming scheme.
jbrandwood Sep 15, 2024
0484ec6
Teach HuCC to use I_FENCE to optimize "var=69" immediate stores to th…
jbrandwood Sep 16, 2024
a3f4bc4
Change PCEAS to omit the output of .if/.else/.endif while expanding
jbrandwood Sep 16, 2024
50549f9
Merge pull request #45 from jbrandwood/master
jbrandwood Sep 16, 2024
2aabe87
Add HuCC peephole rules for TST and NOT with memory locations, and
jbrandwood Sep 18, 2024
cc0fd95
Teach HuCC optimizer to recognize when the I_AND_WI and I_ASR_WI
jbrandwood Sep 19, 2024
7eb04c7
Fix Uli's typo in enum.c that was breaking the enum-1.c test with
jbrandwood Sep 19, 2024
de68561
Rename HuCC's various "type", "code" and "data" structure members
jbrandwood Sep 19, 2024
532ef6c
Change CORE IRQ handling so that the traditional System Card timing
jbrandwood Sep 20, 2024
132f74a
Change HuCC enum structure from "value" to "enum_value" for clarity.
jbrandwood Sep 20, 2024
deb6354
Rename another few HuCC structure members, and remove a couple of
jbrandwood Sep 20, 2024
f6adda2
Fix embarrassing mistake in hucc-codegen.asm that broke __asl.wi
jbrandwood Sep 23, 2024
2b8d02f
Temporarily disable is_byte() in expr.c, because it isn't working
jbrandwood Sep 24, 2024
9874ff8
Merge pull request #46 from jbrandwood/master
jbrandwood Sep 24, 2024
18c069a
Update HuCC's final load_palette() parameter from a word to a byte.
jbrandwood Sep 29, 2024
65f53b7
Update HuCC's hucc-string.h to make it easier to switch between the
jbrandwood Sep 29, 2024
9bc0d91
Change how HuCC generates the names for static local variables so tha…
jbrandwood Sep 30, 2024
a4ae413
Change HuCC's use of "JSR aslw/asrw/lsrw" into distinct i-codes so
jbrandwood Sep 30, 2024
44d752b
Add some missing rules for constant expressions to HuCC's peephole op…
jbrandwood Oct 3, 2024
899060c
Merge pull request #47 from jbrandwood/master
jbrandwood Oct 3, 2024
8e76ec3
Add __ldwi to hucc-deprecated.inc for projects that use the old name.
jbrandwood Oct 3, 2024
e196ad3
Change PCEAS to allow "/* */" comments in macro parameters, and change
jbrandwood Oct 3, 2024
a07073b
Merge pull request #48 from jbrandwood/master
jbrandwood Oct 3, 2024
15ffd00
Change HuCC to split all comparisons and tests into 2 stages, the fir…
jbrandwood Oct 6, 2024
2a85906
Update stack-local symbol output to the use the new C-style /* */ com…
jbrandwood Oct 6, 2024
dff7ec2
Add SGX_PARALLAX flag setting to core-config.inc and hucc-config.inc and
jbrandwood Oct 8, 2024
d532a1f
Change how HuCC generates the code for C comparisons.
jbrandwood Oct 9, 2024
05c2b1c
Tidy up the comments for the comparison macros in hucc-codegen.asm
jbrandwood Oct 9, 2024
8823fd2
Teach HuCC's peephole optimizer how to convert both the compare-with-…
jbrandwood Oct 11, 2024
ad9ce4b
Change HuCC's comparisons to set the C flag for true instead of setti…
jbrandwood Oct 12, 2024
9281f33
Merge pull request #50 from jbrandwood/master
jbrandwood Oct 12, 2024
5a193f5
Change HuCC to remove some of the intptr_t usage and both clean up
jbrandwood Oct 13, 2024
92bef03
Fix the asm ted2-core-hwdetect project SuperGRAFX detection that was …
jbrandwood Oct 13, 2024
51e95c3
Add new functions to HuCC to set the SuperGRAFX's VPC registers.
jbrandwood Oct 14, 2024
f66ca97
Merge pull request #51 from jbrandwood/master
jbrandwood Oct 14, 2024
c04647b
Another small optimization to HuCC's code-generation for __tst and __…
jbrandwood Oct 14, 2024
5013816
Change the HuCC code generator to split when I_TST_WR and I_BOOLEAN a…
jbrandwood Oct 15, 2024
6096d6f
Update github build workflow from MacOS 12 to MacOS 13 to see if it w…
jbrandwood Oct 16, 2024
260ef30
Yet another rework of HuCC's optimization of conditionals to move the…
jbrandwood Oct 17, 2024
bf76faf
Fix testsuite to stop using the return value of functions that are VO…
jbrandwood Oct 19, 2024
f5a4797
Fix a couple of functions in hucc-baselib.h that were accidentally de…
jbrandwood Oct 19, 2024
7d11e23
Make HuCC generate an error when a VOID return value is used, and whe…
jbrandwood Oct 19, 2024
ff0eff9
Merge pull request #52 from jbrandwood/master
jbrandwood Oct 19, 2024
32aa25c
Initial commit of the new HuCC Function reference
pceDev16 Oct 19, 2024
ae08c94
Fix the testsuite test that calls a function with a parameter when it…
jbrandwood Oct 21, 2024
59369e1
Change HuCC to give an error when a function is called with a differe…
jbrandwood Oct 21, 2024
af06b7e
Fix the HuCC return type from cd_status().
jbrandwood Oct 21, 2024
3797c4c
Merge pull request #53 from jbrandwood/master
jbrandwood Oct 21, 2024
265ad85
Fix asm library code branches that break when .proc addresses give th…
jbrandwood Oct 23, 2024
771ecb5
Change PCEAS to evaluate newproc .proc labels as their thunk address …
jbrandwood Oct 23, 2024
d5ccf70
Add ANSI-style function pointers to HuCC, and a new huc-funcptr.c test.
jbrandwood Oct 26, 2024
93ea212
Fix HuCC so that the result type of a "?" is the rvalue and not the t…
jbrandwood Oct 27, 2024
d88e464
Change HuCC sign-extend char or zero-extend unsigned char before a fu…
jbrandwood Oct 27, 2024
ed32900
Merge pull request #54 from jbrandwood/master
jbrandwood Oct 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
60 changes: 39 additions & 21 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ name: build
# upvote here https://github.com/github/feedback/discussions/4501
#
# See https://github.com/marketplace/actions/setup-xcode-version
#
# Just for reference ...
#
# sudo xcode-select -s "/Applications/Xcode_13.4.1.app"

on:
push:
pull_request:
Expand All @@ -20,11 +25,11 @@ jobs:
build:
strategy:
matrix:
os: [ubuntu-20.04, macos-11, macos-12, windows-2022]
os: [ubuntu-22.04, macos-13, macos-14, windows-2022]
runs-on: ${{ matrix.os }}
steps:
- name: Check out code from the repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build on Linux
Expand All @@ -38,14 +43,18 @@ jobs:
${{ env.MSYS2_INSTALL_FOLDER }}\msys2_shell.cmd -mingw64 -no-start -defterm -c "pacman -S binutils make mingw-w64-x86_64-gcc git --noconfirm"
${{ env.MSYS2_INSTALL_FOLDER }}\msys2_shell.cmd -mingw64 -no-start -defterm -where %CD% -c "make"
echo Build Complete
- name: Build on Mac
if: startsWith(matrix.os, 'macos')
- name: Build on MacOs-13
if: startsWith(matrix.os, 'macos-13')
run: |
make
echo Build Complete
- name: Build on MacOs-14
if: startsWith(matrix.os, 'macos-14')
run: |
sudo xcode-select -s "/Applications/Xcode_13.2.1.app"
make
echo Build Complete
- name: Archive toolchain
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: toolchain-${{ matrix.os }}
path: |
Expand All @@ -58,14 +67,14 @@ jobs:
test:
strategy:
matrix:
os: [ubuntu-20.04, macos-11, macos-12, windows-2022]
os: [ubuntu-22.04, macos-13, macos-14, windows-2022]
runs-on: ${{ matrix.os }}
needs: build
steps:
- name: Check out code from the repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Get previoulsy built artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: toolchain-${{ matrix.os }}
- name: Restore Execute Flags
Expand Down Expand Up @@ -103,14 +112,14 @@ jobs:
package:
strategy:
matrix:
os: [ubuntu-20.04, macos-12, windows-2022]
os: [ubuntu-22.04, macos-13, windows-2022]
runs-on: ${{ matrix.os }}
needs: build
steps:
- name: Check out code from the repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Get previously built artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: toolchain-${{ matrix.os }}
- name: Package ${{ matrix.os }}
Expand All @@ -130,7 +139,7 @@ jobs:
make package
echo Package Complete
- name: Archive package
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: package-${{ matrix.os }}
path: |
Expand All @@ -143,27 +152,36 @@ jobs:
if: github.ref == 'refs/heads/master' && github.event_name != 'pull_request'
steps:
- name: Check out code from the repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Get previoulsy built artifacts win64
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: package-windows-2022
- name: Get previously built artifacts macos
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: package-macos-12
name: package-macos-13
- name: Get previously built artifacts linux
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: package-ubuntu-20.04
name: package-ubuntu-22.04
# https://github.com/pyTooling/Actions/tree/main/releaser
# need to use composite on windows, since docker isn't available
- name: publish package
- name: publish release package
if: ${{ github.event_name == 'release' }}
uses: pyTooling/Actions/releaser@r0
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref_name }}
rm: true # do not keep old latest artifacts
files: |
*.zip

- name: publish current package
if: ${{ github.event_name != 'release' }}
uses: pyTooling/Actions/releaser@r0
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: "current"
rm: true # do not keep old latest artifacts
files: |
*.zip
8 changes: 4 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
# debug: true
languages: ${{ matrix.language }}
Expand All @@ -58,7 +58,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
Expand All @@ -71,4 +71,4 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
43 changes: 16 additions & 27 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,34 +1,22 @@
.DS_Store
*.iso
*.ovl
*.lst
*.o
*.out
*.ovl
*.pce
*.s
*.sgx
*.sym
*.s
/huc/
/huc/tgemu/tgemu*
/huc/src/huc/huc
/huc/src/huc/huc.exe
/huc/src/isolink/huc.exe
/huc/src/mkit/as/pceas.exe
/huc/src/mkit/as/fujias.exe
/huc/src/mkit/as/nesasm.exe
/huc/src/tools/mml/mml.exe
/huc/src/tools/mod2mml/mod2mml.exe
/huc/src/tools/pcxtool/pcxtool.exe
*.lst

*.user
.vs
.x86
.x64
bin
examples/acd/ac_test.iso
examples/sgx/sgx_test.iso
examples/sgx/sgx_test.sgx
examples/shmup/bgm.asm
examples/shmup/mod2mml.log
examples/shmup/shmup.iso

src/huc/huc
src/huc/huc.exe
src/hucc/hucc
src/hucc/hucc.exe
src/isolink/isolink
src/isolink/isolink.exe
src/mkit/as/fujias
Expand All @@ -38,19 +26,20 @@ src/mkit/as/nesasm.exe
src/mkit/as/pceas
src/mkit/as/pceas.exe
src/mkit/as/pngread/pngread.a
src/tools/hulz/hulz
src/tools/hulz/hulz.exe
src/tools/mml/mml
src/tools/mml/mml.exe
src/tools/mod2mml/mod2mml
src/tools/mod2mml/mod2mml.exe
src/tools/pce2png/pce2png
src/tools/pce2png/pce2png.exe
src/tools/pce2png/pngwrite/pngwrite.a
src/tools/pce2png/pngwrite/pngwrite.lib
src/tools/pcxtool/pcxtool
src/tools/pcxtool/pcxtool.exe
src/tools/sym2inc/sym2inc
src/tools/sym2inc/sym2inc.exe
src/tools/wav2vox/wav2vox
src/tools/wav2vox/wav2vox.exe
src/tools/pce2png/pce2png
src/tools/pce2png/pce2png.exe
src/tools/pce2png/pngwrite/pngwrite.a
src/tools/pce2png/pngwrite/pngwrite.lib
tgemu/tgemu*
src/version.h
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ install:

test:
@cd test ; /bin/sh ./test_compiler.sh
@cd test ; /bin/sh ./test_hucc.sh

check:
@cd test ; /bin/sh ./test_examples.sh
Expand Down
Loading