

@220

10 years 
mulligan 
Started on timer 2 capture mode.



@219

10 years 
mulligan 
Additional features of timer 2 auto reload implemented.



@218

10 years 
mulligan 
Timer 2 16 bit auto reload implemented.



@217

10 years 
mulligan 
Back to the drawing board with interrupts ... giving up and …



@216

10 years 
mulligan 
Interrupts are harder than they look.



@215

10 years 
mulligan 
More on implementation of interrupts. Need to add a queue for …



@214

10 years 
mulligan 
Started implementation of interrupts.



@213

10 years 
mulligan 
implementing interrupts



@212

10 years 
mulligan 
Refactored main emulator loop to improve clarity. Debugging serial …



@211

10 years 
campbell 
Make io_inject definition more straightforward.



@210

10 years 
mulligan 
Three new opcodes ticked off. Going through remaining untested …



@209

10 years 
mulligan 
Compiled again.



@208

10 years 
campbell 
Fix up IO monad syntax.



@207

10 years 
campbell 
Add memory extensions and rework parts of D3.1.



@206

11 years 
mulligan 
Fixed serial output.



@205

11 years 
mulligan 
Reworked handling of serial port input, and implemented remaining …



@204

11 years 
mulligan 
Added file that performs both serial input and output on the 8051.



@203

