| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2010-11-10 | Changes to commentary in interrupts.asm | Duncan Smith | |
| 2010-11-09 | Woops, forgot to delete two comments. | Duncan Smith | |
| 2010-11-09 | Added guards around all routines that touch ePC or eSP. | Duncan Smith | |
| These guards have one major fault I can see. I put them as early in the routine as possible, but it's still a distinct possibility that the 68k interrupt will fire between move.b (epc)+,d0 in macro DONE of one instruction and the call to HOLD_INTS in the following instruction. I don't have a good solution to this. I can use the hardware interrupt holding support to make everything a critical section except for the cycle gap before that instruction, but that makes _every_ instruction 24 cycles slower. I don't consider that an acceptable solution. | |||
| 2010-11-09 | Added loads of interrupt processing code. | Duncan Smith | |
| Properly handling interrupts that come in a critical section is a difficult problem. This is my first stab at it. Notably, I'm doing all my interrupt processing in softwareland. It turns out to be about 1/3 as fast as using the interrupt hardware directly, though I don't have to run in supervisor mode this way. | |||
| 2010-11-09 | Clarified used/free registers list | Duncan Smith | |
| 2010-11-09 | Makefile now has 'make clean' and is very thorough. | Duncan Smith | |
| 2010-11-09 | Changed project and binaries name to z680k. | Duncan Smith | |
| 2010-09-16 | Cleared up some compiler errors | Duncan Smith | |
| 2010-09-14 | Conditional jumps work now. | Duncan Smith | |
| Holy shit that was a hairy debug session. I have a lot to look forward to. | |||
| 2010-09-14 | Trivial changes. | Duncan Smith | |
| 2010-09-13 | CCF flags :( | Duncan Smith | |
| 2010-09-13 | Documentation update | Duncan Smith | |
| 2010-09-13 | Timing correction macro added (as yet nonfunctional) | Duncan Smith | |
| 2010-09-13 | Fixed glaring bug in arithmetic routines affecting (HL) | Duncan Smith | |
| 2010-09-13 | Speed improvements to some instructions. | Duncan Smith | |
| 2010-09-13 | Fixed bug in conditional instructions which take an argument | Duncan Smith | |
| 2010-09-13 | More testcases and a few fixes | Duncan Smith | |
| 2010-09-13 | Comments saying what opcodes haven't been tested yet | Duncan Smith | |
| 2010-09-13 | Started out on my own test suite | Duncan Smith | |
| 2010-09-13 | Endianness fixes, I don't know how correct these are ... | Duncan Smith | |
| 2010-09-13 | Fixed endianness issue in deref :( | Duncan Smith | |
| 2010-09-13 | Made zexdoc's writestr routine a bit faster | Duncan Smith | |
| 2010-09-13 | Changed zexdoc to halt instead of jumping into neverneverland when it's done | Duncan Smith | |
| 2010-09-13 | Made HALT instruction halt, even if it's not a very good way to halt | Duncan Smith | |
| 2010-09-13 | Small patch to make JR reliable | Duncan Smith | |
| 2010-09-10 | XXX UNDO LATER: Performance degrading change to make debugging easier | Duncan Smith | |
| 2010-09-10 | Underef routine now should work correctly | Duncan Smith | |
| 2010-09-10 | How could I forget to actually write characters in 'writestr'? | Duncan Smith | |
| 2010-09-10 | I think I nailed all the remaining wrong-sized moves of address registers ... | Duncan Smith | |
| 2010-09-10 | Widened spacing to 64 bytes/instr to give myself some breathing room for now | Duncan Smith | |
| 2010-09-10 | CALL was mistakenly fetching an extra word and jumping to JP NZ instead of JP | Duncan Smith | |
| 2010-09-10 | Fix to make PUSHW use d2 instead of d0 | Duncan Smith | |
| 2010-09-10 | Two more fixes | Duncan Smith | |
| The underef function will now return 0 if a match is not found, rather than returning something undefined. The routine for CALL immed.w was mistakenly calling deref with a truncated address. This has been fixed. | |||
| 2010-09-10 | Lazy, slow hack to FETCHW and FETCHWI becuase I forgot about endianness | Duncan Smith | |
| 2010-09-10 | Trying to get the zexdoc testbench to run. | Duncan Smith | |
| Now, at least, it's integrated into the build system and will be automatically included in built executables. | |||
| 2010-09-10 | Added stubs for putting the emulated screen into a TIOS-drawn window. | Duncan Smith | |
| 2010-09-10 | Completely patched zexdoc to assemble with SPASM. | Duncan Smith | |
| 2010-09-08 | Some more changes, spasm almost doesn't complain anymore! | Duncan Smith | |
| 2010-09-08 | Working on adapting zexdoc to work in spasm | Duncan Smith | |
| 2010-09-07 | Blank files for multibyte opcodes created | Duncan Smith | |
| 2010-09-07 | Added testbenches folder | Duncan Smith | |
| 2010-09-07 | Fixed the last movea that wasn't size-suffixed | Duncan Smith | |
| 2010-09-07 | IO port framework now works | Duncan Smith | |
| A68k is defaulting all my address moves to word size, rather than long. I don't know whether I've expunged all this nonsense yet, but I'm trying. This version executes an infinite loop which writes 'A' to port 00h. I've patched in a write-to-console function on port 00h, so this can be used as a sort of debug monitor. | |||
| 2010-09-06 | I actually have a Makefile now, thank you very much. | Duncan Smith | |
| 2010-09-06 | Assembler is picky about EQUR apparently ... | Duncan Smith | |
| 2010-09-06 | Registers holding emulated registers are now named. | Duncan Smith | |
| Hopefully 'esp', 'epc', 'eaf', and friends will be less troublesome than 'a4', 'a6', and 'd3'. | |||
| 2010-09-06 | Registers holding emulated registers are now named. | Duncan Smith | |
| Hopefully 'esp', 'epc', 'eaf', and friends will be less troublesome than 'a4', 'a6', and 'd3'. | |||
| 2010-09-06 | Fixes to actually run code | Duncan Smith | |
| This is the version to run the first (trivial) infinite loop correctly. I hacked up the loader slightly to replace one of the (nonexistent) pages with a static byte array. z80 code executed: $4000: JP $4000 4000 c3 40 00 4003 This version also draws the opcode executed on the screen, to aid in debugging the emulator: move.b d0,$4c00+32*(128/8) Also, it turns out that I was mixing up the emulated SP (a4) and emulated PC (a6). That has been fixed. Further, it seems that movea defaults to a word operation in a68k. This led to pointer corruption, which has been fixed. | |||
| 2010-08-02 | HACK XXX UNDO LATER Made relative flag references absolute. | Duncan Smith | |
| A68k wanted to add relocations, but couldn't figure out how. Undo this later when it's speed time, as this (probably) slows things down a bit. | |||
| 2010-08-02 | No-code fixes to make it compile | Duncan Smith | |
