b907b15d4f
Add NES platform to default build. (Still more to go to compile correctly) and re-enabling the "k&r" cpp
Manoel Trapier
2013-03-04 19:03:17 +01:00
45e01dcd3e
Correct mach cg pmfile that incorrectly reference PLATFORM where it should reference ARCH
Manoel Trapier
2013-03-04 19:01:58 +01:00
cc534493fd
Copy pc86 platform to nes platform, and make change accordingly.
Manoel Trapier
2013-03-04 19:00:38 +01:00
7f1d330949
Update README to display better in markdown
add_nes
Manoel Trapier
2013-03-04 19:22:17 +01:00
72fe23f09a
Add NES platform to default build. (Still more to go to compile correctly) and re-enabling the "k&r" cpp
Manoel Trapier
2013-03-04 19:03:17 +01:00
00ea871e8e
Correct mach cg pmfile that incorrectly reference PLATFORM where it should reference ARCH
Manoel Trapier
2013-03-04 19:01:58 +01:00
45121f6d87
Copy pc86 platform to nes platform, and make change accordingly.
Manoel Trapier
2013-03-04 19:00:38 +01:00
4c5eb9a602
The ACK needs ed? Also, Ubuntu doesn't *have* ed?
David Given
2015-06-19 22:14:09 +02:00
5e9f79db05
Add Travis config file.
David Given
2015-06-19 22:07:16 +02:00
ff774212be
Rename branch.
David Given
2015-06-18 23:39:25 +02:00
171f16d7b8
Rename branch.
David Given
2015-06-18 23:38:50 +02:00
62cc636f10
Merge.
David Given
2015-03-23 00:15:42 +01:00
44b5d01525
Merge.
David Given
2015-03-23 00:14:10 +01:00
b146d2641c
Fix a slightly mysterious dependency issue.
David Given
2015-03-23 00:09:41 +01:00
98ea849d03
Improve flex correctness.
David Given
2015-03-23 00:09:27 +01:00
9f23fbbe6a
Allow machines to use cg if they wish.
David Given
2015-03-23 00:08:51 +01:00
c5018d7088
64-bit-ify (adhoc varargs are evil).
David Given
2015-03-23 00:07:59 +01:00
3d5e72e20b
Newer versions of GNU Make have a new function which collides with a variable we're using; change the name of the variable.
David Given
2015-03-22 12:09:46 +01:00
2271bcd0a7
Fixed a parallel build race condition (forgot to declare a dependency to the makefile).
David Given
2014-11-09 18:47:51 +01:00
6a340ea1bd
Remove regrettable comment.
David Given
2014-08-31 13:40:39 +02:00
e36d739fa4
Add (largely untested) float/int conversion.
David Given
2013-07-01 13:05:36 +01:00
8b6951dac0
Fix incorrect offset encoding in lea (sp) instructions.
David Given
2013-06-29 00:35:07 +01:00
edb174da8d
Fix incorrect encoding of 'push lr' and 'pop pc'.
David Given
2013-06-29 00:32:39 +01:00
29af6f1adb
ISA change: clz has been renamed to log2.
David Given
2013-06-27 11:25:50 +01:00
2b3f95de0b
Fix jump range checking in the addcmpb family of instructions.
David Given
2013-06-26 23:32:54 +01:00
c72eaef8ee
Add routine to set the Raspberry Pi clock to 250MHz (loads faster than the default 19.2MHz).
David Given
2013-06-24 23:57:27 +01:00
d94c1c8150
Updated distr files.
David Given
2013-06-21 23:38:21 +01:00
2be811bac2
Updated VC4 docs.
David Given
2013-06-21 23:21:08 +01:00
fd2360be0f
Ship assembler man pages.
David Given
2013-06-21 23:20:50 +01:00
55be35a68a
Add a stub malloc.h.
David Given
2013-06-20 00:15:14 +01:00
052dd9bfc0
Actually remember to set the stack pointer on startup. Reduce to stack from 16kB to a much more reasonable 1kB.
David Given
2013-06-20 00:14:55 +01:00
eaf4339cd6
Implement a very crude busy-wait based select() mechanism for consol input.
David Given
2013-06-09 22:16:30 +01:00
bbd4b46850
Fix stack corruption when adjusting SP. Be a bit more rigorous about clearing the pseudostack on branch/labels.
David Given
2013-06-07 21:25:38 +01:00
ed6c4a85d1
Change the size of the SRAM area to 128kB (to reflect reality).
David Given
2013-06-06 00:05:48 +01:00
3e0123ca03
Fix treatment of out-of-range values in switch csa.
David Given
2013-06-05 23:57:23 +01:00
aacabba165
Apply fix contributed by George Koehler: - don't crash if BSS overlaps BDOS - fix stack initialisation bug - fix command line argification
David Given
2013-06-02 22:02:15 +01:00
86c6fa2f1e
Implement NOT...
David Given
2013-05-30 23:50:19 +01:00
d5a112dbfd
Some more termios compatibility options.
David Given
2013-05-30 23:25:22 +01:00
2054618e75
Add basic termios to the rpi platform to allow echoing/newline translation to be controlled.
David Given
2013-05-30 23:19:55 +01:00
d273497077
Add some missing libc functions: setenv, unsetenv, strdup.
David Given
2013-05-29 21:41:58 +01:00
074b42aa97
Add some missing libc functions: setenv, unsetenv, strdup.
David Given
2013-05-29 21:41:58 +01:00
f522aba4af
Add support for snprintf and vsnprintf. Try and make the return value a bit more standards-compliant.
David Given
2013-05-29 17:10:58 +01:00
69953d016c
Add support for snprintf and vsnprintf. Try and make the return value a bit more standards-compliant.
David Given
2013-05-29 17:10:58 +01:00
d3e3e72860
Update from trunk.
David Given
2013-05-29 15:03:48 +01:00
6fff2d45fe
Attempt to fix 64-bitness error in ashow. Deprecate the structure format macros in h/out.h because they make no sense on 64-bit platforms.
David Given
2013-05-29 14:48:51 +01:00
e0c121d6e6
Use relocation enumerations rather than hard-coded values for relocation types (these were causing problems due to the enumeration values having changed).
David Given
2013-05-29 14:11:04 +01:00
1f36370d87
Implement nop (the C compiler sometimes generates this!).
David Given
2013-05-26 22:54:53 +01:00
ae993b1eb2
Add a crude README.
David Given
2013-05-26 19:54:22 +01:00
38e4726f5c
Boot code now works properly in both kernel and bare-metal mode.
David Given
2013-05-26 19:41:37 +01:00
ef25c53c9c
Fix bug in ine/dee.
David Given
2013-05-26 18:59:19 +01:00
e01f00e320
Allow reading from the mini UART. Add a check to not touch the UART unless it's been initialised (in case of accidents when running in kernel mode).
David Given
2013-05-26 18:58:54 +01:00
366cd10194
Remainders are calculated correctly. printf now works.
David Given
2013-05-26 13:13:58 +01:00
510888e6d5
.csb now works.
David Given
2013-05-26 13:06:25 +01:00
6284512b37
Fix erroneous section check (symbols may not have a defined section in pass 1).
David Given
2013-05-26 00:35:15 +01:00
bd9497be77
Renamed the pi-specific functions to be a bit cleaner.
David Given
2013-05-26 00:22:39 +01:00
308d41e083
Added triple-quad load and store (used by the signal stuff).
David Given
2013-05-26 00:22:08 +01:00
e299cc3bcf
stdio (output only) now works.
David Given
2013-05-25 23:59:31 +01:00
8c21a2ef9b
Stop fighting the terrible code and remove the regvar support --- it didn't help much and was a pain.
David Given
2013-05-25 23:58:35 +01:00
6a672d5e96
Heap allocations now works.
David Given
2013-05-25 23:28:47 +01:00
3b07fee160
Major bugfix where instructions weren't being shrunk correctly. (Turns out there's built-in support for doing this, which I hadn't found.)
David Given
2013-05-25 23:26:10 +01:00
b6680a48cc
Disable register variables. The code is a bit worse, but having two stackable registers makes things much easier to understand.
David Given
2013-05-25 13:31:58 +01:00
d7efb0a32c
Implement .csa.
David Given
2013-05-25 13:31:27 +01:00
2ee79ab0b2
Encode comparing branch correctly.
David Given
2013-05-25 13:31:01 +01:00
ec25fec145
Build binaries that will run bare metal. Add enough syscall library to init the uart and write text.
David Given
2013-05-25 00:35:29 +01:00
472f778342
Don't write out constant data as big-endian! Some other cleanups.
David Given
2013-05-25 00:33:38 +01:00
98e745d04c
Fix awful bug where uint32_t was sometimes defined as a short.
David Given
2013-05-25 00:33:01 +01:00
98a51732ab
Various codegen tweaks.
David Given
2013-05-24 17:04:29 +01:00
2c7ee27206
Double-quads can be loaded and stored (more) correctly.
David Given
2013-05-22 23:55:23 +01:00
6cbe6e1c4e
Better treatment of sign extension.
David Given
2013-05-22 23:12:48 +01:00
8f338f9b44
Now actually runs on real hardware.
David Given
2013-05-22 22:46:10 +01:00
7537c85e0a
Generate adds instructions when a shift-and-add is seen (useful for array indexing).
David Given
2013-05-22 21:37:48 +01:00
b5e5df4a63
Allocate a user stack to run code in.
David Given
2013-05-22 18:25:30 +01:00
cdce394b6c
Generate ld rd, (rs) instructions properly.
David Given
2013-05-22 11:02:46 +01:00
9e556d8b7b
Optimise direct access to globals, and incrementing and decrementing locals.
David Given
2013-05-22 10:55:13 +01:00
0068952bd1
Build the Raspberry Pi code.
David Given
2013-05-22 09:47:22 +01:00
6b5316dcfa
More typo fixes.
David Given
2013-05-22 00:52:58 +01:00
08c4334224
Typo fixes.
David Given
2013-05-22 00:44:04 +01:00
72542288cd
Adjust bootstrap code to build kernels that work with the mailbox test app.
David Given
2013-05-22 00:16:59 +01:00
f904465e9c
Fix signedness problem that was showing up on ARM.
David Given
2013-05-22 00:16:16 +01:00
5e9102955c
Reworked VC4 relocations and some of the instruction encoding to be actually correct. Now generating what could be real code!
David Given
2013-05-21 23:17:30 +01:00
1312fe298b
Now compiles (incorrectly) the entire libc, libpc, libm2 and libbasic!
David Given
2013-05-21 20:05:26 +01:00