11 years 
mulligan 
Serial input test: seems to work correctly (small bug corrected where …



@202

11 years 
mulligan 
Remaining two timer modes implemented.



@201

11 years 
mulligan 
Implemented output onto P1 and P3 lines, implemented a few of the …



@200

11 years 
mulligan 
New features:
1) conditional jumps to labels implemented
[Note: …



@199

11 years 
mulligan 
Fixes to debug code to make serial output more clear. CJNE/JNZ is not …



@198

11 years 
mulligan 
Added more info to status printout. Found weird bug in emulator: cjne …



@197

11 years 
campbell 
Add some first draft text for 3.1.



@196

11 years 
mulligan 
Improvements to processor status output. Now includes readout of main …



@195

11 years 
mulligan 
Added printout of processor status when we enter the infinite SJMP …



@194

11 years 
mulligan 
Oops: small change caused compile to fail. Works again, now.



@193

11 years 
mulligan 
Fixed type errors relating to serial output. The serial port code …



@192

11 years 
campbell 
matita rev in README



@191

11 years 
mulligan 
Changed way we handle I/O due to assert false bug on first serial I/O …



@190

11 years 
campbell 
Minor changes to work with current matita HEAD (r10998).



@189

11 years 
campbell 
Rework monad notation so that it is displayed well in proof mode.



@188

11 years 
mulligan 
Added README file for Roberto.



@187

11 years 
mulligan 
Bug found in IO handling. Something is throwing assert false.



@186

11 years 
mulligan 
Added C code to write to SBUF SFR for Roberto.



@185

11 years 
mulligan 
Found a way to inline SDCC ASM directly into C to test hard to reach …



@184

11 years 
mulligan 
Found out how to directly access 8051's registers from C code. Added …



@183

11 years 
mulligan 
A few more opcodes covered. Emulator seems to work fine on LFSR
program.



@182

11 years 
mulligan 
Linear feedback shift register (random number generator) example added.



@181

11 years 
campbell 
Sort out some axioms.



@180

11 years 
mulligan 
Arctan floating point approximation code. 8051 really struggles with …



@179

11 years 
mulligan 
Program executes as required.



@178

11 years 
campbell 
Bring README file up to date.



@177

11 years 
campbell 
Missing cost labels file.



@176

11 years 
campbell 
Remove old executable semantics without I/O.



@175

11 years 
campbell 
Add cost labels, with the semantics that the label is added to the …



@174

11 years 
campbell 
Add a form of nonterminating functional semantics.



@173

11 years 
campbell 
Minor changes for newer versions of matita.



@172

11 years 
mulligan 
JZ was not buggy after all (miscount of loop cycles). Branchless …



@171

11 years 
mulligan 
Parity check program. Bug found with jump zero instruction. A few …



@170

11 years 
mulligan 
Emulator successfully emulates rounding program.



@169

11 years 
mulligan 
Latest test C file: fast roundup to closest power of two.



@168

11 years 
mulligan 
Implemented latch access.



@167

11 years 
mulligan 
Fast inverse square root C code, emulator mostly does fine running it …



@166

11 years 
mulligan 
I/O support added for serial buffer.



@165

11 years 
mulligan 
Some example C programs that the emulator can run.



@164

11 years 
mulligan 
Successfully compiled a C program with a struct passed by pointer to a …



@163

11 years 
mulligan 
Fixed bug with JNB not jumping correctly.



@162

11 years 
mulligan 
Timers implemented (including demonic thirteen bit timer).



@161

11 years 
mulligan 
Type errors fixed. Add16 with carry implemented.



@160

11 years 
campbell 
Patch to acc to parse 8051 memory spaces and output matita terms.



@159

11 years 
mulligan 
Code for timers now in place. Needs further implementation.



@158

11 years 
mulligan 
Lots of bugs fixed. SFR access implemented.



@157

11 years 
campbell 
Make proposed memory spaces semantics more explicit.



@156

11 years 
campbell 
pdata support



@155

11 years 
campbell 
More sensible handling of integer types and pointer casts.



@154

11 years 
campbell 
Minor test case changes



@153

11 years 
campbell 
Use appropriate memory chunks for 8051 pointers.



@152

11 years 
campbell 
Force whd form for memory during execution



@151

11 years 
mulligan 
Implementing SFR access. Type error.



@150

11 years 
mulligan 
Manages to load and emulate a simple array program. A few obscure bugs.



@149

11 years 
campbell 
Fill in a few details about 8051 extensions.



@148

11 years 
mulligan 
Bug fixed: storage destination for all logical operations was …



@147

11 years 
mulligan 
Changes made today: we now have an emulator that is able to emulate …



@146

11 years 
sacerdot 
Code improved.



@145

11 years 
mulligan 
Bug in LCALL fixed.



@144

11 years 
sacerdot 
The sp can also point to upper internal ram. Fixed everywhere.



@143

11 years 
sacerdot 
More SFRs (8052 ones were missing).
SFR catalogation (is that fully …



@142

11 years 
sacerdot 
Rough implementation of direct (i.e. no BIT) SFR access.
Note: I/O is …



@141

11 years 
sacerdot 
Minor cleanup.



@140

11 years 
sacerdot 
More cleanup.



@139

11 years 
sacerdot 
More cleanup.



@138

11 years 
sacerdot 
Several bug fixes and code cleanup.
New main file: test.ml to parse …



@137

11 years 
mulligan 
Bug noticed in string conversion routine. Note added.



@136

11 years 
mulligan 
Fixed erroneous string conversion of intel hex records.



@135

11 years 
mulligan 
Fixed checksum calculation check. Requires a *half add* (i.e. ignore …



@134

11 years 
mulligan 
Checksum check calculation still not working correctly: seems to work …



@133

11 years 
mulligan 
Fixed error in parser for intel hex format entries: entries consist of …



@132

11 years 
mulligan 
Type error fixed, also fixed error in hex_format_parser which …



@131

11 years 
mulligan 
Changes from this morning: checking checksum is correct for a …



@130

11 years 
mulligan 
Commit again? Not sure what happened. All Parser files were already …



@129

11 years 
sacerdot 
Better I/O modelling (still initial ideas).



@128

11 years 
mulligan 
Some utility functions useful across modules moved into new file Util. …



@127

11 years 
campbell 
Allow the storage of pointers in suitably large integers.



@126

11 years 
campbell 
Put in real pointer sizes.



@125

11 years 
campbell 
Unify memory space / pointer types.
Implement global variable …



@124

11 years 
campbell 
Initial work on Clight semantics with 8051 memory spaces.



@123

11 years 
mulligan 
IntelHex? file modified: string_of_intel_hex_entry implemented.



@122

11 years 
mulligan 
Added file for Intel hex format conversion. Renamed pretty files to …



@121

11 years 
mulligan 
Fixed obscure type error in pretty.


