aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/cpu.ts (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-12-12perf(cpu): speed up event systemUri Shaked1-18/+28
ditch `array.sort()` and instead manually keep the array sorted when we insert a new item.
2020-12-12fix(cpu): event system issueUri Shaked1-2/+2
`updateClockEvent()` and `clearClockEvent()` would sometimes mess up the list of events. This could cause unexpected behavior when you have multiple timers running. Also added regression tests for these methods.
2020-12-09perf!: centeral timekeepingUri Shaked1-1/+44
This should improve performance, especially when running simulations with multiple peripherals. For instance, the demo project now runs at ~322%, up from ~185% in AVR8js 0.13.1. BREAKING CHANGE: `tick()` methods were removed from individual peripherals. You now need to call `cpu.tick()` instead.
2020-12-09refactor: central interrupt handling #38Uri Shaked1-3/+76
2020-05-25feat(timer): Compare Match Output (#45)Uri Shaked1-0/+4
The Compare Match Output bits are used to generate hardware PWM signals on selected MCU pins. This is also the mechanism used by Arduino's analogWrite() method. See #32 for more details
2020-04-28fix(timer): incorrect high counter byte behaviorUri Shaked1-0/+8
According to the datasheet, the value of the high byte of the counter for 16-bit timers (such as timer 1) is only updated when the low byte is being read/written. close #37
2020-04-09feat(instruction): 22-bit PC support #31Uri Shaked1-2/+16
adapt CALL, ICALL, RCALL, RET, and RETI for MCUs with 22-bit PC
2020-03-22refactor: added peripherals and cpu feature folderslironh1-1/+1
2019-12-07refactor: tslint → eslintUri Shaked1-4/+5
2019-11-27fix: SP not initialized on resetUri Shaked1-2/+11
close #2
2019-11-25feat: GPIO peripheral implementationUri Shaked1-2/+4
Add new AVRIOPort class, implements GPIO output logic
2019-11-19doc: avr8js → AVR8jsUri Shaked1-1/+17
2019-11-19doc: add some commentsUri Shaked1-0/+7
2019-11-19feat: implement some AVR instructions + testsUri Shaked1-0/+43