George Koehler 
								
							 
						 
						
							
							
							
							
								
							
							
								20a4d401d0 
								
							 
						 
						
							
							
								
								Add first long-long test for linux386.  
							
							... 
							
							
							
							Skip the long-long test set on other platforms, because they don't
have long long.  Each platform would need to implement 8-byte
operations like `adi 8` in its code generator, and set long long to
8 bytes in its descr file.
The first test is for negation, addition, and subtraction.  It also
requires comparison for equality. 
							
						 
						
							2019-09-05 13:13:02 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								97d22973ee 
								
							 
						 
						
							
							
								
								Add some BIOS bindings, and a zero-terminated print string routine.  
							
							
							
						 
						
							2019-06-24 23:07:17 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								ac8edcbfc3 
								
							 
						 
						
							
							
								
								Give up trying to make the B tests pass on CP/M.  
							
							
							
						 
						
							2019-06-17 23:33:58 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								97e6baa052 
								
							 
						 
						
							
							
								
								Fix register corruption when incrementing locals; attempt to solve the  
							
							... 
							
							
							
							alignment issue. 
							
						 
						
							2019-06-17 23:31:54 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								c2f48772e9 
								
							 
						 
						
							
							
								
								Correctly emit \r\n when a \n is written to the console, instead of \n\n...  
							
							... 
							
							
							
							Fixes : #198  
						
							2019-06-17 23:31:16 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								0ecad6c860 
								
							 
						 
						
							
							
								
								Warning fix.  
							
							
							
						 
						
							2019-06-17 23:29:41 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								402468f6fd 
								
							 
						 
						
							
							
								
								Bugfix the CP/M FCB parser, and add a test for it.  
							
							
							
						 
						
							2019-06-17 00:41:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								97e6d8f66a 
								
							 
						 
						
							
							
								
								Update README.  
							
							
							
						 
						
							2019-06-16 20:10:13 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								2b013c34dc 
								
							 
						 
						
							
							
								
								Some byte shaving; lseek returns the offset.  
							
							
							
						 
						
							2019-06-16 20:04:07 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								50dca8b954 
								
							 
						 
						
							
							
								
								First at-least-slightly working version of the CP/M read/write stuff. Not as  
							
							... 
							
							
							
							bad as I expected, but far too big. 
							
						 
						
							2019-06-16 19:04:17 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								3131dc9915 
								
							 
						 
						
							
							
								
								Partially working port of stdio to CP/M. I'm not sure this will work; it's  
							
							... 
							
							
							
							getting way too complicated (stdio is horribly subtle). I think I need to
rethink things. 
							
						 
						
							2019-06-15 22:22:01 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								9109d7af7f 
								
							 
						 
						
							
							
								
								First stage in modularising FILE*. Refactor so that printf/scanf don't rely on  
							
							... 
							
							
							
							FILE* innards; allow plats to replace the entire emulated FILE* system. 
							
						 
						
							2019-06-15 13:07:10 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								784fc67596 
								
							 
						 
						
							
							
								
								Alignment issues mean we can't access 16-bit CP/M structure elements directly.  
							
							
							
						 
						
							2019-06-11 22:33:25 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								0607529df2 
								
							 
						 
						
							
							
								
								Miscellaneous bugfixed and renamings.  
							
							
							
						 
						
							2019-06-11 21:33:57 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								a804375560 
								
							 
						 
						
							
							
								
								Miscellaneous byte shaving; you can now choose whether or not you want the CCP  
							
							... 
							
							
							
							overwritten or not, and cpm_exit() does the right thing. 
							
						 
						
							2019-06-11 20:32:00 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								3feb79ad0c 
								
							 
						 
						
							
							
								
								Simplify the .trp API to make it a bit smaller.  
							
							
							
						 
						
							2019-06-11 20:02:03 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								4e90de00e9 
								
							 
						 
						
							
							
								
								Don't pull in all the trap handlers every time.  
							
							
							
						 
						
							2019-06-11 19:47:42 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								f58d7e7d30 
								
							 
						 
						
							
							
								
								Add missing file.  
							
							
							
						 
						
							2019-06-11 19:40:46 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								48a9c48f56 
								
							 
						 
						
							
							
								
								Generate traps procedurally. For some reason they always keep getting pulled  
							
							... 
							
							
							
							in, though... 
							
						 
						
							2019-06-11 00:12:00 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								ec2ea1feff 
								
							 
						 
						
							
							
								
								Add missing file.  
							
							
							
						 
						
							2019-06-10 23:57:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								d0967e683b 
								
							 
						 
						
							
							
								
								Extend the CP/M libsys with a full set of (hopefully correct) 2.2 BDOS calls.  
							
							
							
						 
						
							2019-06-10 23:54:23 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								3f938d651b 
								
							 
						 
						
							
							
								
								EM requires 2-alignment in structures, sadly.  
							
							
							
						 
						
							2019-06-10 18:33:04 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									George Koehler 
								
							 
						 
						
							
							
							
							
								
							
							
								84f65f7ce3 
								
							 
						 
						
							
							
								
								Raise _XOPEN_SOURCE from 500 to 700  
							
							... 
							
							
							
							In OpenBSD, _XOPEN_SOURCE 500 forces _POSIX_C_SOURCE down to 199506,
