]> git.the-white-hart.net Git - atmega/siggen.git/log
atmega/siggen.git
2 years agoUpdate test program
user [Fri, 1 Sep 2023 08:39:41 +0000 (03:39 -0500)]
Update test program

Test bytecode program does the following:
- Reads the ADC
- Converts ADC value into LUT step size (for siggen, eventually)
- Counts transitions on a pushbutton
- Loads the ADC value into two timers on pushbutton transitions (for
  funsies)

2 years agoRemove debounce timer and implement countdowns
user [Fri, 1 Sep 2023 08:37:14 +0000 (03:37 -0500)]
Remove debounce timer and implement countdowns

Testing showed that the interpreter runs too slowly to sample digital
inputs fast enough to encounter switch bounce problems.

Timer0 was repurposed to implement 16 countdown timers, each counting
down to zero with one tick (roughly) every 10ms.

2 years agoUpdate lots of things
user [Fri, 1 Sep 2023 03:50:24 +0000 (22:50 -0500)]
Update lots of things

- Calculate S flag
- Treat Y imm4 value of 0x0 as 0x10 for some instructions
- Rearrange mul/div opcodes
- Change multiplication algorithm to detect overflows
- Detect division by zero and set C flag
- Add signed div/mod
- Compute C and V flags for shift instructions
- Fix typo in util.inc

2 years agoAdd unsigned div and mod instructions
user [Sat, 19 Aug 2023 01:08:23 +0000 (20:08 -0500)]
Add unsigned div and mod instructions

2 years agoFix EXT macro bug and add out-of-range test prints
user [Fri, 18 Aug 2023 01:12:11 +0000 (20:12 -0500)]
Fix EXT macro bug and add out-of-range test prints

These prints are ugly, but they'll print 0x01 when a branch target is
out of range, and 0x00 if a branch is fine.

2 years agoFix bugs in ROL and ROR
user [Thu, 17 Aug 2023 22:05:29 +0000 (17:05 -0500)]
Fix bugs in ROL and ROR

2 years agoSeparate bytecode and utilities to separate files
user [Wed, 16 Aug 2023 22:53:38 +0000 (17:53 -0500)]
Separate bytecode and utilities to separate files

2 years agoAdd code to touch Nokia LCD
user [Wed, 16 Aug 2023 10:24:25 +0000 (05:24 -0500)]
Add code to touch Nokia LCD

Oh yeah.  It's all comin' together.

Successful test on hardware.

2 years agoFix branch macros for backwards branches
user [Wed, 16 Aug 2023 08:36:24 +0000 (03:36 -0500)]
Fix branch macros for backwards branches

2 years agoAdd more test bytecode and fix zero-flag bug
user [Tue, 15 Aug 2023 21:26:42 +0000 (16:26 -0500)]
Add more test bytecode and fix zero-flag bug

2 years agoAdd list files to gitignore
user [Tue, 15 Aug 2023 08:08:29 +0000 (03:08 -0500)]
Add list files to gitignore

2 years agoFix some bugs and add more test bytecode
user [Tue, 15 Aug 2023 08:06:59 +0000 (03:06 -0500)]
Fix some bugs and add more test bytecode

2 years agoWork around an unfortunate assembler bug
user [Tue, 15 Aug 2023 06:39:58 +0000 (01:39 -0500)]
Work around an unfortunate assembler bug

2 years agoMake everything unnecessarily dangerous
user [Tue, 15 Aug 2023 04:31:20 +0000 (23:31 -0500)]
Make everything unnecessarily dangerous

2 years agoAdd switch debouncing logic
user [Mon, 14 Aug 2023 00:30:00 +0000 (19:30 -0500)]
Add switch debouncing logic

2 years agoAdd IO instructions to bytecode quickref
user [Sun, 13 Aug 2023 23:32:06 +0000 (18:32 -0500)]
Add IO instructions to bytecode quickref