which hides the declarations of openat() and fdopendir() and causes
compiler warnings.
Don't set _POSIX_C_SOURCE, because _XOPEN_SOURCE may set
_POSIX_C_SOURCE to a different value. 
							
						 
						
							2019-03-22 14:35:07 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								79a38ecc08 
								
							 
						 
						
							
							
								
								Instead of using parameterised rsts for stack access, add a huge swathe of  
							
							... 
							
							
							
							automatically built helper tools. Star Trek goes up from 40243 to 40779 bytes,
but should be a lot faster. 
							
						 
						
							2019-02-13 22:45:22 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								073451dd44 
								
							 
						 
						
							
							
								
								Merge pull request  #154  from ccodere/buildfix  
							
							... 
							
							
							
							Bugfix of compilation on gcc 4.8 
							
						 
						
							2019-02-12 21:51:46 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									carl 
								
							 
						 
						
							
							
							
							
								
							
							
								664338aa49 
								
							 
						 
						
							
							
								
								Fix compilation issue on C90 compilers (gcc 4.8 was failing to compile with default flags) - updated following comment.  
							
							
							
						 
						
							2019-02-13 00:17:45 +08:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									carl 
								
							 
						 
						
							
							
							
							
								
							
							
								c63f527dde 
								
							 
						 
						
							
							
								
								Fix compilation issue on C90 compilers (gcc 4.8 was failing to compile with default flags).  
							
							
							
						 
						
							2019-02-12 00:46:09 +08:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								34e9573929 
								
							 
						 
						
							
							
								
								Merge from default.  
							
							
							
						 
						
							2019-02-10 23:40:07 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								666d9a3edb 
								
							 
						 
						
							
							
								
								Add stray header.  
							
							
							
						 
						
							2019-02-10 12:57:00 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								aa6aefdaa0 
								
							 
						 
						
							
							
								
								Add missing header.  
							
							
							
						 
						
							2019-02-10 00:45:09 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								810afbb5b9 
								
							 
						 
						
							
							
								
								Don't run the floating point tests on i80.  
							
							
							
						 
						
							2019-02-09 14:24:31 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								bcc9c16bf7 
								
							 
						 
						
							
							
								
								More z80ex removal.  
							
							
							
						 
						
							2019-02-09 13:42:09 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								343cdf7983 
								
							 
						 
						
							
							
								
								Remove stray z80ex reference.  
							
							
							
						 
						
							2019-02-09 13:30:29 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								19f5ee3399 
								
							 
						 
						
							
							
								
								CP/M sbrk now handles overflow correctly.  
							
							
							
						 
						
							2019-02-08 21:43:52 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								22032575c5 
								
							 
						 
						
							
							
								
								Add a 'disassemble' command to the CP/M emulator.  
							
							
							
						 
						
							2019-02-08 20:54:44 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								b47d59aa4a 
								
							 
						 
						
							
							
								
								Merge from default.  
							
							
							
						 
						
							2019-02-07 23:45:47 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								8876ddcad2 
								
							 
						 
						
							
							
								
								Build the CP/M tests (which got turned off accidentally). Add a disassembler to  
							
							... 
							
							
							
							the emulator debugger. 
							
						 
						
							2019-02-07 23:36:45 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								7473601172 
								
							 
						 
						
							
							
								
								Add the cpm emulator from Cowgol, modified to work with an 8080 emulator rather  
							
							... 
							
							
							
							than libz80ex; enable tests for cpm. 
							
						 
						
							2019-02-07 22:39:57 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								5ac280026e 
								
							 
						 
						
							
							
								
								Experimentally use rst 1 to optimise frame variable loads. Reduces Star Trek  
							
							... 
							
							
							
							from 43892 to 43205 bytes. 
							
						 
						
							2019-02-07 00:06:32 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								64ae1d7583 
								
							 
						 
						
							
							
								
								Move time() into sys; change the name of the variable which controls it.  
							
							
							
						 
						
							2018-06-23 19:40:50 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								66815ff987 
								
							 
						 
						
							
							
								
								Make linux386 work with the new libc layout.  
							
							
							
						 
						
							2018-06-23 12:13:33 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								32c881474e 
								
							 
						 
						
							
							
								
								Create a basic and probably wrong common unistd.h, which replaces the plat one.  
							
							... 
							
							
							
							Made this work with cpm (but nothing else yet). 
							
						 
						
							2018-06-23 11:46:55 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								94ffa3ba88 
								
							 
						 
						
							
							
								
								libc floating point and stdio floating point can now be turned on and off using  
							
							... 
							
							
							
							ACKCONF variables. 
							
						 
						
							2018-06-23 00:04:14 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								9bf1d548fc 
								
							 
						 
						
							
							
								
								Rearrange the libc config files, ready for adding new options.  
							
							
							
						 
						
							2018-06-22 23:43:15 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								11854f4dfe 
								
							 
						 
						
							
							
								
								Ansify and warning fix.  
							
							
							
						 
						
							2018-06-17 22:30:27 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									George Koehler 
								
							 
						 
						
							
							
							
							
								
							
							
								019c7f9da7 
								
							 
						 
						
							
							
								
								Update cpm/README for console changes, ack -fp.  
							
							
							
						 
						
							2018-05-07 16:08:44 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									George Koehler 
								
							 
						 
						
							
							
							
							
								
							
							
								154509038d 
								
							 
						 
						
							
							
								
								Enable the line editor in read() for CP/M.  
							
							... 
							
							
							
							This changes the BDOS call from CPM_BDOS_CONSOLE_INPUT to
CPN_BDOS_READ_CONSOLE_BUFFER.  This allows commands like ^H to delete
characters and ^C to exit to CCP.  This is more like how Unix read(2)
uses canonical mode of termios to read a line.
This change has a disadvantage: the user buffer to read(2) must now be
large enough for an entire line.  This is because CP/M, unlike Unix,
lacks a kernel buffer to hold the rest of the line.  If you use a
buffered input library like stdio to call read(2), then it works; but
if you try to read part of a line or a single character, then it
doesn't work. 
							
						 
						
							2018-05-04 18:21:01 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									George Koehler 
								
							 
						 
						
							
							
							
							
								
							
							
								93e01eb5d1 
								
							 
						 
						
							
							
								
								Teach i80 ncg to use libfp.  Enable ack -mcpm -fp.  
							
							... 
							
							
							
							Old .o files stop working if they use floating point.  One must
recompile those files.  Old files don't call libfp in the correct way,
and may use symbols that I removed from libem.  I don't keep old
symbols in libem/flp.s, because a program that pulls both libfp and
flp.s would get "multiply defined" errors in the linker.
I teach mach/i80/ncg/table to use libfp by copying or adapting the
patterns from mach/i86/ncg/table.  I did not test all the patterns,
but I did use `ack -mcpm -fp -O4` to compile examples/mandelbrot.c,
then I ran it in the emulator YAZE-AG.  It worked, but it was slow. 
							
						 
						
							2018-04-25 16:09:56 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								0e10329876 
								
							 
						 
						
							
							
								
								Fix an issue throughout where B couldn't be built by ackprogram due to symbol  
							
							... 
							
							
							
							laziness. 
							
						 
						
							2016-12-29 17:11:53 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								4485d89b23 
								
							 
						 
						
							
							
								
								Hook the B compiler up to the compiler driver.  
							
							
							
						 
						
							2016-11-27 20:48:07 +01:00