2 years agoChange whitespace to fit more quickref on screen
user [Sun, 13 Aug 2023 23:27:29 +0000 (18:27 -0500)]
Change whitespace to fit more quickref on screen

2 years agoAdd Tortoise-Bytecode assembly macros
user [Sun, 13 Aug 2023 23:18:27 +0000 (18:18 -0500)]
Add Tortoise-Bytecode assembly macros

2 years agoAdd more instructions
user [Sun, 13 Aug 2023 20:21:01 +0000 (15:21 -0500)]
Add more instructions

Still have to do div/mod, some IO instructions, and fix flags for some
others.

The encoding should be crystalized enough by now to write macros for
assembling bytecode and start testing on hardware.

2 years agoSave progress with first few instructions
user [Fri, 11 Aug 2023 09:03:04 +0000 (04:03 -0500)]
Save progress with first few instructions

Some of these work, I'm pretty sure.

2 years agoAdd operand decoding and fix lots of problems
user [Tue, 8 Aug 2023 06:20:36 +0000 (01:20 -0500)]
Add operand decoding and fix lots of problems

2 years agoInitial commit of bytecode interpreter skeleton
user [Mon, 7 Aug 2023 22:41:16 +0000 (17:41 -0500)]
Initial commit of bytecode interpreter skeleton

Lots of work to do here, just saving progress.

2 years agoFix typo
user [Mon, 7 Aug 2023 22:40:35 +0000 (17:40 -0500)]
Fix typo

2 years agoAdd tortoise-and-hare version of siggen
user [Wed, 12 Jul 2023 04:39:49 +0000 (23:39 -0500)]
Add tortoise-and-hare version of siggen

2 Mega-samples per second!

2 years agoAdd Arduino version and move asm version
user [Tue, 11 Jul 2023 21:56:39 +0000 (16:56 -0500)]
Add Arduino version and move asm version

2 years agoRemove extra comment
user [Fri, 7 Jul 2023 21:01:37 +0000 (16:01 -0500)]
Remove extra comment

2 years agoDetect butten press by level rather than change
user [Fri, 7 Jul 2023 20:56:12 +0000 (15:56 -0500)]
Detect butten press by level rather than change

This fixes a problem that would cause it to immediately advance
waveforms on startup specifically after being programmed.

2 years agoClean up small bits
user [Thu, 6 Jul 2023 20:46:14 +0000 (15:46 -0500)]
Clean up small bits

2 years agoDocument multiplication with register allocation
user [Thu, 6 Jul 2023 20:40:53 +0000 (15:40 -0500)]
Document multiplication with register allocation

2 years agoClean up some small bits
user [Thu, 6 Jul 2023 20:28:13 +0000 (15:28 -0500)]
Clean up some small bits

2 years agoRefactor debouncing and waveform advance to subs
user [Thu, 6 Jul 2023 20:14:46 +0000 (15:14 -0500)]
Refactor debouncing and waveform advance to subs

2 years agoAdd step size update from ADC value
user [Thu, 6 Jul 2023 03:51:25 +0000 (22:51 -0500)]
Add step size update from ADC value

2 years agoUpate header comment from original test program
user [Wed, 5 Jul 2023 22:42:28 +0000 (17:42 -0500)]
Upate header comment from original test program

2 years agoRemove stale ISR skeleton for key press handling
user [Wed, 5 Jul 2023 22:35:29 +0000 (17:35 -0500)]
Remove stale ISR skeleton for key press handling

2 years agoAdd switch debouncing and waveform switching
user [Wed, 5 Jul 2023 22:32:57 +0000 (17:32 -0500)]
Add switch debouncing and waveform switching

2 years agoUpdate with waveform sampling
user [Wed, 5 Jul 2023 06:17:05 +0000 (01:17 -0500)]
Update with waveform sampling

2 years agoInitial commit
user [Tue, 4 Jul 2023 23:22:33 +0000 (18:22 -0500)]
Initial commit

Contains debug program that reads from the ADC and writes to PORTD,
along with a skeleton of comments for future additions.