From d80736ab6e8e3cad2f1a30c6eaba2d6883dbe967 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 26 Aug 2017 20:31:40 +0200 Subject: Remove AmForth --- amforth-6.5/avr8/amforth-eeprom.inc | 64 - amforth-6.5/avr8/amforth-interpreter.asm | 33 - amforth-6.5/avr8/amforth-low.asm | 31 - amforth-6.5/avr8/amforth.asm | 39 - amforth-6.5/avr8/devices/at90can128/at90can128.frt | 465 ---- amforth-6.5/avr8/devices/at90can128/device.asm | 145 - amforth-6.5/avr8/devices/at90can128/device.inc | 1707 ------------ amforth-6.5/avr8/devices/at90can128/device.py | 507 ---- .../avr8/devices/at90can128/words/no-jtag.asm | 14 - .../avr8/devices/at90can128/words/no-wdt.asm | 22 - .../avr8/devices/at90can128/words/sleep.asm | 19 - amforth-6.5/avr8/devices/at90can32/at90can32.frt | 465 ---- amforth-6.5/avr8/devices/at90can32/device.asm | 139 - amforth-6.5/avr8/devices/at90can32/device.inc | 1707 ------------ amforth-6.5/avr8/devices/at90can32/device.py | 507 ---- .../avr8/devices/at90can32/words/no-jtag.asm | 14 - .../avr8/devices/at90can32/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/at90can32/words/sleep.asm | 19 - amforth-6.5/avr8/devices/at90can64/at90can64.frt | 465 ---- amforth-6.5/avr8/devices/at90can64/device.asm | 139 - amforth-6.5/avr8/devices/at90can64/device.inc | 1707 ------------ amforth-6.5/avr8/devices/at90can64/device.py | 507 ---- .../avr8/devices/at90can64/words/no-jtag.asm | 14 - .../avr8/devices/at90can64/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/at90can64/words/sleep.asm | 19 - amforth-6.5/avr8/devices/at90pwm1/at90pwm1.frt | 381 --- amforth-6.5/avr8/devices/at90pwm1/device.asm | 121 - amforth-6.5/avr8/devices/at90pwm1/device.inc | 1143 -------- amforth-6.5/avr8/devices/at90pwm1/device.py | 404 --- .../avr8/devices/at90pwm1/words/no-jtag.asm | 14 - amforth-6.5/avr8/devices/at90pwm1/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/at90pwm1/words/sleep.asm | 19 - .../devices/at90pwm161/blocks/AD_CONVERTER.frt | 71 - .../at90pwm161/blocks/ANALOG_COMPARATOR.frt | 69 - .../avr8/devices/at90pwm161/blocks/BOOT_LOAD.frt | 21 - amforth-6.5/avr8/devices/at90pwm161/blocks/CPU.frt | 114 - .../devices/at90pwm161/blocks/DA_CONVERTER.frt | 19 - .../avr8/devices/at90pwm161/blocks/EEPROM.frt | 21 - .../at90pwm161/blocks/EXTERNAL_INTERRUPT.frt | 17 - .../avr8/devices/at90pwm161/blocks/PORTB.frt | 7 - .../avr8/devices/at90pwm161/blocks/PORTD.frt | 7 - .../avr8/devices/at90pwm161/blocks/PORTE.frt | 7 - .../avr8/devices/at90pwm161/blocks/PSC0.frt | 90 - .../avr8/devices/at90pwm161/blocks/PSC2.frt | 126 - amforth-6.5/avr8/devices/at90pwm161/blocks/SPI.frt | 27 - .../devices/at90pwm161/blocks/TIMER_COUNTER_1.frt | 25 - .../avr8/devices/at90pwm161/blocks/WATCHDOG.frt | 15 - amforth-6.5/avr8/devices/at90pwm161/device.asm | 52 - amforth-6.5/avr8/devices/at90pwm161/device.frt | 613 ----- amforth-6.5/avr8/devices/at90pwm161/device.py | 389 --- amforth-6.5/avr8/devices/at90pwm2/at90pwm2.frt | 193 -- amforth-6.5/avr8/devices/at90pwm2/device.asm | 137 - amforth-6.5/avr8/devices/at90pwm2/device.inc | 1539 ----------- amforth-6.5/avr8/devices/at90pwm2/device.py | 155 -- amforth-6.5/avr8/devices/at90pwm216/at90pwm216.frt | 423 --- amforth-6.5/avr8/devices/at90pwm216/device.asm | 123 - amforth-6.5/avr8/devices/at90pwm216/device.inc | 1281 --------- amforth-6.5/avr8/devices/at90pwm216/device.py | 448 ---- .../avr8/devices/at90pwm216/words/no-jtag.asm | 14 - .../avr8/devices/at90pwm216/words/no-wdt.asm | 34 - .../avr8/devices/at90pwm216/words/sleep.asm | 19 - amforth-6.5/avr8/devices/at90pwm2b/at90pwm2b.frt | 423 --- amforth-6.5/avr8/devices/at90pwm2b/device.asm | 123 - amforth-6.5/avr8/devices/at90pwm2b/device.inc | 1281 --------- amforth-6.5/avr8/devices/at90pwm2b/device.py | 448 ---- .../avr8/devices/at90pwm2b/words/no-jtag.asm | 14 - .../avr8/devices/at90pwm2b/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/at90pwm2b/words/sleep.asm | 19 - amforth-6.5/avr8/devices/at90pwm3/at90pwm3.frt | 217 -- amforth-6.5/avr8/devices/at90pwm3/device.asm | 139 - amforth-6.5/avr8/devices/at90pwm3/device.inc | 1791 ------------- amforth-6.5/avr8/devices/at90pwm3/device.py | 175 -- amforth-6.5/avr8/devices/at90pwm316/at90pwm316.frt | 478 ---- amforth-6.5/avr8/devices/at90pwm316/device.asm | 125 - amforth-6.5/avr8/devices/at90pwm316/device.inc | 1467 ---------- amforth-6.5/avr8/devices/at90pwm316/device.py | 505 ---- .../avr8/devices/at90pwm316/words/no-jtag.asm | 14 - .../avr8/devices/at90pwm316/words/no-wdt.asm | 34 - .../avr8/devices/at90pwm316/words/sleep.asm | 19 - amforth-6.5/avr8/devices/at90pwm3b/at90pwm3b.frt | 478 ---- amforth-6.5/avr8/devices/at90pwm3b/device.asm | 125 - amforth-6.5/avr8/devices/at90pwm3b/device.inc | 1467 ---------- amforth-6.5/avr8/devices/at90pwm3b/device.py | 505 ---- .../avr8/devices/at90pwm3b/words/no-jtag.asm | 14 - .../avr8/devices/at90pwm3b/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/at90pwm3b/words/sleep.asm | 19 - amforth-6.5/avr8/devices/at90pwm81/at90pwm81.frt | 370 --- amforth-6.5/avr8/devices/at90pwm81/device.asm | 96 - amforth-6.5/avr8/devices/at90pwm81/device.inc | 1080 -------- amforth-6.5/avr8/devices/at90pwm81/device.py | 389 --- .../avr8/devices/at90pwm81/words/no-jtag.asm | 14 - .../avr8/devices/at90pwm81/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/at90pwm81/words/sleep.asm | 19 - .../avr8/devices/at90usb1286/at90usb1286.frt | 486 ---- amforth-6.5/avr8/devices/at90usb1286/device.asm | 145 - amforth-6.5/avr8/devices/at90usb1286/device.inc | 1611 ----------- amforth-6.5/avr8/devices/at90usb1286/device.py | 523 ---- .../avr8/devices/at90usb1286/words/no-jtag.asm | 14 - .../avr8/devices/at90usb1286/words/no-wdt.asm | 34 - .../avr8/devices/at90usb1286/words/sleep.asm | 19 - .../avr8/devices/at90usb1287/at90usb1287.frt | 587 ---- amforth-6.5/avr8/devices/at90usb1287/device.asm | 146 - amforth-6.5/avr8/devices/at90usb1287/device.inc | 1914 ------------- amforth-6.5/avr8/devices/at90usb1287/device.py | 625 ----- .../avr8/devices/at90usb1287/words/no-jtag.asm | 14 - .../avr8/devices/at90usb1287/words/no-wdt.asm | 34 - .../avr8/devices/at90usb1287/words/sleep.asm | 19 - amforth-6.5/avr8/devices/at90usb162/at90usb162.frt | 367 --- amforth-6.5/avr8/devices/at90usb162/device.asm | 113 - amforth-6.5/avr8/devices/at90usb162/device.inc | 1155 -------- amforth-6.5/avr8/devices/at90usb162/device.py | 387 --- .../avr8/devices/at90usb162/words/no-jtag.asm | 14 - .../avr8/devices/at90usb162/words/no-wdt.asm | 34 - .../avr8/devices/at90usb162/words/sleep.asm | 19 - amforth-6.5/avr8/devices/at90usb646/at90usb646.frt | 587 ---- amforth-6.5/avr8/devices/at90usb646/device.asm | 140 - amforth-6.5/avr8/devices/at90usb646/device.inc | 1914 ------------- amforth-6.5/avr8/devices/at90usb646/device.py | 625 ----- .../avr8/devices/at90usb646/words/no-jtag.asm | 14 - .../avr8/devices/at90usb646/words/no-wdt.asm | 34 - .../avr8/devices/at90usb646/words/sleep.asm | 19 - amforth-6.5/avr8/devices/at90usb647/at90usb647.frt | 587 ---- amforth-6.5/avr8/devices/at90usb647/device.asm | 140 - amforth-6.5/avr8/devices/at90usb647/device.inc | 1914 ------------- amforth-6.5/avr8/devices/at90usb647/device.py | 625 ----- .../avr8/devices/at90usb647/words/no-jtag.asm | 14 - .../avr8/devices/at90usb647/words/no-wdt.asm | 34 - .../avr8/devices/at90usb647/words/sleep.asm | 19 - amforth-6.5/avr8/devices/at90usb82/at90usb82.frt | 367 --- amforth-6.5/avr8/devices/at90usb82/device.asm | 113 - amforth-6.5/avr8/devices/at90usb82/device.inc | 1155 -------- amforth-6.5/avr8/devices/at90usb82/device.py | 387 --- .../avr8/devices/at90usb82/words/no-jtag.asm | 14 - .../avr8/devices/at90usb82/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/at90usb82/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega103/atmega103.frt | 124 - amforth-6.5/avr8/devices/atmega103/device.asm | 126 - amforth-6.5/avr8/devices/atmega103/device.inc | 825 ------ amforth-6.5/avr8/devices/atmega103/device.py | 88 - amforth-6.5/avr8/devices/atmega128/atmega128.frt | 329 --- amforth-6.5/avr8/devices/atmega128/device.asm | 141 - amforth-6.5/avr8/devices/atmega128/device.inc | 1179 -------- amforth-6.5/avr8/devices/atmega128/device.py | 403 --- .../avr8/devices/atmega128/words/no-jtag.asm | 14 - .../avr8/devices/atmega128/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega128/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega1280/atmega1280.frt | 580 ---- amforth-6.5/avr8/devices/atmega1280/device.asm | 190 -- amforth-6.5/avr8/devices/atmega1280/device.inc | 1980 -------------- amforth-6.5/avr8/devices/atmega1280/device.py | 633 ----- .../avr8/devices/atmega1280/words/no-jtag.asm | 14 - .../avr8/devices/atmega1280/words/no-wdt.asm | 34 - .../avr8/devices/atmega1280/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega1281/atmega1281.frt | 509 ---- amforth-6.5/avr8/devices/atmega1281/device.asm | 184 -- amforth-6.5/avr8/devices/atmega1281/device.inc | 1686 ------------ amforth-6.5/avr8/devices/atmega1281/device.py | 556 ---- .../avr8/devices/atmega1281/words/no-jtag.asm | 14 - .../avr8/devices/atmega1281/words/no-wdt.asm | 34 - .../avr8/devices/atmega1281/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega1284/atmega1284.frt | 380 --- amforth-6.5/avr8/devices/atmega1284/device.asm | 135 - amforth-6.5/avr8/devices/atmega1284/device.inc | 1263 --------- amforth-6.5/avr8/devices/atmega1284/device.py | 421 --- .../avr8/devices/atmega1284/words/no-jtag.asm | 14 - .../avr8/devices/atmega1284/words/no-wdt.asm | 34 - .../avr8/devices/atmega1284/words/sleep.asm | 19 - .../avr8/devices/atmega1284p/atmega1284p.frt | 380 --- amforth-6.5/avr8/devices/atmega1284p/device.asm | 135 - amforth-6.5/avr8/devices/atmega1284p/device.inc | 1263 --------- amforth-6.5/avr8/devices/atmega1284p/device.py | 423 --- .../avr8/devices/atmega1284p/words/no-jtag.asm | 14 - .../avr8/devices/atmega1284p/words/no-wdt.asm | 34 - .../avr8/devices/atmega1284p/words/sleep.asm | 19 - .../devices/atmega1284rfr2/blocks/AD_CONVERTER.frt | 79 - .../atmega1284rfr2/blocks/ANALOG_COMPARATOR.frt | 27 - .../devices/atmega1284rfr2/blocks/BOOT_LOAD.frt | 21 - .../avr8/devices/atmega1284rfr2/blocks/CPU.frt | 128 - .../avr8/devices/atmega1284rfr2/blocks/EEPROM.frt | 19 - .../atmega1284rfr2/blocks/EXTERNAL_INTERRUPT.frt | 45 - .../avr8/devices/atmega1284rfr2/blocks/FLASH.frt | 16 - .../avr8/devices/atmega1284rfr2/blocks/JTAG.frt | 13 - .../avr8/devices/atmega1284rfr2/blocks/PORTA.frt | 7 - .../avr8/devices/atmega1284rfr2/blocks/PORTB.frt | 7 - .../avr8/devices/atmega1284rfr2/blocks/PORTC.frt | 7 - .../avr8/devices/atmega1284rfr2/blocks/PORTD.frt | 7 - .../avr8/devices/atmega1284rfr2/blocks/PORTE.frt | 7 - .../avr8/devices/atmega1284rfr2/blocks/PORTF.frt | 7 - .../avr8/devices/atmega1284rfr2/blocks/PORTG.frt | 7 - .../avr8/devices/atmega1284rfr2/blocks/PWRCTRL.frt | 81 - .../avr8/devices/atmega1284rfr2/blocks/SPI.frt | 29 - .../avr8/devices/atmega1284rfr2/blocks/SYMCNT.frt | 156 -- .../atmega1284rfr2/blocks/TIMER_COUNTER_0.frt | 54 - .../atmega1284rfr2/blocks/TIMER_COUNTER_1.frt | 68 - .../atmega1284rfr2/blocks/TIMER_COUNTER_2.frt | 67 - .../atmega1284rfr2/blocks/TIMER_COUNTER_3.frt | 68 - .../atmega1284rfr2/blocks/TIMER_COUNTER_4.frt | 68 - .../atmega1284rfr2/blocks/TIMER_COUNTER_5.frt | 68 - .../avr8/devices/atmega1284rfr2/blocks/TRX24.frt | 495 ---- .../avr8/devices/atmega1284rfr2/blocks/TWI.frt | 40 - .../avr8/devices/atmega1284rfr2/blocks/USART0.frt | 51 - .../devices/atmega1284rfr2/blocks/USART0_SPI.frt | 29 - .../avr8/devices/atmega1284rfr2/blocks/USART1.frt | 51 - .../devices/atmega1284rfr2/blocks/USART1_SPI.frt | 29 - .../devices/atmega1284rfr2/blocks/WATCHDOG.frt | 15 - amforth-6.5/avr8/devices/atmega1284rfr2/device.asm | 166 -- amforth-6.5/avr8/devices/atmega1284rfr2/device.frt | 1752 ------------ amforth-6.5/avr8/devices/atmega1284rfr2/device.py | 1103 -------- amforth-6.5/avr8/devices/atmega128a/atmega128a.frt | 329 --- amforth-6.5/avr8/devices/atmega128a/device.asm | 141 - amforth-6.5/avr8/devices/atmega128a/device.inc | 1179 -------- amforth-6.5/avr8/devices/atmega128a/device.py | 403 --- .../avr8/devices/atmega128a/words/no-jtag.asm | 14 - .../avr8/devices/atmega128a/words/no-wdt.asm | 22 - .../avr8/devices/atmega128a/words/sleep.asm | 24 - .../avr8/devices/atmega128rfa1/atmega128rfa1.frt | 902 ------- amforth-6.5/avr8/devices/atmega128rfa1/device.asm | 220 -- amforth-6.5/avr8/devices/atmega128rfa1/device.inc | 2808 -------------------- amforth-6.5/avr8/devices/atmega128rfa1/device.py | 991 ------- .../avr8/devices/atmega128rfa1/words/no-jtag.asm | 14 - .../avr8/devices/atmega128rfa1/words/no-wdt.asm | 34 - .../avr8/devices/atmega128rfa1/words/sleep.asm | 19 - .../devices/atmega128rfr2/blocks/AD_CONVERTER.frt | 79 - .../atmega128rfr2/blocks/ANALOG_COMPARATOR.frt | 27 - .../devices/atmega128rfr2/blocks/BOOT_LOAD.frt | 21 - .../avr8/devices/atmega128rfr2/blocks/CPU.frt | 128 - .../avr8/devices/atmega128rfr2/blocks/EEPROM.frt | 19 - .../atmega128rfr2/blocks/EXTERNAL_INTERRUPT.frt | 45 - .../avr8/devices/atmega128rfr2/blocks/FLASH.frt | 16 - .../avr8/devices/atmega128rfr2/blocks/JTAG.frt | 13 - .../avr8/devices/atmega128rfr2/blocks/PORTA.frt | 7 - .../avr8/devices/atmega128rfr2/blocks/PORTB.frt | 7 - .../avr8/devices/atmega128rfr2/blocks/PORTC.frt | 7 - .../avr8/devices/atmega128rfr2/blocks/PORTD.frt | 7 - .../avr8/devices/atmega128rfr2/blocks/PORTE.frt | 7 - .../avr8/devices/atmega128rfr2/blocks/PORTF.frt | 7 - .../avr8/devices/atmega128rfr2/blocks/PORTG.frt | 7 - .../avr8/devices/atmega128rfr2/blocks/PWRCTRL.frt | 81 - .../avr8/devices/atmega128rfr2/blocks/SPI.frt | 29 - .../avr8/devices/atmega128rfr2/blocks/SYMCNT.frt | 156 -- .../atmega128rfr2/blocks/TIMER_COUNTER_0.frt | 54 - .../atmega128rfr2/blocks/TIMER_COUNTER_1.frt | 68 - .../atmega128rfr2/blocks/TIMER_COUNTER_2.frt | 67 - .../atmega128rfr2/blocks/TIMER_COUNTER_3.frt | 68 - .../atmega128rfr2/blocks/TIMER_COUNTER_4.frt | 68 - .../atmega128rfr2/blocks/TIMER_COUNTER_5.frt | 68 - .../avr8/devices/atmega128rfr2/blocks/TRX24.frt | 495 ---- .../avr8/devices/atmega128rfr2/blocks/TWI.frt | 40 - .../avr8/devices/atmega128rfr2/blocks/USART0.frt | 51 - .../devices/atmega128rfr2/blocks/USART0_SPI.frt | 29 - .../avr8/devices/atmega128rfr2/blocks/USART1.frt | 51 - .../devices/atmega128rfr2/blocks/USART1_SPI.frt | 29 - .../avr8/devices/atmega128rfr2/blocks/WATCHDOG.frt | 15 - amforth-6.5/avr8/devices/atmega128rfr2/device.asm | 166 -- amforth-6.5/avr8/devices/atmega128rfr2/device.frt | 1752 ------------ amforth-6.5/avr8/devices/atmega128rfr2/device.py | 1103 -------- amforth-6.5/avr8/devices/atmega16/atmega16.frt | 221 -- amforth-6.5/avr8/devices/atmega16/device.asm | 101 - amforth-6.5/avr8/devices/atmega16/device.inc | 765 ------ amforth-6.5/avr8/devices/atmega16/device.py | 284 -- .../avr8/devices/atmega16/words/no-jtag.asm | 14 - amforth-6.5/avr8/devices/atmega16/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega16/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega161/atmega161.frt | 121 - amforth-6.5/avr8/devices/atmega161/device.asm | 113 - amforth-6.5/avr8/devices/atmega161/device.inc | 843 ------ amforth-6.5/avr8/devices/atmega161/device.py | 87 - amforth-6.5/avr8/devices/atmega162/atmega162.frt | 289 -- amforth-6.5/avr8/devices/atmega162/device.asm | 117 - amforth-6.5/avr8/devices/atmega162/device.inc | 924 ------- amforth-6.5/avr8/devices/atmega162/device.py | 332 --- .../avr8/devices/atmega162/words/no-jtag.asm | 14 - .../avr8/devices/atmega162/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega162/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega163/atmega163.frt | 121 - amforth-6.5/avr8/devices/atmega163/device.asm | 108 - amforth-6.5/avr8/devices/atmega163/device.inc | 861 ------ amforth-6.5/avr8/devices/atmega163/device.py | 85 - amforth-6.5/avr8/devices/atmega164a/atmega164a.frt | 347 --- .../devices/atmega164a/blocks/AD_CONVERTER.frt | 47 - .../atmega164a/blocks/ANALOG_COMPARATOR.frt | 27 - .../avr8/devices/atmega164a/blocks/BOOT_LOAD.frt | 21 - amforth-6.5/avr8/devices/atmega164a/blocks/CPU.frt | 91 - .../avr8/devices/atmega164a/blocks/EEPROM.frt | 17 - .../atmega164a/blocks/EXTERNAL_INTERRUPT.frt | 35 - .../avr8/devices/atmega164a/blocks/JTAG.frt | 11 - .../avr8/devices/atmega164a/blocks/PORTA.frt | 7 - .../avr8/devices/atmega164a/blocks/PORTB.frt | 7 - .../avr8/devices/atmega164a/blocks/PORTC.frt | 7 - .../avr8/devices/atmega164a/blocks/PORTD.frt | 7 - amforth-6.5/avr8/devices/atmega164a/blocks/SPI.frt | 29 - .../devices/atmega164a/blocks/TIMER_COUNTER_0.frt | 42 - .../devices/atmega164a/blocks/TIMER_COUNTER_1.frt | 47 - .../devices/atmega164a/blocks/TIMER_COUNTER_2.frt | 57 - amforth-6.5/avr8/devices/atmega164a/blocks/TWI.frt | 34 - .../avr8/devices/atmega164a/blocks/USART0.frt | 51 - .../avr8/devices/atmega164a/blocks/USART1.frt | 51 - .../avr8/devices/atmega164a/blocks/WATCHDOG.frt | 15 - amforth-6.5/avr8/devices/atmega164a/device.asm | 120 - amforth-6.5/avr8/devices/atmega164a/device.inc | 1128 -------- amforth-6.5/avr8/devices/atmega164a/device.py | 387 --- .../avr8/devices/atmega164a/words/no-jtag.asm | 14 - .../avr8/devices/atmega164a/words/no-wdt.asm | 34 - .../avr8/devices/atmega164a/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega164p/atmega164p.frt | 347 --- amforth-6.5/avr8/devices/atmega164p/device.asm | 120 - amforth-6.5/avr8/devices/atmega164p/device.inc | 1128 -------- amforth-6.5/avr8/devices/atmega164p/device.py | 389 --- .../avr8/devices/atmega164p/words/no-jtag.asm | 14 - .../avr8/devices/atmega164p/words/no-wdt.asm | 34 - .../avr8/devices/atmega164p/words/sleep.asm | 19 - .../avr8/devices/atmega164pa/atmega164pa.frt | 347 --- amforth-6.5/avr8/devices/atmega164pa/device.asm | 120 - amforth-6.5/avr8/devices/atmega164pa/device.inc | 1128 -------- amforth-6.5/avr8/devices/atmega164pa/device.py | 389 --- .../avr8/devices/atmega164pa/words/no-jtag.asm | 14 - .../avr8/devices/atmega164pa/words/no-wdt.asm | 34 - .../avr8/devices/atmega164pa/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega165/atmega165.frt | 160 -- amforth-6.5/avr8/devices/atmega165/device.asm | 120 - amforth-6.5/avr8/devices/atmega165/device.inc | 1209 --------- amforth-6.5/avr8/devices/atmega165/device.py | 319 --- amforth-6.5/avr8/devices/atmega165a/atmega165a.frt | 280 -- amforth-6.5/avr8/devices/atmega165a/device.asm | 106 - amforth-6.5/avr8/devices/atmega165a/device.inc | 1050 -------- amforth-6.5/avr8/devices/atmega165a/device.py | 258 -- .../avr8/devices/atmega165a/words/no-jtag.asm | 14 - .../avr8/devices/atmega165a/words/no-wdt.asm | 22 - .../avr8/devices/atmega165a/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega165p/atmega165p.frt | 280 -- amforth-6.5/avr8/devices/atmega165p/device.asm | 106 - amforth-6.5/avr8/devices/atmega165p/device.inc | 1050 -------- amforth-6.5/avr8/devices/atmega165p/device.py | 319 --- .../avr8/devices/atmega165p/words/no-jtag.asm | 14 - .../avr8/devices/atmega165p/words/no-wdt.asm | 22 - .../avr8/devices/atmega165p/words/sleep.asm | 19 - .../avr8/devices/atmega165pa/atmega165pa.frt | 280 -- amforth-6.5/avr8/devices/atmega165pa/device.asm | 106 - amforth-6.5/avr8/devices/atmega165pa/device.inc | 1050 -------- amforth-6.5/avr8/devices/atmega165pa/device.py | 321 --- .../avr8/devices/atmega165pa/words/no-jtag.asm | 14 - .../avr8/devices/atmega165pa/words/no-wdt.asm | 22 - .../avr8/devices/atmega165pa/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega168/atmega168.frt | 297 --- amforth-6.5/avr8/devices/atmega168/device.asm | 107 - amforth-6.5/avr8/devices/atmega168/device.inc | 996 ------- amforth-6.5/avr8/devices/atmega168/device.py | 322 --- .../avr8/devices/atmega168/words/no-jtag.asm | 14 - .../avr8/devices/atmega168/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/atmega168/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega168a/atmega168a.frt | 297 --- amforth-6.5/avr8/devices/atmega168a/device.asm | 107 - amforth-6.5/avr8/devices/atmega168a/device.inc | 996 ------- amforth-6.5/avr8/devices/atmega168a/device.py | 322 --- .../avr8/devices/atmega168a/words/no-jtag.asm | 14 - .../avr8/devices/atmega168a/words/no-wdt.asm | 34 - .../avr8/devices/atmega168a/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega168p/atmega168p.frt | 299 --- amforth-6.5/avr8/devices/atmega168p/device.asm | 107 - amforth-6.5/avr8/devices/atmega168p/device.inc | 996 ------- amforth-6.5/avr8/devices/atmega168p/device.py | 324 --- .../avr8/devices/atmega168p/words/no-jtag.asm | 14 - .../avr8/devices/atmega168p/words/no-wdt.asm | 34 - .../avr8/devices/atmega168p/words/sleep.asm | 19 - .../avr8/devices/atmega168pa/atmega168pa.frt | 299 --- amforth-6.5/avr8/devices/atmega168pa/device.asm | 107 - amforth-6.5/avr8/devices/atmega168pa/device.inc | 996 ------- amforth-6.5/avr8/devices/atmega168pa/device.py | 324 --- .../avr8/devices/atmega168pa/words/no-jtag.asm | 14 - .../avr8/devices/atmega168pa/words/no-wdt.asm | 34 - .../avr8/devices/atmega168pa/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega169/atmega169.frt | 183 -- amforth-6.5/avr8/devices/atmega169/device.asm | 123 - amforth-6.5/avr8/devices/atmega169/device.inc | 1455 ---------- amforth-6.5/avr8/devices/atmega169/device.py | 137 - amforth-6.5/avr8/devices/atmega169a/atmega169a.frt | 319 --- amforth-6.5/avr8/devices/atmega169a/device.asm | 109 - amforth-6.5/avr8/devices/atmega169a/device.inc | 1293 --------- amforth-6.5/avr8/devices/atmega169a/device.py | 359 --- .../avr8/devices/atmega169a/words/no-jtag.asm | 14 - .../avr8/devices/atmega169a/words/no-wdt.asm | 22 - .../avr8/devices/atmega169a/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega169p/atmega169p.frt | 319 --- amforth-6.5/avr8/devices/atmega169p/device.asm | 109 - amforth-6.5/avr8/devices/atmega169p/device.inc | 1293 --------- amforth-6.5/avr8/devices/atmega169p/device.py | 359 --- .../avr8/devices/atmega169p/words/no-jtag.asm | 14 - .../avr8/devices/atmega169p/words/no-wdt.asm | 22 - .../avr8/devices/atmega169p/words/sleep.asm | 19 - .../avr8/devices/atmega169pa/atmega169pa.frt | 319 --- amforth-6.5/avr8/devices/atmega169pa/device.asm | 109 - amforth-6.5/avr8/devices/atmega169pa/device.inc | 1293 --------- amforth-6.5/avr8/devices/atmega169pa/device.py | 361 --- .../avr8/devices/atmega169pa/words/no-jtag.asm | 14 - .../avr8/devices/atmega169pa/words/no-wdt.asm | 22 - .../avr8/devices/atmega169pa/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega16a/atmega16a.frt | 221 -- amforth-6.5/avr8/devices/atmega16a/device.asm | 101 - amforth-6.5/avr8/devices/atmega16a/device.inc | 765 ------ amforth-6.5/avr8/devices/atmega16a/device.py | 284 -- .../avr8/devices/atmega16a/words/no-jtag.asm | 14 - .../avr8/devices/atmega16a/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega16a/words/sleep.asm | 24 - .../avr8/devices/atmega16hva/atmega16hva.frt | 140 - amforth-6.5/avr8/devices/atmega16hva/device.asm | 114 - amforth-6.5/avr8/devices/atmega16hva/device.inc | 1053 -------- amforth-6.5/avr8/devices/atmega16hva/device.py | 274 -- .../avr8/devices/atmega16hva2/atmega16hva2.frt | 144 - amforth-6.5/avr8/devices/atmega16hva2/device.asm | 116 - amforth-6.5/avr8/devices/atmega16hva2/device.inc | 1089 -------- amforth-6.5/avr8/devices/atmega16hva2/device.py | 108 - .../avr8/devices/atmega16hvb/atmega16hvb.frt | 33 - amforth-6.5/avr8/devices/atmega16hvb/device.asm | 101 - amforth-6.5/avr8/devices/atmega16hvb/device.inc | 3 - amforth-6.5/avr8/devices/atmega16hvb/device.py | 342 --- .../avr8/devices/atmega16hvb/words/no-jtag.asm | 14 - .../avr8/devices/atmega16hvb/words/no-wdt.asm | 22 - .../avr8/devices/atmega16hvb/words/sleep.asm | 24 - .../devices/atmega16hvbrevb/atmega16hvbrevb.frt | 33 - .../avr8/devices/atmega16hvbrevb/device.asm | 101 - .../avr8/devices/atmega16hvbrevb/device.inc | 3 - amforth-6.5/avr8/devices/atmega16hvbrevb/device.py | 342 --- .../avr8/devices/atmega16hvbrevb/words/no-jtag.asm | 14 - .../avr8/devices/atmega16hvbrevb/words/no-wdt.asm | 22 - .../avr8/devices/atmega16hvbrevb/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega16m1/atmega16m1.frt | 513 ---- amforth-6.5/avr8/devices/atmega16m1/device.asm | 120 - amforth-6.5/avr8/devices/atmega16m1/device.inc | 1734 ------------ amforth-6.5/avr8/devices/atmega16m1/device.py | 537 ---- .../avr8/devices/atmega16m1/words/no-jtag.asm | 14 - .../avr8/devices/atmega16m1/words/no-wdt.asm | 34 - .../avr8/devices/atmega16m1/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega16u2/atmega16u2.frt | 367 --- amforth-6.5/avr8/devices/atmega16u2/device.asm | 113 - amforth-6.5/avr8/devices/atmega16u2/device.inc | 1155 -------- amforth-6.5/avr8/devices/atmega16u2/device.py | 387 --- .../avr8/devices/atmega16u2/words/no-jtag.asm | 14 - .../avr8/devices/atmega16u2/words/no-wdt.asm | 34 - .../avr8/devices/atmega16u2/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega16u4/atmega16u4.frt | 496 ---- amforth-6.5/avr8/devices/atmega16u4/device.asm | 146 - amforth-6.5/avr8/devices/atmega16u4/device.inc | 1602 ----------- amforth-6.5/avr8/devices/atmega16u4/device.py | 554 ---- .../avr8/devices/atmega16u4/words/no-jtag.asm | 14 - .../avr8/devices/atmega16u4/words/no-wdt.asm | 34 - .../avr8/devices/atmega16u4/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega2560/atmega2560.frt | 580 ---- amforth-6.5/avr8/devices/atmega2560/device.asm | 190 -- amforth-6.5/avr8/devices/atmega2560/device.inc | 1980 -------------- amforth-6.5/avr8/devices/atmega2560/device.py | 633 ----- .../avr8/devices/atmega2560/words/no-jtag.asm | 14 - .../avr8/devices/atmega2560/words/no-wdt.asm | 34 - .../avr8/devices/atmega2560/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega2561/atmega2561.frt | 510 ---- amforth-6.5/avr8/devices/atmega2561/device.asm | 184 -- amforth-6.5/avr8/devices/atmega2561/device.inc | 1698 ------------ amforth-6.5/avr8/devices/atmega2561/device.py | 557 ---- .../avr8/devices/atmega2561/words/no-jtag.asm | 14 - .../avr8/devices/atmega2561/words/no-wdt.asm | 34 - .../avr8/devices/atmega2561/words/sleep.asm | 19 - .../devices/atmega2564rfr2/blocks/AD_CONVERTER.frt | 79 - .../atmega2564rfr2/blocks/ANALOG_COMPARATOR.frt | 27 - .../devices/atmega2564rfr2/blocks/BOOT_LOAD.frt | 21 - .../avr8/devices/atmega2564rfr2/blocks/CPU.frt | 129 - .../avr8/devices/atmega2564rfr2/blocks/EEPROM.frt | 19 - .../atmega2564rfr2/blocks/EXTERNAL_INTERRUPT.frt | 45 - .../avr8/devices/atmega2564rfr2/blocks/FLASH.frt | 16 - .../avr8/devices/atmega2564rfr2/blocks/JTAG.frt | 13 - .../avr8/devices/atmega2564rfr2/blocks/PORTA.frt | 7 - .../avr8/devices/atmega2564rfr2/blocks/PORTB.frt | 7 - .../avr8/devices/atmega2564rfr2/blocks/PORTC.frt | 7 - .../avr8/devices/atmega2564rfr2/blocks/PORTD.frt | 7 - .../avr8/devices/atmega2564rfr2/blocks/PORTE.frt | 7 - .../avr8/devices/atmega2564rfr2/blocks/PORTF.frt | 7 - .../avr8/devices/atmega2564rfr2/blocks/PORTG.frt | 7 - .../avr8/devices/atmega2564rfr2/blocks/PWRCTRL.frt | 81 - .../avr8/devices/atmega2564rfr2/blocks/SPI.frt | 29 - .../avr8/devices/atmega2564rfr2/blocks/SYMCNT.frt | 156 -- .../atmega2564rfr2/blocks/TIMER_COUNTER_0.frt | 54 - .../atmega2564rfr2/blocks/TIMER_COUNTER_1.frt | 68 - .../atmega2564rfr2/blocks/TIMER_COUNTER_2.frt | 67 - .../atmega2564rfr2/blocks/TIMER_COUNTER_3.frt | 68 - .../atmega2564rfr2/blocks/TIMER_COUNTER_4.frt | 68 - .../atmega2564rfr2/blocks/TIMER_COUNTER_5.frt | 68 - .../avr8/devices/atmega2564rfr2/blocks/TRX24.frt | 495 ---- .../avr8/devices/atmega2564rfr2/blocks/TWI.frt | 40 - .../avr8/devices/atmega2564rfr2/blocks/USART0.frt | 51 - .../devices/atmega2564rfr2/blocks/USART0_SPI.frt | 29 - .../avr8/devices/atmega2564rfr2/blocks/USART1.frt | 51 - .../devices/atmega2564rfr2/blocks/USART1_SPI.frt | 29 - .../devices/atmega2564rfr2/blocks/WATCHDOG.frt | 15 - amforth-6.5/avr8/devices/atmega2564rfr2/device.asm | 166 -- amforth-6.5/avr8/devices/atmega2564rfr2/device.frt | 1753 ------------ amforth-6.5/avr8/devices/atmega2564rfr2/device.py | 1104 -------- .../devices/atmega256rfr2/blocks/AD_CONVERTER.frt | 79 - .../atmega256rfr2/blocks/ANALOG_COMPARATOR.frt | 27 - .../devices/atmega256rfr2/blocks/BOOT_LOAD.frt | 21 - .../avr8/devices/atmega256rfr2/blocks/CPU.frt | 129 - .../avr8/devices/atmega256rfr2/blocks/EEPROM.frt | 19 - .../atmega256rfr2/blocks/EXTERNAL_INTERRUPT.frt | 45 - .../avr8/devices/atmega256rfr2/blocks/FLASH.frt | 16 - .../avr8/devices/atmega256rfr2/blocks/JTAG.frt | 13 - .../avr8/devices/atmega256rfr2/blocks/PORTA.frt | 7 - .../avr8/devices/atmega256rfr2/blocks/PORTB.frt | 7 - .../avr8/devices/atmega256rfr2/blocks/PORTC.frt | 7 - .../avr8/devices/atmega256rfr2/blocks/PORTD.frt | 7 - .../avr8/devices/atmega256rfr2/blocks/PORTE.frt | 7 - .../avr8/devices/atmega256rfr2/blocks/PORTF.frt | 7 - .../avr8/devices/atmega256rfr2/blocks/PORTG.frt | 7 - .../avr8/devices/atmega256rfr2/blocks/PWRCTRL.frt | 81 - .../avr8/devices/atmega256rfr2/blocks/SPI.frt | 29 - .../avr8/devices/atmega256rfr2/blocks/SYMCNT.frt | 156 -- .../atmega256rfr2/blocks/TIMER_COUNTER_0.frt | 54 - .../atmega256rfr2/blocks/TIMER_COUNTER_1.frt | 68 - .../atmega256rfr2/blocks/TIMER_COUNTER_2.frt | 67 - .../atmega256rfr2/blocks/TIMER_COUNTER_3.frt | 68 - .../atmega256rfr2/blocks/TIMER_COUNTER_4.frt | 68 - .../atmega256rfr2/blocks/TIMER_COUNTER_5.frt | 68 - .../avr8/devices/atmega256rfr2/blocks/TRX24.frt | 495 ---- .../avr8/devices/atmega256rfr2/blocks/TWI.frt | 40 - .../avr8/devices/atmega256rfr2/blocks/USART0.frt | 51 - .../devices/atmega256rfr2/blocks/USART0_SPI.frt | 29 - .../avr8/devices/atmega256rfr2/blocks/USART1.frt | 51 - .../devices/atmega256rfr2/blocks/USART1_SPI.frt | 29 - .../avr8/devices/atmega256rfr2/blocks/WATCHDOG.frt | 15 - amforth-6.5/avr8/devices/atmega256rfr2/device.asm | 166 -- amforth-6.5/avr8/devices/atmega256rfr2/device.frt | 1753 ------------ amforth-6.5/avr8/devices/atmega256rfr2/device.py | 1104 -------- amforth-6.5/avr8/devices/atmega32/atmega32.frt | 216 -- amforth-6.5/avr8/devices/atmega32/device.asm | 101 - amforth-6.5/avr8/devices/atmega32/device.inc | 750 ------ amforth-6.5/avr8/devices/atmega32/device.py | 268 -- .../avr8/devices/atmega32/words/no-jtag.asm | 14 - amforth-6.5/avr8/devices/atmega32/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega32/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega323/atmega323.frt | 123 - amforth-6.5/avr8/devices/atmega323/device.asm | 113 - amforth-6.5/avr8/devices/atmega323/device.inc | 867 ------ amforth-6.5/avr8/devices/atmega323/device.py | 89 - amforth-6.5/avr8/devices/atmega324a/atmega324a.frt | 347 --- amforth-6.5/avr8/devices/atmega324a/device.asm | 120 - amforth-6.5/avr8/devices/atmega324a/device.inc | 1128 -------- amforth-6.5/avr8/devices/atmega324a/device.py | 388 --- .../avr8/devices/atmega324a/words/no-jtag.asm | 14 - .../avr8/devices/atmega324a/words/no-wdt.asm | 34 - .../avr8/devices/atmega324a/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega324p/atmega324p.frt | 347 --- amforth-6.5/avr8/devices/atmega324p/device.asm | 120 - amforth-6.5/avr8/devices/atmega324p/device.inc | 1128 -------- amforth-6.5/avr8/devices/atmega324p/device.py | 390 --- .../avr8/devices/atmega324p/words/no-jtag.asm | 14 - .../avr8/devices/atmega324p/words/no-wdt.asm | 34 - .../avr8/devices/atmega324p/words/sleep.asm | 19 - .../avr8/devices/atmega324pa/atmega324pa.frt | 347 --- amforth-6.5/avr8/devices/atmega324pa/device.asm | 120 - amforth-6.5/avr8/devices/atmega324pa/device.inc | 1128 -------- amforth-6.5/avr8/devices/atmega324pa/device.py | 389 --- .../avr8/devices/atmega324pa/words/no-jtag.asm | 14 - .../avr8/devices/atmega324pa/words/no-wdt.asm | 34 - .../avr8/devices/atmega324pa/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega325/atmega325.frt | 278 -- amforth-6.5/avr8/devices/atmega325/device.asm | 106 - amforth-6.5/avr8/devices/atmega325/device.inc | 1050 -------- amforth-6.5/avr8/devices/atmega325/device.py | 317 --- .../avr8/devices/atmega325/words/no-jtag.asm | 14 - .../avr8/devices/atmega325/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega325/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega3250/atmega3250.frt | 292 -- amforth-6.5/avr8/devices/atmega3250/device.asm | 114 - amforth-6.5/avr8/devices/atmega3250/device.inc | 1152 -------- amforth-6.5/avr8/devices/atmega3250/device.py | 333 --- .../avr8/devices/atmega3250/words/no-jtag.asm | 14 - .../avr8/devices/atmega3250/words/no-wdt.asm | 22 - .../avr8/devices/atmega3250/words/sleep.asm | 19 - .../avr8/devices/atmega3250a/atmega3250a.frt | 292 -- amforth-6.5/avr8/devices/atmega3250a/device.asm | 114 - amforth-6.5/avr8/devices/atmega3250a/device.inc | 1152 -------- amforth-6.5/avr8/devices/atmega3250a/device.py | 336 --- .../avr8/devices/atmega3250a/words/no-jtag.asm | 14 - .../avr8/devices/atmega3250a/words/no-wdt.asm | 22 - .../avr8/devices/atmega3250a/words/sleep.asm | 19 - .../avr8/devices/atmega3250p/atmega3250p.frt | 292 -- amforth-6.5/avr8/devices/atmega3250p/device.asm | 114 - amforth-6.5/avr8/devices/atmega3250p/device.inc | 1152 -------- amforth-6.5/avr8/devices/atmega3250p/device.py | 336 --- .../avr8/devices/atmega3250p/words/no-jtag.asm | 14 - .../avr8/devices/atmega3250p/words/no-wdt.asm | 22 - .../avr8/devices/atmega3250p/words/sleep.asm | 19 - .../avr8/devices/atmega3250pa/atmega3250pa.frt | 292 -- amforth-6.5/avr8/devices/atmega3250pa/device.asm | 114 - amforth-6.5/avr8/devices/atmega3250pa/device.inc | 1152 -------- amforth-6.5/avr8/devices/atmega3250pa/device.py | 321 --- .../avr8/devices/atmega3250pa/words/no-jtag.asm | 14 - .../avr8/devices/atmega3250pa/words/no-wdt.asm | 22 - .../avr8/devices/atmega3250pa/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega325a/atmega325a.frt | 279 -- amforth-6.5/avr8/devices/atmega325a/device.asm | 106 - amforth-6.5/avr8/devices/atmega325a/device.inc | 1050 -------- amforth-6.5/avr8/devices/atmega325a/device.py | 319 --- .../avr8/devices/atmega325a/words/no-jtag.asm | 14 - .../avr8/devices/atmega325a/words/no-wdt.asm | 22 - .../avr8/devices/atmega325a/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega325p/atmega325p.frt | 279 -- amforth-6.5/avr8/devices/atmega325p/device.asm | 106 - amforth-6.5/avr8/devices/atmega325p/device.inc | 1050 -------- amforth-6.5/avr8/devices/atmega325p/device.py | 321 --- .../avr8/devices/atmega325p/words/no-jtag.asm | 14 - .../avr8/devices/atmega325p/words/no-wdt.asm | 22 - .../avr8/devices/atmega325p/words/sleep.asm | 19 - .../avr8/devices/atmega325pa/atmega325pa.frt | 279 -- amforth-6.5/avr8/devices/atmega325pa/device.asm | 106 - amforth-6.5/avr8/devices/atmega325pa/device.inc | 1050 -------- amforth-6.5/avr8/devices/atmega325pa/device.py | 321 --- .../avr8/devices/atmega325pa/words/no-jtag.asm | 14 - .../avr8/devices/atmega325pa/words/no-wdt.asm | 22 - .../avr8/devices/atmega325pa/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega328/atmega328.frt | 297 --- amforth-6.5/avr8/devices/atmega328/device.asm | 107 - amforth-6.5/avr8/devices/atmega328/device.inc | 996 ------- amforth-6.5/avr8/devices/atmega328/device.py | 322 --- .../avr8/devices/atmega328/words/no-jtag.asm | 14 - .../avr8/devices/atmega328/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/atmega328/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega328p/atmega328p.frt | 299 --- amforth-6.5/avr8/devices/atmega328p/device.asm | 107 - amforth-6.5/avr8/devices/atmega328p/device.inc | 996 ------- amforth-6.5/avr8/devices/atmega328p/device.py | 324 --- .../avr8/devices/atmega328p/words/no-jtag.asm | 14 - .../avr8/devices/atmega328p/words/no-wdt.asm | 34 - .../avr8/devices/atmega328p/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega329/atmega329.frt | 312 --- amforth-6.5/avr8/devices/atmega329/device.asm | 109 - amforth-6.5/avr8/devices/atmega329/device.inc | 1293 --------- amforth-6.5/avr8/devices/atmega329/device.py | 352 --- .../avr8/devices/atmega329/words/no-jtag.asm | 14 - .../avr8/devices/atmega329/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega329/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega3290/atmega3290.frt | 328 --- amforth-6.5/avr8/devices/atmega3290/device.asm | 115 - amforth-6.5/avr8/devices/atmega3290/device.inc | 1443 ---------- amforth-6.5/avr8/devices/atmega3290/device.py | 370 --- .../avr8/devices/atmega3290/words/no-jtag.asm | 14 - .../avr8/devices/atmega3290/words/no-wdt.asm | 22 - .../avr8/devices/atmega3290/words/sleep.asm | 19 - .../avr8/devices/atmega3290a/atmega3290a.frt | 333 --- amforth-6.5/avr8/devices/atmega3290a/device.asm | 115 - amforth-6.5/avr8/devices/atmega3290a/device.inc | 1443 ---------- amforth-6.5/avr8/devices/atmega3290a/device.py | 378 --- .../avr8/devices/atmega3290a/words/no-jtag.asm | 14 - .../avr8/devices/atmega3290a/words/no-wdt.asm | 22 - .../avr8/devices/atmega3290a/words/sleep.asm | 19 - .../avr8/devices/atmega3290p/atmega3290p.frt | 333 --- amforth-6.5/avr8/devices/atmega3290p/device.asm | 115 - amforth-6.5/avr8/devices/atmega3290p/device.inc | 1443 ---------- amforth-6.5/avr8/devices/atmega3290p/device.py | 378 --- .../avr8/devices/atmega3290p/words/no-jtag.asm | 14 - .../avr8/devices/atmega3290p/words/no-wdt.asm | 22 - .../avr8/devices/atmega3290p/words/sleep.asm | 19 - .../avr8/devices/atmega3290pa/atmega3290pa.frt | 333 --- amforth-6.5/avr8/devices/atmega3290pa/device.asm | 115 - amforth-6.5/avr8/devices/atmega3290pa/device.inc | 1443 ---------- amforth-6.5/avr8/devices/atmega3290pa/device.py | 378 --- .../avr8/devices/atmega3290pa/words/no-jtag.asm | 14 - .../avr8/devices/atmega3290pa/words/no-wdt.asm | 22 - .../avr8/devices/atmega3290pa/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega329a/atmega329a.frt | 461 ---- amforth-6.5/avr8/devices/atmega329a/device.asm | 109 - amforth-6.5/avr8/devices/atmega329a/device.inc | 1293 --------- amforth-6.5/avr8/devices/atmega329a/device.py | 502 ---- .../avr8/devices/atmega329a/words/no-jtag.asm | 14 - .../avr8/devices/atmega329a/words/no-wdt.asm | 22 - .../avr8/devices/atmega329a/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega329p/atmega329p.frt | 461 ---- amforth-6.5/avr8/devices/atmega329p/device.asm | 109 - amforth-6.5/avr8/devices/atmega329p/device.inc | 1293 --------- amforth-6.5/avr8/devices/atmega329p/device.py | 504 ---- .../avr8/devices/atmega329p/words/no-jtag.asm | 14 - .../avr8/devices/atmega329p/words/no-wdt.asm | 22 - .../avr8/devices/atmega329p/words/sleep.asm | 19 - .../avr8/devices/atmega329pa/atmega329pa.frt | 461 ---- amforth-6.5/avr8/devices/atmega329pa/device.asm | 109 - amforth-6.5/avr8/devices/atmega329pa/device.inc | 1293 --------- amforth-6.5/avr8/devices/atmega329pa/device.py | 504 ---- .../avr8/devices/atmega329pa/words/no-jtag.asm | 14 - .../avr8/devices/atmega329pa/words/no-wdt.asm | 22 - .../avr8/devices/atmega329pa/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega32a/atmega32a.frt | 216 -- amforth-6.5/avr8/devices/atmega32a/device.asm | 101 - amforth-6.5/avr8/devices/atmega32a/device.inc | 750 ------ amforth-6.5/avr8/devices/atmega32a/device.py | 268 -- .../avr8/devices/atmega32a/words/no-jtag.asm | 14 - .../avr8/devices/atmega32a/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega32a/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega32c1/atmega32c1.frt | 454 ---- amforth-6.5/avr8/devices/atmega32c1/device.asm | 119 - amforth-6.5/avr8/devices/atmega32c1/device.inc | 1503 ----------- amforth-6.5/avr8/devices/atmega32c1/device.py | 477 ---- .../avr8/devices/atmega32c1/words/no-jtag.asm | 14 - .../avr8/devices/atmega32c1/words/no-wdt.asm | 34 - .../avr8/devices/atmega32c1/words/sleep.asm | 19 - .../avr8/devices/atmega32hvb/atmega32hvb.frt | 33 - amforth-6.5/avr8/devices/atmega32hvb/device.asm | 101 - amforth-6.5/avr8/devices/atmega32hvb/device.inc | 3 - amforth-6.5/avr8/devices/atmega32hvb/device.py | 342 --- .../avr8/devices/atmega32hvb/words/no-jtag.asm | 14 - .../avr8/devices/atmega32hvb/words/no-wdt.asm | 22 - .../avr8/devices/atmega32hvb/words/sleep.asm | 24 - .../devices/atmega32hvbrevb/atmega32hvbrevb.frt | 33 - .../avr8/devices/atmega32hvbrevb/device.asm | 101 - .../avr8/devices/atmega32hvbrevb/device.inc | 3 - amforth-6.5/avr8/devices/atmega32hvbrevb/device.py | 342 --- .../avr8/devices/atmega32hvbrevb/words/no-jtag.asm | 14 - .../avr8/devices/atmega32hvbrevb/words/no-wdt.asm | 22 - .../avr8/devices/atmega32hvbrevb/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega32m1/atmega32m1.frt | 513 ---- amforth-6.5/avr8/devices/atmega32m1/device.asm | 120 - amforth-6.5/avr8/devices/atmega32m1/device.inc | 1734 ------------ amforth-6.5/avr8/devices/atmega32m1/device.py | 537 ---- .../avr8/devices/atmega32m1/words/no-jtag.asm | 14 - .../avr8/devices/atmega32m1/words/no-wdt.asm | 34 - .../avr8/devices/atmega32m1/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega32u2/atmega32u2.frt | 367 --- amforth-6.5/avr8/devices/atmega32u2/device.asm | 113 - amforth-6.5/avr8/devices/atmega32u2/device.inc | 1155 -------- amforth-6.5/avr8/devices/atmega32u2/device.py | 387 --- .../avr8/devices/atmega32u2/words/no-jtag.asm | 14 - .../avr8/devices/atmega32u2/words/no-wdt.asm | 34 - .../avr8/devices/atmega32u2/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega32u4/atmega32u4.frt | 496 ---- amforth-6.5/avr8/devices/atmega32u4/device.asm | 146 - amforth-6.5/avr8/devices/atmega32u4/device.inc | 1602 ----------- amforth-6.5/avr8/devices/atmega32u4/device.py | 554 ---- .../avr8/devices/atmega32u4/words/no-jtag.asm | 14 - .../avr8/devices/atmega32u4/words/no-wdt.asm | 34 - .../avr8/devices/atmega32u4/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega32u6/atmega32u6.frt | 233 -- amforth-6.5/avr8/devices/atmega32u6/device.asm | 155 -- amforth-6.5/avr8/devices/atmega32u6/device.inc | 1839 ------------- amforth-6.5/avr8/devices/atmega32u6/device.py | 183 -- amforth-6.5/avr8/devices/atmega406/atmega406.frt | 267 -- amforth-6.5/avr8/devices/atmega406/device.asm | 104 - amforth-6.5/avr8/devices/atmega406/device.inc | 1008 ------- amforth-6.5/avr8/devices/atmega406/device.py | 290 -- .../avr8/devices/atmega406/words/no-jtag.asm | 14 - .../avr8/devices/atmega406/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/atmega406/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega64/atmega64.frt | 331 --- amforth-6.5/avr8/devices/atmega64/device.asm | 135 - amforth-6.5/avr8/devices/atmega64/device.inc | 1179 -------- amforth-6.5/avr8/devices/atmega64/device.py | 405 --- .../avr8/devices/atmega64/words/no-jtag.asm | 14 - amforth-6.5/avr8/devices/atmega64/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega64/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega640/atmega640.frt | 579 ---- amforth-6.5/avr8/devices/atmega640/device.asm | 184 -- amforth-6.5/avr8/devices/atmega640/device.inc | 1968 -------------- amforth-6.5/avr8/devices/atmega640/device.py | 632 ----- .../avr8/devices/atmega640/words/no-jtag.asm | 14 - .../avr8/devices/atmega640/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/atmega640/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega644/atmega644.frt | 316 --- amforth-6.5/avr8/devices/atmega644/device.asm | 113 - amforth-6.5/avr8/devices/atmega644/device.inc | 1065 -------- amforth-6.5/avr8/devices/atmega644/device.py | 355 --- .../avr8/devices/atmega644/words/no-jtag.asm | 14 - .../avr8/devices/atmega644/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/atmega644/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega644a/atmega644a.frt | 346 --- amforth-6.5/avr8/devices/atmega644a/device.asm | 120 - amforth-6.5/avr8/devices/atmega644a/device.inc | 1128 -------- amforth-6.5/avr8/devices/atmega644a/device.py | 386 --- .../avr8/devices/atmega644a/words/no-jtag.asm | 14 - .../avr8/devices/atmega644a/words/no-wdt.asm | 34 - .../avr8/devices/atmega644a/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega644p/atmega644p.frt | 346 --- amforth-6.5/avr8/devices/atmega644p/device.asm | 120 - amforth-6.5/avr8/devices/atmega644p/device.inc | 1128 -------- amforth-6.5/avr8/devices/atmega644p/device.py | 388 --- .../avr8/devices/atmega644p/words/no-jtag.asm | 14 - .../avr8/devices/atmega644p/words/no-wdt.asm | 34 - .../avr8/devices/atmega644p/words/sleep.asm | 19 - .../avr8/devices/atmega644pa/atmega644pa.frt | 346 --- amforth-6.5/avr8/devices/atmega644pa/device.asm | 120 - amforth-6.5/avr8/devices/atmega644pa/device.inc | 1128 -------- amforth-6.5/avr8/devices/atmega644pa/device.py | 388 --- .../avr8/devices/atmega644pa/words/no-jtag.asm | 14 - .../avr8/devices/atmega644pa/words/no-wdt.asm | 34 - .../avr8/devices/atmega644pa/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega645/atmega645.frt | 285 -- amforth-6.5/avr8/devices/atmega645/device.asm | 106 - amforth-6.5/avr8/devices/atmega645/device.inc | 1050 -------- amforth-6.5/avr8/devices/atmega645/device.py | 318 --- .../avr8/devices/atmega645/words/no-jtag.asm | 14 - .../avr8/devices/atmega645/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega645/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega6450/atmega6450.frt | 298 --- amforth-6.5/avr8/devices/atmega6450/device.asm | 114 - amforth-6.5/avr8/devices/atmega6450/device.inc | 1152 -------- amforth-6.5/avr8/devices/atmega6450/device.py | 333 --- .../avr8/devices/atmega6450/words/no-jtag.asm | 14 - .../avr8/devices/atmega6450/words/no-wdt.asm | 22 - .../avr8/devices/atmega6450/words/sleep.asm | 19 - .../avr8/devices/atmega6450a/atmega6450a.frt | 298 --- amforth-6.5/avr8/devices/atmega6450a/device.asm | 114 - amforth-6.5/avr8/devices/atmega6450a/device.inc | 1152 -------- amforth-6.5/avr8/devices/atmega6450a/device.py | 333 --- .../avr8/devices/atmega6450a/words/no-jtag.asm | 14 - .../avr8/devices/atmega6450a/words/no-wdt.asm | 22 - .../avr8/devices/atmega6450a/words/sleep.asm | 19 - .../avr8/devices/atmega6450p/atmega6450p.frt | 298 --- amforth-6.5/avr8/devices/atmega6450p/device.asm | 114 - amforth-6.5/avr8/devices/atmega6450p/device.inc | 1152 -------- amforth-6.5/avr8/devices/atmega6450p/device.py | 333 --- .../avr8/devices/atmega6450p/words/no-jtag.asm | 14 - .../avr8/devices/atmega6450p/words/no-wdt.asm | 22 - .../avr8/devices/atmega6450p/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega645a/atmega645a.frt | 285 -- amforth-6.5/avr8/devices/atmega645a/device.asm | 106 - amforth-6.5/avr8/devices/atmega645a/device.inc | 1050 -------- amforth-6.5/avr8/devices/atmega645a/device.py | 318 --- .../avr8/devices/atmega645a/words/no-jtag.asm | 14 - .../avr8/devices/atmega645a/words/no-wdt.asm | 22 - .../avr8/devices/atmega645a/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega645p/atmega645p.frt | 285 -- amforth-6.5/avr8/devices/atmega645p/device.asm | 106 - amforth-6.5/avr8/devices/atmega645p/device.inc | 1050 -------- amforth-6.5/avr8/devices/atmega645p/device.py | 318 --- .../avr8/devices/atmega645p/words/no-jtag.asm | 14 - .../avr8/devices/atmega645p/words/no-wdt.asm | 22 - .../avr8/devices/atmega645p/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega649/atmega649.frt | 318 --- amforth-6.5/avr8/devices/atmega649/device.asm | 109 - amforth-6.5/avr8/devices/atmega649/device.inc | 1293 --------- amforth-6.5/avr8/devices/atmega649/device.py | 352 --- .../avr8/devices/atmega649/words/no-jtag.asm | 14 - .../avr8/devices/atmega649/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega649/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega6490/atmega6490.frt | 334 --- amforth-6.5/avr8/devices/atmega6490/device.asm | 115 - amforth-6.5/avr8/devices/atmega6490/device.inc | 1443 ---------- amforth-6.5/avr8/devices/atmega6490/device.py | 370 --- .../avr8/devices/atmega6490/words/no-jtag.asm | 14 - .../avr8/devices/atmega6490/words/no-wdt.asm | 22 - .../avr8/devices/atmega6490/words/sleep.asm | 19 - .../avr8/devices/atmega6490a/atmega6490a.frt | 334 --- amforth-6.5/avr8/devices/atmega6490a/device.asm | 115 - amforth-6.5/avr8/devices/atmega6490a/device.inc | 1443 ---------- amforth-6.5/avr8/devices/atmega6490a/device.py | 370 --- .../avr8/devices/atmega6490a/words/no-jtag.asm | 14 - .../avr8/devices/atmega6490a/words/no-wdt.asm | 22 - .../avr8/devices/atmega6490a/words/sleep.asm | 19 - .../avr8/devices/atmega6490p/atmega6490p.frt | 334 --- amforth-6.5/avr8/devices/atmega6490p/device.asm | 115 - amforth-6.5/avr8/devices/atmega6490p/device.inc | 1443 ---------- amforth-6.5/avr8/devices/atmega6490p/device.py | 370 --- .../avr8/devices/atmega6490p/words/no-jtag.asm | 14 - .../avr8/devices/atmega6490p/words/no-wdt.asm | 22 - .../avr8/devices/atmega6490p/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega649a/atmega649a.frt | 318 --- amforth-6.5/avr8/devices/atmega649a/device.asm | 109 - amforth-6.5/avr8/devices/atmega649a/device.inc | 1293 --------- amforth-6.5/avr8/devices/atmega649a/device.py | 352 --- .../avr8/devices/atmega649a/words/no-jtag.asm | 14 - .../avr8/devices/atmega649a/words/no-wdt.asm | 22 - .../avr8/devices/atmega649a/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega649p/atmega649p.frt | 318 --- amforth-6.5/avr8/devices/atmega649p/device.asm | 109 - amforth-6.5/avr8/devices/atmega649p/device.inc | 1293 --------- amforth-6.5/avr8/devices/atmega649p/device.py | 352 --- .../avr8/devices/atmega649p/words/no-jtag.asm | 14 - .../avr8/devices/atmega649p/words/no-wdt.asm | 22 - .../avr8/devices/atmega649p/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega64a/atmega64a.frt | 331 --- amforth-6.5/avr8/devices/atmega64a/device.asm | 135 - amforth-6.5/avr8/devices/atmega64a/device.inc | 1179 -------- amforth-6.5/avr8/devices/atmega64a/device.py | 405 --- .../avr8/devices/atmega64a/words/no-jtag.asm | 14 - .../avr8/devices/atmega64a/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega64a/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega64c1/atmega64c1.frt | 454 ---- amforth-6.5/avr8/devices/atmega64c1/device.asm | 119 - amforth-6.5/avr8/devices/atmega64c1/device.inc | 1503 ----------- amforth-6.5/avr8/devices/atmega64c1/device.py | 477 ---- .../avr8/devices/atmega64c1/words/no-jtag.asm | 14 - .../avr8/devices/atmega64c1/words/no-wdt.asm | 34 - .../avr8/devices/atmega64c1/words/sleep.asm | 19 - .../avr8/devices/atmega64hve/atmega64hve.frt | 154 -- amforth-6.5/avr8/devices/atmega64hve/device.asm | 119 - amforth-6.5/avr8/devices/atmega64hve/device.inc | 1227 --------- amforth-6.5/avr8/devices/atmega64hve/device.py | 124 - amforth-6.5/avr8/devices/atmega64m1/atmega64m1.frt | 513 ---- amforth-6.5/avr8/devices/atmega64m1/device.asm | 120 - amforth-6.5/avr8/devices/atmega64m1/device.inc | 1734 ------------ amforth-6.5/avr8/devices/atmega64m1/device.py | 495 ---- .../avr8/devices/atmega64m1/words/no-jtag.asm | 14 - .../avr8/devices/atmega64m1/words/no-wdt.asm | 34 - .../avr8/devices/atmega64m1/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega8/atmega8.frt | 207 -- amforth-6.5/avr8/devices/atmega8/device.asm | 95 - amforth-6.5/avr8/devices/atmega8/device.inc | 696 ----- amforth-6.5/avr8/devices/atmega8/device.py | 191 -- amforth-6.5/avr8/devices/atmega8/words/no-jtag.asm | 14 - amforth-6.5/avr8/devices/atmega8/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega8/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega8515/atmega8515.frt | 193 -- amforth-6.5/avr8/devices/atmega8515/device.asm | 90 - amforth-6.5/avr8/devices/atmega8515/device.inc | 645 ----- amforth-6.5/avr8/devices/atmega8515/device.py | 178 -- .../avr8/devices/atmega8515/words/no-jtag.asm | 14 - .../avr8/devices/atmega8515/words/no-wdt.asm | 22 - .../avr8/devices/atmega8515/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega8535/atmega8535.frt | 220 -- amforth-6.5/avr8/devices/atmega8535/device.asm | 100 - amforth-6.5/avr8/devices/atmega8535/device.inc | 747 ------ amforth-6.5/avr8/devices/atmega8535/device.py | 203 -- .../avr8/devices/atmega8535/words/no-jtag.asm | 14 - .../avr8/devices/atmega8535/words/no-wdt.asm | 22 - .../avr8/devices/atmega8535/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega88/atmega88.frt | 297 --- amforth-6.5/avr8/devices/atmega88/device.asm | 107 - amforth-6.5/avr8/devices/atmega88/device.inc | 996 ------- amforth-6.5/avr8/devices/atmega88/device.py | 281 -- .../avr8/devices/atmega88/words/no-jtag.asm | 14 - amforth-6.5/avr8/devices/atmega88/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/atmega88/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega88a/atmega88a.frt | 297 --- amforth-6.5/avr8/devices/atmega88a/device.asm | 107 - amforth-6.5/avr8/devices/atmega88a/device.inc | 996 ------- amforth-6.5/avr8/devices/atmega88a/device.py | 281 -- .../avr8/devices/atmega88a/words/no-jtag.asm | 14 - .../avr8/devices/atmega88a/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/atmega88a/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega88p/atmega88p.frt | 299 --- amforth-6.5/avr8/devices/atmega88p/device.asm | 107 - amforth-6.5/avr8/devices/atmega88p/device.inc | 996 ------- amforth-6.5/avr8/devices/atmega88p/device.py | 283 -- .../avr8/devices/atmega88p/words/no-jtag.asm | 14 - .../avr8/devices/atmega88p/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/atmega88p/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega88pa/atmega88pa.frt | 299 --- amforth-6.5/avr8/devices/atmega88pa/device.asm | 107 - amforth-6.5/avr8/devices/atmega88pa/device.inc | 996 ------- amforth-6.5/avr8/devices/atmega88pa/device.py | 283 -- .../avr8/devices/atmega88pa/words/no-jtag.asm | 14 - .../avr8/devices/atmega88pa/words/no-wdt.asm | 34 - .../avr8/devices/atmega88pa/words/sleep.asm | 19 - amforth-6.5/avr8/devices/atmega8a/atmega8a.frt | 207 -- amforth-6.5/avr8/devices/atmega8a/device.asm | 95 - amforth-6.5/avr8/devices/atmega8a/device.inc | 696 ----- amforth-6.5/avr8/devices/atmega8a/device.py | 191 -- .../avr8/devices/atmega8a/words/no-jtag.asm | 14 - amforth-6.5/avr8/devices/atmega8a/words/no-wdt.asm | 22 - amforth-6.5/avr8/devices/atmega8a/words/sleep.asm | 24 - amforth-6.5/avr8/devices/atmega8hva/atmega8hva.frt | 140 - amforth-6.5/avr8/devices/atmega8hva/device.asm | 114 - amforth-6.5/avr8/devices/atmega8hva/device.inc | 1053 -------- amforth-6.5/avr8/devices/atmega8hva/device.py | 104 - amforth-6.5/avr8/devices/atmega8u2/atmega8u2.frt | 357 --- amforth-6.5/avr8/devices/atmega8u2/device.asm | 112 - amforth-6.5/avr8/devices/atmega8u2/device.inc | 1128 -------- amforth-6.5/avr8/devices/atmega8u2/device.py | 341 --- .../avr8/devices/atmega8u2/words/no-jtag.asm | 14 - .../avr8/devices/atmega8u2/words/no-wdt.asm | 34 - amforth-6.5/avr8/devices/atmega8u2/words/sleep.asm | 19 - amforth-6.5/avr8/dict/appl_2k.inc | 175 -- amforth-6.5/avr8/dict/appl_4k.inc | 81 - amforth-6.5/avr8/dict/appl_8k.inc | 1 - amforth-6.5/avr8/dict/compiler1.inc | 70 - amforth-6.5/avr8/dict/compiler2.inc | 19 - amforth-6.5/avr8/dict/core_2k.inc | 2 - amforth-6.5/avr8/dict/core_4k.inc | 98 - amforth-6.5/avr8/dict/core_8k.inc | 180 -- amforth-6.5/avr8/dict/interrupt.inc | 16 - amforth-6.5/avr8/dict/nrww.inc | 114 - amforth-6.5/avr8/dict/rww.inc | 16 - amforth-6.5/avr8/drivers/1wire.asm | 165 -- amforth-6.5/avr8/drivers/generic-isr.asm | 41 - amforth-6.5/avr8/drivers/usart-rx-buffer.asm | 132 - amforth-6.5/avr8/drivers/usart.asm | 30 - amforth-6.5/avr8/drivers/usart_0.asm | 32 - amforth-6.5/avr8/drivers/usart_1.asm | 31 - amforth-6.5/avr8/drivers/usart_2.asm | 34 - amforth-6.5/avr8/drivers/usart_3.asm | 31 - amforth-6.5/avr8/drivers/usart_common.asm | 30 - amforth-6.5/avr8/lib/2evalue.frt | 30 - amforth-6.5/avr8/lib/assembler-test.frt | 58 - amforth-6.5/avr8/lib/assembler.frt | 325 --- amforth-6.5/avr8/lib/bitnames-code.frt | 351 --- amforth-6.5/avr8/lib/bitnames.frt | 155 -- amforth-6.5/avr8/lib/calc-baudrate.frt | 12 - amforth-6.5/avr8/lib/dot-res.frt | 19 - amforth-6.5/avr8/lib/eallot.frt | 5 - amforth-6.5/avr8/lib/forth2012/core-ext.frt | 13 - .../avr8/lib/forth2012/core-ext/avr-defers.frt | 20 - .../avr8/lib/forth2012/core-ext/marker-test.frt | 18 - amforth-6.5/avr8/lib/forth2012/core-ext/marker.frt | 23 - amforth-6.5/avr8/lib/forth2012/core.frt | 26 - amforth-6.5/avr8/lib/forth2012/core/align.frt | 3 - amforth-6.5/avr8/lib/forth2012/core/aligned.frt | 3 - amforth-6.5/avr8/lib/forth2012/core/avr-values.frt | 11 - amforth-6.5/avr8/lib/forth2012/core/c-comma.frt | 3 - .../avr8/lib/forth2012/core/eeprom-buffer.frt | 15 - .../avr8/lib/forth2012/core/environment-q.frt | 53 - amforth-6.5/avr8/lib/forth2012/core/evaluate.frt | 46 - .../avr8/lib/forth2012/core/fm-slash-mod.frt | 22 - .../avr8/lib/forth2012/core/sm-slash-rem.frt | 8 - .../avr8/lib/forth2012/core/star-slash-mod.frt | 4 - amforth-6.5/avr8/lib/hardware/25xxx.frt | 131 - amforth-6.5/avr8/lib/hardware/flash-block.frt | 37 - amforth-6.5/avr8/lib/hardware/i2c-twi-master.frt | 136 - amforth-6.5/avr8/lib/hardware/i2c-twi-slave.frt | 89 - amforth-6.5/avr8/lib/hardware/int-q.frt | 2 - amforth-6.5/avr8/lib/hardware/interrupts.frt | 7 - amforth-6.5/avr8/lib/hardware/key2char.frt | 135 - amforth-6.5/avr8/lib/hardware/keyboard.frt | 486 ---- amforth-6.5/avr8/lib/hardware/mmc.frt | 371 --- amforth-6.5/avr8/lib/hardware/mpc485.frt | 156 -- amforth-6.5/avr8/lib/hardware/spi.frt | 110 - amforth-6.5/avr8/lib/hardware/timer0.frt | 43 - amforth-6.5/avr8/lib/hardware/timer1.frt | 44 - amforth-6.5/avr8/lib/hardware/timer2.frt | 42 - amforth-6.5/avr8/lib/imove.frt | 12 - amforth-6.5/avr8/lib/portio.frt | 46 - amforth-6.5/avr8/lib/ram.frt | 225 -- amforth-6.5/avr8/lib/recognizer-arch.frt | 8 - amforth-6.5/avr8/lib/run-hayes.frt | 28 - amforth-6.5/avr8/macros.asm | 158 -- amforth-6.5/avr8/preamble.inc | 50 - amforth-6.5/avr8/tools/99-avr.rules | 10 - amforth-6.5/avr8/user.inc | 34 - amforth-6.5/avr8/words/1minus.asm | 13 - amforth-6.5/avr8/words/1ms.asm | 13 - amforth-6.5/avr8/words/1plus.asm | 13 - amforth-6.5/avr8/words/2r_fetch.asm | 23 - amforth-6.5/avr8/words/2r_from.asm | 19 - amforth-6.5/avr8/words/2slash.asm | 14 - amforth-6.5/avr8/words/2spirw.asm | 19 - amforth-6.5/avr8/words/2star.asm | 14 - amforth-6.5/avr8/words/2to_r.asm | 19 - amforth-6.5/avr8/words/allot.asm | 16 - amforth-6.5/avr8/words/and.asm | 16 - amforth-6.5/avr8/words/bm-clear.asm | 19 - amforth-6.5/avr8/words/bm-set.asm | 18 - amforth-6.5/avr8/words/bm-toggle.asm | 18 - amforth-6.5/avr8/words/byteswap.asm | 15 - amforth-6.5/avr8/words/cas.asm | 28 - amforth-6.5/avr8/words/cellplus.asm | 13 - amforth-6.5/avr8/words/cells.asm | 10 - amforth-6.5/avr8/words/cfetch.asm | 15 - amforth-6.5/avr8/words/cmove.asm | 30 - amforth-6.5/avr8/words/cmove_g.asm | 34 - amforth-6.5/avr8/words/code.asm | 17 - amforth-6.5/avr8/words/cold.asm | 52 - amforth-6.5/avr8/words/colon-noname.asm | 21 - amforth-6.5/avr8/words/comma.asm | 18 - amforth-6.5/avr8/words/compare.asm | 47 - amforth-6.5/avr8/words/const-fold-depth.asm | 18 - amforth-6.5/avr8/words/cstore.asm | 16 - amforth-6.5/avr8/words/d-2slash.asm | 20 - amforth-6.5/avr8/words/d-2star.asm | 20 - amforth-6.5/avr8/words/d-greaterzero.asm | 19 - amforth-6.5/avr8/words/d-invert.asm | 20 - amforth-6.5/avr8/words/d-lesszero.asm | 15 - amforth-6.5/avr8/words/d-minus.asm | 28 - amforth-6.5/avr8/words/d-plus.asm | 27 - amforth-6.5/avr8/words/dabs.asm | 19 - amforth-6.5/avr8/words/dnegate.asm | 17 - amforth-6.5/avr8/words/do-defer.asm | 27 - amforth-6.5/avr8/words/do-sliteral.asm | 21 - amforth-6.5/avr8/words/do-value.asm | 25 - amforth-6.5/avr8/words/dobranch.asm | 14 - amforth-6.5/avr8/words/docondbranch.asm | 16 - amforth-6.5/avr8/words/doconstant.asm | 15 - amforth-6.5/avr8/words/dodo.asm | 25 - amforth-6.5/avr8/words/does.asm | 53 - amforth-6.5/avr8/words/doliteral.asm | 17 - amforth-6.5/avr8/words/doloop.asm | 16 - amforth-6.5/avr8/words/doplusloop.asm | 28 - amforth-6.5/avr8/words/douser.asm | 18 - amforth-6.5/avr8/words/dovariable.asm | 16 - amforth-6.5/avr8/words/dp.asm | 14 - amforth-6.5/avr8/words/drop.asm | 13 - amforth-6.5/avr8/words/dup.asm | 13 - amforth-6.5/avr8/words/edefer-fetch.asm | 14 - amforth-6.5/avr8/words/edefer-store.asm | 14 - amforth-6.5/avr8/words/ehere.asm | 14 - amforth-6.5/avr8/words/end-code.asm | 16 - amforth-6.5/avr8/words/env-mcuinfo.asm | 14 - amforth-6.5/avr8/words/env-slashpad.asm | 15 - amforth-6.5/avr8/words/env-wordlists.asm | 14 - amforth-6.5/avr8/words/environment.asm | 12 - amforth-6.5/avr8/words/equal.asm | 14 - amforth-6.5/avr8/words/equalzero.asm | 14 - amforth-6.5/avr8/words/execute.asm | 14 - amforth-6.5/avr8/words/exit.asm | 14 - amforth-6.5/avr8/words/fetch-e.asm | 51 - amforth-6.5/avr8/words/fetch-i.asm | 14 - amforth-6.5/avr8/words/fetch-u.asm | 15 - amforth-6.5/avr8/words/fetch.asm | 33 - amforth-6.5/avr8/words/fill.asm | 26 - amforth-6.5/avr8/words/forth-recognizer.asm | 14 - amforth-6.5/avr8/words/forth-wordlist.asm | 12 - amforth-6.5/avr8/words/g-mark.asm | 16 - amforth-6.5/avr8/words/g-resolve.asm | 16 - amforth-6.5/avr8/words/get-current.asm | 15 - amforth-6.5/avr8/words/greater.asm | 19 - amforth-6.5/avr8/words/greaterzero.asm | 16 - amforth-6.5/avr8/words/header.asm | 36 - amforth-6.5/avr8/words/here.asm | 14 - amforth-6.5/avr8/words/hld.asm | 16 - amforth-6.5/avr8/words/i-cellplus.asm | 13 - amforth-6.5/avr8/words/i.asm | 23 - amforth-6.5/avr8/words/icompare.asm | 103 - amforth-6.5/avr8/words/icount.asm | 16 - amforth-6.5/avr8/words/immediate-q.asm | 23 - amforth-6.5/avr8/words/immediate.asm | 21 - amforth-6.5/avr8/words/init-ram.asm | 48 - amforth-6.5/avr8/words/int-fetch.asm | 16 - amforth-6.5/avr8/words/int-num.asm | 12 - amforth-6.5/avr8/words/int-off.asm | 13 - amforth-6.5/avr8/words/int-on.asm | 13 - amforth-6.5/avr8/words/int-store.asm | 16 - amforth-6.5/avr8/words/int-trap.asm | 14 - amforth-6.5/avr8/words/invert.asm | 14 - amforth-6.5/avr8/words/irqcnt.asm | 15 - amforth-6.5/avr8/words/isr-end.asm | 15 - amforth-6.5/avr8/words/isr-exec.asm | 15 - amforth-6.5/avr8/words/itype.asm | 74 - amforth-6.5/avr8/words/j.asm | 23 - amforth-6.5/avr8/words/l_mark.asm | 13 - amforth-6.5/avr8/words/l_resolve.asm | 14 - amforth-6.5/avr8/words/latest.asm | 16 - amforth-6.5/avr8/words/less.asm | 18 - amforth-6.5/avr8/words/lesszero.asm | 14 - amforth-6.5/avr8/words/log2.asm | 26 - amforth-6.5/avr8/words/lp.asm | 17 - amforth-6.5/avr8/words/lp0.asm | 14 - amforth-6.5/avr8/words/lshift.asm | 22 - amforth-6.5/avr8/words/marker.asm | 14 - amforth-6.5/avr8/words/minus.asm | 17 - amforth-6.5/avr8/words/mplus.asm | 14 - amforth-6.5/avr8/words/mstar.asm | 37 - amforth-6.5/avr8/words/n-spi.asm | 55 - amforth-6.5/avr8/words/n_r_from.asm | 23 - amforth-6.5/avr8/words/n_to_r.asm | 23 - amforth-6.5/avr8/words/name2flags.asm | 16 - amforth-6.5/avr8/words/negate.asm | 14 - amforth-6.5/avr8/words/newest.asm | 16 - amforth-6.5/avr8/words/nfa2cfa.asm | 14 - amforth-6.5/avr8/words/nfa2lfa.asm | 16 - amforth-6.5/avr8/words/nip.asm | 13 - amforth-6.5/avr8/words/not.asm | 13 - amforth-6.5/avr8/words/notequalzero.asm | 14 - amforth-6.5/avr8/words/or.asm | 17 - amforth-6.5/avr8/words/over.asm | 16 - amforth-6.5/avr8/words/pause.asm | 18 - amforth-6.5/avr8/words/plus.asm | 16 - amforth-6.5/avr8/words/plusstore.asm | 21 - amforth-6.5/avr8/words/popcnt.asm | 29 - amforth-6.5/avr8/words/qdup.asm | 17 - amforth-6.5/avr8/words/r_fetch.asm | 17 - amforth-6.5/avr8/words/r_from.asm | 15 - amforth-6.5/avr8/words/reg-a.asm | 180 -- amforth-6.5/avr8/words/reg-b.asm | 180 -- amforth-6.5/avr8/words/rot.asm | 22 - amforth-6.5/avr8/words/rp0.asm | 27 - amforth-6.5/avr8/words/rpfetch.asm | 15 - amforth-6.5/avr8/words/rpstore.asm | 18 - amforth-6.5/avr8/words/rshift.asm | 22 - amforth-6.5/avr8/words/scomma.asm | 56 - amforth-6.5/avr8/words/set-current.asm | 15 - amforth-6.5/avr8/words/slashmod.asm | 66 - amforth-6.5/avr8/words/sp0.asm | 27 - amforth-6.5/avr8/words/spfetch.asm | 14 - amforth-6.5/avr8/words/spirw.asm | 26 - amforth-6.5/avr8/words/spstore.asm | 14 - amforth-6.5/avr8/words/state.asm | 16 - amforth-6.5/avr8/words/store-e.asm | 66 - amforth-6.5/avr8/words/store-i.asm | 14 - amforth-6.5/avr8/words/store-i_big.asm | 129 - amforth-6.5/avr8/words/store-i_nrww.asm | 123 - amforth-6.5/avr8/words/store-u.asm | 15 - amforth-6.5/avr8/words/store.asm | 35 - amforth-6.5/avr8/words/swap.asm | 16 - amforth-6.5/avr8/words/to-body.asm | 10 - amforth-6.5/avr8/words/to_r.asm | 15 - amforth-6.5/avr8/words/true.asm | 16 - amforth-6.5/avr8/words/turnkey.asm | 14 - amforth-6.5/avr8/words/ubrr.asm | 14 - amforth-6.5/avr8/words/uless.asm | 18 - amforth-6.5/avr8/words/umslashmod.asm | 62 - amforth-6.5/avr8/words/umstar.asm | 37 - amforth-6.5/avr8/words/unloop.asm | 16 - amforth-6.5/avr8/words/unused.asm | 15 - amforth-6.5/avr8/words/up.asm | 29 - amforth-6.5/avr8/words/usart-rx-poll.asm | 42 - amforth-6.5/avr8/words/usart-tx-poll.asm | 40 - amforth-6.5/avr8/words/usart.asm | 41 - amforth-6.5/avr8/words/user.asm | 18 - amforth-6.5/avr8/words/uslashmod.asm | 16 - amforth-6.5/avr8/words/wdr.asm | 13 - amforth-6.5/avr8/words/wlscope.asm | 22 - amforth-6.5/avr8/words/wordlist.asm | 20 - amforth-6.5/avr8/words/xor.asm | 16 - amforth-6.5/avr8/words/zero.asm | 15 - 1205 files changed, 276507 deletions(-) delete mode 100644 amforth-6.5/avr8/amforth-eeprom.inc delete mode 100644 amforth-6.5/avr8/amforth-interpreter.asm delete mode 100644 amforth-6.5/avr8/amforth-low.asm delete mode 100644 amforth-6.5/avr8/amforth.asm delete mode 100644 amforth-6.5/avr8/devices/at90can128/at90can128.frt delete mode 100644 amforth-6.5/avr8/devices/at90can128/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90can128/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90can128/device.py delete mode 100644 amforth-6.5/avr8/devices/at90can128/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90can128/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90can128/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90can32/at90can32.frt delete mode 100644 amforth-6.5/avr8/devices/at90can32/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90can32/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90can32/device.py delete mode 100644 amforth-6.5/avr8/devices/at90can32/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90can32/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90can32/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90can64/at90can64.frt delete mode 100644 amforth-6.5/avr8/devices/at90can64/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90can64/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90can64/device.py delete mode 100644 amforth-6.5/avr8/devices/at90can64/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90can64/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90can64/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm1/at90pwm1.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm1/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm1/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90pwm1/device.py delete mode 100644 amforth-6.5/avr8/devices/at90pwm1/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm1/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm1/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/AD_CONVERTER.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/ANALOG_COMPARATOR.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/BOOT_LOAD.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/CPU.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/DA_CONVERTER.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/EEPROM.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/EXTERNAL_INTERRUPT.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/PORTB.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/PORTD.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/PORTE.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/PSC0.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/PSC2.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/SPI.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/TIMER_COUNTER_1.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/blocks/WATCHDOG.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/device.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm161/device.py delete mode 100644 amforth-6.5/avr8/devices/at90pwm2/at90pwm2.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm2/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm2/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90pwm2/device.py delete mode 100644 amforth-6.5/avr8/devices/at90pwm216/at90pwm216.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm216/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm216/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90pwm216/device.py delete mode 100644 amforth-6.5/avr8/devices/at90pwm216/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm216/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm216/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm2b/at90pwm2b.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm2b/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm2b/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90pwm2b/device.py delete mode 100644 amforth-6.5/avr8/devices/at90pwm2b/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm2b/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm2b/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm3/at90pwm3.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm3/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm3/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90pwm3/device.py delete mode 100644 amforth-6.5/avr8/devices/at90pwm316/at90pwm316.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm316/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm316/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90pwm316/device.py delete mode 100644 amforth-6.5/avr8/devices/at90pwm316/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm316/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm316/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm3b/at90pwm3b.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm3b/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm3b/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90pwm3b/device.py delete mode 100644 amforth-6.5/avr8/devices/at90pwm3b/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm3b/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm3b/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm81/at90pwm81.frt delete mode 100644 amforth-6.5/avr8/devices/at90pwm81/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm81/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90pwm81/device.py delete mode 100644 amforth-6.5/avr8/devices/at90pwm81/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm81/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90pwm81/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb1286/at90usb1286.frt delete mode 100644 amforth-6.5/avr8/devices/at90usb1286/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb1286/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90usb1286/device.py delete mode 100644 amforth-6.5/avr8/devices/at90usb1286/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb1286/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb1286/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb1287/at90usb1287.frt delete mode 100644 amforth-6.5/avr8/devices/at90usb1287/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb1287/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90usb1287/device.py delete mode 100644 amforth-6.5/avr8/devices/at90usb1287/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb1287/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb1287/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb162/at90usb162.frt delete mode 100644 amforth-6.5/avr8/devices/at90usb162/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb162/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90usb162/device.py delete mode 100644 amforth-6.5/avr8/devices/at90usb162/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb162/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb162/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb646/at90usb646.frt delete mode 100644 amforth-6.5/avr8/devices/at90usb646/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb646/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90usb646/device.py delete mode 100644 amforth-6.5/avr8/devices/at90usb646/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb646/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb646/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb647/at90usb647.frt delete mode 100644 amforth-6.5/avr8/devices/at90usb647/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb647/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90usb647/device.py delete mode 100644 amforth-6.5/avr8/devices/at90usb647/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb647/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb647/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb82/at90usb82.frt delete mode 100644 amforth-6.5/avr8/devices/at90usb82/device.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb82/device.inc delete mode 100644 amforth-6.5/avr8/devices/at90usb82/device.py delete mode 100644 amforth-6.5/avr8/devices/at90usb82/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb82/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/at90usb82/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega103/atmega103.frt delete mode 100644 amforth-6.5/avr8/devices/atmega103/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega103/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega103/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega128/atmega128.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega128/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega128/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1280/atmega1280.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1280/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1280/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega1280/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega1280/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1280/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1280/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1281/atmega1281.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1281/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1281/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega1281/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega1281/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1281/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1281/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1284/atmega1284.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1284/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega1284/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega1284/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1284/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1284/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1284p/atmega1284p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1284p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega1284p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega1284p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1284p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1284p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/AD_CONVERTER.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/ANALOG_COMPARATOR.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/BOOT_LOAD.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/CPU.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/EEPROM.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/EXTERNAL_INTERRUPT.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/FLASH.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/JTAG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/PORTA.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/PORTB.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/PORTC.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/PORTD.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/PORTE.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/PORTF.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/PORTG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/PWRCTRL.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/SYMCNT.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/TIMER_COUNTER_0.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/TIMER_COUNTER_1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/TIMER_COUNTER_2.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/TIMER_COUNTER_3.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/TIMER_COUNTER_4.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/TIMER_COUNTER_5.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/TRX24.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/TWI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/USART0.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/USART0_SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/USART1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/USART1_SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/blocks/WATCHDOG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/device.frt delete mode 100644 amforth-6.5/avr8/devices/atmega1284rfr2/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega128a/atmega128a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega128a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega128a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128rfa1/atmega128rfa1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfa1/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128rfa1/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega128rfa1/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega128rfa1/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128rfa1/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128rfa1/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/AD_CONVERTER.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/ANALOG_COMPARATOR.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/BOOT_LOAD.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/CPU.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/EEPROM.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/EXTERNAL_INTERRUPT.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/FLASH.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/JTAG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/PORTA.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/PORTB.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/PORTC.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/PORTD.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/PORTE.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/PORTF.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/PORTG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/PWRCTRL.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/SYMCNT.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/TIMER_COUNTER_0.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/TIMER_COUNTER_1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/TIMER_COUNTER_2.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/TIMER_COUNTER_3.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/TIMER_COUNTER_4.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/TIMER_COUNTER_5.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/TRX24.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/TWI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/USART0.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/USART0_SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/USART1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/USART1_SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/blocks/WATCHDOG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/device.frt delete mode 100644 amforth-6.5/avr8/devices/atmega128rfr2/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega16/atmega16.frt delete mode 100644 amforth-6.5/avr8/devices/atmega16/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega16/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega16/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega161/atmega161.frt delete mode 100644 amforth-6.5/avr8/devices/atmega161/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega161/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega161/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega162/atmega162.frt delete mode 100644 amforth-6.5/avr8/devices/atmega162/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega162/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega162/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega162/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega162/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega162/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega163/atmega163.frt delete mode 100644 amforth-6.5/avr8/devices/atmega163/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega163/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega163/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega164a/atmega164a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/AD_CONVERTER.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/ANALOG_COMPARATOR.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/BOOT_LOAD.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/CPU.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/EEPROM.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/EXTERNAL_INTERRUPT.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/JTAG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/PORTA.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/PORTB.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/PORTC.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/PORTD.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/TIMER_COUNTER_0.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/TIMER_COUNTER_1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/TIMER_COUNTER_2.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/TWI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/USART0.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/USART1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/blocks/WATCHDOG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega164a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega164a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega164a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega164a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega164a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega164p/atmega164p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega164p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega164p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega164p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega164p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega164p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega164pa/atmega164pa.frt delete mode 100644 amforth-6.5/avr8/devices/atmega164pa/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega164pa/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega164pa/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega164pa/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega164pa/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega164pa/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165/atmega165.frt delete mode 100644 amforth-6.5/avr8/devices/atmega165/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega165/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega165a/atmega165a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega165a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega165a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega165a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165p/atmega165p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega165p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega165p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega165p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165pa/atmega165pa.frt delete mode 100644 amforth-6.5/avr8/devices/atmega165pa/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165pa/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega165pa/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega165pa/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165pa/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega165pa/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168/atmega168.frt delete mode 100644 amforth-6.5/avr8/devices/atmega168/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega168/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega168/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168a/atmega168a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega168a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega168a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega168a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168p/atmega168p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega168p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega168p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega168p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168pa/atmega168pa.frt delete mode 100644 amforth-6.5/avr8/devices/atmega168pa/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168pa/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega168pa/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega168pa/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168pa/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega168pa/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169/atmega169.frt delete mode 100644 amforth-6.5/avr8/devices/atmega169/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega169/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega169a/atmega169a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega169a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega169a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega169a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169p/atmega169p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega169p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega169p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega169p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169pa/atmega169pa.frt delete mode 100644 amforth-6.5/avr8/devices/atmega169pa/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169pa/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega169pa/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega169pa/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169pa/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega169pa/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16a/atmega16a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega16a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega16a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega16a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16hva/atmega16hva.frt delete mode 100644 amforth-6.5/avr8/devices/atmega16hva/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16hva/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega16hva/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega16hva2/atmega16hva2.frt delete mode 100644 amforth-6.5/avr8/devices/atmega16hva2/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16hva2/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega16hva2/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega16hvb/atmega16hvb.frt delete mode 100644 amforth-6.5/avr8/devices/atmega16hvb/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16hvb/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega16hvb/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega16hvb/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16hvb/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16hvb/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16hvbrevb/atmega16hvbrevb.frt delete mode 100644 amforth-6.5/avr8/devices/atmega16hvbrevb/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16hvbrevb/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega16hvbrevb/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega16hvbrevb/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16hvbrevb/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16hvbrevb/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16m1/atmega16m1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega16m1/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16m1/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega16m1/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega16m1/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16m1/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16m1/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16u2/atmega16u2.frt delete mode 100644 amforth-6.5/avr8/devices/atmega16u2/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16u2/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega16u2/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega16u2/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16u2/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16u2/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16u4/atmega16u4.frt delete mode 100644 amforth-6.5/avr8/devices/atmega16u4/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16u4/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega16u4/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega16u4/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16u4/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega16u4/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega2560/atmega2560.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2560/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega2560/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega2560/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega2560/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega2560/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega2560/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega2561/atmega2561.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2561/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega2561/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega2561/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega2561/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega2561/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega2561/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/AD_CONVERTER.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/ANALOG_COMPARATOR.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/BOOT_LOAD.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/CPU.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/EEPROM.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/EXTERNAL_INTERRUPT.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/FLASH.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/JTAG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/PORTA.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/PORTB.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/PORTC.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/PORTD.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/PORTE.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/PORTF.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/PORTG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/PWRCTRL.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/SYMCNT.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/TIMER_COUNTER_0.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/TIMER_COUNTER_1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/TIMER_COUNTER_2.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/TIMER_COUNTER_3.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/TIMER_COUNTER_4.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/TIMER_COUNTER_5.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/TRX24.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/TWI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/USART0.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/USART0_SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/USART1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/USART1_SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/blocks/WATCHDOG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/device.frt delete mode 100644 amforth-6.5/avr8/devices/atmega2564rfr2/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/AD_CONVERTER.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/ANALOG_COMPARATOR.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/BOOT_LOAD.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/CPU.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/EEPROM.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/EXTERNAL_INTERRUPT.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/FLASH.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/JTAG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/PORTA.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/PORTB.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/PORTC.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/PORTD.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/PORTE.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/PORTF.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/PORTG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/PWRCTRL.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/SYMCNT.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/TIMER_COUNTER_0.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/TIMER_COUNTER_1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/TIMER_COUNTER_2.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/TIMER_COUNTER_3.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/TIMER_COUNTER_4.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/TIMER_COUNTER_5.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/TRX24.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/TWI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/USART0.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/USART0_SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/USART1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/USART1_SPI.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/blocks/WATCHDOG.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/device.frt delete mode 100644 amforth-6.5/avr8/devices/atmega256rfr2/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega32/atmega32.frt delete mode 100644 amforth-6.5/avr8/devices/atmega32/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega32/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega32/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega323/atmega323.frt delete mode 100644 amforth-6.5/avr8/devices/atmega323/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega323/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega323/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega324a/atmega324a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega324a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega324a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega324a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega324a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega324a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega324a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega324p/atmega324p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega324p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega324p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega324p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega324p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega324p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega324p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega324pa/atmega324pa.frt delete mode 100644 amforth-6.5/avr8/devices/atmega324pa/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega324pa/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega324pa/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega324pa/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega324pa/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega324pa/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325/atmega325.frt delete mode 100644 amforth-6.5/avr8/devices/atmega325/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega325/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega325/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250/atmega3250.frt delete mode 100644 amforth-6.5/avr8/devices/atmega3250/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega3250/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega3250/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250a/atmega3250a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega3250a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega3250a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega3250a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250p/atmega3250p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega3250p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega3250p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega3250p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250pa/atmega3250pa.frt delete mode 100644 amforth-6.5/avr8/devices/atmega3250pa/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250pa/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega3250pa/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega3250pa/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250pa/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3250pa/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325a/atmega325a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega325a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega325a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega325a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325p/atmega325p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega325p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega325p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega325p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325pa/atmega325pa.frt delete mode 100644 amforth-6.5/avr8/devices/atmega325pa/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325pa/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega325pa/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega325pa/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325pa/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega325pa/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega328/atmega328.frt delete mode 100644 amforth-6.5/avr8/devices/atmega328/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega328/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega328/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega328/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega328/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega328/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega328p/atmega328p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega328p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega328p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega328p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega328p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega328p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega328p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329/atmega329.frt delete mode 100644 amforth-6.5/avr8/devices/atmega329/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega329/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega329/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290/atmega3290.frt delete mode 100644 amforth-6.5/avr8/devices/atmega3290/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega3290/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega3290/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290a/atmega3290a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega3290a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega3290a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega3290a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290p/atmega3290p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega3290p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega3290p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega3290p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290pa/atmega3290pa.frt delete mode 100644 amforth-6.5/avr8/devices/atmega3290pa/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290pa/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega3290pa/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega3290pa/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290pa/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega3290pa/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329a/atmega329a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega329a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega329a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega329a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329p/atmega329p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega329p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega329p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega329p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329pa/atmega329pa.frt delete mode 100644 amforth-6.5/avr8/devices/atmega329pa/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329pa/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega329pa/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega329pa/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329pa/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega329pa/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32a/atmega32a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega32a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega32a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega32a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32c1/atmega32c1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega32c1/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32c1/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega32c1/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega32c1/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32c1/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32c1/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32hvb/atmega32hvb.frt delete mode 100644 amforth-6.5/avr8/devices/atmega32hvb/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32hvb/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega32hvb/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega32hvb/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32hvb/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32hvb/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32hvbrevb/atmega32hvbrevb.frt delete mode 100644 amforth-6.5/avr8/devices/atmega32hvbrevb/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32hvbrevb/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega32hvbrevb/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega32hvbrevb/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32hvbrevb/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32hvbrevb/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32m1/atmega32m1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega32m1/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32m1/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega32m1/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega32m1/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32m1/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32m1/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32u2/atmega32u2.frt delete mode 100644 amforth-6.5/avr8/devices/atmega32u2/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32u2/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega32u2/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega32u2/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32u2/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32u2/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32u4/atmega32u4.frt delete mode 100644 amforth-6.5/avr8/devices/atmega32u4/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32u4/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega32u4/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega32u4/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32u4/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32u4/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32u6/atmega32u6.frt delete mode 100644 amforth-6.5/avr8/devices/atmega32u6/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega32u6/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega32u6/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega406/atmega406.frt delete mode 100644 amforth-6.5/avr8/devices/atmega406/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega406/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega406/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega406/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega406/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega406/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64/atmega64.frt delete mode 100644 amforth-6.5/avr8/devices/atmega64/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega64/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega64/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega640/atmega640.frt delete mode 100644 amforth-6.5/avr8/devices/atmega640/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega640/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega640/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega640/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega640/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega640/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644/atmega644.frt delete mode 100644 amforth-6.5/avr8/devices/atmega644/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega644/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega644/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644a/atmega644a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega644a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega644a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega644a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644p/atmega644p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega644p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega644p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega644p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644pa/atmega644pa.frt delete mode 100644 amforth-6.5/avr8/devices/atmega644pa/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644pa/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega644pa/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega644pa/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644pa/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega644pa/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645/atmega645.frt delete mode 100644 amforth-6.5/avr8/devices/atmega645/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega645/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega645/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450/atmega6450.frt delete mode 100644 amforth-6.5/avr8/devices/atmega6450/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega6450/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega6450/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450a/atmega6450a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega6450a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega6450a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega6450a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450p/atmega6450p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega6450p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega6450p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega6450p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6450p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645a/atmega645a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega645a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega645a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega645a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645p/atmega645p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega645p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega645p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega645p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega645p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649/atmega649.frt delete mode 100644 amforth-6.5/avr8/devices/atmega649/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega649/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega649/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490/atmega6490.frt delete mode 100644 amforth-6.5/avr8/devices/atmega6490/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega6490/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega6490/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490a/atmega6490a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega6490a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega6490a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega6490a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490p/atmega6490p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega6490p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega6490p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega6490p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega6490p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649a/atmega649a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega649a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega649a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega649a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649p/atmega649p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega649p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega649p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega649p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega649p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64a/atmega64a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega64a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega64a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega64a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64c1/atmega64c1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega64c1/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64c1/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega64c1/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega64c1/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64c1/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64c1/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64hve/atmega64hve.frt delete mode 100644 amforth-6.5/avr8/devices/atmega64hve/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64hve/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega64hve/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega64m1/atmega64m1.frt delete mode 100644 amforth-6.5/avr8/devices/atmega64m1/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64m1/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega64m1/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega64m1/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64m1/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega64m1/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8/atmega8.frt delete mode 100644 amforth-6.5/avr8/devices/atmega8/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega8/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega8/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8515/atmega8515.frt delete mode 100644 amforth-6.5/avr8/devices/atmega8515/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8515/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega8515/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega8515/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8515/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8515/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8535/atmega8535.frt delete mode 100644 amforth-6.5/avr8/devices/atmega8535/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8535/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega8535/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega8535/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8535/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8535/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88/atmega88.frt delete mode 100644 amforth-6.5/avr8/devices/atmega88/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega88/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega88/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88a/atmega88a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega88a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega88a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega88a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88p/atmega88p.frt delete mode 100644 amforth-6.5/avr8/devices/atmega88p/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88p/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega88p/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega88p/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88p/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88p/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88pa/atmega88pa.frt delete mode 100644 amforth-6.5/avr8/devices/atmega88pa/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88pa/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega88pa/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega88pa/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88pa/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega88pa/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8a/atmega8a.frt delete mode 100644 amforth-6.5/avr8/devices/atmega8a/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8a/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega8a/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega8a/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8a/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8a/words/sleep.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8hva/atmega8hva.frt delete mode 100644 amforth-6.5/avr8/devices/atmega8hva/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8hva/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega8hva/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega8u2/atmega8u2.frt delete mode 100644 amforth-6.5/avr8/devices/atmega8u2/device.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8u2/device.inc delete mode 100644 amforth-6.5/avr8/devices/atmega8u2/device.py delete mode 100644 amforth-6.5/avr8/devices/atmega8u2/words/no-jtag.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8u2/words/no-wdt.asm delete mode 100644 amforth-6.5/avr8/devices/atmega8u2/words/sleep.asm delete mode 100644 amforth-6.5/avr8/dict/appl_2k.inc delete mode 100644 amforth-6.5/avr8/dict/appl_4k.inc delete mode 100644 amforth-6.5/avr8/dict/appl_8k.inc delete mode 100644 amforth-6.5/avr8/dict/compiler1.inc delete mode 100644 amforth-6.5/avr8/dict/compiler2.inc delete mode 100644 amforth-6.5/avr8/dict/core_2k.inc delete mode 100644 amforth-6.5/avr8/dict/core_4k.inc delete mode 100644 amforth-6.5/avr8/dict/core_8k.inc delete mode 100644 amforth-6.5/avr8/dict/interrupt.inc delete mode 100644 amforth-6.5/avr8/dict/nrww.inc delete mode 100644 amforth-6.5/avr8/dict/rww.inc delete mode 100644 amforth-6.5/avr8/drivers/1wire.asm delete mode 100644 amforth-6.5/avr8/drivers/generic-isr.asm delete mode 100644 amforth-6.5/avr8/drivers/usart-rx-buffer.asm delete mode 100644 amforth-6.5/avr8/drivers/usart.asm delete mode 100644 amforth-6.5/avr8/drivers/usart_0.asm delete mode 100644 amforth-6.5/avr8/drivers/usart_1.asm delete mode 100644 amforth-6.5/avr8/drivers/usart_2.asm delete mode 100644 amforth-6.5/avr8/drivers/usart_3.asm delete mode 100644 amforth-6.5/avr8/drivers/usart_common.asm delete mode 100644 amforth-6.5/avr8/lib/2evalue.frt delete mode 100644 amforth-6.5/avr8/lib/assembler-test.frt delete mode 100644 amforth-6.5/avr8/lib/assembler.frt delete mode 100644 amforth-6.5/avr8/lib/bitnames-code.frt delete mode 100644 amforth-6.5/avr8/lib/bitnames.frt delete mode 100644 amforth-6.5/avr8/lib/calc-baudrate.frt delete mode 100644 amforth-6.5/avr8/lib/dot-res.frt delete mode 100644 amforth-6.5/avr8/lib/eallot.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core-ext.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core-ext/avr-defers.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core-ext/marker-test.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core-ext/marker.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core/align.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core/aligned.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core/avr-values.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core/c-comma.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core/eeprom-buffer.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core/environment-q.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core/evaluate.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core/fm-slash-mod.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core/sm-slash-rem.frt delete mode 100644 amforth-6.5/avr8/lib/forth2012/core/star-slash-mod.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/25xxx.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/flash-block.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/i2c-twi-master.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/i2c-twi-slave.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/int-q.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/interrupts.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/key2char.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/keyboard.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/mmc.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/mpc485.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/spi.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/timer0.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/timer1.frt delete mode 100644 amforth-6.5/avr8/lib/hardware/timer2.frt delete mode 100644 amforth-6.5/avr8/lib/imove.frt delete mode 100644 amforth-6.5/avr8/lib/portio.frt delete mode 100644 amforth-6.5/avr8/lib/ram.frt delete mode 100644 amforth-6.5/avr8/lib/recognizer-arch.frt delete mode 100644 amforth-6.5/avr8/lib/run-hayes.frt delete mode 100644 amforth-6.5/avr8/macros.asm delete mode 100644 amforth-6.5/avr8/preamble.inc delete mode 100644 amforth-6.5/avr8/tools/99-avr.rules delete mode 100644 amforth-6.5/avr8/user.inc delete mode 100644 amforth-6.5/avr8/words/1minus.asm delete mode 100644 amforth-6.5/avr8/words/1ms.asm delete mode 100644 amforth-6.5/avr8/words/1plus.asm delete mode 100644 amforth-6.5/avr8/words/2r_fetch.asm delete mode 100644 amforth-6.5/avr8/words/2r_from.asm delete mode 100644 amforth-6.5/avr8/words/2slash.asm delete mode 100644 amforth-6.5/avr8/words/2spirw.asm delete mode 100644 amforth-6.5/avr8/words/2star.asm delete mode 100644 amforth-6.5/avr8/words/2to_r.asm delete mode 100644 amforth-6.5/avr8/words/allot.asm delete mode 100644 amforth-6.5/avr8/words/and.asm delete mode 100644 amforth-6.5/avr8/words/bm-clear.asm delete mode 100644 amforth-6.5/avr8/words/bm-set.asm delete mode 100644 amforth-6.5/avr8/words/bm-toggle.asm delete mode 100644 amforth-6.5/avr8/words/byteswap.asm delete mode 100644 amforth-6.5/avr8/words/cas.asm delete mode 100644 amforth-6.5/avr8/words/cellplus.asm delete mode 100644 amforth-6.5/avr8/words/cells.asm delete mode 100644 amforth-6.5/avr8/words/cfetch.asm delete mode 100644 amforth-6.5/avr8/words/cmove.asm delete mode 100644 amforth-6.5/avr8/words/cmove_g.asm delete mode 100644 amforth-6.5/avr8/words/code.asm delete mode 100644 amforth-6.5/avr8/words/cold.asm delete mode 100644 amforth-6.5/avr8/words/colon-noname.asm delete mode 100644 amforth-6.5/avr8/words/comma.asm delete mode 100644 amforth-6.5/avr8/words/compare.asm delete mode 100644 amforth-6.5/avr8/words/const-fold-depth.asm delete mode 100644 amforth-6.5/avr8/words/cstore.asm delete mode 100644 amforth-6.5/avr8/words/d-2slash.asm delete mode 100644 amforth-6.5/avr8/words/d-2star.asm delete mode 100644 amforth-6.5/avr8/words/d-greaterzero.asm delete mode 100644 amforth-6.5/avr8/words/d-invert.asm delete mode 100644 amforth-6.5/avr8/words/d-lesszero.asm delete mode 100644 amforth-6.5/avr8/words/d-minus.asm delete mode 100644 amforth-6.5/avr8/words/d-plus.asm delete mode 100644 amforth-6.5/avr8/words/dabs.asm delete mode 100644 amforth-6.5/avr8/words/dnegate.asm delete mode 100644 amforth-6.5/avr8/words/do-defer.asm delete mode 100644 amforth-6.5/avr8/words/do-sliteral.asm delete mode 100644 amforth-6.5/avr8/words/do-value.asm delete mode 100644 amforth-6.5/avr8/words/dobranch.asm delete mode 100644 amforth-6.5/avr8/words/docondbranch.asm delete mode 100644 amforth-6.5/avr8/words/doconstant.asm delete mode 100644 amforth-6.5/avr8/words/dodo.asm delete mode 100644 amforth-6.5/avr8/words/does.asm delete mode 100644 amforth-6.5/avr8/words/doliteral.asm delete mode 100644 amforth-6.5/avr8/words/doloop.asm delete mode 100644 amforth-6.5/avr8/words/doplusloop.asm delete mode 100644 amforth-6.5/avr8/words/douser.asm delete mode 100644 amforth-6.5/avr8/words/dovariable.asm delete mode 100644 amforth-6.5/avr8/words/dp.asm delete mode 100644 amforth-6.5/avr8/words/drop.asm delete mode 100644 amforth-6.5/avr8/words/dup.asm delete mode 100644 amforth-6.5/avr8/words/edefer-fetch.asm delete mode 100644 amforth-6.5/avr8/words/edefer-store.asm delete mode 100644 amforth-6.5/avr8/words/ehere.asm delete mode 100644 amforth-6.5/avr8/words/end-code.asm delete mode 100644 amforth-6.5/avr8/words/env-mcuinfo.asm delete mode 100644 amforth-6.5/avr8/words/env-slashpad.asm delete mode 100644 amforth-6.5/avr8/words/env-wordlists.asm delete mode 100644 amforth-6.5/avr8/words/environment.asm delete mode 100644 amforth-6.5/avr8/words/equal.asm delete mode 100644 amforth-6.5/avr8/words/equalzero.asm delete mode 100644 amforth-6.5/avr8/words/execute.asm delete mode 100644 amforth-6.5/avr8/words/exit.asm delete mode 100644 amforth-6.5/avr8/words/fetch-e.asm delete mode 100644 amforth-6.5/avr8/words/fetch-i.asm delete mode 100644 amforth-6.5/avr8/words/fetch-u.asm delete mode 100644 amforth-6.5/avr8/words/fetch.asm delete mode 100644 amforth-6.5/avr8/words/fill.asm delete mode 100644 amforth-6.5/avr8/words/forth-recognizer.asm delete mode 100644 amforth-6.5/avr8/words/forth-wordlist.asm delete mode 100644 amforth-6.5/avr8/words/g-mark.asm delete mode 100644 amforth-6.5/avr8/words/g-resolve.asm delete mode 100644 amforth-6.5/avr8/words/get-current.asm delete mode 100644 amforth-6.5/avr8/words/greater.asm delete mode 100644 amforth-6.5/avr8/words/greaterzero.asm delete mode 100644 amforth-6.5/avr8/words/header.asm delete mode 100644 amforth-6.5/avr8/words/here.asm delete mode 100644 amforth-6.5/avr8/words/hld.asm delete mode 100644 amforth-6.5/avr8/words/i-cellplus.asm delete mode 100644 amforth-6.5/avr8/words/i.asm delete mode 100644 amforth-6.5/avr8/words/icompare.asm delete mode 100644 amforth-6.5/avr8/words/icount.asm delete mode 100644 amforth-6.5/avr8/words/immediate-q.asm delete mode 100644 amforth-6.5/avr8/words/immediate.asm delete mode 100644 amforth-6.5/avr8/words/init-ram.asm delete mode 100644 amforth-6.5/avr8/words/int-fetch.asm delete mode 100644 amforth-6.5/avr8/words/int-num.asm delete mode 100644 amforth-6.5/avr8/words/int-off.asm delete mode 100644 amforth-6.5/avr8/words/int-on.asm delete mode 100644 amforth-6.5/avr8/words/int-store.asm delete mode 100644 amforth-6.5/avr8/words/int-trap.asm delete mode 100644 amforth-6.5/avr8/words/invert.asm delete mode 100644 amforth-6.5/avr8/words/irqcnt.asm delete mode 100644 amforth-6.5/avr8/words/isr-end.asm delete mode 100644 amforth-6.5/avr8/words/isr-exec.asm delete mode 100644 amforth-6.5/avr8/words/itype.asm delete mode 100644 amforth-6.5/avr8/words/j.asm delete mode 100644 amforth-6.5/avr8/words/l_mark.asm delete mode 100644 amforth-6.5/avr8/words/l_resolve.asm delete mode 100644 amforth-6.5/avr8/words/latest.asm delete mode 100644 amforth-6.5/avr8/words/less.asm delete mode 100644 amforth-6.5/avr8/words/lesszero.asm delete mode 100644 amforth-6.5/avr8/words/log2.asm delete mode 100644 amforth-6.5/avr8/words/lp.asm delete mode 100644 amforth-6.5/avr8/words/lp0.asm delete mode 100644 amforth-6.5/avr8/words/lshift.asm delete mode 100644 amforth-6.5/avr8/words/marker.asm delete mode 100644 amforth-6.5/avr8/words/minus.asm delete mode 100644 amforth-6.5/avr8/words/mplus.asm delete mode 100644 amforth-6.5/avr8/words/mstar.asm delete mode 100644 amforth-6.5/avr8/words/n-spi.asm delete mode 100644 amforth-6.5/avr8/words/n_r_from.asm delete mode 100644 amforth-6.5/avr8/words/n_to_r.asm delete mode 100644 amforth-6.5/avr8/words/name2flags.asm delete mode 100644 amforth-6.5/avr8/words/negate.asm delete mode 100644 amforth-6.5/avr8/words/newest.asm delete mode 100644 amforth-6.5/avr8/words/nfa2cfa.asm delete mode 100644 amforth-6.5/avr8/words/nfa2lfa.asm delete mode 100644 amforth-6.5/avr8/words/nip.asm delete mode 100644 amforth-6.5/avr8/words/not.asm delete mode 100644 amforth-6.5/avr8/words/notequalzero.asm delete mode 100644 amforth-6.5/avr8/words/or.asm delete mode 100644 amforth-6.5/avr8/words/over.asm delete mode 100644 amforth-6.5/avr8/words/pause.asm delete mode 100644 amforth-6.5/avr8/words/plus.asm delete mode 100644 amforth-6.5/avr8/words/plusstore.asm delete mode 100644 amforth-6.5/avr8/words/popcnt.asm delete mode 100644 amforth-6.5/avr8/words/qdup.asm delete mode 100644 amforth-6.5/avr8/words/r_fetch.asm delete mode 100644 amforth-6.5/avr8/words/r_from.asm delete mode 100644 amforth-6.5/avr8/words/reg-a.asm delete mode 100644 amforth-6.5/avr8/words/reg-b.asm delete mode 100644 amforth-6.5/avr8/words/rot.asm delete mode 100644 amforth-6.5/avr8/words/rp0.asm delete mode 100644 amforth-6.5/avr8/words/rpfetch.asm delete mode 100644 amforth-6.5/avr8/words/rpstore.asm delete mode 100644 amforth-6.5/avr8/words/rshift.asm delete mode 100644 amforth-6.5/avr8/words/scomma.asm delete mode 100644 amforth-6.5/avr8/words/set-current.asm delete mode 100644 amforth-6.5/avr8/words/slashmod.asm delete mode 100644 amforth-6.5/avr8/words/sp0.asm delete mode 100644 amforth-6.5/avr8/words/spfetch.asm delete mode 100644 amforth-6.5/avr8/words/spirw.asm delete mode 100644 amforth-6.5/avr8/words/spstore.asm delete mode 100644 amforth-6.5/avr8/words/state.asm delete mode 100644 amforth-6.5/avr8/words/store-e.asm delete mode 100644 amforth-6.5/avr8/words/store-i.asm delete mode 100644 amforth-6.5/avr8/words/store-i_big.asm delete mode 100644 amforth-6.5/avr8/words/store-i_nrww.asm delete mode 100644 amforth-6.5/avr8/words/store-u.asm delete mode 100644 amforth-6.5/avr8/words/store.asm delete mode 100644 amforth-6.5/avr8/words/swap.asm delete mode 100644 amforth-6.5/avr8/words/to-body.asm delete mode 100644 amforth-6.5/avr8/words/to_r.asm delete mode 100644 amforth-6.5/avr8/words/true.asm delete mode 100644 amforth-6.5/avr8/words/turnkey.asm delete mode 100644 amforth-6.5/avr8/words/ubrr.asm delete mode 100644 amforth-6.5/avr8/words/uless.asm delete mode 100644 amforth-6.5/avr8/words/umslashmod.asm delete mode 100644 amforth-6.5/avr8/words/umstar.asm delete mode 100644 amforth-6.5/avr8/words/unloop.asm delete mode 100644 amforth-6.5/avr8/words/unused.asm delete mode 100644 amforth-6.5/avr8/words/up.asm delete mode 100644 amforth-6.5/avr8/words/usart-rx-poll.asm delete mode 100644 amforth-6.5/avr8/words/usart-tx-poll.asm delete mode 100644 amforth-6.5/avr8/words/usart.asm delete mode 100644 amforth-6.5/avr8/words/user.asm delete mode 100644 amforth-6.5/avr8/words/uslashmod.asm delete mode 100644 amforth-6.5/avr8/words/wdr.asm delete mode 100644 amforth-6.5/avr8/words/wlscope.asm delete mode 100644 amforth-6.5/avr8/words/wordlist.asm delete mode 100644 amforth-6.5/avr8/words/xor.asm delete mode 100644 amforth-6.5/avr8/words/zero.asm (limited to 'amforth-6.5/avr8') diff --git a/amforth-6.5/avr8/amforth-eeprom.inc b/amforth-6.5/avr8/amforth-eeprom.inc deleted file mode 100644 index d71eeb0..0000000 --- a/amforth-6.5/avr8/amforth-eeprom.inc +++ /dev/null @@ -1,64 +0,0 @@ - .dw -1 ; EEPROM Address 0 should not be used -; some configs -CFG_DP: .dw DPSTART ; Dictionary Pointer -EE_HERE: .dw HERESTART ; Memory Allocation -EE_EHERE: .dw EHERESTART ; EEProm Memory Allocation -CFG_WLSCOPE: .dw XT_GET_CURRENT ; default wordlist scope -CFG_FORTHRECOGNIZER: .dw CFG_RECOGNIZERLISTLEN ; Recognizer word set -; LEAVE stack is between data stack and return stack. -CFG_LP0: .dw stackstart+1 -CFG_TURNKEY: .dw XT_APPLTURNKEY ; TURNKEY -CFG_ENVIRONMENT:.dw VE_ENVHEAD ; environmental queries -CFG_CURRENT: .dw CFG_FORTHWORDLIST ; forth-wordlist -CFG_FORTHWORDLIST:.dw VE_HEAD ; pre-defined (compiled in) wordlist -CFG_ORDERLISTLEN: - .dw 1 -CFG_ORDERLIST: ; list of wordlist id, exactly numwordlist entries - .dw CFG_FORTHWORDLIST ; get/set-order - .byte (NUMWORDLISTS-1)*CELLSIZE ; one slot is already used -CFG_RECOGNIZERLISTLEN: - .dw 2 -CFG_RECOGNIZERLIST: - .dw XT_REC_FIND - .dw XT_REC_NUM - .byte (NUMRECOGNIZERS-2)*CELLSIZE ; two slots are already used - -EE_STOREI: - .dw XT_DO_STOREI ; Store a cell into flash - -; MARKER saves everything up to here. Nothing beyond gets saved -EE_MARKER: - .dw EE_MARKER - -; default user area -EE_INITUSER: - .dw 0 ; USER_STATE - .dw 0 ; USER_FOLLOWER - .dw rstackstart ; USER_RP - .dw stackstart ; USER_SP0 - .dw stackstart ; USER_SP - - .dw 0 ; USER_HANDLER - .dw 10 ; USER_BASE - - .dw XT_TX ; USER_EMIT - .dw XT_TXQ ; USER_EMITQ - .dw XT_RX ; USER_KEY - .dw XT_RXQ ; USER_KEYQ - .dw XT_SOURCETIB ; USER_SOURCE - .dw 0 ; USER_G_IN - .dw XT_REFILLTIB ; USER_REFILL - .dw XT_DEFAULT_PROMPTOK - .dw XT_DEFAULT_PROMPTERROR - .dw XT_DEFAULT_PROMPTREADY - -; calculate baud rate error -.equ UBRR_VAL = ((F_CPU+BAUD*8)/(BAUD*16)-1) ; smart round -.equ BAUD_REAL = (F_CPU/(16*(UBRR_VAL+1))) ; effective baud rate -.equ BAUD_ERROR = ((BAUD_REAL*1000)/BAUD-1000) ; error in pro mille - -.if ((BAUD_ERROR>BAUD_MAXERROR) || (BAUD_ERROR<-BAUD_MAXERROR)) - .error "Serial line cannot be set up properly (systematic baud error too high)" -.endif -EE_UBRRVAL: - .dw UBRR_VAL ; BAUDRATE diff --git a/amforth-6.5/avr8/amforth-interpreter.asm b/amforth-6.5/avr8/amforth-interpreter.asm deleted file mode 100644 index 1d72745..0000000 --- a/amforth-6.5/avr8/amforth-interpreter.asm +++ /dev/null @@ -1,33 +0,0 @@ -; the inner interpreter. - -DO_COLON: - push XH - push XL ; PUSH IP - movw XL, wl - adiw xl, 1 -DO_NEXT: -.if WANT_INTERRUPTS == 1 - cp isrflag, zerol - brne DO_INTERRUPT -.endif - movw zl, XL ; READ IP - readflashcell wl, wh - adiw XL, 1 ; INC IP - -DO_EXECUTE: - movw zl, wl - readflashcell temp0,temp1 - movw zl, temp0 - ijmp - -.if WANT_INTERRUPTS == 1 -DO_INTERRUPT: - ; here we deal with interrupts the forth way - savetos - mov tosl, isrflag - clr tosh - clr isrflag - ldi wl, LOW(XT_ISREXEC) - ldi wh, HIGH(XT_ISREXEC) - rjmp DO_EXECUTE -.endif \ No newline at end of file diff --git a/amforth-6.5/avr8/amforth-low.asm b/amforth-6.5/avr8/amforth-low.asm deleted file mode 100644 index 0bd5ece..0000000 --- a/amforth-6.5/avr8/amforth-low.asm +++ /dev/null @@ -1,31 +0,0 @@ -;;;; avr forth -;;;; -;;;; GPL V2 (only) - -.set pc_ = pc - -.org $0000 - jmp_ PFA_COLD -.org pc_ - -.include "amforth-interpreter.asm" -.include "drivers/generic-isr.asm" -.set AMFORTH_NRWW_SIZE=(FLASHEND-AMFORTH_RO_SEG)*2 -; lower part of the dictionary -.include "dict/rww.inc" -.include "dict_appl.inc" -.include "dict/nrww.inc" ; well, not really nrww, but simplifies things alot -.include "dict_appl_core.inc" - - -.set DPSTART = pc -.set flashlast = pc - -.dseg -HERESTART: -.eseg -.include "amforth-eeprom.inc" -; 1st free address in EEPROM. -EHERESTART: - -.cseg diff --git a/amforth-6.5/avr8/amforth.asm b/amforth-6.5/avr8/amforth.asm deleted file mode 100644 index 3e9a9f2..0000000 --- a/amforth-6.5/avr8/amforth.asm +++ /dev/null @@ -1,39 +0,0 @@ -;;;; avr forth -;;;; -;;;; GPL V2 (only) - -.set AMFORTH_NRWW_SIZE=(FLASHEND-AMFORTH_RO_SEG)*2 - -.set corepc = pc -.org $0000 - jmp_ PFA_COLD - -.org corepc -.include "drivers/generic-isr.asm" -; lower part of the dictionary -.include "dict/rww.inc" -.include "dict_appl.inc" - -.set DPSTART = pc -.if(pc>AMFORTH_RO_SEG) -.error "RWW Segment Overflow, please edit your dict_appl.inc" -.endif - -.org AMFORTH_RO_SEG -.include "amforth-interpreter.asm" -.include "dict/nrww.inc" -.include "dict_appl_core.inc" - -.set flashlast = pc -.if (pc>FLASHEND) - .error "*** Flash size exceeded, please edit your dict_appl_core file to use less space! Aborting." -.endif - -.dseg -; define a label for the 1st free ram address -HERESTART: -.eseg -.include "amforth-eeprom.inc" -; 1st free address in EEPROM. -EHERESTART: -.cseg diff --git a/amforth-6.5/avr8/devices/at90can128/at90can128.frt b/amforth-6.5/avr8/devices/at90can128/at90can128.frt deleted file mode 100644 index 28cb0af..0000000 --- a/amforth-6.5/avr8/devices/at90can128/at90can128.frt +++ /dev/null @@ -1,465 +0,0 @@ -\ Partname: AT90CAN128 -\ generated automatically - -\ PORTA -&34 constant PORTA \ Port A Data Register -&33 constant DDRA \ Port A Data Direction Register -&32 constant PINA \ Port A Input Pins -\ PORTB -&37 constant PORTB \ Port B Data Register -&36 constant DDRB \ Port B Data Direction Register -&35 constant PINB \ Port B Input Pins -\ PORTC -&40 constant PORTC \ Port C Data Register -&39 constant DDRC \ Port C Data Direction Register -&38 constant PINC \ Port C Input Pins -\ PORTD -&43 constant PORTD \ Port D Data Register -&42 constant DDRD \ Port D Data Direction Register -&41 constant PIND \ Port D Input Pins -\ PORTE -&46 constant PORTE \ Data Register, Port E -&45 constant DDRE \ Data Direction Register, Port E -&44 constant PINE \ Input Pins, Port E -\ PORTF -&49 constant PORTF \ Data Register, Port F -&48 constant DDRF \ Data Direction Register, Port F -&47 constant PINF \ Input Pins, Port F -\ JTAG -&81 constant OCDR \ On-Chip Debug Related Register in I/O Memory -&85 constant MCUCR \ MCU Control Register - $80 constant MCUCR_JTD \ JTAG Interface Disable -&84 constant MCUSR \ MCU Status Register - $10 constant MCUSR_JTRF \ JTAG Reset Flag -\ SPI -&76 constant SPCR \ SPI Control Register - $80 constant SPCR_SPIE \ SPI Interrupt Enable - $40 constant SPCR_SPE \ SPI Enable - $20 constant SPCR_DORD \ Data Order - $10 constant SPCR_MSTR \ Master/Slave Select - $08 constant SPCR_CPOL \ Clock polarity - $04 constant SPCR_CPHA \ Clock Phase - $03 constant SPCR_SPR \ SPI Clock Rate Selects -&77 constant SPSR \ SPI Status Register - $80 constant SPSR_SPIF \ SPI Interrupt Flag - $40 constant SPSR_WCOL \ Write Collision Flag - $01 constant SPSR_SPI2X \ Double SPI Speed Bit -&78 constant SPDR \ SPI Data Register -\ TWI -&184 constant TWBR \ TWI Bit Rate register -&188 constant TWCR \ TWI Control Register - $80 constant TWCR_TWINT \ TWI Interrupt Flag - $40 constant TWCR_TWEA \ TWI Enable Acknowledge Bit - $20 constant TWCR_TWSTA \ TWI Start Condition Bit - $10 constant TWCR_TWSTO \ TWI Stop Condition Bit - $08 constant TWCR_TWWC \ TWI Write Collition Flag - $04 constant TWCR_TWEN \ TWI Enable Bit - $01 constant TWCR_TWIE \ TWI Interrupt Enable -&185 constant TWSR \ TWI Status Register - $F8 constant TWSR_TWS \ TWI Status - $03 constant TWSR_TWPS \ TWI Prescaler -&187 constant TWDR \ TWI Data register -&186 constant TWAR \ TWI (Slave) Address register - $FE constant TWAR_TWA \ TWI (Slave) Address register Bits - $01 constant TWAR_TWGCE \ TWI General Call Recognition Enable Bit -\ USART0 -&198 constant UDR0 \ USART I/O Data Register -&192 constant UCSR0A \ USART Control and Status Register A - $80 constant UCSR0A_RXC0 \ USART Receive Complete - $40 constant UCSR0A_TXC0 \ USART Transmitt Complete - $20 constant UCSR0A_UDRE0 \ USART Data Register Empty - $10 constant UCSR0A_FE0 \ Framing Error - $08 constant UCSR0A_DOR0 \ Data overRun - $04 constant UCSR0A_UPE0 \ Parity Error - $02 constant UCSR0A_U2X0 \ Double the USART transmission speed - $01 constant UCSR0A_MPCM0 \ Multi-processor Communication Mode -&193 constant UCSR0B \ USART Control and Status Register B - $80 constant UCSR0B_RXCIE0 \ RX Complete Interrupt Enable - $40 constant UCSR0B_TXCIE0 \ TX Complete Interrupt Enable - $20 constant UCSR0B_UDRIE0 \ USART Data register Empty Interrupt Enable - $10 constant UCSR0B_RXEN0 \ Receiver Enable - $08 constant UCSR0B_TXEN0 \ Transmitter Enable - $04 constant UCSR0B_UCSZ02 \ Character Size - $02 constant UCSR0B_RXB80 \ Receive Data Bit 8 - $01 constant UCSR0B_TXB80 \ Transmit Data Bit 8 -&194 constant UCSR0C \ USART Control and Status Register C - $40 constant UCSR0C_UMSEL0 \ USART Mode Select - $30 constant UCSR0C_UPM0 \ Parity Mode Bits - $08 constant UCSR0C_USBS0 \ Stop Bit Select - $06 constant UCSR0C_UCSZ0 \ Character Size - $01 constant UCSR0C_UCPOL0 \ Clock Polarity -&196 constant UBRR0 \ USART Baud Rate Register t Bytes -\ USART1 -&206 constant UDR1 \ USART I/O Data Register -&200 constant UCSR1A \ USART Control and Status Register A - $80 constant UCSR1A_RXC1 \ USART Receive Complete - $40 constant UCSR1A_TXC1 \ USART Transmitt Complete - $20 constant UCSR1A_UDRE1 \ USART Data Register Empty - $10 constant UCSR1A_FE1 \ Framing Error - $08 constant UCSR1A_DOR1 \ Data overRun - $04 constant UCSR1A_UPE1 \ Parity Error - $02 constant UCSR1A_U2X1 \ Double the USART transmission speed - $01 constant UCSR1A_MPCM1 \ Multi-processor Communication Mode -&201 constant UCSR1B \ USART Control and Status Register B - $80 constant UCSR1B_RXCIE1 \ RX Complete Interrupt Enable - $40 constant UCSR1B_TXCIE1 \ TX Complete Interrupt Enable - $20 constant UCSR1B_UDRIE1 \ USART Data register Empty Interrupt Enable - $10 constant UCSR1B_RXEN1 \ Receiver Enable - $08 constant UCSR1B_TXEN1 \ Transmitter Enable - $04 constant UCSR1B_UCSZ12 \ Character Size - $02 constant UCSR1B_RXB81 \ Receive Data Bit 8 - $01 constant UCSR1B_TXB81 \ Transmit Data Bit 8 -&202 constant UCSR1C \ USART Control and Status Register C - $40 constant UCSR1C_UMSEL1 \ USART Mode Select - $30 constant UCSR1C_UPM1 \ Parity Mode Bits - $08 constant UCSR1C_USBS1 \ Stop Bit Select - $06 constant UCSR1C_UCSZ1 \ Character Size - $01 constant UCSR1C_UCPOL1 \ Clock Polarity -&204 constant UBRR1 \ USART Baud Rate Register t Bytes -\ CPU -&95 constant SREG \ Status Register - $80 constant SREG_I \ Global Interrupt Enable - $40 constant SREG_T \ Bit Copy Storage - $20 constant SREG_H \ Half Carry Flag - $10 constant SREG_S \ Sign Bit - $08 constant SREG_V \ Two's Complement Overflow Flag - $04 constant SREG_N \ Negative Flag - $02 constant SREG_Z \ Zero Flag - $01 constant SREG_C \ Carry Flag -&93 constant SP \ Stack Pointer -&116 constant XMCRA \ External Memory Control Register A - $80 constant XMCRA_SRE \ External SRAM Enable - $70 constant XMCRA_SRL \ Wait state page limit - $0C constant XMCRA_SRW1 \ Wait state select bit upper page - $03 constant XMCRA_SRW0 \ Wait state select bit lower page -&117 constant XMCRB \ External Memory Control Register B - $80 constant XMCRB_XMBK \ External Memory Bus Keeper Enable - $07 constant XMCRB_XMM \ External Memory High Mask -&102 constant OSCCAL \ Oscillator Calibration Value -&97 constant CLKPR \ Clock Prescale Register - $80 constant CLKPR_CLKPCE \ - $0F constant CLKPR_CLKPS \ -&83 constant SMCR \ Sleep Mode Control Register - $0E constant SMCR_SM \ Sleep Mode Select bits - $01 constant SMCR_SE \ Sleep Enable -&91 constant RAMPZ \ RAM Page Z Select Register - $01 constant RAMPZ_RAMPZ0 \ RAM Page Z Select Register Bit 0 -&75 constant GPIOR2 \ General Purpose IO Register 2 - $FF constant GPIOR2_GPIOR \ General Purpose IO Register 2 bis -&74 constant GPIOR1 \ General Purpose IO Register 1 - $FF constant GPIOR1_GPIOR \ General Purpose IO Register 1 bis -&62 constant GPIOR0 \ General Purpose IO Register 0 - $80 constant GPIOR0_GPIOR07 \ General Purpose IO Register 0 bit 7 - $40 constant GPIOR0_GPIOR06 \ General Purpose IO Register 0 bit 6 - $20 constant GPIOR0_GPIOR05 \ General Purpose IO Register 0 bit 5 - $10 constant GPIOR0_GPIOR04 \ General Purpose IO Register 0 bit 4 - $08 constant GPIOR0_GPIOR03 \ General Purpose IO Register 0 bit 3 - $04 constant GPIOR0_GPIOR02 \ General Purpose IO Register 0 bit 2 - $02 constant GPIOR0_GPIOR01 \ General Purpose IO Register 0 bit 1 - $01 constant GPIOR0_GPIOR00 \ General Purpose IO Register 0 bit 0 -\ BOOT_LOAD -&87 constant SPMCSR \ Store Program Memory Control Register - $80 constant SPMCSR_SPMIE \ SPM Interrupt Enable - $40 constant SPMCSR_RWWSB \ Read While Write Section Busy - $10 constant SPMCSR_RWWSRE \ Read While Write section read enable - $08 constant SPMCSR_BLBSET \ Boot Lock Bit Set - $04 constant SPMCSR_PGWRT \ Page Write - $02 constant SPMCSR_PGERS \ Page Erase - $01 constant SPMCSR_SPMEN \ Store Program Memory Enable -\ EXTERNAL_INTERRUPT -&105 constant EICRA \ External Interrupt Control Register A - $C0 constant EICRA_ISC3 \ External Interrupt Sense Control Bit - $30 constant EICRA_ISC2 \ External Interrupt Sense Control Bit - $0C constant EICRA_ISC1 \ External Interrupt Sense Control Bit - $03 constant EICRA_ISC0 \ External Interrupt Sense Control Bit -&106 constant EICRB \ External Interrupt Control Register B - $C0 constant EICRB_ISC7 \ External Interrupt 7-4 Sense Control Bit - $30 constant EICRB_ISC6 \ External Interrupt 7-4 Sense Control Bit - $0C constant EICRB_ISC5 \ External Interrupt 7-4 Sense Control Bit - $03 constant EICRB_ISC4 \ External Interrupt 7-4 Sense Control Bit -&61 constant EIMSK \ External Interrupt Mask Register - $FF constant EIMSK_INT \ External Interrupt Request 7 Enable -&60 constant EIFR \ External Interrupt Flag Register - $FF constant EIFR_INTF \ External Interrupt Flags -\ EEPROM -&65 constant EEAR \ EEPROM Read/Write Access Bytes -&64 constant EEDR \ EEPROM Data Register -&63 constant EECR \ EEPROM Control Register - $08 constant EECR_EERIE \ EEPROM Ready Interrupt Enable - $04 constant EECR_EEMWE \ EEPROM Master Write Enable - $02 constant EECR_EEWE \ EEPROM Write Enable - $01 constant EECR_EERE \ EEPROM Read Enable -\ PORTG -&52 constant PORTG \ Data Register, Port G -&51 constant DDRG \ Data Direction Register, Port G -&50 constant PING \ Input Pins, Port G -\ TIMER_COUNTER_0 -&68 constant TCCR0A \ Timer/Counter0 Control Register - $80 constant TCCR0A_FOC0A \ Force Output Compare - $40 constant TCCR0A_WGM00 \ Waveform Generation Mode 0 - $30 constant TCCR0A_COM0A \ Compare Match Output Modes - $08 constant TCCR0A_WGM01 \ Waveform Generation Mode 1 - $07 constant TCCR0A_CS0 \ Clock Selects -&70 constant TCNT0 \ Timer/Counter0 -&71 constant OCR0A \ Timer/Counter0 Output Compare Register -&110 constant TIMSK0 \ Timer/Counter0 Interrupt Mask Register - $02 constant TIMSK0_OCIE0A \ Timer/Counter0 Output Compare Match Interrupt Enable - $01 constant TIMSK0_TOIE0 \ Timer/Counter0 Overflow Interrupt Enable -&53 constant TIFR0 \ Timer/Counter0 Interrupt Flag register - $02 constant TIFR0_OCF0A \ Timer/Counter0 Output Compare Flag 0 - $01 constant TIFR0_TOV0 \ Timer/Counter0 Overflow Flag -&67 constant GTCCR \ General Timer/Control Register - $80 constant GTCCR_TSM \ Timer/Counter Synchronization Mode - $01 constant GTCCR_PSR310 \ Prescaler Reset Timer/Counter1 and Timer/Counter0 -\ TIMER_COUNTER_1 -&128 constant TCCR1A \ Timer/Counter1 Control Register A - $C0 constant TCCR1A_COM1A \ Compare Output Mode 1A, bits - $30 constant TCCR1A_COM1B \ Compare Output Mode 1B, bits - $0C constant TCCR1A_COM1C \ Compare Output Mode 1C, bits - $03 constant TCCR1A_WGM1 \ Waveform Generation Mode -&129 constant TCCR1B \ Timer/Counter1 Control Register B - $80 constant TCCR1B_ICNC1 \ Input Capture 1 Noise Canceler - $40 constant TCCR1B_ICES1 \ Input Capture 1 Edge Select - $18 constant TCCR1B_WGM1 \ Waveform Generation Mode - $07 constant TCCR1B_CS1 \ Prescaler source of Timer/Counter 1 -&130 constant TCCR1C \ Timer/Counter 1 Control Register C - $80 constant TCCR1C_FOC1A \ Force Output Compare 1A - $40 constant TCCR1C_FOC1B \ Force Output Compare 1B - $20 constant TCCR1C_FOC1C \ Force Output Compare 1C -&132 constant TCNT1 \ Timer/Counter1 Bytes -&136 constant OCR1A \ Timer/Counter1 Output Compare Register Bytes -&138 constant OCR1B \ Timer/Counter1 Output Compare Register Bytes -&140 constant OCR1C \ Timer/Counter1 Output Compare Register Bytes -&134 constant ICR1 \ Timer/Counter1 Input Capture Register Bytes -&111 constant TIMSK1 \ Timer/Counter Interrupt Mask Register - $20 constant TIMSK1_ICIE1 \ Timer/Counter1 Input Capture Interrupt Enable - $08 constant TIMSK1_OCIE1C \ Timer/Counter1 Output CompareC Match Interrupt Enable - $04 constant TIMSK1_OCIE1B \ Timer/Counter1 Output CompareB Match Interrupt Enable - $02 constant TIMSK1_OCIE1A \ Timer/Counter1 Output CompareA Match Interrupt Enable - $01 constant TIMSK1_TOIE1 \ Timer/Counter1 Overflow Interrupt Enable -&54 constant TIFR1 \ Timer/Counter Interrupt Flag register - $20 constant TIFR1_ICF1 \ Input Capture Flag 1 - $08 constant TIFR1_OCF1C \ Output Compare Flag 1C - $04 constant TIFR1_OCF1B \ Output Compare Flag 1B - $02 constant TIFR1_OCF1A \ Output Compare Flag 1A - $01 constant TIFR1_TOV1 \ Timer/Counter1 Overflow Flag -\ TIMER_COUNTER_3 -&144 constant TCCR3A \ Timer/Counter3 Control Register A - $C0 constant TCCR3A_COM3A \ Compare Output Mode 3A, bits - $30 constant TCCR3A_COM3B \ Compare Output Mode 3B, bits - $0C constant TCCR3A_COM3C \ Compare Output Mode 3C, bits - $03 constant TCCR3A_WGM3 \ Waveform Generation Mode -&145 constant TCCR3B \ Timer/Counter3 Control Register B - $80 constant TCCR3B_ICNC3 \ Input Capture 3 Noise Canceler - $40 constant TCCR3B_ICES3 \ Input Capture 3 Edge Select - $18 constant TCCR3B_WGM3 \ Waveform Generation Mode - $07 constant TCCR3B_CS3 \ Prescaler source of Timer/Counter 3 -&146 constant TCCR3C \ Timer/Counter 3 Control Register C - $80 constant TCCR3C_FOC3A \ Force Output Compare 3A - $40 constant TCCR3C_FOC3B \ Force Output Compare 3B - $20 constant TCCR3C_FOC3C \ Force Output Compare 3C -&148 constant TCNT3 \ Timer/Counter3 Bytes -&152 constant OCR3A \ Timer/Counter3 Output Compare Register Bytes -&154 constant OCR3B \ Timer/Counter3 Output Compare Register Bytes -&156 constant OCR3C \ Timer/Counter3 Output Compare Register Bytes -&150 constant ICR3 \ Timer/Counter3 Input Capture Register Bytes -&113 constant TIMSK3 \ Timer/Counter Interrupt Mask Register - $20 constant TIMSK3_ICIE3 \ Timer/Counter3 Input Capture Interrupt Enable - $08 constant TIMSK3_OCIE3C \ Timer/Counter3 Output CompareC Match Interrupt Enable - $04 constant TIMSK3_OCIE3B \ Timer/Counter3 Output CompareB Match Interrupt Enable - $02 constant TIMSK3_OCIE3A \ Timer/Counter3 Output CompareA Match Interrupt Enable - $01 constant TIMSK3_TOIE3 \ Timer/Counter3 Overflow Interrupt Enable -&56 constant TIFR3 \ Timer/Counter Interrupt Flag register - $20 constant TIFR3_ICF3 \ Input Capture Flag 3 - $08 constant TIFR3_OCF3C \ Output Compare Flag 3C - $04 constant TIFR3_OCF3B \ Output Compare Flag 3B - $02 constant TIFR3_OCF3A \ Output Compare Flag 3A - $01 constant TIFR3_TOV3 \ Timer/Counter3 Overflow Flag -\ TIMER_COUNTER_2 -&176 constant TCCR2 \ Timer/Counter2 Control Register - $80 constant TCCR2_FOC2A \ Force Output Compare - $40 constant TCCR2_WGM20 \ Waveform Genration Mode - $30 constant TCCR2_COM2A \ Compare Output Mode bits - $08 constant TCCR2_WGM21 \ Waveform Generation Mode - $07 constant TCCR2_CS2 \ Clock Select bits -&178 constant TCNT2 \ Timer/Counter2 -&179 constant OCR2A \ Timer/Counter2 Output Compare Register -&112 constant TIMSK2 \ Timer/Counter Interrupt Mask register - $02 constant TIMSK2_OCIE2A \ Timer/Counter2 Output Compare Match Interrupt Enable - $01 constant TIMSK2_TOIE2 \ Timer/Counter2 Overflow Interrupt Enable -&55 constant TIFR2 \ Timer/Counter Interrupt Flag Register - $02 constant TIFR2_OCF2A \ Output Compare Flag 2 - $01 constant TIFR2_TOV2 \ Timer/Counter2 Overflow Flag -&182 constant ASSR \ Asynchronous Status Register - $10 constant ASSR_EXCLK \ Enable External Clock Interrupt - $08 constant ASSR_AS2 \ AS2: Asynchronous Timer/Counter2 - $04 constant ASSR_TCN2UB \ TCN2UB: Timer/Counter2 Update Busy - $02 constant ASSR_OCR2UB \ Output Compare Register2 Update Busy - $01 constant ASSR_TCR2UB \ TCR2UB: Timer/Counter Control Register2 Update Busy -\ WATCHDOG -&96 constant WDTCR \ Watchdog Timer Control Register - $10 constant WDTCR_WDCE \ Watchdog Change Enable - $08 constant WDTCR_WDE \ Watch Dog Enable - $07 constant WDTCR_WDP \ Watch Dog Timer Prescaler bits -\ AD_CONVERTER -&124 constant ADMUX \ The ADC multiplexer Selection Register - $C0 constant ADMUX_REFS \ Reference Selection Bits - $20 constant ADMUX_ADLAR \ Left Adjust Result - $1F constant ADMUX_MUX \ Analog Channel and Gain Selection Bits -&122 constant ADCSRA \ The ADC Control and Status register - $80 constant ADCSRA_ADEN \ ADC Enable - $40 constant ADCSRA_ADSC \ ADC Start Conversion - $20 constant ADCSRA_ADATE \ ADC Auto Trigger Enable - $10 constant ADCSRA_ADIF \ ADC Interrupt Flag - $08 constant ADCSRA_ADIE \ ADC Interrupt Enable - $07 constant ADCSRA_ADPS \ ADC Prescaler Select Bits -&120 constant ADC \ ADC Data Register Bytes -&123 constant ADCSRB \ ADC Control and Status Register B - $80 constant ADCSRB_ADHSM \ ADC High Speed Mode - $07 constant ADCSRB_ADTS \ ADC Auto Trigger Sources -&126 constant DIDR0 \ Digital Input Disable Register 1 - $80 constant DIDR0_ADC7D \ ADC7 Digital input Disable - $40 constant DIDR0_ADC6D \ ADC6 Digital input Disable - $20 constant DIDR0_ADC5D \ ADC5 Digital input Disable - $10 constant DIDR0_ADC4D \ ADC4 Digital input Disable - $08 constant DIDR0_ADC3D \ ADC3 Digital input Disable - $04 constant DIDR0_ADC2D \ ADC2 Digital input Disable - $02 constant DIDR0_ADC1D \ ADC1 Digital input Disable - $01 constant DIDR0_ADC0D \ ADC0 Digital input Disable -\ ANALOG_COMPARATOR -&80 constant ACSR \ Analog Comparator Control And Status Register - $80 constant ACSR_ACD \ Analog Comparator Disable - $40 constant ACSR_ACBG \ Analog Comparator Bandgap Select - $20 constant ACSR_ACO \ Analog Compare Output - $10 constant ACSR_ACI \ Analog Comparator Interrupt Flag - $08 constant ACSR_ACIE \ Analog Comparator Interrupt Enable - $04 constant ACSR_ACIC \ Analog Comparator Input Capture Enable - $03 constant ACSR_ACIS \ Analog Comparator Interrupt Mode Select bits -&127 constant DIDR1 \ - $02 constant DIDR1_AIN1D \ AIN1 Digital Input Disable - $01 constant DIDR1_AIN0D \ AIN0 Digital Input Disable -\ CAN -&216 constant CANGCON \ CAN General Control Register - $80 constant CANGCON_ABRQ \ Abort Request - $40 constant CANGCON_OVRQ \ Overload Frame Request - $20 constant CANGCON_TTC \ Time Trigger Communication - $10 constant CANGCON_SYNTTC \ Synchronization of TTC - $08 constant CANGCON_LISTEN \ Listening Mode - $04 constant CANGCON_TEST \ Test Mode - $02 constant CANGCON_ENASTB \ Enable / Standby - $01 constant CANGCON_SWRES \ Software Reset Request -&217 constant CANGSTA \ CAN General Status Register - $40 constant CANGSTA_OVRG \ Overload Frame Flag - $10 constant CANGSTA_TXBSY \ Transmitter Busy - $08 constant CANGSTA_RXBSY \ Receiver Busy - $04 constant CANGSTA_ENFG \ Enable Flag - $02 constant CANGSTA_BOFF \ Bus Off Mode - $01 constant CANGSTA_ERRP \ Error Passive Mode -&218 constant CANGIT \ CAN General Interrupt Register - $80 constant CANGIT_CANIT \ General Interrupt Flag - $40 constant CANGIT_BOFFIT \ Bus Off Interrupt Flag - $20 constant CANGIT_OVRTIM \ Overrun CAN Timer - $10 constant CANGIT_BXOK \ Burst Receive Interrupt - $08 constant CANGIT_SERG \ Stuff Error General - $04 constant CANGIT_CERG \ CRC Error General - $02 constant CANGIT_FERG \ Form Error General - $01 constant CANGIT_AERG \ Ackknowledgement Error General -&219 constant CANGIE \ CAN General Interrupt Enable Register - $80 constant CANGIE_ENIT \ Enable all Interrupts - $40 constant CANGIE_ENBOFF \ Enable Bus Off INterrupt - $20 constant CANGIE_ENRX \ Enable Receive Interrupt - $10 constant CANGIE_ENTX \ Enable Transmitt Interrupt - $08 constant CANGIE_ENERR \ Enable MOb Error Interrupt - $04 constant CANGIE_ENBX \ Enable Burst Receive Interrupt - $02 constant CANGIE_ENERG \ Enable General Error Interrupt - $01 constant CANGIE_ENOVRT \ Enable CAN Timer Overrun Interrupt -&220 constant CANEN2 \ Enable MOb Register -&221 constant CANEN1 \ Enable MOb Register -&222 constant CANIE2 \ Enable Interrupt MOb Register -&223 constant CANIE1 \ Enable Interrupt MOb Register -&224 constant CANSIT2 \ CAN Status Interrupt MOb Register -&225 constant CANSIT1 \ CAN Status Interrupt MOb Register -&226 constant CANBT1 \ Bit Timing Register 1 - $7E constant CANBT1_BRP \ Baud Rate Prescaler bits -&227 constant CANBT2 \ Bit Timing Register 2 - $60 constant CANBT2_SJW \ Re-Sync Jump Width - $0E constant CANBT2_PRS \ Propagation Time Segment -&228 constant CANBT3 \ Bit Timing Register 3 - $70 constant CANBT3_PHS2 \ Phase Segments - $0E constant CANBT3_PHS1 \ Phase Segment 1 - $01 constant CANBT3_SMP \ Sample Type -&229 constant CANTCON \ Timer Control Register -&230 constant CANTIML \ Timer Register Low -&231 constant CANTIMH \ Timer Register High -&232 constant CANTTCL \ TTC Timer Register Low -&233 constant CANTTCH \ TTC Timer Register High -&234 constant CANTEC \ Transmit Error Counter Register -&235 constant CANREC \ Receive Error Counter Register -&236 constant CANHPMOB \ Highest Priority MOb Register -&237 constant CANPAGE \ Page MOb Register - $F0 constant CANPAGE_MOBNB \ MOb Number Bits - $08 constant CANPAGE_AINC \ MOb Data Buffer Auto Increment - $07 constant CANPAGE_INDX \ Data Buffer Index Bits -&238 constant CANSTMOB \ MOb Status Register - $80 constant CANSTMOB_DLCW \ Data Length Code Warning - $40 constant CANSTMOB_TXOK \ Transmit OK - $20 constant CANSTMOB_RXOK \ Receive OK - $10 constant CANSTMOB_BERR \ Bit Error - $08 constant CANSTMOB_SERR \ Stuff Error - $04 constant CANSTMOB_CERR \ CRC Error - $02 constant CANSTMOB_FERR \ Form Error - $01 constant CANSTMOB_AERR \ Ackknowledgement Error -&239 constant CANCDMOB \ MOb Control and DLC Register - $C0 constant CANCDMOB_CONMOB \ MOb Config Bits - $20 constant CANCDMOB_RPLV \ Reply Valid - $10 constant CANCDMOB_IDE \ Identifier Extension - $0F constant CANCDMOB_DLC \ Data Length Code Bits -&240 constant CANIDT4 \ Identifier Tag Register 4 -&241 constant CANIDT3 \ Identifier Tag Register 3 -&242 constant CANIDT2 \ Identifier Tag Register 2 -&243 constant CANIDT1 \ Identifier Tag Register 1 -&244 constant CANIDM4 \ Identifier Mask Register 4 -&245 constant CANIDM3 \ Identifier Mask Register 3 -&246 constant CANIDM2 \ Identifier Mask Register 2 -&247 constant CANIDM1 \ Identifier Mask Register 1 -&248 constant CANSTML \ Time Stamp Register Low -&249 constant CANSTMH \ Time Stamp Register High -&250 constant CANMSG \ Message Data Register - -\ Interrupts -&2 constant INT0Addr \ External Interrupt Request 0 -&4 constant INT1Addr \ External Interrupt Request 1 -&6 constant INT2Addr \ External Interrupt Request 2 -&8 constant INT3Addr \ External Interrupt Request 3 -&10 constant INT4Addr \ External Interrupt Request 4 -&12 constant INT5Addr \ External Interrupt Request 5 -&14 constant INT6Addr \ External Interrupt Request 6 -&16 constant INT7Addr \ External Interrupt Request 7 -&18 constant TIMER2_COMPAddr \ Timer/Counter2 Compare Match -&20 constant TIMER2_OVFAddr \ Timer/Counter2 Overflow -&22 constant TIMER1_CAPTAddr \ Timer/Counter1 Capture Event -&24 constant TIMER1_COMPAAddr \ Timer/Counter1 Compare Match A -&26 constant TIMER1_COMPBAddr \ Timer/Counter Compare Match B -&28 constant TIMER1_COMPCAddr \ Timer/Counter1 Compare Match C -&30 constant TIMER1_OVFAddr \ Timer/Counter1 Overflow -&32 constant TIMER0_COMPAddr \ Timer/Counter0 Compare Match -&34 constant TIMER0_OVFAddr \ Timer/Counter0 Overflow -&36 constant CANITAddr \ CAN Transfer Complete or Error -&38 constant OVRITAddr \ CAN Timer Overrun -&40 constant SPI__STCAddr \ SPI Serial Transfer Complete -&42 constant USART0__RXAddr \ USART0, Rx Complete -&44 constant USART0__UDREAddr \ USART0 Data Register Empty -&46 constant USART0__TXAddr \ USART0, Tx Complete -&48 constant ANALOG_COMPAddr \ Analog Comparator -&50 constant ADCAddr \ ADC Conversion Complete -&52 constant EE_READYAddr \ EEPROM Ready -&54 constant TIMER3_CAPTAddr \ Timer/Counter3 Capture Event -&56 constant TIMER3_COMPAAddr \ Timer/Counter3 Compare Match A -&58 constant TIMER3_COMPBAddr \ Timer/Counter3 Compare Match B -&60 constant TIMER3_COMPCAddr \ Timer/Counter3 Compare Match C -&62 constant TIMER3_OVFAddr \ Timer/Counter3 Overflow -&64 constant USART1__RXAddr \ USART1, Rx Complete -&66 constant USART1__UDREAddr \ USART1, Data Register Empty -&68 constant USART1__TXAddr \ USART1, Tx Complete -&70 constant TWIAddr \ 2-wire Serial Interface -&72 constant SPM_READYAddr \ Store Program Memory Read diff --git a/amforth-6.5/avr8/devices/at90can128/device.asm b/amforth-6.5/avr8/devices/at90can128/device.asm deleted file mode 100644 index e669742..0000000 --- a/amforth-6.5/avr8/devices/at90can128/device.asm +++ /dev/null @@ -1,145 +0,0 @@ -; Partname: AT90CAN128 -; generated automatically, do not edit - -.nolist - .include "can128def.inc" -.list - -.equ ramstart = 256 -.equ CELLSIZE = 2 -.macro readflashcell - clr temp7 - lsl zl - rol zh - rol temp7 - out_ RAMPZ, temp7 - elpm @0, Z+ - elpm @1, Z+ -.endmacro -.macro writeflashcell - clr temp7 - lsl zl - rol zh - rol temp7 - out_ RAMPZ, temp7 -.endmacro -.set WANT_PORTA = 0 -.set WANT_PORTB = 0 -.set WANT_PORTC = 0 -.set WANT_PORTD = 0 -.set WANT_PORTE = 0 -.set WANT_PORTF = 0 -.set WANT_JTAG = 0 -.set WANT_SPI = 0 -.set WANT_TWI = 0 -.set WANT_USART0 = 0 -.set WANT_USART1 = 0 -.set WANT_CPU = 0 -.set WANT_BOOT_LOAD = 0 -.set WANT_EXTERNAL_INTERRUPT = 0 -.set WANT_EEPROM = 0 -.set WANT_PORTG = 0 -.set WANT_TIMER_COUNTER_0 = 0 -.set WANT_TIMER_COUNTER_1 = 0 -.set WANT_TIMER_COUNTER_3 = 0 -.set WANT_TIMER_COUNTER_2 = 0 -.set WANT_WATCHDOG = 0 -.set WANT_AD_CONVERTER = 0 -.set WANT_ANALOG_COMPARATOR = 0 -.set WANT_CAN = 0 -.equ intvecsize = 2 ; please verify; flash size: 131072 bytes -.equ pclen = 2 ; please verify -.overlap -.org 2 - rcall isr ; External Interrupt Request 0 -.org 4 - rcall isr ; External Interrupt Request 1 -.org 6 - rcall isr ; External Interrupt Request 2 -.org 8 - rcall isr ; External Interrupt Request 3 -.org 10 - rcall isr ; External Interrupt Request 4 -.org 12 - rcall isr ; External Interrupt Request 5 -.org 14 - rcall isr ; External Interrupt Request 6 -.org 16 - rcall isr ; External Interrupt Request 7 -.org 18 - rcall isr ; Timer/Counter2 Compare Match -.org 20 - rcall isr ; Timer/Counter2 Overflow -.org 22 - rcall isr ; Timer/Counter1 Capture Event -.org 24 - rcall isr ; Timer/Counter1 Compare Match A -.org 26 - rcall isr ; Timer/Counter Compare Match B -.org 28 - rcall isr ; Timer/Counter1 Compare Match C -.org 30 - rcall isr ; Timer/Counter1 Overflow -.org 32 - rcall isr ; Timer/Counter0 Compare Match -.org 34 - rcall isr ; Timer/Counter0 Overflow -.org 36 - rcall isr ; CAN Transfer Complete or Error -.org 38 - rcall isr ; CAN Timer Overrun -.org 40 - rcall isr ; SPI Serial Transfer Complete -.org 42 - rcall isr ; USART0, Rx Complete -.org 44 - rcall isr ; USART0 Data Register Empty -.org 46 - rcall isr ; USART0, Tx Complete -.org 48 - rcall isr ; Analog Comparator -.org 50 - rcall isr ; ADC Conversion Complete -.org 52 - rcall isr ; EEPROM Ready -.org 54 - rcall isr ; Timer/Counter3 Capture Event -.org 56 - rcall isr ; Timer/Counter3 Compare Match A -.org 58 - rcall isr ; Timer/Counter3 Compare Match B -.org 60 - rcall isr ; Timer/Counter3 Compare Match C -.org 62 - rcall isr ; Timer/Counter3 Overflow -.org 64 - rcall isr ; USART1, Rx Complete -.org 66 - rcall isr ; USART1, Data Register Empty -.org 68 - rcall isr ; USART1, Tx Complete -.org 70 - rcall isr ; 2-wire Serial Interface -.org 72 - rcall isr ; Store Program Memory Read -.equ INTVECTORS = 37 -.nooverlap - -; compatability layer (maybe empty) -.equ EEPE = EEWE -.equ EEMPE = EEMWE - -; controller data area, environment query mcu-info -mcu_info: -mcu_ramsize: - .dw 4096 -mcu_eepromsize: - .dw 4096 -mcu_maxdp: - .dw 65535 -mcu_numints: - .dw 37 -mcu_name: - .dw 10 - .db "AT90CAN128" -.set codestart=pc diff --git a/amforth-6.5/avr8/devices/at90can128/device.inc b/amforth-6.5/avr8/devices/at90can128/device.inc deleted file mode 100644 index 59c6d52..0000000 --- a/amforth-6.5/avr8/devices/at90can128/device.inc +++ /dev/null @@ -1,1707 +0,0 @@ -; Partname: AT90CAN128 -; generated automatically, no not edit - -.if WANT_PORTA == 1 -; ( -- addr ) System Constant -; R( -- ) -; Port A Data Register -VE_PORTA: - .dw $ff05 - .db "PORTA",0 - .dw VE_HEAD - .set VE_HEAD=VE_PORTA -XT_PORTA: - .dw PFA_DOVARIABLE -PFA_PORTA: - .dw 34 -; ( -- addr ) System Constant -; R( -- ) -; Port A Data Direction Register -VE_DDRA: - .dw $ff04 - .db "DDRA" - .dw VE_HEAD - .set VE_HEAD=VE_DDRA -XT_DDRA: - .dw PFA_DOVARIABLE -PFA_DDRA: - .dw 33 -; ( -- addr ) System Constant -; R( -- ) -; Port A Input Pins -VE_PINA: - .dw $ff04 - .db "PINA" - .dw VE_HEAD - .set VE_HEAD=VE_PINA -XT_PINA: - .dw PFA_DOVARIABLE -PFA_PINA: - .dw 32 - -.endif -.if WANT_PORTB == 1 -; ( -- addr ) System Constant -; R( -- ) -; Port B Data Register -VE_PORTB: - .dw $ff05 - .db "PORTB",0 - .dw VE_HEAD - .set VE_HEAD=VE_PORTB -XT_PORTB: - .dw PFA_DOVARIABLE -PFA_PORTB: - .dw 37 -; ( -- addr ) System Constant -; R( -- ) -; Port B Data Direction Register -VE_DDRB: - .dw $ff04 - .db "DDRB" - .dw VE_HEAD - .set VE_HEAD=VE_DDRB -XT_DDRB: - .dw PFA_DOVARIABLE -PFA_DDRB: - .dw 36 -; ( -- addr ) System Constant -; R( -- ) -; Port B Input Pins -VE_PINB: - .dw $ff04 - .db "PINB" - .dw VE_HEAD - .set VE_HEAD=VE_PINB -XT_PINB: - .dw PFA_DOVARIABLE -PFA_PINB: - .dw 35 - -.endif -.if WANT_PORTC == 1 -; ( -- addr ) System Constant -; R( -- ) -; Port C Data Register -VE_PORTC: - .dw $ff05 - .db "PORTC",0 - .dw VE_HEAD - .set VE_HEAD=VE_PORTC -XT_PORTC: - .dw PFA_DOVARIABLE -PFA_PORTC: - .dw 40 -; ( -- addr ) System Constant -; R( -- ) -; Port C Data Direction Register -VE_DDRC: - .dw $ff04 - .db "DDRC" - .dw VE_HEAD - .set VE_HEAD=VE_DDRC -XT_DDRC: - .dw PFA_DOVARIABLE -PFA_DDRC: - .dw 39 -; ( -- addr ) System Constant -; R( -- ) -; Port C Input Pins -VE_PINC: - .dw $ff04 - .db "PINC" - .dw VE_HEAD - .set VE_HEAD=VE_PINC -XT_PINC: - .dw PFA_DOVARIABLE -PFA_PINC: - .dw 38 - -.endif -.if WANT_PORTD == 1 -; ( -- addr ) System Constant -; R( -- ) -; Port D Data Register -VE_PORTD: - .dw $ff05 - .db "PORTD",0 - .dw VE_HEAD - .set VE_HEAD=VE_PORTD -XT_PORTD: - .dw PFA_DOVARIABLE -PFA_PORTD: - .dw 43 -; ( -- addr ) System Constant -; R( -- ) -; Port D Data Direction Register -VE_DDRD: - .dw $ff04 - .db "DDRD" - .dw VE_HEAD - .set VE_HEAD=VE_DDRD -XT_DDRD: - .dw PFA_DOVARIABLE -PFA_DDRD: - .dw 42 -; ( -- addr ) System Constant -; R( -- ) -; Port D Input Pins -VE_PIND: - .dw $ff04 - .db "PIND" - .dw VE_HEAD - .set VE_HEAD=VE_PIND -XT_PIND: - .dw PFA_DOVARIABLE -PFA_PIND: - .dw 41 - -.endif -.if WANT_PORTE == 1 -; ( -- addr ) System Constant -; R( -- ) -; Data Register, Port E -VE_PORTE: - .dw $ff05 - .db "PORTE",0 - .dw VE_HEAD - .set VE_HEAD=VE_PORTE -XT_PORTE: - .dw PFA_DOVARIABLE -PFA_PORTE: - .dw 46 -; ( -- addr ) System Constant -; R( -- ) -; Data Direction Register, Port E -VE_DDRE: - .dw $ff04 - .db "DDRE" - .dw VE_HEAD - .set VE_HEAD=VE_DDRE -XT_DDRE: - .dw PFA_DOVARIABLE -PFA_DDRE: - .dw 45 -; ( -- addr ) System Constant -; R( -- ) -; Input Pins, Port E -VE_PINE: - .dw $ff04 - .db "PINE" - .dw VE_HEAD - .set VE_HEAD=VE_PINE -XT_PINE: - .dw PFA_DOVARIABLE -PFA_PINE: - .dw 44 - -.endif -.if WANT_PORTF == 1 -; ( -- addr ) System Constant -; R( -- ) -; Data Register, Port F -VE_PORTF: - .dw $ff05 - .db "PORTF",0 - .dw VE_HEAD - .set VE_HEAD=VE_PORTF -XT_PORTF: - .dw PFA_DOVARIABLE -PFA_PORTF: - .dw 49 -; ( -- addr ) System Constant -; R( -- ) -; Data Direction Register, Port F -VE_DDRF: - .dw $ff04 - .db "DDRF" - .dw VE_HEAD - .set VE_HEAD=VE_DDRF -XT_DDRF: - .dw PFA_DOVARIABLE -PFA_DDRF: - .dw 48 -; ( -- addr ) System Constant -; R( -- ) -; Input Pins, Port F -VE_PINF: - .dw $ff04 - .db "PINF" - .dw VE_HEAD - .set VE_HEAD=VE_PINF -XT_PINF: - .dw PFA_DOVARIABLE -PFA_PINF: - .dw 47 - -.endif -.if WANT_JTAG == 1 -; ( -- addr ) System Constant -; R( -- ) -; On-Chip Debug Related Register in I/O Memory -VE_OCDR: - .dw $ff04 - .db "OCDR" - .dw VE_HEAD - .set VE_HEAD=VE_OCDR -XT_OCDR: - .dw PFA_DOVARIABLE -PFA_OCDR: - .dw 81 -; ( -- addr ) System Constant -; R( -- ) -; MCU Control Register -VE_MCUCR: - .dw $ff05 - .db "MCUCR",0 - .dw VE_HEAD - .set VE_HEAD=VE_MCUCR -XT_MCUCR: - .dw PFA_DOVARIABLE -PFA_MCUCR: - .dw 85 -; ( -- addr ) System Constant -; R( -- ) -; MCU Status Register -VE_MCUSR: - .dw $ff05 - .db "MCUSR",0 - .dw VE_HEAD - .set VE_HEAD=VE_MCUSR -XT_MCUSR: - .dw PFA_DOVARIABLE -PFA_MCUSR: - .dw 84 - -.endif -.if WANT_SPI == 1 -; ( -- addr ) System Constant -; R( -- ) -; SPI Control Register -VE_SPCR: - .dw $ff04 - .db "SPCR" - .dw VE_HEAD - .set VE_HEAD=VE_SPCR -XT_SPCR: - .dw PFA_DOVARIABLE -PFA_SPCR: - .dw 76 -; ( -- addr ) System Constant -; R( -- ) -; SPI Status Register -VE_SPSR: - .dw $ff04 - .db "SPSR" - .dw VE_HEAD - .set VE_HEAD=VE_SPSR -XT_SPSR: - .dw PFA_DOVARIABLE -PFA_SPSR: - .dw 77 -; ( -- addr ) System Constant -; R( -- ) -; SPI Data Register -VE_SPDR: - .dw $ff04 - .db "SPDR" - .dw VE_HEAD - .set VE_HEAD=VE_SPDR -XT_SPDR: - .dw PFA_DOVARIABLE -PFA_SPDR: - .dw 78 - -.endif -.if WANT_TWI == 1 -; ( -- addr ) System Constant -; R( -- ) -; TWI Bit Rate register -VE_TWBR: - .dw $ff04 - .db "TWBR" - .dw VE_HEAD - .set VE_HEAD=VE_TWBR -XT_TWBR: - .dw PFA_DOVARIABLE -PFA_TWBR: - .dw 184 -; ( -- addr ) System Constant -; R( -- ) -; TWI Control Register -VE_TWCR: - .dw $ff04 - .db "TWCR" - .dw VE_HEAD - .set VE_HEAD=VE_TWCR -XT_TWCR: - .dw PFA_DOVARIABLE -PFA_TWCR: - .dw 188 -; ( -- addr ) System Constant -; R( -- ) -; TWI Status Register -VE_TWSR: - .dw $ff04 - .db "TWSR" - .dw VE_HEAD - .set VE_HEAD=VE_TWSR -XT_TWSR: - .dw PFA_DOVARIABLE -PFA_TWSR: - .dw 185 -; ( -- addr ) System Constant -; R( -- ) -; TWI Data register -VE_TWDR: - .dw $ff04 - .db "TWDR" - .dw VE_HEAD - .set VE_HEAD=VE_TWDR -XT_TWDR: - .dw PFA_DOVARIABLE -PFA_TWDR: - .dw 187 -; ( -- addr ) System Constant -; R( -- ) -; TWI (Slave) Address register -VE_TWAR: - .dw $ff04 - .db "TWAR" - .dw VE_HEAD - .set VE_HEAD=VE_TWAR -XT_TWAR: - .dw PFA_DOVARIABLE -PFA_TWAR: - .dw 186 - -.endif -.if WANT_USART0 == 1 -; ( -- addr ) System Constant -; R( -- ) -; USART I/O Data Register -VE_UDR0: - .dw $ff04 - .db "UDR0" - .dw VE_HEAD - .set VE_HEAD=VE_UDR0 -XT_UDR0: - .dw PFA_DOVARIABLE -PFA_UDR0: - .dw 198 -; ( -- addr ) System Constant -; R( -- ) -; USART Control and Status Register A -VE_UCSR0A: - .dw $ff06 - .db "UCSR0A" - .dw VE_HEAD - .set VE_HEAD=VE_UCSR0A -XT_UCSR0A: - .dw PFA_DOVARIABLE -PFA_UCSR0A: - .dw 192 -; ( -- addr ) System Constant -; R( -- ) -; USART Control and Status Register B -VE_UCSR0B: - .dw $ff06 - .db "UCSR0B" - .dw VE_HEAD - .set VE_HEAD=VE_UCSR0B -XT_UCSR0B: - .dw PFA_DOVARIABLE -PFA_UCSR0B: - .dw 193 -; ( -- addr ) System Constant -; R( -- ) -; USART Control and Status Register C -VE_UCSR0C: - .dw $ff06 - .db "UCSR0C" - .dw VE_HEAD - .set VE_HEAD=VE_UCSR0C -XT_UCSR0C: - .dw PFA_DOVARIABLE -PFA_UCSR0C: - .dw 194 -; ( -- addr ) System Constant -; R( -- ) -; USART Baud Rate Register t Bytes -VE_UBRR0: - .dw $ff05 - .db "UBRR0",0 - .dw VE_HEAD - .set VE_HEAD=VE_UBRR0 -XT_UBRR0: - .dw PFA_DOVARIABLE -PFA_UBRR0: - .dw 196 - -.endif -.if WANT_USART1 == 1 -; ( -- addr ) System Constant -; R( -- ) -; USART I/O Data Register -VE_UDR1: - .dw $ff04 - .db "UDR1" - .dw VE_HEAD - .set VE_HEAD=VE_UDR1 -XT_UDR1: - .dw PFA_DOVARIABLE -PFA_UDR1: - .dw 206 -; ( -- addr ) System Constant -; R( -- ) -; USART Control and Status Register A -VE_UCSR1A: - .dw $ff06 - .db "UCSR1A" - .dw VE_HEAD - .set VE_HEAD=VE_UCSR1A -XT_UCSR1A: - .dw PFA_DOVARIABLE -PFA_UCSR1A: - .dw 200 -; ( -- addr ) System Constant -; R( -- ) -; USART Control and Status Register B -VE_UCSR1B: - .dw $ff06 - .db "UCSR1B" - .dw VE_HEAD - .set VE_HEAD=VE_UCSR1B -XT_UCSR1B: - .dw PFA_DOVARIABLE -PFA_UCSR1B: - .dw 201 -; ( -- addr ) System Constant -; R( -- ) -; USART Control and Status Register C -VE_UCSR1C: - .dw $ff06 - .db "UCSR1C" - .dw VE_HEAD - .set VE_HEAD=VE_UCSR1C -XT_UCSR1C: - .dw PFA_DOVARIABLE -PFA_UCSR1C: - .dw 202 -; ( -- addr ) System Constant -; R( -- ) -; USART Baud Rate Register t Bytes -VE_UBRR1: - .dw $ff05 - .db "UBRR1",0 - .dw VE_HEAD - .set VE_HEAD=VE_UBRR1 -XT_UBRR1: - .dw PFA_DOVARIABLE -PFA_UBRR1: - .dw 204 - -.endif -.if WANT_CPU == 1 -; ( -- addr ) System Constant -; R( -- ) -; Status Register -VE_SREG: - .dw $ff04 - .db "SREG" - .dw VE_HEAD - .set VE_HEAD=VE_SREG -XT_SREG: - .dw PFA_DOVARIABLE -PFA_SREG: - .dw 95 -; ( -- addr ) System Constant -; R( -- ) -; Stack Pointer -VE_SP: - .dw $ff02 - .db "SP" - .dw VE_HEAD - .set VE_HEAD=VE_SP -XT_SP: - .dw PFA_DOVARIABLE -PFA_SP: - .dw 93 -; ( -- addr ) System Constant -; R( -- ) -; External Memory Control Register A -VE_XMCRA: - .dw $ff05 - .db "XMCRA",0 - .dw VE_HEAD - .set VE_HEAD=VE_XMCRA -XT_XMCRA: - .dw PFA_DOVARIABLE -PFA_XMCRA: - .dw 116 -; ( -- addr ) System Constant -; R( -- ) -; External Memory Control Register B -VE_XMCRB: - .dw $ff05 - .db "XMCRB",0 - .dw VE_HEAD - .set VE_HEAD=VE_XMCRB -XT_XMCRB: - .dw PFA_DOVARIABLE -PFA_XMCRB: - .dw 117 -; ( -- addr ) System Constant -; R( -- ) -; Oscillator Calibration Value -VE_OSCCAL: - .dw $ff06 - .db "OSCCAL" - .dw VE_HEAD - .set VE_HEAD=VE_OSCCAL -XT_OSCCAL: - .dw PFA_DOVARIABLE -PFA_OSCCAL: - .dw 102 -; ( -- addr ) System Constant -; R( -- ) -; Clock Prescale Register -VE_CLKPR: - .dw $ff05 - .db "CLKPR",0 - .dw VE_HEAD - .set VE_HEAD=VE_CLKPR -XT_CLKPR: - .dw PFA_DOVARIABLE -PFA_CLKPR: - .dw 97 -; ( -- addr ) System Constant -; R( -- ) -; Sleep Mode Control Register -VE_SMCR: - .dw $ff04 - .db "SMCR" - .dw VE_HEAD - .set VE_HEAD=VE_SMCR -XT_SMCR: - .dw PFA_DOVARIABLE -PFA_SMCR: - .dw 83 -; ( -- addr ) System Constant -; R( -- ) -; RAM Page Z Select Register -VE_RAMPZ: - .dw $ff05 - .db "RAMPZ",0 - .dw VE_HEAD - .set VE_HEAD=VE_RAMPZ -XT_RAMPZ: - .dw PFA_DOVARIABLE -PFA_RAMPZ: - .dw 91 -; ( -- addr ) System Constant -; R( -- ) -; General Purpose IO Register 2 -VE_GPIOR2: - .dw $ff06 - .db "GPIOR2" - .dw VE_HEAD - .set VE_HEAD=VE_GPIOR2 -XT_GPIOR2: - .dw PFA_DOVARIABLE -PFA_GPIOR2: - .dw 75 -; ( -- addr ) System Constant -; R( -- ) -; General Purpose IO Register 1 -VE_GPIOR1: - .dw $ff06 - .db "GPIOR1" - .dw VE_HEAD - .set VE_HEAD=VE_GPIOR1 -XT_GPIOR1: - .dw PFA_DOVARIABLE -PFA_GPIOR1: - .dw 74 -; ( -- addr ) System Constant -; R( -- ) -; General Purpose IO Register 0 -VE_GPIOR0: - .dw $ff06 - .db "GPIOR0" - .dw VE_HEAD - .set VE_HEAD=VE_GPIOR0 -XT_GPIOR0: - .dw PFA_DOVARIABLE -PFA_GPIOR0: - .dw 62 - -.endif -.if WANT_BOOT_LOAD == 1 -; ( -- addr ) System Constant -; R( -- ) -; Store Program Memory Control Register -VE_SPMCSR: - .dw $ff06 - .db "SPMCSR" - .dw VE_HEAD - .set VE_HEAD=VE_SPMCSR -XT_SPMCSR: - .dw PFA_DOVARIABLE -PFA_SPMCSR: - .dw 87 - -.endif -.if WANT_EXTERNAL_INTERRUPT == 1 -; ( -- addr ) System Constant -; R( -- ) -; External Interrupt Control Register A -VE_EICRA: - .dw $ff05 - .db "EICRA",0 - .dw VE_HEAD - .set VE_HEAD=VE_EICRA -XT_EICRA: - .dw PFA_DOVARIABLE -PFA_EICRA: - .dw 105 -; ( -- addr ) System Constant -; R( -- ) -; External Interrupt Control Register B -VE_EICRB: - .dw $ff05 - .db "EICRB",0 - .dw VE_HEAD - .set VE_HEAD=VE_EICRB -XT_EICRB: - .dw PFA_DOVARIABLE -PFA_EICRB: - .dw 106 -; ( -- addr ) System Constant -; R( -- ) -; External Interrupt Mask Register -VE_EIMSK: - .dw $ff05 - .db "EIMSK",0 - .dw VE_HEAD - .set VE_HEAD=VE_EIMSK -XT_EIMSK: - .dw PFA_DOVARIABLE -PFA_EIMSK: - .dw 61 -; ( -- addr ) System Constant -; R( -- ) -; External Interrupt Flag Register -VE_EIFR: - .dw $ff04 - .db "EIFR" - .dw VE_HEAD - .set VE_HEAD=VE_EIFR -XT_EIFR: - .dw PFA_DOVARIABLE -PFA_EIFR: - .dw 60 - -.endif -.if WANT_EEPROM == 1 -; ( -- addr ) System Constant -; R( -- ) -; EEPROM Read/Write Access Bytes -VE_EEAR: - .dw $ff04 - .db "EEAR" - .dw VE_HEAD - .set VE_HEAD=VE_EEAR -XT_EEAR: - .dw PFA_DOVARIABLE -PFA_EEAR: - .dw 65 -; ( -- addr ) System Constant -; R( -- ) -; EEPROM Data Register -VE_EEDR: - .dw $ff04 - .db "EEDR" - .dw VE_HEAD - .set VE_HEAD=VE_EEDR -XT_EEDR: - .dw PFA_DOVARIABLE -PFA_EEDR: - .dw 64 -; ( -- addr ) System Constant -; R( -- ) -; EEPROM Control Register -VE_EECR: - .dw $ff04 - .db "EECR" - .dw VE_HEAD - .set VE_HEAD=VE_EECR -XT_EECR: - .dw PFA_DOVARIABLE -PFA_EECR: - .dw 63 - -.endif -.if WANT_PORTG == 1 -; ( -- addr ) System Constant -; R( -- ) -; Data Register, Port G -VE_PORTG: - .dw $ff05 - .db "PORTG",0 - .dw VE_HEAD - .set VE_HEAD=VE_PORTG -XT_PORTG: - .dw PFA_DOVARIABLE -PFA_PORTG: - .dw 52 -; ( -- addr ) System Constant -; R( -- ) -; Data Direction Register, Port G -VE_DDRG: - .dw $ff04 - .db "DDRG" - .dw VE_HEAD - .set VE_HEAD=VE_DDRG -XT_DDRG: - .dw PFA_DOVARIABLE -PFA_DDRG: - .dw 51 -; ( -- addr ) System Constant -; R( -- ) -; Input Pins, Port G -VE_PING: - .dw $ff04 - .db "PING" - .dw VE_HEAD - .set VE_HEAD=VE_PING -XT_PING: - .dw PFA_DOVARIABLE -PFA_PING: - .dw 50 - -.endif -.if WANT_TIMER_COUNTER_0 == 1 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter0 Control Register -VE_TCCR0A: - .dw $ff06 - .db "TCCR0A" - .dw VE_HEAD - .set VE_HEAD=VE_TCCR0A -XT_TCCR0A: - .dw PFA_DOVARIABLE -PFA_TCCR0A: - .dw 68 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter0 -VE_TCNT0: - .dw $ff05 - .db "TCNT0",0 - .dw VE_HEAD - .set VE_HEAD=VE_TCNT0 -XT_TCNT0: - .dw PFA_DOVARIABLE -PFA_TCNT0: - .dw 70 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter0 Output Compare Register -VE_OCR0A: - .dw $ff05 - .db "OCR0A",0 - .dw VE_HEAD - .set VE_HEAD=VE_OCR0A -XT_OCR0A: - .dw PFA_DOVARIABLE -PFA_OCR0A: - .dw 71 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter0 Interrupt Mask Register -VE_TIMSK0: - .dw $ff06 - .db "TIMSK0" - .dw VE_HEAD - .set VE_HEAD=VE_TIMSK0 -XT_TIMSK0: - .dw PFA_DOVARIABLE -PFA_TIMSK0: - .dw 110 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter0 Interrupt Flag register -VE_TIFR0: - .dw $ff05 - .db "TIFR0",0 - .dw VE_HEAD - .set VE_HEAD=VE_TIFR0 -XT_TIFR0: - .dw PFA_DOVARIABLE -PFA_TIFR0: - .dw 53 -; ( -- addr ) System Constant -; R( -- ) -; General Timer/Control Register -VE_GTCCR: - .dw $ff05 - .db "GTCCR",0 - .dw VE_HEAD - .set VE_HEAD=VE_GTCCR -XT_GTCCR: - .dw PFA_DOVARIABLE -PFA_GTCCR: - .dw 67 - -.endif -.if WANT_TIMER_COUNTER_1 == 1 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter1 Control Register A -VE_TCCR1A: - .dw $ff06 - .db "TCCR1A" - .dw VE_HEAD - .set VE_HEAD=VE_TCCR1A -XT_TCCR1A: - .dw PFA_DOVARIABLE -PFA_TCCR1A: - .dw 128 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter1 Control Register B -VE_TCCR1B: - .dw $ff06 - .db "TCCR1B" - .dw VE_HEAD - .set VE_HEAD=VE_TCCR1B -XT_TCCR1B: - .dw PFA_DOVARIABLE -PFA_TCCR1B: - .dw 129 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter 1 Control Register C -VE_TCCR1C: - .dw $ff06 - .db "TCCR1C" - .dw VE_HEAD - .set VE_HEAD=VE_TCCR1C -XT_TCCR1C: - .dw PFA_DOVARIABLE -PFA_TCCR1C: - .dw 130 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter1 Bytes -VE_TCNT1: - .dw $ff05 - .db "TCNT1",0 - .dw VE_HEAD - .set VE_HEAD=VE_TCNT1 -XT_TCNT1: - .dw PFA_DOVARIABLE -PFA_TCNT1: - .dw 132 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter1 Output Compare Register Bytes -VE_OCR1A: - .dw $ff05 - .db "OCR1A",0 - .dw VE_HEAD - .set VE_HEAD=VE_OCR1A -XT_OCR1A: - .dw PFA_DOVARIABLE -PFA_OCR1A: - .dw 136 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter1 Output Compare Register Bytes -VE_OCR1B: - .dw $ff05 - .db "OCR1B",0 - .dw VE_HEAD - .set VE_HEAD=VE_OCR1B -XT_OCR1B: - .dw PFA_DOVARIABLE -PFA_OCR1B: - .dw 138 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter1 Output Compare Register Bytes -VE_OCR1C: - .dw $ff05 - .db "OCR1C",0 - .dw VE_HEAD - .set VE_HEAD=VE_OCR1C -XT_OCR1C: - .dw PFA_DOVARIABLE -PFA_OCR1C: - .dw 140 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter1 Input Capture Register Bytes -VE_ICR1: - .dw $ff04 - .db "ICR1" - .dw VE_HEAD - .set VE_HEAD=VE_ICR1 -XT_ICR1: - .dw PFA_DOVARIABLE -PFA_ICR1: - .dw 134 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter Interrupt Mask Register -VE_TIMSK1: - .dw $ff06 - .db "TIMSK1" - .dw VE_HEAD - .set VE_HEAD=VE_TIMSK1 -XT_TIMSK1: - .dw PFA_DOVARIABLE -PFA_TIMSK1: - .dw 111 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter Interrupt Flag register -VE_TIFR1: - .dw $ff05 - .db "TIFR1",0 - .dw VE_HEAD - .set VE_HEAD=VE_TIFR1 -XT_TIFR1: - .dw PFA_DOVARIABLE -PFA_TIFR1: - .dw 54 - -.endif -.if WANT_TIMER_COUNTER_3 == 1 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter3 Control Register A -VE_TCCR3A: - .dw $ff06 - .db "TCCR3A" - .dw VE_HEAD - .set VE_HEAD=VE_TCCR3A -XT_TCCR3A: - .dw PFA_DOVARIABLE -PFA_TCCR3A: - .dw 144 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter3 Control Register B -VE_TCCR3B: - .dw $ff06 - .db "TCCR3B" - .dw VE_HEAD - .set VE_HEAD=VE_TCCR3B -XT_TCCR3B: - .dw PFA_DOVARIABLE -PFA_TCCR3B: - .dw 145 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter 3 Control Register C -VE_TCCR3C: - .dw $ff06 - .db "TCCR3C" - .dw VE_HEAD - .set VE_HEAD=VE_TCCR3C -XT_TCCR3C: - .dw PFA_DOVARIABLE -PFA_TCCR3C: - .dw 146 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter3 Bytes -VE_TCNT3: - .dw $ff05 - .db "TCNT3",0 - .dw VE_HEAD - .set VE_HEAD=VE_TCNT3 -XT_TCNT3: - .dw PFA_DOVARIABLE -PFA_TCNT3: - .dw 148 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter3 Output Compare Register Bytes -VE_OCR3A: - .dw $ff05 - .db "OCR3A",0 - .dw VE_HEAD - .set VE_HEAD=VE_OCR3A -XT_OCR3A: - .dw PFA_DOVARIABLE -PFA_OCR3A: - .dw 152 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter3 Output Compare Register Bytes -VE_OCR3B: - .dw $ff05 - .db "OCR3B",0 - .dw VE_HEAD - .set VE_HEAD=VE_OCR3B -XT_OCR3B: - .dw PFA_DOVARIABLE -PFA_OCR3B: - .dw 154 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter3 Output Compare Register Bytes -VE_OCR3C: - .dw $ff05 - .db "OCR3C",0 - .dw VE_HEAD - .set VE_HEAD=VE_OCR3C -XT_OCR3C: - .dw PFA_DOVARIABLE -PFA_OCR3C: - .dw 156 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter3 Input Capture Register Bytes -VE_ICR3: - .dw $ff04 - .db "ICR3" - .dw VE_HEAD - .set VE_HEAD=VE_ICR3 -XT_ICR3: - .dw PFA_DOVARIABLE -PFA_ICR3: - .dw 150 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter Interrupt Mask Register -VE_TIMSK3: - .dw $ff06 - .db "TIMSK3" - .dw VE_HEAD - .set VE_HEAD=VE_TIMSK3 -XT_TIMSK3: - .dw PFA_DOVARIABLE -PFA_TIMSK3: - .dw 113 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter Interrupt Flag register -VE_TIFR3: - .dw $ff05 - .db "TIFR3",0 - .dw VE_HEAD - .set VE_HEAD=VE_TIFR3 -XT_TIFR3: - .dw PFA_DOVARIABLE -PFA_TIFR3: - .dw 56 - -.endif -.if WANT_TIMER_COUNTER_2 == 1 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter2 Control Register -VE_TCCR2: - .dw $ff05 - .db "TCCR2",0 - .dw VE_HEAD - .set VE_HEAD=VE_TCCR2 -XT_TCCR2: - .dw PFA_DOVARIABLE -PFA_TCCR2: - .dw 176 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter2 -VE_TCNT2: - .dw $ff05 - .db "TCNT2",0 - .dw VE_HEAD - .set VE_HEAD=VE_TCNT2 -XT_TCNT2: - .dw PFA_DOVARIABLE -PFA_TCNT2: - .dw 178 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter2 Output Compare Register -VE_OCR2A: - .dw $ff05 - .db "OCR2A",0 - .dw VE_HEAD - .set VE_HEAD=VE_OCR2A -XT_OCR2A: - .dw PFA_DOVARIABLE -PFA_OCR2A: - .dw 179 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter Interrupt Mask register -VE_TIMSK2: - .dw $ff06 - .db "TIMSK2" - .dw VE_HEAD - .set VE_HEAD=VE_TIMSK2 -XT_TIMSK2: - .dw PFA_DOVARIABLE -PFA_TIMSK2: - .dw 112 -; ( -- addr ) System Constant -; R( -- ) -; Timer/Counter Interrupt Flag Register -VE_TIFR2: - .dw $ff05 - .db "TIFR2",0 - .dw VE_HEAD - .set VE_HEAD=VE_TIFR2 -XT_TIFR2: - .dw PFA_DOVARIABLE -PFA_TIFR2: - .dw 55 -; ( -- addr ) System Constant -; R( -- ) -; Asynchronous Status Register -VE_ASSR: - .dw $ff04 - .db "ASSR" - .dw VE_HEAD - .set VE_HEAD=VE_ASSR -XT_ASSR: - .dw PFA_DOVARIABLE -PFA_ASSR: - .dw 182 - -.endif -.if WANT_WATCHDOG == 1 -; ( -- addr ) System Constant -; R( -- ) -; Watchdog Timer Control Register -VE_WDTCR: - .dw $ff05 - .db "WDTCR",0 - .dw VE_HEAD - .set VE_HEAD=VE_WDTCR -XT_WDTCR: - .dw PFA_DOVARIABLE -PFA_WDTCR: - .dw 96 - -.endif -.if WANT_AD_CONVERTER == 1 -; ( -- addr ) System Constant -; R( -- ) -; The ADC multiplexer Selection Register -VE_ADMUX: - .dw $ff05 - .db "ADMUX",0 - .dw VE_HEAD - .set VE_HEAD=VE_ADMUX -XT_ADMUX: - .dw PFA_DOVARIABLE -PFA_ADMUX: - .dw 124 -; ( -- addr ) System Constant -; R( -- ) -; The ADC Control and Status register -VE_ADCSRA: - .dw $ff06 - .db "ADCSRA" - .dw VE_HEAD - .set VE_HEAD=VE_ADCSRA -XT_ADCSRA: - .dw PFA_DOVARIABLE -PFA_ADCSRA: - .dw 122 -; ( -- addr ) System Constant -; R( -- ) -; ADC Data Register Bytes -VE_ADC: - .dw $ff03 - .db "ADC",0 - .dw VE_HEAD - .set VE_HEAD=VE_ADC -XT_ADC: - .dw PFA_DOVARIABLE -PFA_ADC: - .dw 120 -; ( -- addr ) System Constant -; R( -- ) -; ADC Control and Status Register B -VE_ADCSRB: - .dw $ff06 - .db "ADCSRB" - .dw VE_HEAD - .set VE_HEAD=VE_ADCSRB -XT_ADCSRB: - .dw PFA_DOVARIABLE -PFA_ADCSRB: - .dw 123 -; ( -- addr ) System Constant -; R( -- ) -; Digital Input Disable Register 1 -VE_DIDR0: - .dw $ff05 - .db "DIDR0",0 - .dw VE_HEAD - .set VE_HEAD=VE_DIDR0 -XT_DIDR0: - .dw PFA_DOVARIABLE -PFA_DIDR0: - .dw 126 - -.endif -.if WANT_ANALOG_COMPARATOR == 1 -; ( -- addr ) System Constant -; R( -- ) -; Analog Comparator Control And Status Register -VE_ACSR: - .dw $ff04 - .db "ACSR" - .dw VE_HEAD - .set VE_HEAD=VE_ACSR -XT_ACSR: - .dw PFA_DOVARIABLE -PFA_ACSR: - .dw 80 -; ( -- addr ) System Constant -; R( -- ) -; -VE_DIDR1: - .dw $ff05 - .db "DIDR1",0 - .dw VE_HEAD - .set VE_HEAD=VE_DIDR1 -XT_DIDR1: - .dw PFA_DOVARIABLE -PFA_DIDR1: - .dw 127 - -.endif -.if WANT_CAN == 1 -; ( -- addr ) System Constant -; R( -- ) -; CAN General Control Register -VE_CANGCON: - .dw $ff07 - .db "CANGCON",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANGCON -XT_CANGCON: - .dw PFA_DOVARIABLE -PFA_CANGCON: - .dw 216 -; ( -- addr ) System Constant -; R( -- ) -; CAN General Status Register -VE_CANGSTA: - .dw $ff07 - .db "CANGSTA",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANGSTA -XT_CANGSTA: - .dw PFA_DOVARIABLE -PFA_CANGSTA: - .dw 217 -; ( -- addr ) System Constant -; R( -- ) -; CAN General Interrupt Register -VE_CANGIT: - .dw $ff06 - .db "CANGIT" - .dw VE_HEAD - .set VE_HEAD=VE_CANGIT -XT_CANGIT: - .dw PFA_DOVARIABLE -PFA_CANGIT: - .dw 218 -; ( -- addr ) System Constant -; R( -- ) -; CAN General Interrupt Enable Register -VE_CANGIE: - .dw $ff06 - .db "CANGIE" - .dw VE_HEAD - .set VE_HEAD=VE_CANGIE -XT_CANGIE: - .dw PFA_DOVARIABLE -PFA_CANGIE: - .dw 219 -; ( -- addr ) System Constant -; R( -- ) -; Enable MOb Register -VE_CANEN2: - .dw $ff06 - .db "CANEN2" - .dw VE_HEAD - .set VE_HEAD=VE_CANEN2 -XT_CANEN2: - .dw PFA_DOVARIABLE -PFA_CANEN2: - .dw 220 -; ( -- addr ) System Constant -; R( -- ) -; Enable MOb Register -VE_CANEN1: - .dw $ff06 - .db "CANEN1" - .dw VE_HEAD - .set VE_HEAD=VE_CANEN1 -XT_CANEN1: - .dw PFA_DOVARIABLE -PFA_CANEN1: - .dw 221 -; ( -- addr ) System Constant -; R( -- ) -; Enable Interrupt MOb Register -VE_CANIE2: - .dw $ff06 - .db "CANIE2" - .dw VE_HEAD - .set VE_HEAD=VE_CANIE2 -XT_CANIE2: - .dw PFA_DOVARIABLE -PFA_CANIE2: - .dw 222 -; ( -- addr ) System Constant -; R( -- ) -; Enable Interrupt MOb Register -VE_CANIE1: - .dw $ff06 - .db "CANIE1" - .dw VE_HEAD - .set VE_HEAD=VE_CANIE1 -XT_CANIE1: - .dw PFA_DOVARIABLE -PFA_CANIE1: - .dw 223 -; ( -- addr ) System Constant -; R( -- ) -; CAN Status Interrupt MOb Register -VE_CANSIT2: - .dw $ff07 - .db "CANSIT2",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANSIT2 -XT_CANSIT2: - .dw PFA_DOVARIABLE -PFA_CANSIT2: - .dw 224 -; ( -- addr ) System Constant -; R( -- ) -; CAN Status Interrupt MOb Register -VE_CANSIT1: - .dw $ff07 - .db "CANSIT1",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANSIT1 -XT_CANSIT1: - .dw PFA_DOVARIABLE -PFA_CANSIT1: - .dw 225 -; ( -- addr ) System Constant -; R( -- ) -; Bit Timing Register 1 -VE_CANBT1: - .dw $ff06 - .db "CANBT1" - .dw VE_HEAD - .set VE_HEAD=VE_CANBT1 -XT_CANBT1: - .dw PFA_DOVARIABLE -PFA_CANBT1: - .dw 226 -; ( -- addr ) System Constant -; R( -- ) -; Bit Timing Register 2 -VE_CANBT2: - .dw $ff06 - .db "CANBT2" - .dw VE_HEAD - .set VE_HEAD=VE_CANBT2 -XT_CANBT2: - .dw PFA_DOVARIABLE -PFA_CANBT2: - .dw 227 -; ( -- addr ) System Constant -; R( -- ) -; Bit Timing Register 3 -VE_CANBT3: - .dw $ff06 - .db "CANBT3" - .dw VE_HEAD - .set VE_HEAD=VE_CANBT3 -XT_CANBT3: - .dw PFA_DOVARIABLE -PFA_CANBT3: - .dw 228 -; ( -- addr ) System Constant -; R( -- ) -; Timer Control Register -VE_CANTCON: - .dw $ff07 - .db "CANTCON",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANTCON -XT_CANTCON: - .dw PFA_DOVARIABLE -PFA_CANTCON: - .dw 229 -; ( -- addr ) System Constant -; R( -- ) -; Timer Register Low -VE_CANTIML: - .dw $ff07 - .db "CANTIML",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANTIML -XT_CANTIML: - .dw PFA_DOVARIABLE -PFA_CANTIML: - .dw 230 -; ( -- addr ) System Constant -; R( -- ) -; Timer Register High -VE_CANTIMH: - .dw $ff07 - .db "CANTIMH",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANTIMH -XT_CANTIMH: - .dw PFA_DOVARIABLE -PFA_CANTIMH: - .dw 231 -; ( -- addr ) System Constant -; R( -- ) -; TTC Timer Register Low -VE_CANTTCL: - .dw $ff07 - .db "CANTTCL",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANTTCL -XT_CANTTCL: - .dw PFA_DOVARIABLE -PFA_CANTTCL: - .dw 232 -; ( -- addr ) System Constant -; R( -- ) -; TTC Timer Register High -VE_CANTTCH: - .dw $ff07 - .db "CANTTCH",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANTTCH -XT_CANTTCH: - .dw PFA_DOVARIABLE -PFA_CANTTCH: - .dw 233 -; ( -- addr ) System Constant -; R( -- ) -; Transmit Error Counter Register -VE_CANTEC: - .dw $ff06 - .db "CANTEC" - .dw VE_HEAD - .set VE_HEAD=VE_CANTEC -XT_CANTEC: - .dw PFA_DOVARIABLE -PFA_CANTEC: - .dw 234 -; ( -- addr ) System Constant -; R( -- ) -; Receive Error Counter Register -VE_CANREC: - .dw $ff06 - .db "CANREC" - .dw VE_HEAD - .set VE_HEAD=VE_CANREC -XT_CANREC: - .dw PFA_DOVARIABLE -PFA_CANREC: - .dw 235 -; ( -- addr ) System Constant -; R( -- ) -; Highest Priority MOb Register -VE_CANHPMOB: - .dw $ff08 - .db "CANHPMOB" - .dw VE_HEAD - .set VE_HEAD=VE_CANHPMOB -XT_CANHPMOB: - .dw PFA_DOVARIABLE -PFA_CANHPMOB: - .dw 236 -; ( -- addr ) System Constant -; R( -- ) -; Page MOb Register -VE_CANPAGE: - .dw $ff07 - .db "CANPAGE",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANPAGE -XT_CANPAGE: - .dw PFA_DOVARIABLE -PFA_CANPAGE: - .dw 237 -; ( -- addr ) System Constant -; R( -- ) -; MOb Status Register -VE_CANSTMOB: - .dw $ff08 - .db "CANSTMOB" - .dw VE_HEAD - .set VE_HEAD=VE_CANSTMOB -XT_CANSTMOB: - .dw PFA_DOVARIABLE -PFA_CANSTMOB: - .dw 238 -; ( -- addr ) System Constant -; R( -- ) -; MOb Control and DLC Register -VE_CANCDMOB: - .dw $ff08 - .db "CANCDMOB" - .dw VE_HEAD - .set VE_HEAD=VE_CANCDMOB -XT_CANCDMOB: - .dw PFA_DOVARIABLE -PFA_CANCDMOB: - .dw 239 -; ( -- addr ) System Constant -; R( -- ) -; Identifier Tag Register 4 -VE_CANIDT4: - .dw $ff07 - .db "CANIDT4",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANIDT4 -XT_CANIDT4: - .dw PFA_DOVARIABLE -PFA_CANIDT4: - .dw 240 -; ( -- addr ) System Constant -; R( -- ) -; Identifier Tag Register 3 -VE_CANIDT3: - .dw $ff07 - .db "CANIDT3",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANIDT3 -XT_CANIDT3: - .dw PFA_DOVARIABLE -PFA_CANIDT3: - .dw 241 -; ( -- addr ) System Constant -; R( -- ) -; Identifier Tag Register 2 -VE_CANIDT2: - .dw $ff07 - .db "CANIDT2",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANIDT2 -XT_CANIDT2: - .dw PFA_DOVARIABLE -PFA_CANIDT2: - .dw 242 -; ( -- addr ) System Constant -; R( -- ) -; Identifier Tag Register 1 -VE_CANIDT1: - .dw $ff07 - .db "CANIDT1",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANIDT1 -XT_CANIDT1: - .dw PFA_DOVARIABLE -PFA_CANIDT1: - .dw 243 -; ( -- addr ) System Constant -; R( -- ) -; Identifier Mask Register 4 -VE_CANIDM4: - .dw $ff07 - .db "CANIDM4",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANIDM4 -XT_CANIDM4: - .dw PFA_DOVARIABLE -PFA_CANIDM4: - .dw 244 -; ( -- addr ) System Constant -; R( -- ) -; Identifier Mask Register 3 -VE_CANIDM3: - .dw $ff07 - .db "CANIDM3",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANIDM3 -XT_CANIDM3: - .dw PFA_DOVARIABLE -PFA_CANIDM3: - .dw 245 -; ( -- addr ) System Constant -; R( -- ) -; Identifier Mask Register 2 -VE_CANIDM2: - .dw $ff07 - .db "CANIDM2",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANIDM2 -XT_CANIDM2: - .dw PFA_DOVARIABLE -PFA_CANIDM2: - .dw 246 -; ( -- addr ) System Constant -; R( -- ) -; Identifier Mask Register 1 -VE_CANIDM1: - .dw $ff07 - .db "CANIDM1",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANIDM1 -XT_CANIDM1: - .dw PFA_DOVARIABLE -PFA_CANIDM1: - .dw 247 -; ( -- addr ) System Constant -; R( -- ) -; Time Stamp Register Low -VE_CANSTML: - .dw $ff07 - .db "CANSTML",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANSTML -XT_CANSTML: - .dw PFA_DOVARIABLE -PFA_CANSTML: - .dw 248 -; ( -- addr ) System Constant -; R( -- ) -; Time Stamp Register High -VE_CANSTMH: - .dw $ff07 - .db "CANSTMH",0 - .dw VE_HEAD - .set VE_HEAD=VE_CANSTMH -XT_CANSTMH: - .dw PFA_DOVARIABLE -PFA_CANSTMH: - .dw 249 -; ( -- addr ) System Constant -; R( -- ) -; Message Data Register -VE_CANMSG: - .dw $ff06 - .db "CANMSG" - .dw VE_HEAD - .set VE_HEAD=VE_CANMSG -XT_CANMSG: - .dw PFA_DOVARIABLE -PFA_CANMSG: - .dw 250 - -.endif diff --git a/amforth-6.5/avr8/devices/at90can128/device.py b/amforth-6.5/avr8/devices/at90can128/device.py deleted file mode 100644 index 778b42e..0000000 --- a/amforth-6.5/avr8/devices/at90can128/device.py +++ /dev/null @@ -1,507 +0,0 @@ -# Generated Automatically - -# Partname AT90CAN128 - -MCUREGS = { -# Interrupt Vectors - 'INT0Addr' : '#2', # External Interrupt Request 0 - 'INT1Addr' : '#4', # External Interrupt Request 1 - 'INT2Addr' : '#6', # External Interrupt Request 2 - 'INT3Addr' : '#8', # External Interrupt Request 3 - 'INT4Addr' : '#10', # External Interrupt Request 4 - 'INT5Addr' : '#12', # External Interrupt Request 5 - 'INT6Addr' : '#14', # External Interrupt Request 6 - 'INT7Addr' : '#16', # External Interrupt Request 7 - 'TIMER2_COMPAddr' : '#18', # Timer/Counter2 Compare Match - 'TIMER2_OVFAddr' : '#20', # Timer/Counter2 Overflow - 'TIMER1_CAPTAddr' : '#22', # Timer/Counter1 Capture Event - 'TIMER1_COMPAAddr' : '#24', # Timer/Counter1 Compare Match A - 'TIMER1_COMPBAddr' : '#26', # Timer/Counter Compare Match B - 'TIMER1_COMPCAddr' : '#28', # Timer/Counter1 Compare Match C - 'TIMER1_OVFAddr' : '#30', # Timer/Counter1 Overflow - 'TIMER0_COMPAddr' : '#32', # Timer/Counter0 Compare Match - 'TIMER0_OVFAddr' : '#34', # Timer/Counter0 Overflow - 'CANITAddr' : '#36', # CAN Transfer Complete or Error - 'OVRITAddr' : '#38', # CAN Timer Overrun - 'SPI_STCAddr' : '#40', # SPI Serial Transfer Complete - 'USART0_RXAddr' : '#42', # USART0, Rx Complete - 'USART0_UDREAddr' : '#44', # USART0 Data Register Empty - 'USART0_TXAddr' : '#46', # USART0, Tx Complete - 'ANALOG_COMPAddr' : '#48', # Analog Comparator - 'ADCAddr' : '#50', # ADC Conversion Complete - 'EE_READYAddr' : '#52', # EEPROM Ready - 'TIMER3_CAPTAddr' : '#54', # Timer/Counter3 Capture Event - 'TIMER3_COMPAAddr' : '#56', # Timer/Counter3 Compare Match A - 'TIMER3_COMPBAddr' : '#58', # Timer/Counter3 Compare Match B - 'TIMER3_COMPCAddr' : '#60', # Timer/Counter3 Compare Match C - 'TIMER3_OVFAddr' : '#62', # Timer/Counter3 Overflow - 'USART1_RXAddr' : '#64', # USART1, Rx Complete - 'USART1_UDREAddr' : '#66', # USART1, Data Register Empty - 'USART1_TXAddr' : '#68', # USART1, Tx Complete - 'TWIAddr' : '#70', # 2-wire Serial Interface - 'SPM_READYAddr' : '#72', # Store Program Memory Read - -# Module PORTA - 'PORTA' : '$22', # Port A Data Register - 'DDRA' : '$21', # Port A Data Direction Register - 'PINA' : '$20', # Port A Input Pins - -# Module PORTB - 'PORTB' : '$25', # Port B Data Register - 'DDRB' : '$24', # Port B Data Direction Register - 'PINB' : '$23', # Port B Input Pins - -# Module PORTC - 'PORTC' : '$28', # Port C Data Register - 'DDRC' : '$27', # Port C Data Direction Register - 'PINC' : '$26', # Port C Input Pins - -# Module PORTD - 'PORTD' : '$2b', # Port D Data Register - 'DDRD' : '$2a', # Port D Data Direction Register - 'PIND' : '$29', # Port D Input Pins - -# Module PORTE - 'PORTE' : '$2e', # Data Register, Port E - 'DDRE' : '$2d', # Data Direction Register, Port - 'PINE' : '$2c', # Input Pins, Port E - -# Module PORTF - 'PORTF' : '$31', # Data Register, Port F - 'DDRF' : '$30', # Data Direction Register, Port - 'PINF' : '$2f', # Input Pins, Port F - -# Module JTAG - 'OCDR' : '$51', # On-Chip Debug Related Register - 'MCUCR' : '$55', # MCU Control Register - 'MCUCR_JTD': '$80', # JTAG Interface Disable - 'MCUSR' : '$54', # MCU Status Register - 'MCUSR_JTRF': '$10', # JTAG Reset Flag - -# Module SPI - 'SPCR' : '$4c', # SPI Control Register - 'SPCR_SPIE': '$80', # SPI Interrupt Enable - 'SPCR_SPE': '$40', # SPI Enable - 'SPCR_DORD': '$20', # Data Order - 'SPCR_MSTR': '$10', # Master/Slave Select - 'SPCR_CPOL': '$8', # Clock polarity - 'SPCR_CPHA': '$4', # Clock Phase - 'SPCR_SPR': '$3', # SPI Clock Rate Selects - 'SPSR' : '$4d', # SPI Status Register - 'SPSR_SPIF': '$80', # SPI Interrupt Flag - 'SPSR_WCOL': '$40', # Write Collision Flag - 'SPSR_SPI2X': '$1', # Double SPI Speed Bit - 'SPDR' : '$4e', # SPI Data Register - -# Module TWI - 'TWBR' : '$b8', # TWI Bit Rate register - 'TWCR' : '$bc', # TWI Control Register - 'TWCR_TWINT': '$80', # TWI Interrupt Flag - 'TWCR_TWEA': '$40', # TWI Enable Acknowledge Bit - 'TWCR_TWSTA': '$20', # TWI Start Condition Bit - 'TWCR_TWSTO': '$10', # TWI Stop Condition Bit - 'TWCR_TWWC': '$8', # TWI Write Collition Flag - 'TWCR_TWEN': '$4', # TWI Enable Bit - 'TWCR_TWIE': '$1', # TWI Interrupt Enable - 'TWSR' : '$b9', # TWI Status Register - 'TWSR_TWS': '$f8', # TWI Status - 'TWSR_TWPS': '$3', # TWI Prescaler - 'TWDR' : '$bb', # TWI Data register - 'TWAR' : '$ba', # TWI (Slave) Address register - 'TWAR_TWA': '$fe', # TWI (Slave) Address register B - 'TWAR_TWGCE': '$1', # TWI General Call Recognition E - -# Module USART0 - 'UDR0' : '$c6', # USART I/O Data Register - 'UCSR0A' : '$c0', # USART Control and Status Regis - 'UCSR0A_RXC0': '$80', # USART Receive Complete - 'UCSR0A_TXC0': '$40', # USART Transmitt Complete - 'UCSR0A_UDRE0': '$20', # USART Data Register Empty - 'UCSR0A_FE0': '$10', # Framing Error - 'UCSR0A_DOR0': '$8', # Data overRun - 'UCSR0A_UPE0': '$4', # Parity Error - 'UCSR0A_U2X0': '$2', # Double the USART transmission - 'UCSR0A_MPCM0': '$1', # Multi-processor Communication - 'UCSR0B' : '$c1', # USART Control and Status Regis - 'UCSR0B_RXCIE0': '$80', # RX Complete Interrupt Enable - 'UCSR0B_TXCIE0': '$40', # TX Complete Interrupt Enable - 'UCSR0B_UDRIE0': '$20', # USART Data register Empty Inte - 'UCSR0B_RXEN0': '$10', # Receiver Enable - 'UCSR0B_TXEN0': '$8', # Transmitter Enable - 'UCSR0B_UCSZ02': '$4', # Character Size - 'UCSR0B_RXB80': '$2', # Receive Data Bit 8 - 'UCSR0B_TXB80': '$1', # Transmit Data Bit 8 - 'UCSR0C' : '$c2', # USART Control and Status Regis - 'UCSR0C_UMSEL0': '$40', # USART Mode Select - 'UCSR0C_UPM0': '$30', # Parity Mode Bits - 'UCSR0C_USBS0': '$8', # Stop Bit Select - 'UCSR0C_UCSZ0': '$6', # Character Size - 'UCSR0C_UCPOL0': '$1', # Clock Polarity - 'UBRR0' : '$c4', # USART Baud Rate Register t Byt - -# Module USART1 - 'UDR1' : '$ce', # USART I/O Data Register - 'UCSR1A' : '$c8', # USART Control and Status Regis - 'UCSR1A_RXC1': '$80', # USART Receive Complete - 'UCSR1A_TXC1': '$40', # USART Transmitt Complete - 'UCSR1A_UDRE1': '$20', # USART Data Register Empty - 'UCSR1A_FE1': '$10', # Framing Error - 'UCSR1A_DOR1': '$8', # Data overRun - 'UCSR1A_UPE1': '$4', # Parity Error - 'UCSR1A_U2X1': '$2', # Double the USART transmission - 'UCSR1A_MPCM1': '$1', # Multi-processor Communication - 'UCSR1B' : '$c9', # USART Control and Status Regis - 'UCSR1B_RXCIE1': '$80', # RX Complete Interrupt Enable - 'UCSR1B_TXCIE1': '$40', # TX Complete Interrupt Enable - 'UCSR1B_UDRIE1': '$20', # USART Data register Empty Inte - 'UCSR1B_RXEN1': '$10', # Receiver Enable - 'UCSR1B_TXEN1': '$8', # Transmitter Enable - 'UCSR1B_UCSZ12': '$4', # Character Size - 'UCSR1B_RXB81': '$2', # Receive Data Bit 8 - 'UCSR1B_TXB81': '$1', # Transmit Data Bit 8 - 'UCSR1C' : '$ca', # USART Control and Status Regis - 'UCSR1C_UMSEL1': '$40', # USART Mode Select - 'UCSR1C_UPM1': '$30', # Parity Mode Bits - 'UCSR1C_USBS1': '$8', # Stop Bit Select - 'UCSR1C_UCSZ1': '$6', # Character Size - 'UCSR1C_UCPOL1': '$1', # Clock Polarity - 'UBRR1' : '$cc', # USART Baud Rate Register t Byt - -# Module CPU - 'SREG' : '$5f', # Status Register - 'SREG_I': '$80', # Global Interrupt Enable - 'SREG_T': '$40', # Bit Copy Storage - 'SREG_H': '$20', # Half Carry Flag - 'SREG_S': '$10', # Sign Bit - 'SREG_V': '$8', # Two's Complement Overflow Flag - 'SREG_N': '$4', # Negative Flag - 'SREG_Z': '$2', # Zero Flag - 'SREG_C': '$1', # Carry Flag - 'SP' : '$5d', # Stack Pointer - 'MCUCR' : '$55', # MCU Control Register - 'MCUCR_PUD': '$10', # Pull-up disable - 'MCUCR_IVSEL': '$2', # Interrupt Vector Select - 'MCUCR_IVCE': '$1', # Interrupt Vector Change Enable - 'MCUSR' : '$54', # MCU Status Register - 'MCUSR_JTRF': '$10', # JTAG Reset Flag - 'MCUSR_WDRF': '$8', # Watchdog Reset Flag - 'MCUSR_BORF': '$4', # Brown-out Reset Flag - 'MCUSR_EXTRF': '$2', # External Reset Flag - 'MCUSR_PORF': '$1', # Power-on reset flag - 'XMCRA' : '$74', # External Memory Control Regist - 'XMCRA_SRE': '$80', # External SRAM Enable - 'XMCRA_SRL': '$70', # Wait state page limit - 'XMCRA_SRW1': '$c', # Wait state select bit upper pa - 'XMCRA_SRW0': '$3', # Wait state select bit lower pa - 'XMCRB' : '$75', # External Memory Control Regist - 'XMCRB_XMBK': '$80', # External Memory Bus Keeper Ena - 'XMCRB_XMM': '$7', # External Memory High Mask - 'OSCCAL' : '$66', # Oscillator Calibration Value - 'CLKPR' : '$61', # Clock Prescale Register - 'CLKPR_CLKPCE': '$80', # - 'CLKPR_CLKPS': '$f', # - 'SMCR' : '$53', # Sleep Mode Control Register - 'SMCR_SM': '$e', # Sleep Mode Select bits - 'SMCR_SE': '$1', # Sleep Enable - 'RAMPZ' : '$5b', # RAM Page Z Select Register - 'RAMPZ_RAMPZ0': '$1', # RAM Page Z Select Register Bit - 'GPIOR2' : '$4b', # General Purpose IO Register 2 - 'GPIOR2_GPIOR': '$ff', # General Purpose IO Register 2 - 'GPIOR1' : '$4a', # General Purpose IO Register 1 - 'GPIOR1_GPIOR': '$ff', # General Purpose IO Register 1 - 'GPIOR0' : '$3e', # General Purpose IO Register 0 - 'GPIOR0_GPIOR07': '$80', # General Purpose IO Register 0 - 'GPIOR0_GPIOR06': '$40', # General Purpose IO Register 0 - 'GPIOR0_GPIOR05': '$20', # General Purpose IO Register 0 - 'GPIOR0_GPIOR04': '$10', # General Purpose IO Register 0 - 'GPIOR0_GPIOR03': '$8', # General Purpose IO Register 0 - 'GPIOR0_GPIOR02': '$4', # General Purpose IO Register 0 - 'GPIOR0_GPIOR01': '$2', # General Purpose IO Register 0 - 'GPIOR0_GPIOR00': '$1', # General Purpose IO Register 0 - -# Module BOOT_LOAD - 'SPMCSR' : '$57', # Store Program Memory Control R - 'SPMCSR_SPMIE': '$80', # SPM Interrupt Enable - 'SPMCSR_RWWSB': '$40', # Read While Write Section Busy - 'SPMCSR_RWWSRE': '$10', # Read While Write section read - 'SPMCSR_BLBSET': '$8', # Boot Lock Bit Set - 'SPMCSR_PGWRT': '$4', # Page Write - 'SPMCSR_PGERS': '$2', # Page Erase - 'SPMCSR_SPMEN': '$1', # Store Program Memory Enable - -# Module EXTERNAL_INTERRUPT - 'EICRA' : '$69', # External Interrupt Control Reg - 'EICRA_ISC3': '$c0', # External Interrupt Sense Contr - 'EICRA_ISC2': '$30', # External Interrupt Sense Contr - 'EICRA_ISC1': '$c', # External Interrupt Sense Contr - 'EICRA_ISC0': '$3', # External Interrupt Sense Contr - 'EICRB' : '$6a', # External Interrupt Control Reg - 'EICRB_ISC7': '$c0', # External Interrupt 7-4 Sense C - 'EICRB_ISC6': '$30', # External Interrupt 7-4 Sense C - 'EICRB_ISC5': '$c', # External Interrupt 7-4 Sense C - 'EICRB_ISC4': '$3', # External Interrupt 7-4 Sense C - 'EIMSK' : '$3d', # External Interrupt Mask Regist - 'EIMSK_INT': '$ff', # External Interrupt Request 7 E - 'EIFR' : '$3c', # External Interrupt Flag Regist - 'EIFR_INTF': '$ff', # External Interrupt Flags - -# Module EEPROM - 'EEAR' : '$41', # EEPROM Read/Write Access Byte - 'EEDR' : '$40', # EEPROM Data Register - 'EECR' : '$3f', # EEPROM Control Register - 'EECR_EERIE': '$8', # EEPROM Ready Interrupt Enable - 'EECR_EEMWE': '$4', # EEPROM Master Write Enable - 'EECR_EEWE': '$2', # EEPROM Write Enable - 'EECR_EERE': '$1', # EEPROM Read Enable - -# Module PORTG - 'PORTG' : '$34', # Data Register, Port G - 'DDRG' : '$33', # Data Direction Register, Port - 'PING' : '$32', # Input Pins, Port G - -# Module TIMER_COUNTER_0 - 'TCCR0A' : '$44', # Timer/Counter0 Control Registe - 'TCCR0A_FOC0A': '$80', # Force Output Compare - 'TCCR0A_WGM00': '$40', # Waveform Generation Mode 0 - 'TCCR0A_COM0A': '$30', # Compare Match Output Modes - 'TCCR0A_WGM01': '$8', # Waveform Generation Mode 1 - 'TCCR0A_CS0': '$7', # Clock Selects - 'TCNT0' : '$46', # Timer/Counter0 - 'OCR0A' : '$47', # Timer/Counter0 Output Compare - 'TIMSK0' : '$6e', # Timer/Counter0 Interrupt Mask - 'TIMSK0_OCIE0A': '$2', # Timer/Counter0 Output Compare - 'TIMSK0_TOIE0': '$1', # Timer/Counter0 Overflow Interr - 'TIFR0' : '$35', # Timer/Counter0 Interrupt Flag - 'TIFR0_OCF0A': '$2', # Timer/Counter0 Output Compare - 'TIFR0_TOV0': '$1', # Timer/Counter0 Overflow Flag - 'GTCCR' : '$43', # General Timer/Control Register - 'GTCCR_TSM': '$80', # Timer/Counter Synchronization - 'GTCCR_PSR310': '$1', # Prescaler Reset Timer/Counter1 - -# Module TIMER_COUNTER_1 - 'TCCR1A' : '$80', # Timer/Counter1 Control Registe - 'TCCR1A_COM1A': '$c0', # Compare Output Mode 1A, bits - 'TCCR1A_COM1B': '$30', # Compare Output Mode 1B, bits - 'TCCR1A_COM1C': '$c', # Compare Output Mode 1C, bits - 'TCCR1A_WGM1': '$3', # Waveform Generation Mode - 'TCCR1B' : '$81', # Timer/Counter1 Control Registe - 'TCCR1B_ICNC1': '$80', # Input Capture 1 Noise Canceler - 'TCCR1B_ICES1': '$40', # Input Capture 1 Edge Select - 'TCCR1B_WGM1': '$18', # Waveform Generation Mode - 'TCCR1B_CS1': '$7', # Prescaler source of Timer/Coun - 'TCCR1C' : '$82', # Timer/Counter 1 Control Regist - 'TCCR1C_FOC1A': '$80', # Force Output Compare 1A - 'TCCR1C_FOC1B': '$40', # Force Output Compare 1B - 'TCCR1C_FOC1C': '$20', # Force Output Compare 1C - 'TCNT1' : '$84', # Timer/Counter1 Bytes - 'OCR1A' : '$88', # Timer/Counter1 Output Compare - 'OCR1B' : '$8a', # Timer/Counter1 Output Compare - 'OCR1C' : '$8c', # Timer/Counter1 Output Compare - 'ICR1' : '$86', # Timer/Counter1 Input Capture R - 'TIMSK1' : '$6f', # Timer/Counter Interrupt Mask R - 'TIMSK1_ICIE1': '$20', # Timer/Counter1 Input Capture I - 'TIMSK1_OCIE1C': '$8', # Timer/Counter1 Output CompareC - 'TIMSK1_OCIE1B': '$4', # Timer/Counter1 Output CompareB - 'TIMSK1_OCIE1A': '$2', # Timer/Counter1 Output CompareA - 'TIMSK1_TOIE1': '$1', # Timer/Counter1 Overflow Interr - 'TIFR1' : '$36', # Timer/Counter Interrupt Flag r - 'TIFR1_ICF1': '$20', # Input Capture Flag 1 - 'TIFR1_OCF1C': '$8', # Output Compare Flag 1C - 'TIFR1_OCF1B': '$4', # Output Compare Flag 1B - 'TIFR1_OCF1A': '$2', # Output Compare Flag 1A - 'TIFR1_TOV1': '$1', # Timer/Counter1 Overflow Flag - -# Module TIMER_COUNTER_3 - 'TCCR3A' : '$90', # Timer/Counter3 Control Registe - 'TCCR3A_COM3A': '$c0', # Compare Output Mode 3A, bits - 'TCCR3A_COM3B': '$30', # Compare Output Mode 3B, bits - 'TCCR3A_COM3C': '$c', # Compare Output Mode 3C, bits - 'TCCR3A_WGM3': '$3', # Waveform Generation Mode - 'TCCR3B' : '$91', # Timer/Counter3 Control Registe - 'TCCR3B_ICNC3': '$80', # Input Capture 3 Noise Canceler - 'TCCR3B_ICES3': '$40', # Input Capture 3 Edge Select - 'TCCR3B_WGM3': '$18', # Waveform Generation Mode - 'TCCR3B_CS3': '$7', # Prescaler source of Timer/Coun - 'TCCR3C' : '$92', # Timer/Counter 3 Control Regist - 'TCCR3C_FOC3A': '$80', # Force Output Compare 3A - 'TCCR3C_FOC3B': '$40', # Force Output Compare 3B - 'TCCR3C_FOC3C': '$20', # Force Output Compare 3C - 'TCNT3' : '$94', # Timer/Counter3 Bytes - 'OCR3A' : '$98', # Timer/Counter3 Output Compare - 'OCR3B' : '$9a', # Timer/Counter3 Output Compare - 'OCR3C' : '$9c', # Timer/Counter3 Output Compare - 'ICR3' : '$96', # Timer/Counter3 Input Capture R - 'TIMSK3' : '$71', # Timer/Counter Interrupt Mask R - 'TIMSK3_ICIE3': '$20', # Timer/Counter3 Input Capture I - 'TIMSK3_OCIE3C': '$8', # Timer/Counter3 Output CompareC - 'TIMSK3_OCIE3B': '$4', # Timer/Counter3 Output CompareB - 'TIMSK3_OCIE3A': '$2', # Timer/Counter3 Output CompareA - 'TIMSK3_TOIE3': '$1', # Timer/Counter3 Overflow Interr - 'TIFR3' : '$38', # Timer/Counter Interrupt Flag r - 'TIFR3_ICF3': '$20', # Input Capture Flag 3 - 'TIFR3_OCF3C': '$8', # Output Compare Flag 3C - 'TIFR3_OCF3B': '$4', # Output Compare Flag 3B - 'TIFR3_OCF3A': '$2', # Output Compare Flag 3A - 'TIFR3_TOV3': '$1', # Timer/Counter3 Overflow Flag - -# Module TIMER_COUNTER_2 - 'TCCR2' : '$b0', # Timer/Counter2 Control Registe - 'TCCR2_FOC2A': '$80', # Force Output Compare - 'TCCR2_WGM20': '$40', # Waveform Genration Mode - 'TCCR2_COM2A': '$30', # Compare Output Mode bits - 'TCCR2_WGM21': '$8', # Waveform Generation Mode - 'TCCR2_CS2': '$7', # Clock Select bits - 'TCNT2' : '$b2', # Timer/Counter2 - 'OCR2A' : '$b3', # Timer/Counter2 Output Compare - 'TIMSK2' : '$70', # Timer/Counter Interrupt Mask r - 'TIMSK2_OCIE2A': '$2', # Timer/Counter2 Output Compare - 'TIMSK2_TOIE2': '$1', # Timer/Counter2 Overflow Interr - 'TIFR2' : '$37', # Timer/Counter Interrupt Flag R - 'TIFR2_OCF2A': '$2', # Output Compare Flag 2 - 'TIFR2_TOV2': '$1', # Timer/Counter2 Overflow Flag - 'GTCCR' : '$43', # General Timer/Counter Control - 'GTCCR_PSR2': '$2', # Prescaler Reset Timer/Counter2 - 'ASSR' : '$b6', # Asynchronous Status Register - 'ASSR_EXCLK': '$10', # Enable External Clock Interrup - 'ASSR_AS2': '$8', # AS2: Asynchronous Timer/Counte - 'ASSR_TCN2UB': '$4', # TCN2UB: Timer/Counter2 Update - 'ASSR_OCR2UB': '$2', # Output Compare Register2 Updat - 'ASSR_TCR2UB': '$1', # TCR2UB: Timer/Counter Control - -# Module WATCHDOG - 'WDTCR' : '$60', # Watchdog Timer Control Registe - 'WDTCR_WDCE': '$10', # Watchdog Change Enable - 'WDTCR_WDE': '$8', # Watch Dog Enable - 'WDTCR_WDP': '$7', # Watch Dog Timer Prescaler bits - -# Module AD_CONVERTER - 'ADMUX' : '$7c', # The ADC multiplexer Selection - 'ADMUX_REFS': '$c0', # Reference Selection Bits - 'ADMUX_ADLAR': '$20', # Left Adjust Result - 'ADMUX_MUX': '$1f', # Analog Channel and Gain Select - 'ADCSRA' : '$7a', # The ADC Control and Status reg - 'ADCSRA_ADEN': '$80', # ADC Enable - 'ADCSRA_ADSC': '$40', # ADC Start Conversion - 'ADCSRA_ADATE': '$20', # ADC Auto Trigger Enable - 'ADCSRA_ADIF': '$10', # ADC Interrupt Flag - 'ADCSRA_ADIE': '$8', # ADC Interrupt Enable - 'ADCSRA_ADPS': '$7', # ADC Prescaler Select Bits - 'ADC' : '$78', # ADC Data Register Bytes - 'ADCSRB' : '$7b', # ADC Control and Status Registe - 'ADCSRB_ADHSM': '$80', # ADC High Speed Mode - 'ADCSRB_ADTS': '$7', # ADC Auto Trigger Sources - 'DIDR0' : '$7e', # Digital Input Disable Register - 'DIDR0_ADC7D': '$80', # ADC7 Digital input Disable - 'DIDR0_ADC6D': '$40', # ADC6 Digital input Disable - 'DIDR0_ADC5D': '$20', # ADC5 Digital input Disable - 'DIDR0_ADC4D': '$10', # ADC4 Digital input Disable - 'DIDR0_ADC3D': '$8', # ADC3 Digital input Disable - 'DIDR0_ADC2D': '$4', # ADC2 Digital input Disable - 'DIDR0_ADC1D': '$2', # ADC1 Digital input Disable - 'DIDR0_ADC0D': '$1', # ADC0 Digital input Disable - -# Module ANALOG_COMPARATOR - 'ADCSRB' : '$7b', # ADC Control and Status Registe - 'ADCSRB_ACME': '$40', # Analog Comparator Multiplexer - 'ACSR' : '$50', # Analog Comparator Control And - 'ACSR_ACD': '$80', # Analog Comparator Disable - 'ACSR_ACBG': '$40', # Analog Comparator Bandgap Sele - 'ACSR_ACO': '$20', # Analog Compare Output - 'ACSR_ACI': '$10', # Analog Comparator Interrupt Fl - 'ACSR_ACIE': '$8', # Analog Comparator Interrupt En - 'ACSR_ACIC': '$4', # Analog Comparator Input Captur - 'ACSR_ACIS': '$3', # Analog Comparator Interrupt Mo - 'DIDR1' : '$7f', # - 'DIDR1_AIN1D': '$2', # AIN1 Digital Input Disable - 'DIDR1_AIN0D': '$1', # AIN0 Digital Input Disable - -# Module CAN - 'CANGCON' : '$d8', # CAN General Control Register - 'CANGCON_ABRQ': '$80', # Abort Request - 'CANGCON_OVRQ': '$40', # Overload Frame Request - 'CANGCON_TTC': '$20', # Time Trigger Communication - 'CANGCON_SYNTTC': '$10', # Synchronization of TTC - 'CANGCON_LISTEN': '$8', # Listening Mode - 'CANGCON_TEST': '$4', # Test Mode - 'CANGCON_ENASTB': '$2', # Enable / Standby - 'CANGCON_SWRES': '$1', # Software Reset Request - 'CANGSTA' : '$d9', # CAN General Status Register - 'CANGSTA_OVRG': '$40', # Overload Frame Flag - 'CANGSTA_TXBSY': '$10', # Transmitter Busy - 'CANGSTA_RXBSY': '$8', # Receiver Busy - 'CANGSTA_ENFG': '$4', # Enable Flag - 'CANGSTA_BOFF': '$2', # Bus Off Mode - 'CANGSTA_ERRP': '$1', # Error Passive Mode - 'CANGIT' : '$da', # CAN General Interrupt Register - 'CANGIT_CANIT': '$80', # General Interrupt Flag - 'CANGIT_BOFFIT': '$40', # Bus Off Interrupt Flag - 'CANGIT_OVRTIM': '$20', # Overrun CAN Timer - 'CANGIT_BXOK': '$10', # Burst Receive Interrupt - 'CANGIT_SERG': '$8', # Stuff Error General - 'CANGIT_CERG': '$4', # CRC Error General - 'CANGIT_FERG': '$2', # Form Error General - 'CANGIT_AERG': '$1', # Ackknowledgement Error General - 'CANGIE' : '$db', # CAN General Interrupt Enable R - 'CANGIE_ENIT': '$80', # Enable all Interrupts - 'CANGIE_ENBOFF': '$40', # Enable Bus Off INterrupt - 'CANGIE_ENRX': '$20', # Enable Receive Interrupt - 'CANGIE_ENTX': '$10', # Enable Transmitt Interrupt - 'CANGIE_ENERR': '$8', # Enable MOb Error Interrupt - 'CANGIE_ENBX': '$4', # Enable Burst Receive Interrupt - 'CANGIE_ENERG': '$2', # Enable General Error Interrupt - 'CANGIE_ENOVRT': '$1', # Enable CAN Timer Overrun Inter - 'CANEN2' : '$dc', # Enable MOb Register - 'CANEN1' : '$dd', # Enable MOb Register - 'CANIE2' : '$de', # Enable Interrupt MOb Register - 'CANIE1' : '$df', # Enable Interrupt MOb Register - 'CANSIT2' : '$e0', # CAN Status Interrupt MOb Regis - 'CANSIT1' : '$e1', # CAN Status Interrupt MOb Regis - 'CANBT1' : '$e2', # Bit Timing Register 1 - 'CANBT1_BRP': '$7e', # Baud Rate Prescaler bits - 'CANBT2' : '$e3', # Bit Timing Register 2 - 'CANBT2_SJW': '$60', # Re-Sync Jump Width - 'CANBT2_PRS': '$e', # Propagation Time Segment - 'CANBT3' : '$e4', # Bit Timing Register 3 - 'CANBT3_PHS2': '$70', # Phase Segments - 'CANBT3_PHS1': '$e', # Phase Segment 1 - 'CANBT3_SMP': '$1', # Sample Type - 'CANTCON' : '$e5', # Timer Control Register - 'CANTIML' : '$e6', # Timer Register Low - 'CANTIMH' : '$e7', # Timer Register High - 'CANTTCL' : '$e8', # TTC Timer Register Low - 'CANTTCH' : '$e9', # TTC Timer Register High - 'CANTEC' : '$ea', # Transmit Error Counter Registe - 'CANREC' : '$eb', # Receive Error Counter Register - 'CANHPMOB' : '$ec', # Highest Priority MOb Register - 'CANPAGE' : '$ed', # Page MOb Register - 'CANPAGE_MOBNB': '$f0', # MOb Number Bits - 'CANPAGE_AINC': '$8', # MOb Data Buffer Auto Increment - 'CANPAGE_INDX': '$7', # Data Buffer Index Bits - 'CANSTMOB' : '$ee', # MOb Status Register - 'CANSTMOB_DLCW': '$80', # Data Length Code Warning - 'CANSTMOB_TXOK': '$40', # Transmit OK - 'CANSTMOB_RXOK': '$20', # Receive OK - 'CANSTMOB_BERR': '$10', # Bit Error - 'CANSTMOB_SERR': '$8', # Stuff Error - 'CANSTMOB_CERR': '$4', # CRC Error - 'CANSTMOB_FERR': '$2', # Form Error - 'CANSTMOB_AERR': '$1', # Ackknowledgement Error - 'CANCDMOB' : '$ef', # MOb Control and DLC Register - 'CANCDMOB_CONMOB': '$c0', # MOb Config Bits - 'CANCDMOB_RPLV': '$20', # Reply Valid - 'CANCDMOB_IDE': '$10', # Identifier Extension - 'CANCDMOB_DLC': '$f', # Data Length Code Bits - 'CANIDT4' : '$f0', # Identifier Tag Register 4 - 'CANIDT3' : '$f1', # Identifier Tag Register 3 - 'CANIDT2' : '$f2', # Identifier Tag Register 2 - 'CANIDT1' : '$f3', # Identifier Tag Register 1 - 'CANIDM4' : '$f4', # Identifier Mask Register 4 - 'CANIDM3' : '$f5', # Identifier Mask Register 3 - 'CANIDM2' : '$f6', # Identifier Mask Register 2 - 'CANIDM1' : '$f7', # Identifier Mask Register 1 - 'CANSTML' : '$f8', # Time Stamp Register Low - 'CANSTMH' : '$f9', # Time Stamp Register High - 'CANMSG' : '$fa', # Message Data Register - - '__amforth_dummy':'0' -} diff --git a/amforth-6.5/avr8/devices/at90can128/words/no-jtag.asm b/amforth-6.5/avr8/devices/at90can128/words/no-jtag.asm deleted file mode 100644 index 352a4bb..0000000 --- a/amforth-6.5/avr8/devices/at90can128/words/no-jtag.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- ) -; ( -- ) -; MCU -; disable jtag at runtime -VE_NOJTAG: - .dw $FF05 - .db "-jtag",0 - .dw VE_HEAD - .set VE_HEAD = VE_NOJTAG -XT_NOJTAG: - .dw PFA_NOJTAG -PFA_NOJTAG: - - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/devices/at90can128/words/no-wdt.asm b/amforth-6.5/avr8/devices/at90can128/words/no-wdt.asm deleted file mode 100644 index 4a12261..0000000 --- a/amforth-6.5/avr8/devices/at90can128/words/no-wdt.asm +++ /dev/null @@ -1,22 +0,0 @@ -; ( -- ) -; MCU -; disable watch dog timer at runtime -VE_NOWDT: - .dw $ff04 - .db "-wdt" - .dw VE_HEAD - .set VE_HEAD = VE_NOWDT -XT_NOWDT: - .dw PFA_NOWDT -PFA_NOWDT: - -; Reset WDT - wdr -; Write logical one to WDTOE and WDE - in_ temp1, WDTCR - ori temp1, (1< -.include "words/sign.asm" -.include "words/d-dot-r.asm" -.include "words/dot-r.asm" -.include "words/d-dot.asm" -.include "words/dot.asm" -.include "words/ud-dot.asm" -.include "words/ud-dot-r.asm" -.include "words/ud-slash-mod.asm" -.include "words/digit-q.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/do-sliteral.asm" -.include "words/scomma.asm" -.include "words/itype.asm" -.include "words/icount.asm" -.include "words/cr.asm" -.include "words/space.asm" -.include "words/spaces.asm" -.include "words/type.asm" -.include "words/tick.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/handler.asm" -.include "words/catch.asm" -.include "words/throw.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/cskip.asm" -.include "words/cscan.asm" -.include "words/accept.asm" -.include "words/refill.asm" -.include "words/char.asm" -.include "words/number.asm" -.include "words/q-sign.asm" -.include "words/set-base.asm" -.include "words/to-number.asm" -.include "words/parse.asm" -.include "words/source.asm" -.include "words/slash-string.asm" -.include "words/parse-name.asm" -.include "words/find-xt.asm" - -.include "words/quit.asm" -.include "words/prompt-ok.asm" -.include "words/prompt-ready.asm" -.include "words/prompt-error.asm" -.include "words/pause.asm" -.include "words/cold.asm" -.include "words/warm.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/sp0.asm" -.include "words/rp0.asm" -.include "words/depth.asm" -.include "words/recognize.asm" -.include "words/forth-recognizer.asm" -.include "words/interpret.asm" -.include "words/rec-intnum.asm" -.include "words/rec-find.asm" -.include "words/dt-null.asm" - -.include "words/q-stack.asm" -.include "words/ver.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/noop.asm" -.include "words/unused.asm" - -.include "words/to.asm" -.include "words/i-cellplus.asm" - -.include "words/edefer-fetch.asm" -.include "words/edefer-store.asm" -.include "words/rdefer-fetch.asm" -.include "words/rdefer-store.asm" -.include "words/udefer-fetch.asm" -.include "words/udefer-store.asm" -.include "words/defer-store.asm" -.include "words/defer-fetch.asm" -.include "words/do-defer.asm" - -.include "words/search-wordlist.asm" -.include "words/traverse-wordlist.asm" -.include "words/name2string.asm" -.include "words/nfa2cfa.asm" -.include "words/icompare.asm" - -.include "words/star.asm" -.include "words/j.asm" - -.include "words/dabs.asm" -.include "words/dnegate.asm" -.include "words/cmove.asm" -.include "words/2swap.asm" - -.include "words/tib.asm" - -.include "words/init-ram.asm" -.include "words/bounds.asm" -.include "words/s-to-d.asm" -.include "words/to-body.asm" diff --git a/amforth-6.5/avr8/dict/appl_4k.inc b/amforth-6.5/avr8/dict/appl_4k.inc deleted file mode 100644 index 8cc8451..0000000 --- a/amforth-6.5/avr8/dict/appl_4k.inc +++ /dev/null @@ -1,81 +0,0 @@ -.include "words/ver.asm" - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/noop.asm" -.include "words/unused.asm" -.include "words/to.asm" -.include "words/i-cellplus.asm" -.include "words/icompare.asm" -.include "words/star.asm" -.include "words/j.asm" -.include "words/dabs.asm" -.include "words/dnegate.asm" -.include "words/cmove.asm" -.include "words/2swap.asm" -.include "words/tib.asm" -.include "words/init-ram.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - -.include "words/environment.asm" -.include "words/env-wordlists.asm" -.include "words/env-slashpad.asm" -.include "words/env-slashhold.asm" -.include "words/env-forthname.asm" -.include "words/env-forthversion.asm" -.include "words/env-cpu.asm" -.include "words/env-mcuinfo.asm" -.include "words/env-usersize.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/hld.asm" -.include "words/hold.asm" -.include "words/less-sharp.asm" ; <# -.include "words/sharp.asm" -.include "words/sharp-s.asm" -.include "words/sharp-greater.asm" ; #> -.include "words/sign.asm" -.include "words/d-dot-r.asm" -.include "words/dot-r.asm" -.include "words/d-dot.asm" -.include "words/dot.asm" -.include "words/ud-dot.asm" -.include "words/ud-dot-r.asm" -.include "words/ud-slash-mod.asm" -.include "words/digit-q.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/do-sliteral.asm" -.include "words/scomma.asm" -.include "words/itype.asm" -.include "words/icount.asm" -.include "words/type.asm" -.include "words/tick.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/cskip.asm" -.include "words/cscan.asm" -.include "words/accept.asm" -.include "words/refill.asm" -.include "words/char.asm" -.include "words/number.asm" -.include "words/q-sign.asm" -.include "words/set-base.asm" -.include "words/to-number.asm" -.include "words/parse.asm" -.include "words/source.asm" -.include "words/slash-string.asm" -.include "words/parse-name.asm" -.include "words/sp0.asm" -.include "words/rp0.asm" -.include "words/depth.asm" -.include "words/forth-recognizer.asm" -.include "words/recognize.asm" -.include "words/interpret.asm" -.include "words/rec-intnum.asm" -.include "words/rec-find.asm" -.include "words/dt-null.asm" -.include "words/search-wordlist.asm" -.include "words/traverse-wordlist.asm" -.include "words/name2string.asm" -.include "words/nfa2cfa.asm" -.include "words/find-xt.asm" - -.include "dict/compiler1.inc" diff --git a/amforth-6.5/avr8/dict/appl_8k.inc b/amforth-6.5/avr8/dict/appl_8k.inc deleted file mode 100644 index bfedb0a..0000000 --- a/amforth-6.5/avr8/dict/appl_8k.inc +++ /dev/null @@ -1 +0,0 @@ -.include "dict/compiler1.inc" diff --git a/amforth-6.5/avr8/dict/compiler1.inc b/amforth-6.5/avr8/dict/compiler1.inc deleted file mode 100644 index 7baa432..0000000 --- a/amforth-6.5/avr8/dict/compiler1.inc +++ /dev/null @@ -1,70 +0,0 @@ - -.include "words/newest.asm" -.include "words/latest.asm" -.include "words/do-create.asm" -.include "words/backslash.asm" -.include "words/l-paren.asm" - -.include "words/compile.asm" -.include "words/comma.asm" -.include "words/brackettick.asm" - - -.include "words/literal.asm" -.include "words/sliteral.asm" -.include "words/g-mark.asm" -.include "words/g-resolve.asm" -.include "words/l_mark.asm" -.include "words/l_resolve.asm" - -.include "words/ahead.asm" -.include "words/if.asm" -.include "words/else.asm" -.include "words/then.asm" -.include "words/begin.asm" -.include "words/while.asm" -.include "words/repeat.asm" -.include "words/until.asm" -.include "words/again.asm" -.include "words/do.asm" -.include "words/loop.asm" -.include "words/plusloop.asm" -.include "words/leave.asm" -.include "words/qdo.asm" -.include "words/endloop.asm" -; leave address stack -.include "words/l-from.asm" -.include "words/to-l.asm" -.include "words/lp0.asm" -.include "words/lp.asm" - -.include "words/create.asm" -.include "words/header.asm" -.include "words/wlscope.asm" -.include "words/reveal.asm" -.include "words/does.asm" -.include "words/colon.asm" -.include "words/colon-noname.asm" -.include "words/semicolon.asm" -.include "words/right-bracket.asm" -.include "words/left-bracket.asm" -.include "words/variable.asm" -.include "words/constant.asm" -.include "words/user.asm" - -.include "words/recurse.asm" -.include "words/immediate.asm" - -.include "words/bracketchar.asm" -.include "words/abort-string.asm" -.include "words/abort.asm" -.include "words/q-abort.asm" - -.include "words/get-stack.asm" -.include "words/set-stack.asm" -.include "words/map-stack.asm" -.include "words/get-current.asm" -.include "words/get-order.asm" -.include "words/cfg-order.asm" -.include "words/compare.asm" -.include "words/nfa2lfa.asm" diff --git a/amforth-6.5/avr8/dict/compiler2.inc b/amforth-6.5/avr8/dict/compiler2.inc deleted file mode 100644 index 5d06a55..0000000 --- a/amforth-6.5/avr8/dict/compiler2.inc +++ /dev/null @@ -1,19 +0,0 @@ -; words from this file are optional. They can be -; included almost independently from each other -; on a include-per-use basis -; -.if DICT_COMPILER2 == 0 -.set DICT_COMPILER2 = 1 - -.include "words/set-current.asm" -.include "words/wordlist.asm" - -.include "words/forth-wordlist.asm" -.include "words/set-order.asm" -.include "words/set-recognizer.asm" -.include "words/get-recognizer.asm" -.include "words/code.asm" -.include "words/end-code.asm" -.include "words/marker.asm" -.include "words/postpone.asm" -.endif diff --git a/amforth-6.5/avr8/dict/core_2k.inc b/amforth-6.5/avr8/dict/core_2k.inc deleted file mode 100644 index 5ac1e93..0000000 --- a/amforth-6.5/avr8/dict/core_2k.inc +++ /dev/null @@ -1,2 +0,0 @@ -; this file contains nothing -; \ No newline at end of file diff --git a/amforth-6.5/avr8/dict/core_4k.inc b/amforth-6.5/avr8/dict/core_4k.inc deleted file mode 100644 index 6e083d5..0000000 --- a/amforth-6.5/avr8/dict/core_4k.inc +++ /dev/null @@ -1,98 +0,0 @@ -; first the assembly words to keep them -; in a short distance to DO_NEXT -.include "words/n_to_r.asm" -.include "words/n_r_from.asm" -.include "words/d-2star.asm" -.include "words/d-2slash.asm" -.include "words/d-plus.asm" -.include "words/d-minus.asm" -.include "words/d-invert.asm" -.include "words/slashmod.asm" -.include "words/abs.asm" -.include "words/pick.asm" -.include "words/cellplus.asm" -.include "dict/interrupt.inc" - -; now the relocatable colon words -.include "words/prompt-ok.asm" -.include "words/prompt-ready.asm" -.include "words/prompt-error.asm" - -.include "words/quit.asm" -.include "words/pause.asm" -.include "words/cold.asm" -.include "words/warm.asm" - -.include "words/handler.asm" -.include "words/catch.asm" -.include "words/throw.asm" - - -.include "words/edefer-fetch.asm" -.include "words/edefer-store.asm" -.include "words/rdefer-fetch.asm" -.include "words/rdefer-store.asm" -.include "words/udefer-fetch.asm" -.include "words/udefer-store.asm" -.include "words/defer-store.asm" -.include "words/defer-fetch.asm" -.include "words/do-defer.asm" - -.include "words/u-dot.asm" -.include "words/u-dot-r.asm" - -;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/uslashmod.asm" -.include "words/negate.asm" -.include "words/slash.asm" -.include "words/mod.asm" - -.include "words/min.asm" -.include "words/max.asm" -.include "words/within.asm" - -.include "words/show-wordlist.asm" -.include "words/words.asm" - -.include "words/dot-quote.asm" -.include "words/squote.asm" -.include "words/fill.asm" - -.include "words/f_cpu.asm" -.include "words/state.asm" -.include "words/base.asm" - -.include "words/cells.asm" - -.include "words/2dup.asm" -.include "words/2drop.asm" -.include "words/tuck.asm" - -.include "words/to-in.asm" -.include "words/pad.asm" -.include "words/emit.asm" -.include "words/emitq.asm" -.include "words/key.asm" -.include "words/keyq.asm" - -.include "words/dp.asm" -.include "words/ehere.asm" -.include "words/here.asm" -.include "words/allot.asm" - -.include "words/bin.asm" -.include "words/decimal.asm" -.include "words/hex.asm" -.include "words/bl.asm" - -.include "words/turnkey.asm" -.include "words/to-upper.asm" -.include "words/to-lower.asm" - -.include "words/q-stack.asm" -.include "words/bounds.asm" -.include "words/cr.asm" -.include "words/space.asm" -.include "words/spaces.asm" -.include "words/s-to-d.asm" -.include "words/to-body.asm" diff --git a/amforth-6.5/avr8/dict/core_8k.inc b/amforth-6.5/avr8/dict/core_8k.inc deleted file mode 100644 index ed5b805..0000000 --- a/amforth-6.5/avr8/dict/core_8k.inc +++ /dev/null @@ -1,180 +0,0 @@ - -.include "words/n_to_r.asm" -.include "words/n_r_from.asm" - -.include "words/d-2star.asm" -.include "words/d-2slash.asm" -.include "words/d-plus.asm" -.include "words/d-minus.asm" -.include "words/d-invert.asm" -.include "words/u-dot.asm" -.include "words/u-dot-r.asm" - -.include "words/show-wordlist.asm" -.include "words/words.asm" -.include "dict/interrupt.inc" - -.include "words/pick.asm" -.include "words/dot-quote.asm" -.include "words/squote.asm" - -.include "words/fill.asm" - -.include "words/environment.asm" -.include "words/env-wordlists.asm" -.include "words/env-slashpad.asm" -.include "words/env-slashhold.asm" -.include "words/env-forthname.asm" -.include "words/env-forthversion.asm" -.include "words/env-cpu.asm" -.include "words/env-mcuinfo.asm" -.include "words/env-usersize.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/f_cpu.asm" -.include "words/state.asm" -.include "words/base.asm" - -.include "words/cells.asm" -.include "words/cellplus.asm" - -.include "words/2dup.asm" -.include "words/2drop.asm" - -.include "words/tuck.asm" - -.include "words/to-in.asm" -.include "words/pad.asm" -.include "words/emit.asm" -.include "words/emitq.asm" -.include "words/key.asm" -.include "words/keyq.asm" - -.include "words/dp.asm" -.include "words/ehere.asm" -.include "words/here.asm" -.include "words/allot.asm" - -.include "words/bin.asm" -.include "words/decimal.asm" -.include "words/hex.asm" -.include "words/bl.asm" - -.include "words/turnkey.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/slashmod.asm" -.include "words/uslashmod.asm" -.include "words/negate.asm" -.include "words/slash.asm" -.include "words/mod.asm" -.include "words/abs.asm" -.include "words/min.asm" -.include "words/max.asm" -.include "words/within.asm" - -.include "words/to-upper.asm" -.include "words/to-lower.asm" -;;;;;;;;;;;;;;;;;;;;;; -.include "words/hld.asm" -.include "words/hold.asm" -.include "words/less-sharp.asm" ; <# -.include "words/sharp.asm" -.include "words/sharp-s.asm" -.include "words/sharp-greater.asm" ; #> -.include "words/sign.asm" -.include "words/d-dot-r.asm" -.include "words/dot-r.asm" -.include "words/d-dot.asm" -.include "words/dot.asm" -.include "words/ud-dot.asm" -.include "words/ud-dot-r.asm" -.include "words/ud-slash-mod.asm" -.include "words/digit-q.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/do-sliteral.asm" -.include "words/scomma.asm" -.include "words/itype.asm" -.include "words/icount.asm" -.include "words/cr.asm" -.include "words/space.asm" -.include "words/spaces.asm" -.include "words/type.asm" -.include "words/tick.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/handler.asm" -.include "words/catch.asm" -.include "words/throw.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/cskip.asm" -.include "words/cscan.asm" -.include "words/accept.asm" -.include "words/refill.asm" -.include "words/char.asm" -.include "words/number.asm" -.include "words/q-sign.asm" -.include "words/set-base.asm" -.include "words/to-number.asm" -.include "words/parse.asm" -.include "words/source.asm" -.include "words/slash-string.asm" -.include "words/parse-name.asm" -.include "words/find-xt.asm" - -.include "words/prompt-ok.asm" -.include "words/prompt-ready.asm" -.include "words/prompt-error.asm" - -.include "words/quit.asm" -.include "words/pause.asm" -.include "words/cold.asm" -.include "words/warm.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/sp0.asm" -.include "words/rp0.asm" -.include "words/depth.asm" -.include "words/interpret.asm" -.include "words/forth-recognizer.asm" -.include "words/recognize.asm" -.include "words/rec-intnum.asm" -.include "words/rec-find.asm" -.include "words/dt-null.asm" - -.include "words/q-stack.asm" -.include "words/ver.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/noop.asm" -.include "words/unused.asm" - -.include "words/to.asm" -.include "words/i-cellplus.asm" - -.include "words/edefer-fetch.asm" -.include "words/edefer-store.asm" -.include "words/rdefer-fetch.asm" -.include "words/rdefer-store.asm" -.include "words/udefer-fetch.asm" -.include "words/udefer-store.asm" -.include "words/defer-store.asm" -.include "words/defer-fetch.asm" -.include "words/do-defer.asm" - -.include "words/search-wordlist.asm" -.include "words/traverse-wordlist.asm" -.include "words/name2string.asm" -.include "words/nfa2cfa.asm" -.include "words/icompare.asm" - -.include "words/star.asm" -.include "words/j.asm" - -.include "words/dabs.asm" -.include "words/dnegate.asm" -.include "words/cmove.asm" -.include "words/2swap.asm" - -.include "words/tib.asm" - -.include "words/init-ram.asm" -.include "dict/compiler2.inc" -.include "words/bounds.asm" -.include "words/s-to-d.asm" -.include "words/to-body.asm" diff --git a/amforth-6.5/avr8/dict/interrupt.inc b/amforth-6.5/avr8/dict/interrupt.inc deleted file mode 100644 index a22c9b5..0000000 --- a/amforth-6.5/avr8/dict/interrupt.inc +++ /dev/null @@ -1,16 +0,0 @@ - -.if WANT_INTERRUPTS == 1 - -.if WANT_INTERRUPT_COUNTERS == 1 - .include "words/irqcnt.asm" -.endif - -.include "words/int-on.asm" -.include "words/int-off.asm" -.include "words/int-store.asm" -.include "words/int-fetch.asm" -.include "words/int-trap.asm" - -.include "words/isr-exec.asm" -.include "words/isr-end.asm" -.endif diff --git a/amforth-6.5/avr8/dict/nrww.inc b/amforth-6.5/avr8/dict/nrww.inc deleted file mode 100644 index b46c307..0000000 --- a/amforth-6.5/avr8/dict/nrww.inc +++ /dev/null @@ -1,114 +0,0 @@ -; this part of the dictionay has to fit into the nrww flash -; section together with the forth inner interpreter - -.include "words/exit.asm" -.include "words/execute.asm" -.include "words/dobranch.asm" -.include "words/docondbranch.asm" - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/doliteral.asm" -.include "words/dovariable.asm" -.include "words/doconstant.asm" -.include "words/douser.asm" -.include "words/do-value.asm" -.include "words/fetch.asm" -.include "words/store.asm" -.include "words/cstore.asm" -.include "words/cfetch.asm" -.include "words/fetch-u.asm" -.include "words/store-u.asm" - -;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/dup.asm" -.include "words/qdup.asm" -.include "words/swap.asm" -.include "words/over.asm" -.include "words/drop.asm" -.include "words/rot.asm" -.include "words/nip.asm" -;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/r_from.asm" -.include "words/to_r.asm" -.include "words/r_fetch.asm" - - -.include "words/not-equal.asm" -.include "words/equalzero.asm" -.include "words/lesszero.asm" -.include "words/greaterzero.asm" -.include "words/d-greaterzero.asm" -.include "words/d-lesszero.asm" - -.include "words/true.asm" -.include "words/zero.asm" -.include "words/uless.asm" -.include "words/u-greater.asm" -.include "words/less.asm" -.include "words/greater.asm" - -.include "words/log2.asm" -.include "words/minus.asm" -.include "words/plus.asm" -.include "words/mstar.asm" -.include "words/umslashmod.asm" -.include "words/umstar.asm" - -.include "words/invert.asm" -.include "words/2slash.asm" -.include "words/2star.asm" -.include "words/and.asm" -.include "words/or.asm" -.include "words/xor.asm" - -.include "words/1plus.asm" -.include "words/1minus.asm" -.include "words/q-negate.asm" -.include "words/lshift.asm" -.include "words/rshift.asm" -.include "words/plusstore.asm" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/rpfetch.asm" -.include "words/rpstore.asm" -.include "words/spfetch.asm" -.include "words/spstore.asm" - -.include "words/dodo.asm" -.include "words/i.asm" -.include "words/doplusloop.asm" -.include "words/doloop.asm" -.include "words/unloop.asm" - -;;;;;;;;;;;;;;;;;;;;;;;;;;; - -.include "words/cmove_g.asm" -.include "words/byteswap.asm" -.include "words/up.asm" -.include "words/1ms.asm" -.include "words/2to_r.asm" -.include "words/2r_from.asm" - -.include "words/store-e.asm" -.include "words/fetch-e.asm" -.include "words/store-i.asm" -.if FLASHEND > $10000 - .include "words/store-i_big.asm" -.else - .include "words/store-i_nrww.asm" -.endif -.include "words/fetch-i.asm" - -.if AMFORTH_NRWW_SIZE>8000 -.include "dict/core_8k.inc" -.elif AMFORTH_NRWW_SIZE>4000 -.include "dict/core_4k.inc" -.elif AMFORTH_NRWW_SIZE>2000 -.include "dict/core_2k.inc" -.else -.error "AMFORTH_NRWW_SIZE too small, cannot continue" -.endif -; now colon words -;;;;;;;;;;;;;;;;;;;;;;;; -.include "words/2literal.asm" -.include "words/equal.asm" -.include "words/num-constants.asm" diff --git a/amforth-6.5/avr8/dict/rww.inc b/amforth-6.5/avr8/dict/rww.inc deleted file mode 100644 index a9ab0df..0000000 --- a/amforth-6.5/avr8/dict/rww.inc +++ /dev/null @@ -1,16 +0,0 @@ -.include "words/mplus.asm" -.include "words/ud-star.asm" -.include "words/umax.asm" -.include "words/umin.asm" -.include "words/immediate-q.asm" -.include "words/name2flags.asm" - -.if AMFORTH_NRWW_SIZE > 8000 -.include "dict/appl_8k.inc" -.elif AMFORTH_NRWW_SIZE > 4000 -.include "dict/appl_4k.inc" -.elif AMFORTH_NRWW_SIZE > 2000 -.include "dict/appl_2k.inc" -.else -.error "AMFORTH_NRWW_SIZE too small. Cannot continue" -.endif diff --git a/amforth-6.5/avr8/drivers/1wire.asm b/amforth-6.5/avr8/drivers/1wire.asm deleted file mode 100644 index ab5c9f4..0000000 --- a/amforth-6.5/avr8/drivers/1wire.asm +++ /dev/null @@ -1,165 +0,0 @@ -;; AUTHORs -; B. J. Rodriguez (MSP 430) -; Matthias Trute (AVR Atmega) -; COPYRIGHT -; (c) 2012 Bradford J. Rodriguez for the 430 code and API - -; adapted 430 assembly code to AVR -; wishlist: -; use a configurable pin at runtime, compatible with bitnames.frt -; no external pull up, no external power supply for devices -; ??? -; -;.EQU OW_BIT=4 -;.equ OW_PORT=PORTE -.set OW_DDR=(OW_PORT-1) -.set OW_PIN=(OW_DDR-1) - -;****f* 1W.RESET -; NAME -; 1W.RESET -; SYNOPSIS -; 1W.RESET ( -- f ) Initialize 1-wire devices; return true if present -; DESCRIPTION -; This configures the port pin used by the 1-wire interface, and then -; sends an "initialize" sequence to the 1-wire devices. If any device -; is present, it will be detected. -; -; Timing, per DS18B20 data sheet: -; a) Output "0" (drive output low) for >480 usec. -; b) Output "1" (let output float). -; c) After 15 to 60 usec, device will drive pin low for 60 to 240 usec. -; So, wait 75 usec and sample input. -; d) Leave output high (floating) for at least 480 usec. -;****** -; ( -- f ) -; Hardware -; Initialize 1-wire devices; return true if present -VE_OW_RESET: - .dw $ff08 - .db "1w.reset" - .dw VE_HEAD - .set VE_HEAD = VE_OW_RESET -XT_OW_RESET: - .dw PFA_OW_RESET -PFA_OW_RESET: - savetos - ; setup to output - sbi OW_DDR, OW_BIT - ; Pull output low - cbi OW_PORT, OW_BIT - ; Delay >480 usec - DELAY 480 - ; Critical timing period, disable interrupts. - in temp1, SREG - cli - ; Pull output high - sbi OW_PORT, OW_BIT - ; make pin input, sends "1" - cbi OW_DDR, OW_BIT - DELAY 64 ; delayB - ; Sample input pin, set TOS if input is zero - in tosl, OW_PIN - sbrs tosl, OW_BIT - ser tosh - ; End critical timing period, enable interrupts - out SREG, temp1 - ; release bus - cbi OW_DDR, OW_BIT - cbi OW_PORT, OW_BIT - - ; Delay rest of 480 usec - DELAY 416 - ; we now have the result flag in TOS - mov tosl, tosh - jmp_ DO_NEXT - -;****f* 1W.SLOT -; NAME -; 1W.SLOT -; SYNOPSIS -; 1W.SLOT ( c -- c' ) Write and read one bit to/from 1-wire. -; DESCRIPTION -; The "touch byte" function is described in Dallas App Note 74. -; It outputs a byte to the 1-wire pin, LSB first, and reads back -; the state of the 1-wire pin after a suitable delay. -; To read a byte, output $FF and read the reply data. -; To write a byte, output that byte and discard the reply. -; -; This function performs one bit of the "touch" operation -- -; one read/write "slot" in Dallas jargon. Perform this eight -; times in a row to get the "touch byte" function. -; -; PARAMETERS -; The input parameter is xxxxxxxxbbbbbbbo where -; 'xxxxxxxx' are don't cares, -; 'bbbbbbb' are bits to be shifted down, and -; 'o' is the bit to be output in the slot. This must be 1 -; to create a read slot. -; -; The returned value is xxxxxxxxibbbbbbb where -; 'xxxxxxxx' are not known (the input shifted down 1 position), -; 'i' is the bit read during the slot. This has no meaning -; if it was a write slot. -; 'bbbbbbb' are the 7 input bits, shifted down one position. -; -; This peculiar parameter usage allows OWTOUCH to be written as -; OWSLOT OWSLOT OWSLOT OWSLOT OWSLOT OWSLOT OWSLOT OWSLOT -; -; NOTES -; Interrupts are disabled during each bit. - -; Timing, per DS18B20 data sheet: -; a) Output "0" for start period. (> 1 us, < 15 us, typ. 6 us*) -; b) Output data bit (0 or 1), open drain -; c) After MS from start of cycle, sample input (15 to 60 us, typ. 25 us*) -; d) After write-0 period from start of cycle, output "1" (>60 us) -; e) After recovery period, loop or return. (> 1 us) -; For writes, DS18B20 samples input 15 to 60 usec from start of cycle. -; * "Typical" values are per App Note 132 for a 300m cable length. - -; --------- ------------------------------- -; \ / / -; ------------------------------- -; a b c d e -; | 6us | 19us | 35us | 2us | -;****** -; ( c -- c' ) -; Hardware -; Write and read one bit to/from 1-wire. -VE_OW_SLOT: - .dw $ff07 - .db "1w.slot",0 - .dw VE_HEAD - .set VE_HEAD = VE_OW_SLOT -XT_OW_SLOT: - .dw PFA_OW_SLOT -PFA_OW_SLOT: - ; pull low - cbi OW_PORT, OW_BIT - sbi OW_DDR, OW_BIT - ; disable interrupts - in temp1, SREG - cli - DELAY 6 ; DELAY A - ; check bit - clc - ror tosl - brcc PFA_OW_SLOT0 ; a 0 keeps the bus low - ; release bus, a 1 is written - sbi OW_PORT, OW_BIT - cbi OW_DDR, OW_BIT -PFA_OW_SLOT0: - ; sample the input (no action required if zero) - DELAY 9 ; wait DELAY E to sample - in temp0, OW_PIN - sbrc temp0, OW_BIT - ori tosl, $80 - - DELAY 51 ; DELAY B - sbi OW_PORT, OW_BIT ; release bus - cbi OW_DDR, OW_BIT - delay 2 - ; re-enable interrupts - out SREG, temp1 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/drivers/generic-isr.asm b/amforth-6.5/avr8/drivers/generic-isr.asm deleted file mode 100644 index e0aeaed..0000000 --- a/amforth-6.5/avr8/drivers/generic-isr.asm +++ /dev/null @@ -1,41 +0,0 @@ -; ISR routines -.eseg -intvec: .byte INTVECTORS * CELLSIZE -.dseg -intcnt: .byte INTVECTORS -.cseg - -; interrupt routine gets called (again) by rcall! This gives the -; address of the int-vector on the stack. -isr: - st -Y, r0 - in r0, SREG - st -Y, r0 -.if (pclen==3) - pop r0 ; some 128+K Flash devices use 3 cells for call/ret -.endif - pop r0 - pop r0 ; = intnum * intvectorsize + 1 (address following the rcall) - dec r0 -.if intvecsize == 1 ; - lsl r0 -.endif - mov isrflag, r0 - push zh - push zl - ldi zl, low(intcnt) - ldi zh, high(intcnt) - lsr r0 ; we use byte addresses in the counter array, not words - add zl, r0 - adc zh, zeroh - ld r0, Z - inc r0 - st Z, r0 - pop zl - pop zh - - ld r0, Y+ - out SREG, r0 - ld r0, Y+ - ret ; returns the interrupt, the rcall stack frame is removed! - ; no reti here, see words/isr-end.asm diff --git a/amforth-6.5/avr8/drivers/usart-rx-buffer.asm b/amforth-6.5/avr8/drivers/usart-rx-buffer.asm deleted file mode 100644 index b6a64b8..0000000 --- a/amforth-6.5/avr8/drivers/usart-rx-buffer.asm +++ /dev/null @@ -1,132 +0,0 @@ -;;; usart driver, receiving - -; sizes have to be powers of 2! -.equ usart_rx_size = $10 -.equ usart_rx_mask = usart_rx_size - 1 -.dseg - usart_rx_data: .byte usart_rx_size - usart_rx_in: .byte 1 - usart_rx_out: .byte 1 -.cseg - -VE_TO_RXBUF: - .dw $ff07 - .db ">rx-buf",0 - .dw VE_HEAD - .set VE_HEAD = VE_TO_RXBUF -XT_TO_RXBUF: - .dw PFA_rx_tobuf -PFA_rx_tobuf: - mov temp0, tosl - lds temp1, usart_rx_in - ldi zl, low(usart_rx_data) - ldi zh, high(usart_rx_data) - add zl, temp1 - adc zh, zeroh - st Z, temp0 - inc temp1 - andi temp1,usart_rx_mask - sts usart_rx_in, temp1 - loadtos - jmp_ DO_NEXT - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; setup with -; ' isr-rx URXCaddr int! -VE_ISR_RX: - .dw $ff06 - .db "isr-rx" - .dw VE_HEAD - .set VE_HEAD = VE_ISR_RX -XT_ISR_RX: - .dw DO_COLON -usart_rx_isr: - .dw XT_DOLITERAL - .dw usart_data - .dw XT_CFETCH - .dw XT_DUP - .dw XT_DOLITERAL - .dw 3 - .dw XT_EQUAL - .dw XT_DOCONDBRANCH - .dw usart_rx_isr1 - .dw XT_COLD -usart_rx_isr1: - .dw XT_TO_RXBUF - .dw XT_EXIT - -; ( -- ) Hardware Access -; R( --) -; initialize usart -;VE_USART_INIT_RXBUFFER: -; .dw $ff0x -; .db "+usart-buffer" -; .dw VE_HEAD -; .set VE_HEAD = VE_USART_INIT_RXBUFFER -XT_USART_INIT_RX_BUFFER: - .dw DO_COLON -PFA_USART_INIT_RX_BUFFER: ; ( -- ) - .dw XT_DOLITERAL, XT_ISR_RX - .dw XT_DOLITERAL, URXCaddr - .dw XT_INTSTORE - - .dw XT_DOLITERAL - .dw usart_rx_data - .dw XT_DOLITERAL - .dw usart_rx_size + 6 - .dw XT_ZERO - .dw XT_FILL - .dw XT_EXIT - -; ( -- c) -; MCU -; get 1 character from input queue, wait if needed using interrupt driver -VE_RX_BUFFER: - .dw $ff06 - .db "rx-buf" - .dw VE_HEAD - .set VE_HEAD = VE_RX_BUFFER -XT_RX_BUFFER: - .dw DO_COLON -PFA_RX_BUFFER: - .dw XT_RXQ_BUFFER - .dw XT_DOCONDBRANCH - .dw PFA_RX_BUFFER - .dw XT_DOLITERAL - .dw usart_rx_out - .dw XT_CFETCH - .dw XT_DUP - .dw XT_DOLITERAL - .dw usart_rx_data - .dw XT_PLUS - .dw XT_CFETCH - .dw XT_SWAP - .dw XT_1PLUS - .dw XT_DOLITERAL - .dw usart_rx_mask - .dw XT_AND - .dw XT_DOLITERAL - .dw usart_rx_out - .dw XT_CSTORE - .dw XT_EXIT - -; ( -- f) -; MCU -; check if unread characters are in the input queue -VE_RXQ_BUFFER: - .dw $ff07 - .db "rx?-buf",0 - .dw VE_HEAD - .set VE_HEAD = VE_RXQ_BUFFER -XT_RXQ_BUFFER: - .dw DO_COLON -PFA_RXQ_BUFFER: - .dw XT_PAUSE - .dw XT_DOLITERAL - .dw usart_rx_out - .dw XT_CFETCH - .dw XT_DOLITERAL - .dw usart_rx_in - .dw XT_CFETCH - .dw XT_NOTEQUAL - .dw XT_EXIT diff --git a/amforth-6.5/avr8/drivers/usart.asm b/amforth-6.5/avr8/drivers/usart.asm deleted file mode 100644 index 7274789..0000000 --- a/amforth-6.5/avr8/drivers/usart.asm +++ /dev/null @@ -1,30 +0,0 @@ - -.equ BAUDRATE_LOW = UBRRL+$20 -.equ BAUDRATE_HIGH = UBRRH+$20 -.equ USART_C = UCSRC+$20 -.equ USART_B = UCSRB+$20 -.equ USART_A = UCSRA+$20 -.equ USART_DATA = UDR+$20 -.equ bm_USARTC_en = 1 << 7 - -; some generic constants -.equ bm_USART_RXRD = 1 << RXC -.equ bm_USART_TXRD = 1 << UDRE -.equ bm_ENABLE_TX = 1 << TXEN -.equ bm_ENABLE_RX = 1 << RXEN -.equ bm_ENABLE_INT_RX = 1< - R16 Y+ ld, - R17 Y+ ld, - R24 R16 add, - R25 R17 adc, - R14 1 subi, - 0 jmp, \ -+ -\ label> \ | +>-+ -\ clc, \ | | | -\ adr> rjmp, \ | | +-+ -\ nop, \ | | | -\ brcc, \ | | +-+ -\ nop, \ | | | -\ rot | | -\ swap 0 jmp, 0 >lbl \ addr->lbl[0] -\ label> 1 >lbl -\ clc, -\ adr> rjmp, 2 >lbl -\ nop, -\ 2 brcc, 3 >lbl -\ nop, -\ 0 tos -\ 1 r >r \ -- Rd Rr | -- mask opcode - 1F and dup 5 lshift or 20F and \ -- Rd r00000rrrr - swap 4 lshift 1F0 and \ -- rr 0ddddd0000 - or r> r> mask! \ -- ddrr opcode mask mask! - dup FC07 and 9000 = if EFFF and then , ; \ if Z or Y then z=0 - - - \ Operand Rd -: Rd, ( Rd opcode mask -- xxxx.xxxd.dddd.xxxx ) - >r >r \ -- Rd | -- mask opcode - 4 lshift 1F0 and \ -- 0ddddd0000 - r> r> mask! , ; \ dd opcode mask mask! to flash - - - \ Operands Rd,constant 8bit -: Rd,k, ( Rd k8 opcode mask -- xxxx.kkkk.dddd.kkkk ) - >r >r \ -- Rd k8 | -- mask opcode - FF and dup 4 lshift or F0F and \ -- Rd kkkk0000kkkk - swap 4 lshift F0 and \ -- kk dddd0000 - or r> r> mask! , ; \ kkdd opcode mask mask! to flash - - - \ Operands Rd,Rr,constant 6bit -: Rd,Rr+q, ( Rd Rr k6 opcode mask -- xxkx.kkxd.dddd.rkkk ) - >r >r \ -- Rd Rr k6 | -- mask opcode - 3F and dup 7 lshift \ -- Rd Rr k6 xkkkkkkxxxxxxx - dup 1000 and 1 lshift or or 2C07 and \ -- Rd Rr kxkkxxxxxxxkkk - rot 4 lshift 1F0 and \ -- Rr kk ddddd0000 - or swap 8 and \ -- kkdd rxxx - or r> r> mask! , ; \ kkddrr opcode mask mask! to flash - - - \ Operands Rw pair,constant 6bit -: Rw,k, ( Rw k6 opcode mask -- xxxx.xxxx.kkww.kkkk ) - >r >r \ -- Rw k6 | -- mask opcode - 3F and dup 2 lshift C0 and \ -- Rw k6 kk000000 - swap F and or \ -- Rw kk00kkkk - swap 4 lshift 30 and \ -- kk ww0000 - or r> r> mask! , ; \ kkww opcode mask mask! to flash - - - \ Operands P-port,bit -: P,b, ( P b opcode mask -- xxxx.xxxx.PPPP.Pbbb ) - >r >r \ -- P b | -- mask opcode - 7 and swap 3 lshift \ -- 0bbb PPPPP000 - or r> r> mask! , ; \ PPbb opcode mask mask! to flash - - - \ Operands Rd,P-port -: Rd,P, ( Rd P opcode mask -- xxxx.xPPd.dddd.PPPP ) - >r >r \ -- Rd P | -- mask opcode - 3F and dup 5 lshift or 60F and \ -- Rd PP00000PPPP - swap 4 lshift 1F0 and \ -- PP 00ddddd0000 - or r> r> mask! , ; \ ddPP opcode mask mask! to flash - - - \ Operand k16 k6 -: k22, ( k16 k6 opcode mask -- k16 xxxx.xxxk.kkkk.xxxk ) - >r >r \ -- k16 k6 | -- mask opcode - dup 1 and swap 3 lshift \ -- 000k kkkkkk000 - or r> r> mask! , , ; \ k16 kk opcode mask mask! to flash - - -00 constant Z -01 constant Z+ -02 constant -Z -08 constant Y -09 constant Y+ -0A constant -Y -0C constant X -0D constant X+ -0E constant -X - - -: movw, 1 rshift swap \ R0:1,R2:3,R4:5,..R30:31 - 1 rshift swap \ 0 2 movw, R0:1<--R2:3 - 0100 FF00 Rd,Rr, ; ( Rd Rr -- ) -: mul, 9C00 FC00 Rd,Rr, ; \ 2 3 mul, -: muls, 0200 FF00 Rd,Rr, ; -: mulsu, 0300 FF88 Rd,Rr, ; -: fmul, 0308 FF88 Rd,Rr, ; -: fmuls, 0380 FF88 Rd,Rr, ; -: fmulsu, 0388 FF88 Rd,Rr, ; -: cpc, 0400 FC00 Rd,Rr, ; -: sbc, 0800 FC00 Rd,Rr, ; -: add, 0C00 FC00 Rd,Rr, ; -: cpse, 1000 FC00 Rd,Rr, ; -: cp, 1400 FC00 Rd,Rr, ; -: sub, 1800 FC00 Rd,Rr, ; -: adc, 1C00 FC00 Rd,Rr, ; -: and, 2000 FC00 Rd,Rr, ; -: eor, 2400 FC00 Rd,Rr, ; -: or, 2800 FC00 Rd,Rr, ; -: mov, 2C00 FC00 Rd,Rr, ; \ 2 3 mov, R2<--R3 - -: cpi, 3000 F000 Rd,k, ; ( Rd k8 -- ) -: sbci, 4000 F000 Rd,k, ; -: subi, 5000 F000 Rd,k, ; -: ori, 6000 F000 Rd,k, ; -: sbr, ori, ; -: andi, 7000 F000 Rd,k, ; -: cbr, invert andi, ; -: ldi, E000 F000 Rd,k, ; \ 2 FF ldi, R2<--#FF - -: ldd, 8000 D200 Rd,Rr+q, ; ( Rd Rr q -- ) \ Rr={Z+,Y+}, 2 Y+ 3F ldd, -: std, rot rot - 8200 D200 Rd,Rr+q, ; ( Rd q Rr -- ) \ Rd={Z+,Y+}, Y+ 3F 2 std, - -: ld, 9000 FE00 Rd,Rr, ; ( Rd Rr -- ) \ Rr={Z+,-Z,Y+,-Y,X+,-X,X,Y,Z} -: lds, swap - 9000 FE0F Rd, , ; ( Rd k16 -- ) -: lpm_, 9004 FE0E Rd,Rr, ; ( Rd Rr -- ) \ Rr={Z,Z+}, 2 Z+ lpm_ -: elpm_, 9006 FE0E Rd,Rr, ; ( Rd Rr -- ) \ Rr={Z,Z+} -: st, swap - 9200 FE00 Rd,Rr, ; ( Rd Rr -- ) \ Rd={Z+,-Z,Y+,-Y,X+,-X,X,Y,Z} -: sts, 9200 FE0F Rd, , ; ( k16 Rd -- ) \ FFFF 2 sts, adr(FFFF)<--R2 - -: lsl, dup add, ; ( Rd -- ) -: rol, dup adc, ; -: tst, dup and, ; -: clr, dup eor, ; -: ser, FF ldi, ; - -: pop, 900F FE0F Rd, ; ( Rd -- ) \ 2 pop, -: push, 920F FE0F Rd, ; -: com, 9400 FE0F Rd, ; -: neg, 9401 FE0F Rd, ; -: swap, 9402 FE0F Rd, ; -: inc, 9403 FE0F Rd, ; -: asr, 9405 FE0F Rd, ; -: lsr, 9406 FE0F Rd, ; -: ror, 9407 FE0F Rd, ; -: bset, 9408 FF8F Rd, ; -: bclr, 9488 FF8F Rd, ; -: dec, 940A FE0F Rd, ; - -: nop, 0000 , ; ( -- ) -: ret, 9508 , ; -: reti, 9518 , ; -: sleep, 9588 , ; -: break, 9598 , ; -: wdr, 95A8 , ; -: lpm, 95C8 , ; -: elpm, 95D8 , ; -: spm, 95E8 , ; -: espm, 95F8 , ; -: ijmp, 9409 , ; -: eijmp, 9419 , ; -: icall, 9509 , ; -: eicall, 9519 , ; - -: clc, 9488 , ; -: clh, 94D8 , ; -: cli, 94F8 , ; -: cln, 94A8 , ; -: cls, 94C8 , ; -: clt, 94E8 , ; -: clv, 94B8 , ; -: clz, 9498 , ; -: sec, 9408 , ; -: seh, 9458 , ; -: sei, 9478 , ; -: sen, 9428 , ; -: ses, 9448 , ; -: set, 9468 , ; -: sev, 9438 , ; -: sez, 9418 , ; - -: adiw, 9600 FF00 Rw,k, ; ( Rw k6 -- ) \ 3 3F adiw, ZLH=ZLH+#3F -: sbiw, 9700 FF00 Rw,k, ; -: cbi, 9800 FF00 P,b, ; ( P b -- ) -: sbic, 9900 FF00 P,b, ; -: sbi, 9A00 FF00 P,b, ; -: sbis, 9B00 FF00 P,b, ; - -: in, B000 F800 Rd,P, ; ( Rd P -- ) -: out, swap - B800 F800 Rd,P, ; ( P Rr -- ) - -: bld, F800 FE08 Rd,Rr, ; ( Rd b -- ) -: bst, FA00 FE08 Rd,Rr, ; -: sbrc, FC00 FE08 Rd,Rr, ; -: sbrs, FE00 FE08 Rd,Rr, ; - -: jmp, 940C FE0E k22, ; ( k16 k6 -- ) \ k6=0 for 16b addr -: call, 940E FE0E k22, ; -: rjmp, C000 F000 mask! , ; ( k12 -- ) -: rcall, D000 F000 mask! , ; - -: brbc, F400 FC00 P,b, ; ( k7 b -- ) -: brbs, F000 FC00 P,b, ; -: brcc, 0 brbc, ; ( k7 ) -: brcs, 0 brbs, ; -: brsh, 0 brbc, ; -: brlo, 0 brbs, ; -: brne, 1 brbc, ; -: breq, 1 brbs, ; -: brpl, 2 brbc, ; -: brmi, 2 brbs, ; -: brvc, 3 brbc, ; -: brvs, 3 brbs, ; -: brge, 4 brbc, ; -: brlt, 4 brbs, ; -: brhc, 5 brbc, ; -: brhs, 5 brbs, ; -: brtc, 6 brbc, ; -: brts, 6 brbs, ; -: brid, 7 brbc, ; -: brie, 7 brbs, ; - - - \ Relative addr, for jump back, ......... ( -- adr ) \ label> ......... ......... 0 jmp, - - - \ Addr, for jump forward, adr> brne, adr> 0 jmp, -: adr> ( -- adr k ) - dp 0 ; - - - \ Label for branch forward, adr> brne, ......... rjmp, ......... 0 jmp, ......... lbl ( addr c -- ) \ index c=0..9 - 2* (lbl) + ! ; - - \ read addr from vector of labels -: pulse ( turn portD pin #7 for high and low) -\ the following words are for "real" IO pins only -\ PD.7 pin_output ( set DDRD so that portD pin #7 is output) -\ PD.7 pin_input ( set DDRD so that portD pin #7 is input) -\ PD.7 pin_high? ( true if pinD pin #7 is high) -\ PD.7 pin_low? ( true if pinD pin #7 is low) -\ -\ multi bit operation -\ PORTD F portpin PD.F ( define the lower nibble of port d ) -\ PD.F pin@ ( get the lower nibble bits ) -\ 5 PD.F pin! ( put the lower nibble bits, do not change the others ) - -hex - -\ At compiletime: -\ Store combination of portaddress and bit number in a cell and give it a name. -\ At runtime: -\ Get pinmask and portaddress on stack. -: portpin: create ( C: "ccc" portadr n -- ) ( R: -- pinmask portadr ) - 1 swap lshift - 8 lshift or , \ packed value - does> @i \ get packed value - dup 8 rshift swap ff and \ -; - -: bitmask: create ( C: "ccc" portadr n -- ) ( R: -- pinmask portadr ) - 8 lshift or , \ packed value - does> @i \ get packed value - dup 8 rshift swap ff and \ -; - - -\ Turn a port pin on, dont change the others. -: high ( pinmask portadr -- ) - dup ( -- pinmask portadr portadr ) - c@ ( -- pinmask portadr value ) - rot ( -- portadr value pinmask ) - or ( -- portadr new-value) - swap ( -- new-value portadr) - c! -; - -\ Turn a port pin off, dont change the others. -: low ( pinmask portadr -- ) - dup ( -- pinmask portadr portadr ) - c@ ( -- pinmask portadr value ) - rot ( -- portadr value pinmask ) - invert and ( -- portadr new-value) - swap ( -- new-value port) - c! -; - -\ pulse the pin -: pulse ( pinmask portaddr time -- ) - >r - over over high - r> 0 ?do 1ms loop - low -; - -: is_low? ( pinmask portaddr -- f ) - c@ invert and -; - -: is_high? ( pinmask portaddr -- f ) - c@ and -; - -\ write the pins masked as output -\ read the current value, mask all but -\ the desired bits and set the new -\ bits. write back the resulting byte -: pin! ( c pinmask portaddr -- ) - dup ( -- c pm pa pa ) - >r - c@ ( -- c pm c' ) - over invert and ( -- c pm c'' ) - >r ( -- c pm ) - and - r> ( -- c c'' ) - or r> - c! -; - - -\ Only for PORTx bits, -\ because address of DDRx is one less than address of PORTx. - -\ Set DDRx so its corresponding pin is output. -: pin_output ( pinmask portadr -- ) - 1- high -; - -\ Set DDRx so its corresponding pin is input. -: pin_input ( pinmask portadr -- ) - 1- low -; - -\ PINx is two less of PORTx -: pin_high? ( pinmask portaddr -- f ) - 1- 1- c@ and -; - -: pin_low? ( pinmask portaddr -- f ) - 1- 1- c@ invert and -; - -\ read the pins masked as input -: pin@ ( pinmask portaddr -- c ) - 1- 1- c@ and -; - -\ toggle the pin -: toggle ( pinmask portaddr -- ) - over over pin_high? if - low - else - high - then -; - - -\ ----- assembler version ----- -\ assembler library: loadtos, savetos, TOSL,TOSH, readflashcell - -\ macros definitions -: loadtos, 16 Y+ ld, 17 Y+ ld, ; \ define macro -: savetos, -Y 17 st, -Y 16 st, ; \ tosl=r22, tosh=r23 -: TOSL 16 ; -: TOSH 17 ; - - \ read flash cell to tos -: readflashcell, - assembler - ZL lsl, \ addr in ZH:ZL - ZH rol, - TOSL Z+ lpm_, - TOSH Z+ lpm_, ; \ @i to tos - -\ --------------------------------------------- -\ macros definitions - - \ convert mask+addr to port+bit for cbi, sbi, -: ma2pbi ( mask addr -- port bit ) - 20 - swap log2 ; - - - \ set pin high -: high, ( pinmask portadr -- ) - assembler - R16 over lds, \ @portadr - R16 rot ori, \ or pinmask - R16 sts, ; \ c! - - - \ set pin low -: low, ( pinmask portadr -- ) - assembler - R16 over lds, \ @portadr - R16 rot invert andi, \ and not(pinmask) - R16 sts, ; \ c! - - - \ c@ and -: is_high?, ( pinmask portadr -- f ) - assembler - R16 swap lds, \ @portadr - R16 swap andi, \ c@ and m - savetos, - TOSL R16 mov, - TOSH clr, ; - - - \ c@ invert and -: is_low?, ( pinmask portadr -- f ) - assembler - R16 swap lds, \ @portadr - R16 com, \ invert - R16 swap andi, \ and m - savetos, - TOSL R16 mov, - TOSH clr, ; - - - \ 1- 1- c@ and -: pin@, ( pinmask portadr -- c ) - 1- 1- is_high?, ; - -\ macros are for high speed words -\ pin,addr,mask is directly in asm instruction -\ example for use macros -\ PORTB 04 portpin: SPI_SS \ PB.4 - SPI select -\ : setoutSS SPI_SS pin_output ; -\ code setoutSS SPI_SS 1- high, end-code -\ code setoutSS SPI_SS 1- ma2pbi sbi, end-code -\ : +mmc SPI_SS low ; \ forth speed -\ code +mmc SPI_SS low, end-code \ asm speed -\ code +mmc SPI_SS ma2pbi cbi, end-code \ asm high speed -\ code SPI_SS_clk -\ SPI_SS low, -\ SPI_SS high, -\ end-code - - -\ code definitions -\ pin,addr,mask is read from tos - -code (portpin:) ( addr -- pinmask portadr ) - ZL TOSL movw, \ tos->z, addr @i - readflashcell, \ TOSH pinmask, TOSL portadr - R16 TOSL mov, \ temp0 - TOSL TOSH mov, - TOSH clr, - savetos, \ -- pinmask - TOSL R16 mov, \ -- pinmask portadr -end-code - -: portpin: create ( C: "ccc" portadr n -- ) ( R: -- pinmask portadr ) - 1 swap lshift - 8 lshift or , \ packed value - does> (portpin:) \ get packed value - \ @i dup 8 rshift swap ff and \ replaced by (portpin:) -; - - -code high ( pinmask portadr -- ) - \ dup c@ rot or swap c! \ replaced by assembler - ZL TOSL movw, \ tos->z - R16 Z ld, \ addr c@ - loadtos, \ delete portadr - R16 TOSL or, \ or pinmask - Z R16 st, \ c! - loadtos, \ delete pinmask -end-code - - -code low ( pinmask portadr -- ) - \ dup c@ rot invert and swap c! \ replaced by assembler - ZL TOSL movw, \ tos->z - R16 Z ld, \ addr c@ - loadtos, \ delete portadr - TOSL com, \ not(pinmask) - R16 TOSL and, \ and pinmask - Z R16 st, \ c! - loadtos, \ delete pinmask -end-code - - -: pin_output ( pinmask portadr -- ) - 1- high ; - - -: pin_input ( pinmask portadr -- ) - 1- low ; - - -code pin! ( c pinmask portadr -- ) - \ (c and m) or (@port and not(m)) - ZL TOSL movw, \ tos->z - R16 Z ld, \ addr c@ - loadtos, \ delete portadr - R17 TOSL mov, \ pinmask - TOSL com, \ not(pinmask) - R16 TOSL and, \ and pinmask - loadtos, \ delete pinmask - R17 TOSL and, \ m and c - R16 R17 or, \ () or () - Z R16 st, \ c! - loadtos, \ delete c -end-code - - -code pin@ ( pinmask portadr -- c ) - \ 1- 1- c@ and - ZL TOSL movw, \ tos->z - ZH:ZL 2 sbiw, \ 1- 1- - R16 Z ld, \ addr c@ - loadtos, \ delete portadr - TOSL R16 and, \ and pinmask - TOSH clr, -end-code - - -code is_low? ( pinmask portaddr -- c ) - \ c@ invert and - ZL TOSL movw, \ tos->z - R16 Z ld, \ addr c@ - R16 com, \ invert - loadtos, \ delete portadr - TOSL R16 and, \ and pinmask - TOSH clr, -end-code - - -code is_high? ( pinmask portaddr -- c ) - \ c@ and - ZL TOSL movw, \ tos->z - R16 Z ld, \ addr c@ - loadtos, \ delete portadr - TOSL R16 and, \ and pinmask - TOSH clr, -end-code - - -code pin_low? ( pinmask portadr -- c ) - \ 1- 1- c@ invert and - ZL TOSL movw, \ tos->z - ZH:ZL 2 sbiw, \ 1- 1- - R16 Z ld, \ addr c@ - R16 com, \ invert - loadtos, \ delete portadr - TOSL R16 and, \ and pinmask - TOSH clr, -end-code - - -code pin_high? ( pinmask portadr -- c ) - \ 1- 1- c@ and - ZL TOSL movw, \ tos->z - ZH:ZL 2 sbiw, \ 1- 1- - R16 Z ld, \ addr c@ - loadtos, \ delete portadr - TOSL R16 and, \ and pinmask - TOSH clr, -end-code - - -code toggle ( pinmask portaddr -- ) - ZL TOSL movw, \ tos->z - R16 Z ld, \ addr c@ - loadtos, \ delete portadr - R16 TOSL eor, \ xor pinmask - Z R16 st, \ c! - loadtos, \ delete pinmask -end-code - -\ end of file diff --git a/amforth-6.5/avr8/lib/bitnames.frt b/amforth-6.5/avr8/lib/bitnames.frt deleted file mode 100644 index fdda840..0000000 --- a/amforth-6.5/avr8/lib/bitnames.frt +++ /dev/null @@ -1,155 +0,0 @@ -\ Code: Matthias Trute -\ Text: M.Kalus - -\ A named port pin puts a bitmask on stack, wherin the set bit indicates which -\ bit of the port register corresponds to the pin. -\ And then puts the address of its port on stack too. - -\ Use it this way: -\ PORTD 7 portpin: PD.7 ( define portD pin #7) -\ PD.7 high ( turn portD pin #7 on, i.e. set it high-level) -\ PD.7 low ( turn portD pin #7 off, i.e. set it low-level) -\ PD.7 pulse ( turn portD pin #7 for high and low) -\ the following words are for "real" IO pins only -\ PD.7 pin_output ( set DDRD so that portD pin #7 is output) -\ PD.7 pin_input ( set DDRD so that portD pin #7 is input) -\ PD.7 pin_high? ( true if pinD pin #7 is high) -\ PD.7 pin_low? ( true if pinD pin #7 is low) -\ -\ multi bit operation -\ PORTD F bitmask: PD.F ( define the lower nibble of port d ) -\ PD.F pin@ ( get the lower nibble bits ) -\ 5 PD.F pin! ( put the lower nibble bits, do not change the others ) - -\ #require builds.frt - -: bitmask: ( C: "ccc" portadr bmask -- ) ( R: -- pinmask portadr ) - - dup @i swap i-cell+ @i -; - -: portpin: ( C: "ccc" portadr n -- ) ( R: -- pinmask portadr ) - 1 over 7 and lshift >r \ bit position - 3 rshift + \ byte address - r> bitmask: \ portaddr may have changed -; - - - -\ Turn a port pin on, dont change the others. -: high ( pinmask portadr -- ) - dup ( -- pinmask portadr portadr ) - c@ ( -- pinmask portadr value ) - rot ( -- portadr value pinmask ) - or ( -- portadr new-value) - swap ( -- new-value portadr) - c! -; - -\ Turn a port pin off, dont change the others. -: low ( pinmask portadr -- ) - dup ( -- pinmask portadr portadr ) - c@ ( -- pinmask portadr value ) - rot ( -- portadr value pinmask ) - invert and ( -- portadr new-value) - swap ( -- new-value port) - c! -; - - -\ synonym off low -\ synonym on high - -\ pulse the pin -: pulse ( pinmask portaddr time -- ) - >r - 2dup high - r> 0 ?do 1ms loop - low -; - -: is_low? ( pinmask portaddr -- f) - c@ and 0= -; - -: is_high? ( pinmask portaddr -- f) - c@ over and = -; - -: wait_low ( pinmask portaddr -- ) - begin - 2dup is_low? - until 2drop -; - -: wait_high_all ( pinmask portaddr -- ) - begin - 2dup is_high? - until 2drop -; - -\ write the pins masked as output -\ read the current value, mask all but -\ the desired bits and set the new -\ bits. write back the resulting byte -: pin! ( c pinmask portaddr -- ) - dup ( -- c pm pa pa ) - >r - c@ ( -- c pm c' ) - over invert and ( -- c pm c'' ) - >r ( -- c pm ) - and - r> ( -- c c'' ) - or r> - c! -; - - -\ Only for PORTx bits, -\ because address of DDRx is one less than address of PORTx. - -\ Set DDRx so its corresponding pin is output. -: pin_output ( pinmask portadr -- ) - 1- high -; - -\ Set DDRx so its corresponding pin is input. -: pin_input ( pinmask portadr -- ) - 1- low -; - -\ PINx is two less of PORTx -: pin_high? ( pinmask portaddr -- f) - 1- 1- c@ and -; - -: pin_low? ( pinmask portaddr -- f) - 1- 1- c@ invert and -; - -\ read the pins masked as input -: pin@ ( pinmask portaddr -- c ) - 1- 1- c@ and -; - -\ toggle the pin -: toggle ( pinmask portaddr -- ) - 2dup pin_high? if - low - else - high - then -; - -\ disable the pull up resistor -: pin_pullup_off ( pinmask portaddr -- ) - 2dup pin_input low -; - - -\ enable the pull up resistor -: pin_pullup_on ( pinmask portaddr -- ) - 2dup pin_input high -; diff --git a/amforth-6.5/avr8/lib/calc-baudrate.frt b/amforth-6.5/avr8/lib/calc-baudrate.frt deleted file mode 100644 index 015eb10..0000000 --- a/amforth-6.5/avr8/lib/calc-baudrate.frt +++ /dev/null @@ -1,12 +0,0 @@ - -\ calculates the baudrate register values -\ the two bytes of the result should be -\ transferred in high - low order - -\ ( baudrate -- baud-rate-register) -: calc-baudrate - f_cpu - d2/ d2/ d2/ d2/ - rot um/mod - swap drop 1- -; diff --git a/amforth-6.5/avr8/lib/dot-res.frt b/amforth-6.5/avr8/lib/dot-res.frt deleted file mode 100644 index 398bd88..0000000 --- a/amforth-6.5/avr8/lib/dot-res.frt +++ /dev/null @@ -1,19 +0,0 @@ - -\ dump free ressources -: .res ( -- ) - base @ >r - decimal - ver ." running at " f_cpu #1000 um/mod . drop ." kHz " cr - s" mcu-info" environment? if - 2 + @i 2/ dp - - ." free FLASH cells " u. cr - else - ." no flash size information available " cr - then - ." free RAM bytes " unused u. cr - ." used EEPROM bytes " ehere u. cr - ." used data stack cells " depth u. cr - ." used return stack cells " rp0 rp@ - 1- 1- 2/ u. cr - ." free return stack cells " rp@ sp0 - 1+ 1+ 2/ u. cr - r> base ! -; diff --git a/amforth-6.5/avr8/lib/eallot.frt b/amforth-6.5/avr8/lib/eallot.frt deleted file mode 100644 index 73939cc..0000000 --- a/amforth-6.5/avr8/lib/eallot.frt +++ /dev/null @@ -1,5 +0,0 @@ -\ allocate n bytes in EEPROM - -: eallot ( n -- ) - ehere + to ehere -; diff --git a/amforth-6.5/avr8/lib/forth2012/core-ext.frt b/amforth-6.5/avr8/lib/forth2012/core-ext.frt deleted file mode 100644 index 7e16121..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core-ext.frt +++ /dev/null @@ -1,13 +0,0 @@ -\ 'core-ext.frt' generated automatically, do not edit -#require case.frt -\ #require case-test.frt -#require compile-comma.frt -\ #require exceptions.frt -#require marker.frt -\ #require marker-test.frt - -\ update the environment -\ get-current environment set-current -\ : core-ext 0 ; -\ reset the definition word list -\ set-current diff --git a/amforth-6.5/avr8/lib/forth2012/core-ext/avr-defers.frt b/amforth-6.5/avr8/lib/forth2012/core-ext/avr-defers.frt deleted file mode 100644 index 0421ab3..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core-ext/avr-defers.frt +++ /dev/null @@ -1,20 +0,0 @@ -\ the following code works in the AVR only - -\ use the eeprom to keep the XT. Unlike the RAM/USER -\ based locations, the EEPROM vector is available without -\ initialization. -: Edefer ( "name" -- ) - (defer) - ehere dup , - ['] Edefer@ , - ['] Edefer! , - cell+ to ehere -; - -\ the flash is writable, not that often, but it is -: Idefer ( "name" -- ) - (defer) - ['] noop , \ a dummy action as place holder - [: @i execute ;] , \ XT is directly in the dictionary. - [: !i ;] , -; diff --git a/amforth-6.5/avr8/lib/forth2012/core-ext/marker-test.frt b/amforth-6.5/avr8/lib/forth2012/core-ext/marker-test.frt deleted file mode 100644 index 3a7c9b0..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core-ext/marker-test.frt +++ /dev/null @@ -1,18 +0,0 @@ -#include dumper.frt -#include order.frt -#include marker.frt - -wordlist constant test-wl -get-order test-wl swap 1+ set-order -order -marker empty - -' empty 4 - 10 idump - -: hallo ." Hallo " ; - -order -words -empty -words -order diff --git a/amforth-6.5/avr8/lib/forth2012/core-ext/marker.frt b/amforth-6.5/avr8/lib/forth2012/core-ext/marker.frt deleted file mode 100644 index 8d5756b..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core-ext/marker.frt +++ /dev/null @@ -1,23 +0,0 @@ -\ Defines a word which resets the dictionary and removes itself -\ when called. -\ Better then forget but still has limitations. - -\ all information is in the first few EEPROM cells. -\ (marker) is a value that holds the max eeprom address - -: marker - \ get information to remove the marker itself - get-current @e dp - \ create the wordlist entry - create - \ save all data - (marker) 0 do i @e , 2 +loop - \ save the marker-remove data - , , - does> - \ restore data from saved state - (marker) 0 do dup @i i !e 1+ 2 +loop - \ purge the marker itself - dup @i to dp - 1+ @i get-current !e -; diff --git a/amforth-6.5/avr8/lib/forth2012/core.frt b/amforth-6.5/avr8/lib/forth2012/core.frt deleted file mode 100644 index 5db1994..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core.frt +++ /dev/null @@ -1,26 +0,0 @@ -\ 'core.frt' generated automatically, do not edit -#require 2over.frt -#require 2swap.frt -#require aligned.frt -#require align.frt -#require blank.frt -#require c-comma.frt -#require char-plus.frt -#require chars.frt -#require dot-paren.frt -#require environment-q.frt -#require erase.frt -#require evaluate.frt -#require fm-slash-mod.frt -#require star-slash.frt -#require move.frt - -#require sm-slash-rem.frt -#require source-id.frt -#require find.frt - -\ update the environment -get-current environment set-current -: core -1 ; -\ reset the definition word list -set-current diff --git a/amforth-6.5/avr8/lib/forth2012/core/align.frt b/amforth-6.5/avr8/lib/forth2012/core/align.frt deleted file mode 100644 index e68f679..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core/align.frt +++ /dev/null @@ -1,3 +0,0 @@ -\ atmega's are always aligned -: align ; - diff --git a/amforth-6.5/avr8/lib/forth2012/core/aligned.frt b/amforth-6.5/avr8/lib/forth2012/core/aligned.frt deleted file mode 100644 index f2b942a..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core/aligned.frt +++ /dev/null @@ -1,3 +0,0 @@ -\ atmega's are always aligned -: aligned ; - diff --git a/amforth-6.5/avr8/lib/forth2012/core/avr-values.frt b/amforth-6.5/avr8/lib/forth2012/core/avr-values.frt deleted file mode 100644 index a23d0be..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core/avr-values.frt +++ /dev/null @@ -1,11 +0,0 @@ - - -\ EEPROM based values - -: Evalue ( n -- ) - (value) - ehere , - ['] Edefer@ , - ['] Edefer! , - ehere dup cell+ to ehere !e -; diff --git a/amforth-6.5/avr8/lib/forth2012/core/c-comma.frt b/amforth-6.5/avr8/lib/forth2012/core/c-comma.frt deleted file mode 100644 index 2c4e678..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core/c-comma.frt +++ /dev/null @@ -1,3 +0,0 @@ -\ a character occupies a full flash cell -: c, , ; - diff --git a/amforth-6.5/avr8/lib/forth2012/core/eeprom-buffer.frt b/amforth-6.5/avr8/lib/forth2012/core/eeprom-buffer.frt deleted file mode 100644 index 5cb2ceb..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core/eeprom-buffer.frt +++ /dev/null @@ -1,15 +0,0 @@ -\ internal EEPROM routines. They do not operate on external -\ storage - -\ Ebuffer: is the EEPROM pendant to buffer: from forth200x -\ it takes the number of bytes to allocate in RAM and parses -\ SOURCE for the name to give to the buffer - -\ Eallot is the EEPROM pendant for allot from the core word set -\ it allocates n bytes of EEPROM storage and return the starting -\ address. - -: Eallot ehere + to ehere ; -: Ebuffer: ehere constant Eallot ; - -\ for usage see http://amforth.sourceforge.net/TG/recipes/EEPROM.html diff --git a/amforth-6.5/avr8/lib/forth2012/core/environment-q.frt b/amforth-6.5/avr8/lib/forth2012/core/environment-q.frt deleted file mode 100644 index e16428d..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core/environment-q.frt +++ /dev/null @@ -1,53 +0,0 @@ -\ environment queries are placed in a -\ separate wordlist. - -\ #require imove.frt - -\ we have to distinguish between interpreted (RAM) -\ and compiled (Flash) strings. First the RAM -\ strings - -: (environment?) \ addr len -- 0|x*i -1 - environment search-wordlist dup - if >r execute r> then -; - - -\ the compiled (Flash) strings are transferred -\ to RAM and this copy processed afterwards. -: [environment?] - ( iaddr len -- ) - dup >r - here imove - here r> (environment?) -; - -\ a state smart word to decide what to do. -: environment? - state @ if - postpone [environment?] - else - (environment?) - then -; immediate - -\ some environment queries - -\ save the definitions word list for this file -\ and switch to the environment queries wordlist -get-current environment set-current - -: /counted-strings &60 ; -: floored 0 ; -: address-unit-bits $10 ; -: max-char $ff ; -: max-d $7fffffff. ; -: max-ud $ffffffff. ; -: max-n $7fff ; -: max-u $ffff ; - -: return-stack-cells &10 ; -: stack-cells &10 ; - -\ reset the definition word list -set-current diff --git a/amforth-6.5/avr8/lib/forth2012/core/evaluate.frt b/amforth-6.5/avr8/lib/forth2012/core/evaluate.frt deleted file mode 100644 index 80659bc..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core/evaluate.frt +++ /dev/null @@ -1,46 +0,0 @@ -\ evaluate -\ temporarily redirect the input source -\ to string buffer. Return the the previous -\ input source afterwards and continue - -\ #require imove.frt - -\ some helper words -variable strlen -variable str -: source-string str @ strlen @ ; - -\ we have to distinguish between interpreted (RAM) -\ and compiled (Flash) strings. First the RAM -\ strings - -: (evaluate) \ i*x addr len -- j*y - ['] source defer@ >r - >in @ >r - 0 >in ! - strlen ! - str ! - ['] source-string is source - ['] interpret catch - r> >in ! - r> is source - throw -; - -\ the compiled (Flash) strings are transferred -\ to RAM and processed there. -: [evaluate] - ( iaddr len -- ) - dup >r - here imove - here r> (evaluate) -; - -\ a state smart word to decide what to do. -: evaluate - state @ if - postpone [evaluate] - else - (evaluate) - then -; immediate diff --git a/amforth-6.5/avr8/lib/forth2012/core/fm-slash-mod.frt b/amforth-6.5/avr8/lib/forth2012/core/fm-slash-mod.frt deleted file mode 100644 index dfb10e9..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core/fm-slash-mod.frt +++ /dev/null @@ -1,22 +0,0 @@ - - -: fm/mod ( d1 n1 -- n2 n3 ) - dup >r - 2dup xor >r - >r - dabs r@ abs um/mod - swap r> ?negate swap - r> 0< if - negate - over if - r@ rot - swap 1- - then - then - r> drop -; - -\ alternative solution -\ -\ : FM/MOD \ ( d m -- r q ) signed floored division -\ DUP >R SM/REM 2DUP 0< AND IF 1- SWAP R> + SWAP ELSE R> DROP THEN ; -\ \ No newline at end of file diff --git a/amforth-6.5/avr8/lib/forth2012/core/sm-slash-rem.frt b/amforth-6.5/avr8/lib/forth2012/core/sm-slash-rem.frt deleted file mode 100644 index baf07cf..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core/sm-slash-rem.frt +++ /dev/null @@ -1,8 +0,0 @@ - -: sm/rem ( d1 n1 -- n2 n3 ) - 2dup xor >r - over >r - abs >r dabs r> um/mod - swap r> ?negate - swap r> ?negate -; diff --git a/amforth-6.5/avr8/lib/forth2012/core/star-slash-mod.frt b/amforth-6.5/avr8/lib/forth2012/core/star-slash-mod.frt deleted file mode 100644 index 9d47a61..0000000 --- a/amforth-6.5/avr8/lib/forth2012/core/star-slash-mod.frt +++ /dev/null @@ -1,4 +0,0 @@ - -\ #require sm-slash-rem.frt - -: */mod >r m* r> sm/rem ; diff --git a/amforth-6.5/avr8/lib/hardware/25xxx.frt b/amforth-6.5/avr8/lib/hardware/25xxx.frt deleted file mode 100644 index 2951810..0000000 --- a/amforth-6.5/avr8/lib/hardware/25xxx.frt +++ /dev/null @@ -1,131 +0,0 @@ - - 6 constant SEE_WREN - 4 constant SEE_WRDI - 5 constant SEE_RDSR - 1 constant SEE_WRSR - 3 constant SEE_READ - 2 constant SEE_WRITE -$AB constant SEE_RDID \ Microchip 25LCxxx only; remove from deep power-down - - : 25xxx_disable \ raise serial EEPROM chip-select line high - 25XXX_CS_A_MASK - 25XXX_CS_A_PORT c@ - or - 25XXX_CS_A_PORT c! - ; - - : 25xxx_enable ( -- ) \ pull serial EEPROM chip-select line low - 25XXX_CS_A_MASK invert - 25XXX_CS_A_PORT c@ - and - 25XXX_CS_A_PORT c! - ; - - : 25xxx_c! ( c addr -- ) \ writes char in NOS to serial EEPROM, address in TOS - 25xxx_enable - 25XXX_WREN spi_send \ send enable-write command, ignore response - 25xxx_disable - - 25xxx_enable - 25XXX_WRITE spi_send \ send write command, ignore response - 25xxx_sendaddr \ send addr (16 or 24 bits) - spi_send \ write byte - 25xxx_disable - 25xxx_wait_rdy - ; - - : 25xxx_! ( w seeaddrl seeaddrh -- ) \ write word in NOS to serial EEPROM at addr in TOS - 2>r dup >< 2r> \ fast way to prep data in stack ( wl wh seeaddrl seeaddrh ) - over over 1 0 d+ \ precalc addr of second byte in data - 2>r \ save for later ( wl wh seeaddrl seeaddrh ) - 25xxx_c! \ write MSB of word ( wl ) - 2r> \ recover addr of next byte ( wl seeaddrl+1 seeaddrh ) - 25xxx_c! \ write LSB - ; - - : 25xxx_wait_rdy ( -- ) \ busy-wait until serial EEPROM finishes writing - begin - 25xxx_enable - 25XXX_RDSR spi_xchg drop \ send read-status command, ignore response - 0 spi_xchg \ send null byte, response is on TOS - 25xxx_disable - 1 and \ isolate the WIP (write-in-progress) bit - 1 xor \ reverse state of WIP bit - until \ loop until WIP = 0 - ; - - : see_c@ ( addrl addrh -- c ) \ returns byte at 32-bit address in TOS - 25xxx_enable - 25XXX_READ spi_send \ send READ command, ignore response - 25xxx_sendaddr \ send address (16 or 24 bits) - 0 spi_xchg \ send null byte, response is in TOS - 25xxx_disable - ; - - : 25xxx_c@_blk ( addr n eeaddrl eeaddrh -- ) - 25xxx_enable - 25XXX_READ spi_send \ send READ command, ignore response - 25xxx_sendaddr \ send address (16 or 24 bits) - 0 \ ( -- addr n 0 ) - do \ for all requested bytes... - 0 spi_xchg \ get byte from serial EEPROM - over \ get addr to use - c! \ save the byte - 1+ \ bump pointer - loop - drop \ done with address - 25xxx_disable - ; - - - : 25xxx_c!blk ( addr n seeaddrl seeaddrh -- ) \ copies N bytes from addr to EEPROM address in TOS/NOS - 25xxx_enable - 25XXX_WREN spisend \ need to enable serial EEPROM for writing - 25xxx_disable - - 25xxx_enable - 25XXX_WRITE spi_send \ send WRITE command, ignore response - over over \ copy of 32-bit serial EEPROM addr - 25xxx_sendaddr \ send addr to serial EEPROM ( -- addr n seeaddrl seeaddrh ) - rot \ ( -- addr seeaddrl seeaddrh n ) - 0 \ ( -- addr seeaddrl seeaddrh n 0 ) - do \ for all requested bytes ( -- addr seeaddrl seeaddrh ) - rot dup i + \ addr of byte to fetch ( -- seeaddrl seeaddrh addr addr+i ) - c@ spi_send \ write to serial EEPROM ( -- seeaddrl seeaddrh addr ) - rot dup i + \ calc addr within serial EEPROM ( -- seeaddrh addr seeaddrl seeaddrl+i ) - 7f and 7f = \ last addr in page?; use 7f for 25LC256/512, 3f for AT25128/256 - if - 25xxx_disable \ done with this page - 25xxx_wait_rdy - 25xxx_enable - 25XXX_WREN spi_send \ need to enable serial EEPROM for writing - 25xxx_disable - 25xxx_enable - 25XXX_WRITE spi_send \ send WRITE command ( -- seeaddrh addr seeaddrl ) - rot \ set up EEPROM addr ( -- addr seeaddrl seeaddrh ) - over over \ get a copy - i 1+ 0 d+ \ calc addr of next page ( -- addr seeaddrl seeaddrh seeaddrl seeaddrh ) - 25xxx_sendaddr \ send addr to serial EEPROM ( -- addr seeaddrl seeaddrh) - else \ not start of new page ( -- seeaddrh addr seeaddrl ) - rot \ rearrange ( -- addr seeaddrl seeaddrh ) - then - loop - drop - drop drop - 25xxx_disable - 25xxx_wait_rdy - ; - - - : 25xxx_init ( -- ) \ initialize SPI and I/O ports for accessing serial EEPROM - spi_init - 25XXX_CS_A_DDR c@ - 25XXX_CS_A_MASK or \ need to make CS an output - 25XXX_CS_A_DDR c! - 25xxx_enable - 25XXX_RDID spi_xchg drop \ Microchip 25LCxxx only; take chip out of deep power-down - 0 spi_xchg drop \ need to send dummy 16-bit addr, ignore response - 0 spi_xchg drop - 0 spi_xchg drop \ one last null byte, Microchip devices will send ID, ignore it - 25xxx_disable - ; diff --git a/amforth-6.5/avr8/lib/hardware/flash-block.frt b/amforth-6.5/avr8/lib/hardware/flash-block.frt deleted file mode 100644 index 661e3b4..0000000 --- a/amforth-6.5/avr8/lib/hardware/flash-block.frt +++ /dev/null @@ -1,37 +0,0 @@ -\ -\ flash-block -\ contiguous flash region used a block storage -\ -\ requires blocks.frt (for init and blocksize) -\ - -\ start address for blocks. -\ the block data starts at -\ flash.base-addr + (blocknum*blocksize) -\ it could be beyond the 128K limit, if the -\ !i and @i are replaced by words which take a -\ doube cell address or handle the block at once -\ (preferred) -\ -variable flash.base-addr - -\ remember a flash cell contains 2 bytes - -: flash.load-buffer ( a-addr u -- ) - 1- blocksize 2/ * flash.base-addr @ + - blocksize 2/ bounds ?do i @i over ! cell+ loop drop -; - -: flash.save-buffer ( a-addr u -- ) - 1- blocksize 2/ * flash.base-addr @ + - ." still debugging. no actual flash write!" - blocksize 2/ bounds ?do dup @ i 2drop ( !i) cell+ loop drop -; - -\ for turnkey -: flash.init ( -- ) - ['] flash.load-buffer is load-buffer - ['] flash.save-buffer is save-buffer - 0 flash.base-addr ! - block:init -; diff --git a/amforth-6.5/avr8/lib/hardware/i2c-twi-master.frt b/amforth-6.5/avr8/lib/hardware/i2c-twi-master.frt deleted file mode 100644 index 3bd2190..0000000 --- a/amforth-6.5/avr8/lib/hardware/i2c-twi-master.frt +++ /dev/null @@ -1,136 +0,0 @@ -\ basic I2C operations, uses 7bit bus addresses -\ uses the TWI module of the Atmega's. - -#require bitnames.frt -#require avr-values.frt - -\ provides public commands -\ i2c.ping? -- checks if addr is active -\ i2c.init -- flexible configuration setup. see below -\ i2c.init.default -- generic slow speed setup -\ i2c.off -- turns off I2C - -\ and more internal commands -\ i2c.wait -- wait for the current i2c transaction -\ i2c.start -- send start condition -\ i2c.stop -- send stop condition -\ i2c.tx -- send one byte, wait for ACK -\ i2c.rx -- receive one byte with ACK -\ i2c.rxn .. receive one byte with NACK -\ i2c.status -- get the last i2c status - -\ -\ i2c (SCL) clock speed = CPU_clock/(16 + 2*bitrateregister*(4^prescaler)) -\ following the SCL clock speed in Hz for an 8Mhz device -\ bitrate register (may be any value between 0 and 255) -\ 4 8 16 32 64 128 255 -\ prescaler -\ /1 333.333 250.000 166.667 100.000 55.556 29.412 15.209 -\ /4 166.667 100.000 55.556 29.412 15.152 7.692 3.891 -\ /16 55.556 29.412 15.152 7.692 3.876 1.946 978 -\ /64 15.152 7.692 3.876 1.946 975 488 245 -\ -\ - --#4000 constant i2c.timeout \ exception number for timeout -#10000 Evalue i2c.maxticks \ # of checks until timeout is reached -variable i2c.loop \ timeout counter -variable i2c.current \ current hwid if <> 0 - -: i2c.timeout? - i2c.loop @ 1- dup i2c.loop ! 0= -; - -\ turn off i2c -: i2c.off ( -- ) - 0 TWCR c! - 0 i2c.current ! -; - -#0 constant i2c.prescaler/1 -#1 constant i2c.prescaler/4 -#2 constant i2c.prescaler/16 -#3 constant i2c.prescaler/64 -TWSR $3 bitmask: i2c.conf.prescaler - -TWCR #7 portpin: i2c.int -TWCR #6 portpin: i2c.ea -TWCR #5 portpin: i2c.sta - -\ enable i2c -: i2c.init ( prescaler bitrate -- ) - i2c.off \ stop i2c, just to be sure - TWBR c! \ set bitrate register - i2c.conf.prescaler pin! \ the prescaler has only 2 bits -; - -\ a very low speed initialization. -: i2c.init.default - i2c.prescaler/64 #3 i2c.init -; - -\ wait for i2c finish -: i2c.wait ( -- ) - i2c.maxticks i2c.loop ! - begin - pause \ or 1ms? - i2c.int is_high? - i2c.timeout? if i2c.timeout throw then - until -; - -\ send start condition -: i2c.start ( -- ) - %10100100 TWCR c! - i2c.wait -; - -\ send stop condition -: i2c.stop ( -- ) - %10010100 TWCR c! - \ no wait for completion. -; - -\ send the restart condition (AVR simply sends start again) -: i2c.restart ( -- ) - i2c.start -; - -\ process the data, waits for completion -: i2c.action - %10000100 or TWCR c! \ _BV(i2cNT)|_BV(TWEN) - i2c.wait -; - -\ send 1 byte -: i2c.tx ( c -- ) - TWDR c! - 0 i2c.action -; - -\ receive 1 byte, send ACK -: i2c.rx ( -- c ) - %01000000 \ TWEA - i2c.action - TWDR c@ -; - -\ receive 1 byte, send NACK -: i2c.rxn ( -- c ) - 0 i2c.action - TWDR c@ -; - -\ get i2c status -: i2c.status ( -- n ) - TWSR c@ - $f8 and -; - -\ detect presence of a device on the bus -: i2c.ping? ( addr -- f ) - i2c.start - 2* i2c.tx - i2c.status $18 = - i2c.stop -; diff --git a/amforth-6.5/avr8/lib/hardware/i2c-twi-slave.frt b/amforth-6.5/avr8/lib/hardware/i2c-twi-slave.frt deleted file mode 100644 index c045433..0000000 --- a/amforth-6.5/avr8/lib/hardware/i2c-twi-slave.frt +++ /dev/null @@ -1,89 +0,0 @@ -\ the following code is work in progress. -\ debug output and other oddities are possible - -\ The slave provides a circular buffer of -\ $10 bytes size. The variables i2c-in -\ and i2c-out are pointers to the next -\ byte in this buffer. -\ - -\ #require buffer.frt - -$10 constant i2c-bufsize - -i2c-bufsize buffer: i2c-buffer -variable i2c-in -variable i2c-out - -: ++wrap ( addr -- n ) - dup @ ( -- addr n ) - dup 0 [ i2c-bufsize 1- ] literal within - if 1+ else drop 0 then - dup rot ! -; - -: >i2c-buffer ( c -- ) - i2c-buffer i2c-in ++wrap + c! -; - -: i2c-buffer> ( -- c ) - i2c-buffer i2c-out ++wrap + c@ -; - - -TWCR_TWEN TWCR_TWIE TWCR_TWINT or or constant TWCR_TWENALL - -\ set the hw address and start the receiver -: i2c.slave.init ( hwid -- ) - 2* \ see datasheet - TWAR c! - [ TWCR_TWENALL TWCR_TWEA or ] literal TWCR c! -; - -: i2c.slave.twcr.ack - [ TWCR_TWENALL TWCR_TWEA or ] literal TWCR c! -; -: i2c.slave.twcr.nack - [ TWCR_TWENALL ] literal TWCR c! -; - -: i2c.slave.twcr.reset - [ TWCR_TWENALL TWCR_TWEA TWCR_TWSTO or or ] literal TWCR c! -; - -\ own address received with ACK -: i2c.addr.ack ( -- ) - \ well, nothing to do - i2c.slave.twcr.ack -; - -\ data received with NACK, probably the last one -: i2c.data.nack ( -- ) - TWDR c@ >i2c-buffer - i2c.slave.twcr.nack -; -\ data received with ACK, more to follow -: i2c.data.ack ( -- ) - TWDR c@ >i2c-buffer - i2c.slave.twcr.ack -; - -: i2c.data.send ( -- ) - i2c-buffer> TWDR c! - i2c.slave.twcr.ack -; - -: i2c.slave.isr ( -- ) - TWSR c@ $f8 and - \ receiving data - dup $60 = if drop i2c.addr.ack exit then \ TW_SR_SLA_ACK - dup $80 = if drop i2c.data.ack exit then \ TW_SR_SLA_ACK - dup $88 = if drop i2c.data.nack exit then \ TW_SR_SLA_NACK - \ sending data - dup $a8 = if drop i2c.data.send exit then \ TW_ST_SLA_ACK - dup $b8 = if drop i2c.data.send exit then \ TW_ST_DATA_ACK - drop i2c.slave.twcr.reset -; - -' i2c.slave.isr decimal TWIAddr int! -$42 i2c.slave.init diff --git a/amforth-6.5/avr8/lib/hardware/int-q.frt b/amforth-6.5/avr8/lib/hardware/int-q.frt deleted file mode 100644 index 923e000..0000000 --- a/amforth-6.5/avr8/lib/hardware/int-q.frt +++ /dev/null @@ -1,2 +0,0 @@ - -: int? SREG c@ SREG_I and 0> ; \ AVR diff --git a/amforth-6.5/avr8/lib/hardware/interrupts.frt b/amforth-6.5/avr8/lib/hardware/interrupts.frt deleted file mode 100644 index d6eae22..0000000 --- a/amforth-6.5/avr8/lib/hardware/interrupts.frt +++ /dev/null @@ -1,7 +0,0 @@ -\ initialize interrupt vectors - -: initIntVectors - #int 0 do - ['] noop i int! - loop -; diff --git a/amforth-6.5/avr8/lib/hardware/key2char.frt b/amforth-6.5/avr8/lib/hardware/key2char.frt deleted file mode 100644 index 37e3d45..0000000 --- a/amforth-6.5/avr8/lib/hardware/key2char.frt +++ /dev/null @@ -1,135 +0,0 @@ -\ Convert tab for Keyboard.frt - Lubos Pekny, www.forth.cz -\ V.1.0, 26.05.2008 -\ keyboard scan code->ascii char, 128 words, Hi:Lo byte (Hi is with shift) - -create kbd_CHARTAB -\ ascii key char char^ -0000 , \ 00 -0000 , \ 01 F9 -0000 , \ 02 -0000 , \ 03 F5 -0000 , \ 04 F3 -0000 , \ 05 F1 -0000 , \ 06 F2 -0000 , \ 07 F12 -0000 , \ 08 -0000 , \ 09 F10 -0000 , \ 0A F8 -0000 , \ 0B F6 -0000 , \ 0C F4 -0909 , \ 0D TAB -7E60 , \ 0E ` ~ -0000 , \ 0F -0000 , \ 10 -0000 , \ 11 ALT -0000 , \ 12 Left SHIFT -0000 , \ 13 -0000 , \ 14 Ctrl -5171 , \ 15 q Q -2131 , \ 16 1 ! -0000 , \ 17 -0000 , \ 18 -0000 , \ 19 -5A7A , \ 1A z Z -5373 , \ 1B s S -4161 , \ 1C a A -5777 , \ 1D w W -4032 , \ 1E 2 @ -0000 , \ 1F -0000 , \ 20 -4363 , \ 21 c C -5878 , \ 22 x X -4464 , \ 23 d D -4565 , \ 24 e E -2434 , \ 25 4 $ -2333 , \ 26 3 # -0000 , \ 27 -0000 , \ 28 -2020 , \ 29 Space -5676 , \ 2A v V -4666 , \ 2B f F -5474 , \ 2C t T -5272 , \ 2D r R -2535 , \ 2E 5 % -0000 , \ 2F -0000 , \ 30 -4E6E , \ 31 n N -4262 , \ 32 b B -4868 , \ 33 h H -4767 , \ 34 g G -5979 , \ 35 y Y -5E36 , \ 36 6 ^ -0000 , \ 37 -0000 , \ 38 -0000 , \ 39 -4D6D , \ 3A m M -4A6A , \ 3B j J -5575 , \ 3C u U -2637 , \ 3D 7 & -2A38 , \ 3E 8 * -0000 , \ 3F -0000 , \ 40 -3C2C , \ 41 , < -4B6B , \ 42 k K -4969 , \ 43 i I -4F6F , \ 44 o O -2930 , \ 45 0 ) -2839 , \ 46 9 ( -0000 , \ 47 -0000 , \ 48 -3E2E , \ 49 . > -3F2F , \ 4A / ? -4C6C , \ 4B l L -3A3B , \ 4C ; : -5070 , \ 4D p P -5F2D , \ 4E - _ -0000 , \ 4F -0000 , \ 50 -0000 , \ 51 -2227 , \ 52 ' " -0000 , \ 53 -7B5B , \ 54 [ { -2B3D , \ 55 = + -0000 , \ 56 -0000 , \ 57 -0000 , \ 58 Caps Lock -0000 , \ 59 Right Shift -0D0D , \ 5A Enter -7D5D , \ 5B ] } -0000 , \ 5C -7C5C , \ 5D \ | -0000 , \ 5E -0000 , \ 5F -0000 , \ 60 -0000 , \ 61 -0000 , \ 62 -0000 , \ 63 -0000 , \ 64 -0000 , \ 65 -0808 , \ 66 Backspace -0000 , \ 67 -0000 , \ 68 -3100 , \ 69 END, NUM 1 -0000 , \ 6A -3400 , \ 6B LEFT, NUM 4 -3700 , \ 6C HOME, NUM 7 -0000 , \ 6D -0000 , \ 6E -0000 , \ 6F -3000 , \ 70 INS, NUM 0 -2E00 , \ 71 DEL, NUM . -3200 , \ 72 DOWN, NUM 2 -3500 , \ 73 , NUM 5 -3600 , \ 74 RIGHT,NUM 6 -3800 , \ 75 UP, NUM 8 -1B1B , \ 76 ESC -0000 , \ 77 NUM LOCK -0000 , \ 78 F11 -2B2B , \ 79 NUM + -3300 , \ 7A PgDwn,NUM 3 -2D2D , \ 7B NUM - -2A2A , \ 7C NUM * -3900 , \ 7D PgUp, NUM 9 -0000 , \ 7E SCROLL LOCK -0000 , \ 7F -\ 83 F7 diff --git a/amforth-6.5/avr8/lib/hardware/keyboard.frt b/amforth-6.5/avr8/lib/hardware/keyboard.frt deleted file mode 100644 index 7182f26..0000000 --- a/amforth-6.5/avr8/lib/hardware/keyboard.frt +++ /dev/null @@ -1,486 +0,0 @@ -\ Keyboard PS/2 - Lubos Pekny, www.forth.cz -\ Library for amforth 3.0 mFC 1.0 - -\ V.1.2v, 29.01.2009, add vocabulary - -\ V.1.2, 14.01.2009, tested on atmega32, amforth 3.0 -\ - add err bit in kbd_FLGR -\ - add sync to kbd_ekey? - -\ V.1.1, 06.07.2008, tested on atmega32, amforth 2.7 -\ - changes in key->ps2, kbd_ascii, kbd_sync, appl_kbdlcd -\ - optimalized restart and clk-sync - -\ V.1.0, 03.07.2008, tested on atmega32, amforth 2.7 -\ - used INT2 + 1 pin -\ - kbd_init kbd_char kbd_ekey? kbd_ekey -\ - ekey? ekey ekey>char ekey>fkey key? key - -\ a = char a $61 -\ shift+a = char A $41 -\ ctrl+a = no char, events $401C -\ ctrl+shift+a = char $01 -\ alt+char = $80+char -\ alt+ctrl+shift+a = char $81 - -#include key2char.frt \ V 1.0, 26.05.2008 - -hex - -forth - definitions \ into vocabulary - -38 constant PORTB \ Atmega32, PB.2 (INT2)<-clk, PB.1 (in)<-data out - -forth - definitions \ into vocabulary - -variable PENDING-CHAR \ for key?, key -variable kbd_CNTR \ r4:w4:b8, 8bit+2x4b circular buf counters -variable kbd_ROTR \ received bits from keyboard -variable kbd_FLGR \ flags, final hi=|alt|ctrl|shift|num|releas|extend|0|err| - \ work lo=|altL|altR|ctrlL|ctrlR|shiftL|shiftR|caps|num| -variable kbd_SKEY \ keyboard scan code+flags - 8 cells allot \ 8 events buf - -8000 constant K-ALT-MASK -4000 constant K-CTRL-MASK -2000 constant K-SHIFT-MASK -1000 constant K-NUM-MASK -0800 constant K-RELEAS-MASK -0400 constant K-EXTEND-MASK -0100 constant K-EVENTS-MASK - - - \ interrupt, keyboard clock -code kbd_clk - R18 push, - R18 3F in, \ SREG 0x3F(0x5F) - R18 push, - R17 push, R16 push, - ZH push, ZL push, - -\ --- Receive bits -- - R16 kbd_ROTR lds, \ received bits reg - R17 kbd_ROTR 1+ lds, - clc, \ CY=0 - PORTB assembler - 22 - 1 sbic, \ PinB.1=1 then CY=1 - sec, - R17 ror, R16 ror, \ CY->R17.7->R16, rotate - kbd_ROTR 1+ R17 sts, - kbd_ROTR R16 sts, \ update variable kbd_ROTR - - R18 kbd_CNTR lds, \ bit counter reg - R18 0F andi, - R18 00 cpi, \ =0 then 0B - adr> brne, - R18 0B ldi, - =0B then 0B - adr> brcs, - R18 0B ldi, - brne, 0 >lbl \ all 8+3 bits? else end - - R16 rol, - R17 rol, \ CY=stopbit - adr> brcc, 1 >lbl \ CY=0 then error end - R16 rol, - R17 rol, \ CY=parity, data - R16 rol, \ CY=startbit - adr> brcs, 2 >lbl \ CY=1? then error end - -\ --- Entry point, R17-scan code - - ZL kbd_FLGR lds, \ work flags - ZH kbd_FLGR 1+ lds, \ final flags - - R18 kbd_CNTR 1+ lds, \ buf counters - R16 R18 mov, \ read:write counter - R16 swap, - R18 inc, \ wr+1, next position - R18 07 andi, \ 3b counters - R16 0F andi, - R16 R18 cp, \ rd=wr+1? ->no overwrite buf - adr> breq, 3 >lbl \ end - - R16 swap, - R16 R18 or, \ rd:wr+1, update counter - - R17 E0 cpi, \ data>=E0 then no update - adr> brcc, 4 >lbl \ skip for EXTEND or RELEAS - - kbd_CNTR 1+ R16 sts, \ update position - -\ --- Flags --- - adr> rcall, 5 >lbl \ make work flags - adr> rcall, 6 >lbl \ make final flags - -\ --- Write to the buf --- - R16 clr, \ write to the kbd_SKEY buf - R18 lsl, \ 2*(wr+1) - ZL kbd_SKEY ldi, \ addr buf - ZH kbd_SKEY >< ldi, - ZL R18 add, - ZH R16 adc, \ ZH:ZL+0:R18 - Z+ R17 st, \ scan code->lo(kbd_SKEY+wr) - R17 kbd_FLGR 1+ lds, - Z+ R17 st, \ flags->hi(kbd_SKEY+wr) - kbd_FLGR 1+ R16 sts, \ clear final flags - R16 R16 cpse, \ end - -\ --- EXTEND or RELEAS --- - 4 rcall, 7 >lbl \ set flag EXTEND or RELEAS - -\ --- End --- - 3 \ from Set err - ZL pop, ZH pop, - R16 pop, R17 pop, - R18 pop, 3F R18 out, - R18 pop, - reti, - -\ --- Set err --- - 2 brcc, \ >=F0 - ZH K-EXTEND-MASK >< ori, - ZH ZH cpse, - < ori, - kbd_FLGR 1+ ZH sts, \ update final flags - ret, - - -\ Make work flags, Caps, LShift, RShift, etc. - 5 rjmp, \ jmp EXTEND - - R17 14 cpi, \ ctrl no EXTEND - 1 brne, - R16 10 ldi, - R17 11 cpi, \ alt - 1 brne, - R16 40 ldi, - adr> rjmp, \ jmp test F0 - - swap brcs, \ jmp num or caps - ZH 03 sbrs, \ F0? - adr> rjmp, \ jmp no RELEAS - R16 com, - ZL R16 and, \ clear flag - ZL ZL cpse, \ skip - < ldi, - ZL 7 sbrc, \ test work flags - ZH K-ALT-MASK >< ori, \ set final flags - ZL 6 sbrc, - ZH K-ALT-MASK >< ori, - ZL 5 sbrc, - ZH K-CTRL-MASK >< ori, - ZL 4 sbrc, - ZH K-CTRL-MASK >< ori, - ZL 3 sbrc, - ZH K-SHIFT-MASK >< ori, - ZL 2 sbrc, - ZH K-SHIFT-MASK >< ori, - ZL 1 sbrc, - ZH R16 eor, - ZL 0 sbrc, - ZH K-NUM-MASK >< ori, - kbd_FLGR 1+ ZH sts, \ update final flags - ret, -end-code - - -940C 0006 i! ' kbd_clk i@ 0007 i! \ Set INT2 vector - - \ INT2 enabled, clear buf -: kbd_init ( -- ) - - -int drop - PORTB c@ 06 or PORTB c! \ pull-up - PORTB 1- c@ F9 and PORTB 1- c! \ DDRB, PB.1,2 in - 54 c@ BF and 54 c! \ MCUCSR.ISC2=0, 0x34(0x54).6, fall - 5B c@ 20 or 5B c! \ GICR.INT2=1, 0x3B(0x5B).5, enable - +int - 0 kbd_CNTR ! 0 kbd_ROTR ! 1 kbd_FLGR ! \ all reset, set num - 10 0 do 0 kbd_SKEY i + c! loop \ clear buffer - -1 PENDING-CHAR ! ; - - - \ convert scan code to visible char -: kbd_char ( u -- char ) \ u=|alt|ctrl|shift|num|releas|extend|0|0|:|8b code| - dup 7F and dup \ -- u c c - kbd_CHARTAB + i@ \ -- u c 2char - swap \ -- u 2char c - dup 68 > swap 7E < and \ c=69..7D then num else shift - if \ -- u 2char - swap K-NUM-MASK and \ num? - else - swap K-SHIFT-MASK and \ shift? - then - if >< then \ swap byte in 2char, Hi->Lo - FF and ; \ -- char - - - \ convert scan code to ascii,+ctrl+alt -: kbd_ascii ( u -- char ) - dup 0C00 and \ releas,extend? - if drop 00 exit then \ event, char 00 - dup kbd_char \ -- u char - dup 0= - if swap drop exit then \ -- 00, isn't visible char - over K-CTRL-MASK and \ -- u char, ctrl? - if - dup 3F > over 60 < and \ 64<=char<96 - if - 40 - \ -- char-64 - else - drop drop 00 exit \ event, char 00 - then - then - swap K-ALT-MASK and \ alt? - if 80 + then ; \ -- char+128 - - - \ int-, set b7 in kbd_CNTR, int+ -code kbd_b7set - R18 push, - R18 3F in, \ SREG 0x3F(0x5F) - R18 push, - cli, - R18 kbd_CNTR lds, \ bit counter reg - R18 80 ori, \ set b7 - kbd_CNTR R18 sts, - sei, - R18 pop, 3F R18 out, - R18 pop, -end-code - - - \ int-, b7=1? then clear kbd_CNTR, int+ -code kbd_b7tst - R18 push, - R18 3F in, \ SREG 0x3F(0x5F) - R18 push, - cli, - - R18 kbd_CNTR lds, \ bit counter reg - R18 rol, - adr> brcc, \ b7=0? then end - R18 clr, - kbd_CNTR R18 sts, \ clear bits counter - - 3ms, int-, int+ - kbd_b7set \ set b7 in kbd_CNTR - 3 ms - kbd_b7tst ; \ b7=1? then clear bits counter - - - \ keyboard events?, rd<>wr counter -: kbd_ekey? ( -- flag ) - kbd_FLGR 1+ c@ 1 and \ flag err is set in kbd_clk - if - kbd_FLGR 1+ dup c@ \ -- addr c - FE and swap c! \ clear err - 3 ms 0 kbd_CNTR c! \ if err then sync - then - kbd_CNTR 1+ c@ \ -- rd:wr, 3b counters - dup 4 lshift F0 and \ -- rd:wr wr:0 - swap F0 and xor ; \ wr=rd?, 0 is false - - - \ Read event, scan code from buffer -: kbd_ekey ( -- u ) \ |alt|ctrl|shift|num|releas|extend|0|0|:|8b code| - begin kbd_ekey? until \ events? - kbd_CNTR 1+ dup c@ dup \ -- addr addr rd:wr rd:wr - 4 rshift 1+ 07 and \ -- addr addr rd:wr 0:rd+1 - >r 0F and r@ 4 lshift or \ -- addr addr rd+1:wr - swap c! \ -- addr, update counter rd - r> 2* kbd_SKEY + @ \ kbd_SKEY+2*(rd+1) @ - kbd_sync ; \ sync after stopbit - - - \ convert num '/','enter' to char -: kbd_numchar ( u -- u|char ) - dup 0FFF and dup \ -- u1 u2 u2 - 054A = swap 55A = or \ -- u1 flag - if - F0FF and kbd_ascii \ num '/','enter' - then ; - - -: ekey? ( -- flag ) - kbd_ekey? ; - - - \ Ascii char or u scan code -: ekey ( -- char|u ) - kbd_ekey dup kbd_ascii \ -- u char - ?dup 0= - if - K-EVENTS-MASK or \ -- u+256 - K-NUM-MASK invert and \ clear num - else - swap drop \ -- char - then - kbd_numchar ; \ '/','enter' - - -: ekey>char ( u -- u false|char true) - dup FF u> - if false else true then ; - - -: ekey>fkey ( u1 -- u2 flag ) - dup ekey>char swap drop 0= ; - - -: ps2key? ( -- flag ) - PENDING-CHAR @ 0< - if - begin - ekey? - while - ekey ekey>char - if - PENDING-CHAR ! true exit - then drop - repeat false exit - then true ; - - -: ps2key ( -- char ) - PENDING-CHAR @ 0< - if - begin - ekey ekey>char 0= - while - drop - repeat exit - then - PENDING-CHAR @ -1 PENDING-CHAR ! ; - - - \ Switch key to ps2 keyboard -: key->ps2 ( -- ) - ['] ps2key ['] key defer! - ['] ps2key? ['] key? defer! - ['] noop ['] /key defer! ; \ v.1.1 add /key - - - \ Switch key to serial port -: key->rx0 ( -- ) - ['] rx0 ['] key defer! - ['] rx0? ['] key? defer! ; - - - \ Alone system PS2-keyboard+LCD20x4 - \ PS2 keyboard started slowly. To delay amforth abouth 0.5s - \ +echo or set eeprom $14.0=H if you need view keyboard char -: appl_kbdlcd - 200 ms \ v.1.1, to delay amforth or app restart - - applturnkey - kbd_init scr_init - key->ps2 emit->scr - ver ; - - -\ Write to the eeprom appl started after switch on. -\ ' appl_kbdlcd 0A e! \ PS2+LCD -\ ' applturnkey 0A e! \ UART0 -\ ' appl_mpc 0A e! \ applturnkey+slave detect - - -\ ----- Test key ----- - - \ info about pressed key, 'Ctrl+c' end loop -: kbd_info ( -- ) - begin - ekey \ get char|event - dup 21 \ 'c' - K-EVENTS-MASK or \ event, no ascii - K-CTRL-MASK or <> \ ctrl+c? - while - dup u. space \ code - dup FF u> \ char - if drop else emit then - cr - repeat drop ; - - \ write text, 'Esc' end loop -: kbd_writer ( -- ) - begin - ps2key \ get char - dup 1B <> \ Esc? - while - emit \ view char - repeat drop ; - -\ end of file diff --git a/amforth-6.5/avr8/lib/hardware/mmc.frt b/amforth-6.5/avr8/lib/hardware/mmc.frt deleted file mode 100644 index f213c9b..0000000 --- a/amforth-6.5/avr8/lib/hardware/mmc.frt +++ /dev/null @@ -1,371 +0,0 @@ -\ MMC+SD card - Lubos Pekny, www.forth.cz -\ Library for amforth 3.0, mFC modification -\ Max. 4GB no SDHC, access thru buffer 512B or short block or direct - -\ V.1.0, 16.07.2009, tested on atmega32, amforth30mFC12.zip -\ - used SPI (MOSI, MISO, SCK, SS) -\ mmc_init, mmc_CID, mmc_CSD, mmc_read, mmc_mread, mmc_write, -\ mmc_blk@, mmc_blk!, mmc_c@, mmc_c!, mmc_end?, mmc_end! - -\ needs +/-spi for pin configuration -\ needs +/-mmc for slave select action - -hex - -variable mmc_#buf \ position in buf -variable mmc_buf 1FE allot \ 512B RAM - - - \ enable spi for mmc, set I/O -: mmc_+spi ( -- ) - +spi - -spi2x - SPCR_SPE SPCR_MSTR or - spi.f/128 or - spi.mode0 or SPCR c! ; - - \ send dummy byte x-times -: mmc_dummy ( x -- ) - 0 ?do $ff c!spi loop ; - - -\ convert 32b block to byte addr, double 9 lshift -: mmc_blk2addr ( L H -- L H ) - swap dup 9 lshift \ -- H L L<<9 - swap 7 rshift \ -- H L<<9 L>>7 - rot 9 lshift or ; \ -- L<<9 H<<9 - - - \ waiting for cmd response -: mmc_cresp ( -- c|-1 ) - FF 0 do - c@spi dup 80 and 0= \ bit7=0? - if unloop exit then \ -- c, 0=ok - drop \ -- - loop -1 ; \ -- -1, timeout - - - \ waiting for data response -: mmc_dresp ( -- c|-1 ) - FF 0 do - c@spi dup 11 and 1 = \ xxx0ccc1 - if - 0F and unloop exit \ -- c, 5=ok - then - drop \ -- - loop -1 ; \ -- -1, timeout - - - \ waiting for token -: mmc_token ( -- c|-1 ) - FF 0 do - c@spi dup FF - \ <>FF? - if unloop exit then \ -- c, FC,FE=ok - drop \ -- - loop -1 ; \ -- -1, timeout - - - \ waiting while busy, after write -: mmc_busy ( -- 0|-1 ) - FF 0 do - c@spi FF = \ =FF? - if 0 unloop exit then \ -- 0, ok - loop -1 ; \ -- -1, timeout - - - \ send command cmd, data xl, xh -: mmc_cmd ( xl xh cmd -- c|-1 ) - FF c!spi \ flush spi register - 40 or c!spi \ send command cmd - dup >< c!spi c!spi \ send xhh, xhl - dup >< c!spi c!spi \ send xlh, xll - 95 c!spi \ no crc - mmc_cresp ; \ -- c|-1, c=0 no errors - - - \ set block length -: mmc_length ( n -- c|-1 ) - 0 10 mmc_cmd ; \ CMD16 - - - \ stop multiread -: mmc_rstop ( -- c|-1 ) - 0 0 C mmc_cmd \ CMD12 - mmc_busy or -mmc ; \ -- c|-1, c=0 no errors - - - \ stop multiwrite -: mmc_wstop ( -- c|-1 ) - FD c!spi \ Stop tran for CMD25 - FF c!spi \ 1B wait - mmc_busy -mmc ; \ -- c|-1, c=0 no errors - - - \ reset card, idle -: mmc_reset ( -- c|-1 ) - -mmc 10 mmc_dummy \ 74< clk to reset mmc - +mmc - 0 0 0 mmc_cmd ; \ CMD0, -- 1, reset ok - - - \ detect sd card, 0=SD, -1=timeout -: mmc_sd? ( -- c|-1 ) - 0 0 37 mmc_cmd drop \ CMD55 - 0 0 29 mmc_cmd \ ACMD41, -- c - dup 1+ \ -- -1 0, timeout - if 4 and then ; \ SD(R1.2=0) / MMC(R1.2=1) - - - \ wait for init MMC card -: mmc_waitmmc ( -- 0|-1 ) - FF \ -- cnt - begin - 0 0 1 mmc_cmd 0= \ CMD1, -- cnt f - if drop 0 exit then \ -- 0, ok - 1- dup 0= \ -- cnt-1 f - until 1- ; \ -- -1, timeout - - - \ wait for init SD card -: mmc_waitsd ( -- 0|-1 ) - FF \ -- cnt - begin - 0 0 37 mmc_cmd drop \ CMD55 - 0 0 29 mmc_cmd 0= \ ACMD41, -- cnt f - if drop 0 exit then \ -- 0, ok - 1- dup 0= \ -- cnt-1 f - until 1- ; \ -- -1, timeout - - - - - \ check end of sector, for mmc read -: mmc_end? ( -- flag ) - 200 mmc_#buf @ - > 0= dup \ -- c c, -1=end - if \ size<=#buf then - 2 mmc_dummy \ dummy crc - then ; - - -\ check end of sector, wait for no busy, for mmc write -: mmc_end! ( -- 0|-1 ) - mmc_end? \ -- flag, crc dummy for end - if - mmc_dresp 5 <> \ -- 0, 0=ok, response - mmc_busy or \ -- c, 0=ok, writed - else 0 then ; \ -- c, 0=ok, -1=timeout - - -: mmc_buf> ( addr n -- 0|-1 ) - dup mmc_#buf +! \ +n, update buf position - 0 ?do \ addr n -- send n bytes from addr - dup c@ c!spi 1+ \ -- addr+1 - loop drop - \ n!spi - mmc_end! ; \ -- c, 0=ok, -1=timeout - - - \ copy spi to buf -: mmc_>buf ( addr n -- ) - dup mmc_#buf +! \ +n, update buf position - 0 ?do \ write n bytes to addr - c@spi over c! 1+ \ -- addr+1 - loop drop -\ n@spi - mmc_end? drop ; \ crc dummy for end - - - \ wait for token, copy first n bytes to buf -: mmc_(read) ( n 0 -- c|-1 ) - 0 mmc_#buf ! \ reset buf position - dup 0= \ 0 -- , cmd ok - if - drop mmc_token dup \ c -- c c - FE = - if - drop mmc_buf swap \ -- addr n - mmc_>buf 0 \ -- 0, ok - else - swap drop \ n c -- c - then - else - swap drop \ n c -- c - then ; \ 0=ok, -1=timeout - - - \ copy first n bytes to card, response, busy -: mmc_(write) ( n 0 -- c|-1 ) - 0 mmc_#buf ! \ reset buf position - dup 0= \ 0 -- , cmd ok - if - drop FF c!spi \ wait 1B - FE c!spi \ send start byte - mmc_buf swap \ -- addr n - mmc_buf> \ -- c, 0=ok, -1=timeout - else - swap drop \ n c -- c - then ; \ 0=ok, -1=timeout - - - \ copy first n bytes to card, multiwrite, busy -: mmc_(mwrite) ( n 0 -- c|-1 ) - 0 mmc_#buf ! \ reset buf position - dup 0= \ 0 -- , cmd ok - if - drop FF c!spi \ wait 1B - FC c!spi \ send start byte - mmc_buf swap \ -- addr n - mmc_buf> \ -- c, 0=ok, -1=timeout - else - swap drop \ n c -- c - then ; \ 0=ok, -1=timeout - - -\ ----- final words ----- - - \ initialize card MMC or SD v.1.x -: mmc_init ( -- x|-1 ) - 0 mmc_#buf ! - mmc_+spi \ init spi, I/O - mmc_reset \ -- c, 1=ok - dup 1- - if -mmc 100 xor exit then \ <>1 then exit - drop \ -- - - mmc_sd? \ detect SD - dup 0< \ -- 0, SD - if -mmc 200 xor exit then \ -1 --, timeout - if - mmc_waitmmc \ MMC init - else - mmc_waitsd \ SD init - then - 200 mmc_length \ set sector length - or -mmc ; \ -- 0|-1, 0=ok, -1=timeout - - - \ read CID register 16B -: mmc_CID ( -- c|-1 ) - +mmc 10 \ length 16B - 0 0 A mmc_cmd \ CMD10, - mmc_(read) \ 10 c -- c, 0=ok, -1=timeout - 2 mmc_dummy \ dummy CRC - -mmc ; - - - \ read CSD register 16B -: mmc_CSD ( -- c|-1 ) - +mmc 10 \ length 16B - 0 0 9 mmc_cmd \ CMD9 - mmc_(read) \ 10 c -- c, 0=ok, -1=timeout - 2 mmc_dummy \ dummy CRC - -mmc ; - - - \ open sector for read, copy n bytes to buf - \ 200 ABCD 7F mmc_read \ open,copy 512B from sector - \ 0 ABCD 7F mmc_read \ only open sector 7FABCD -: mmc_read ( n xl xh -- c|-1 ) \ length, sector addr - +mmc - mmc_blk2addr \ addr*512, block->byte - 11 mmc_cmd \ addrL addrH 11 --, CMD17 - mmc_(read) \ n c -- c, 0=ok, -1=timeout - -mmc ; - - - \ open sector for multi read, copy n bytes to buf -: mmc_mread ( n xl xh -- c|-1 ) \ length, sector addr - +mmc - mmc_blk2addr \ addr*512, block->byte - 12 mmc_cmd \ addrL addrH 12 --, CMD18 - mmc_(read) \ n c -- c, 0=ok, -1=timeout - -mmc ; - - - \ open sector for write, copy n bytes from buf to card -: mmc_write ( n xl xh -- c|-1 ) \ length, sector addr - +mmc - mmc_blk2addr \ addr*512, block->byte - 18 mmc_cmd \ addrL addrH 18 --, CMD24 - mmc_(write) \ n c -- c, 0=ok, -1=timeout - -mmc ; - - - \ open sector for multi write, copy n bytes from buf to card -: mmc_mwrite ( n xl xh -- c|-1 ) \ length, sector addr - +mmc - mmc_blk2addr \ addr*512, block->byte - 19 mmc_cmd \ addrL addrH 19 --, CMD25 - mmc_(mwrite) \ n c -- c, 0=ok, -1=timeout - -mmc ; - - - \ read short block from opened sector to buf - \ use mmc_read or mmc_(read) first -: mmc_blk@ ( addr n -- ) \ addr, length of blk - +mmc - mmc_>buf \ addr n -- ,copy spi to buf - -mmc ; - - - \ write short block to opened sector from buf - \ use mmc_write or mmc_(write) first -: mmc_blk! ( addr n -- 0|-1 ) \ addr, length of blk - +mmc - mmc_buf> \ addr n -- 0|-1, from buf - -mmc ; \ 0=ok, -1=timeout - - - \ direct read byte from opened sector - \ note: +mmc, if end of sector then dummy crc, -mmc -: mmc_c@ ( -- c ) - c@spi \ read byte from card - 1 mmc_#buf +! ; \ increment position - - - \ direct write byte to opened sector - \ note: +mmc, if end of sector then mmc_end!, -mmc -: mmc_c! ( c -- ) - c!spi \ write byte to card - 1 mmc_#buf +! ; \ increment position - - - \ view n bytes from mmc_buf+offset -: mmc. ( n offset -- ) - mmc_buf + swap - 0 ?do \ addr n -- view n bytes from addr - dup c@ . 1+ \ -- addr+1 - loop drop ; - - -\ sptx Stop transmit - -: mmc_tstmread ( n -- ) \ read n x 1MB - 0 . - 200 0 0 mmc_mread . \ open for multiread - +mmc - 0 ?do - 800 1 do \ 1MB - 200 0 mmc_(read) \ 512B - drop - loop - i . - loop 0 . - mmc_rstop drop ; - - -: mmc_tstread ( n -- ) \ read n x 1MB - 0 . - 200 0 0 mmc_read . - 0 ?do - 800 1 do \ 1MB - 200 0 0 mmc_read \ 512B - drop - loop - i . - loop 0 . ; - - -\ sptx Stop transmit - diff --git a/amforth-6.5/avr8/lib/hardware/mpc485.frt b/amforth-6.5/avr8/lib/hardware/mpc485.frt deleted file mode 100644 index 811b9b3..0000000 --- a/amforth-6.5/avr8/lib/hardware/mpc485.frt +++ /dev/null @@ -1,156 +0,0 @@ -\ Multi-processor communication RS485 - Lubos Pekny, www.forth.cz -\ Library for amforth 3.0, mFC modification - -\ V.1.0, 30.01.2009, tested on atmega32, amforth30mFC10.zip -\ - used PD.7 for switch RX/TX RS485 - -hex - -forth - definitions \ into vocabulary - -\ usart i/o atmega32 -32 constant PORTD -2B constant UCSRA -2A constant UCSRB -40 constant UCSRC - -forth - definitions \ into vocabulary - -06 constant ACK -15 constant NAK - - \ wait for tx complete, rx ready -: txc ( -- ) - - begin PORTD @ 80 and 0= until ; \ wait for PD.7=0 - - - \ initialize multi-processor communication 7-bit - \ modul is waiting for address, b7=1 -: +mpc7 ( -- ) - - txc \ wait for tx complete - UCSRA c@ 01 or UCSRA c! \ MPCM=1, multiprocessor - 8C UCSRC c! ; \ UCSZ=10, no parity, 2 Stopbits - - - \ initialize no MPC communication 8-bit - \ modul receive/transmit 8-bit data, b7=0 -: -mpc7 ( -- ) - - UCSRA c@ FE and UCSRA c! \ MPCM=0, no multiprocessor - 86 UCSRC c! ; \ UCSZ=11, no parity, 1 Stopbit - - - \ write ID to mpc_ID and eeprom 000C -: mpc_ID! ( x -- ) - dup 12 e! \ 16b to $0012:0013 - mpc_ID c! ; \ 8b ID to RAM - - - \ send buffer+CR+crc if enabled - \ if n=0 then send CR only -: mpc_sendbuf ( addr n -- ) - dup 0= \ n=0? - if - drop drop 0D tx0 exit - then - begin - over over 0 \ -- addr n addr n 0 - do - dup i + c@ tx0 \ send buffer - loop over \ -- addr n addr n - 0D tx0 \ send CR - crc \ -- c1 c2 c3 c4 flag - if - 4 0 do tx0 loop \ send crc4-1 - rx0 \ wait for ack/nak - else - ACK - then - ACK = - until drop drop ; \ ACK or crc disabled - - - \ send ID, slave initialized for communication -: mpc_call ( c -- ) \ ID - 0 tx0 \ delay - 80 or tx0 \ set 7.bit+ID, for slave - +mpc7 ; \ modul off, wait for ID - - - \ send command line for ID.slave -: mpc_line ( c -- ) \ ID - mpc_call \ ID.slave - tib >in @ \ -- addr offs - swap over + \ -- offs addr+ - #tib @ rot - \ -- addr+ n - -mpc7 - mpc_sendbuf - 0 #tib ! ; \ stop interpret - - - \ terminal-char, text commands for slave - \ send char, until ESC -: mpc_termc ( -- ) - begin - rx0? - if rx0 emit then \ answer - key? - if - key dup tx0 \ send char - 1B = - else - 0 - then - until ; \ until ESC pressed - - -: ~end +mpc7 ; -: ~call mpc_call ; -: ~line mpc_line ; -: ~id mpc_ID c@ ; - - - \ init mpc after restart, $14.7=1 then slave -: appl_mpc ( -- ) - applturnkey \ init vocabulary, ID, echo, antic - 14 e@ 80 and \ default echo b7=1 then slave, wait - if +mpc7 then ; \ ~end - -' appl_mpc 0A e! \ write appl_mpc to eeprom APPLTURNKEY - -\ echo c@ 80 or 14 e! \ set slave after restart -\ echo c@ 7F and 14 e! \ set master, no wait - -\ ditx Disable transmit - -\ ----- Test ----- -\ master: PC, 8-bits data, bit 7 cleared -\ two slaves: ID=2, ID=5 -\ slave ID5: 4 3 + 5 -\ slave ID2: + -\ result: C -\ +antic ~end modules are waiting -\ alt+0133 send 128+5, select slave ID5 -\ !! wait line by line -\ Forfiter: TestOK=Off, CRdelay=1000 or TestOK=On, F8-step by step -\ if loop created then try backspace, enter or +crc ~end from editor - -~id . \ 5, view selected slave -2 ~call \ switch to slave ID2 -~id . \ 2, this run on slave ID2 -5 ~line 4 3 + . cr ~end \ send line from slave ID2 to ID5 - \ "5 ~line" run on slave ID2 - \ "4 3 + . cr ~end" run on slave ID5 - \ 7, store to slave ID2 TOS -5 ~line ~id . cr ~end \ " ~id . cr ~end" run on slave ID5 - \ 5, store to slave ID2 TOS -+ . \ C, run on slave ID2 -5 ~call \ switch to slave ID5, run on slave ID2 -~id . \ 5, run on slave ID5 - -\ entx Enable transmit -\ end of file diff --git a/amforth-6.5/avr8/lib/hardware/spi.frt b/amforth-6.5/avr8/lib/hardware/spi.frt deleted file mode 100644 index 49dbd19..0000000 --- a/amforth-6.5/avr8/lib/hardware/spi.frt +++ /dev/null @@ -1,110 +0,0 @@ -\ SPI routines - -\ requires: 2rvalue (with further deps) -\ bitnames - -#require 2rvalue.frt -#require bitnames.frt - -\ definitions from application, matching the -\ SPI hardware pins -\ PORTB 1 portpin: spi.clk -\ PORTB 2 portpin: spi.mosi -\ PORTB 3 portpin: spi.miso - -\ usage - -\ specific slave select pin -\ PORTX PINY portpin: appl.ss_line -\ appl.ss_line to spi.ss - -0. 2rvalue spi.ss - -\ update spi.ss to the actual setup -\ +spi -- turn on SPI module, sets up the pins as well -\ spi.modeX spi.setmode -- switch clock polarity/clock phase -\ spi.f/X spi.setspeed -- select spi clock rate relative to f_cpu -\ +spi.2x -- double speed -\ -spi.2x -- normal speed -\ -spi -- turn off SPI -\ - -\ following definitions are the same for all atmegas - -SPSR 0 portpin: spi.2x - -SPCR 6 portpin: spi.enable -SPCR 5 portpin: spi.dord -SPCR 4 portpin: spi.master -SPCR %00001100 bitmask: spi.mode -SPCR %00000011 bitmask: spi.speed - -$0 constant spi.mode0 \ sample rising/-- -$4 constant spi.mode1 \ --/sample falling -$8 constant spi.mode2 \ sample falling/-- -$c constant spi.mode3 \ --/sample rising - -0 constant spi.f/4 -1 constant spi.f/16 -2 constant spi.f/64 -3 constant spi.f/128 - -: +spi - \ Slave select *must* be *always* at a controlled level when SPI is activated. - \ Changing a pin into output mode change its level to low. that makes a SPI think - \ a communication has started which is not the case when this word is called. - spi.ss high \ deselect slave - spi.ss pin_output \ possibly short low pulse - spi.ss high \ - - \ now its save to turn on the SPI module - spi.master high - spi.enable high - - \ since spi.ss is HIGH, nobody will be confused - spi.clk pin_output - spi.mosi pin_output - \ miso is controlled by SPI module internally -; - -: -spi 0 SPCR c! ; - -\ check SPI device datasheet for mode settings -: spi.setmode ( spi-mode -- ) - spi.mode pin! -; - -\ speed relative to f_cpu, constants see above -: spi.setspeed ( spi.speed -- ) - spi.speed pin! -; - -\ double speed mode -: +spi2x - spi.2x high -; - - -: -spi2x - spi.2x low -; - -\ send a byte, ignore recieved byte -: c!spi ( c -- ) - c!@spi drop -; - - \ receive a byte, send a dummy one -: c@spi ( -- c) - 0 c!@spi -; - -\ send a cell, check data order for MSB/LSB -\ untested so far -: !@spi - dup >< ( -- low high ) - spi.dord is_high? if swap then \ LSB first - c!@spi swap c!@spi - spi.dord is_low? if swap then \ MSB was first - >< or \ upper nibble is set to 0 automatically -; diff --git a/amforth-6.5/avr8/lib/hardware/timer0.frt b/amforth-6.5/avr8/lib/hardware/timer0.frt deleted file mode 100644 index 29670e6..0000000 --- a/amforth-6.5/avr8/lib/hardware/timer0.frt +++ /dev/null @@ -1,43 +0,0 @@ -\ TIMER_0 example -\ -\ requires -\ in application master file -\ .set WANT_TIMER_COUNTER_0 = 1 -\ from device.frt -\ TIMER0_OVFAddr -\ provides -\ timer0.tick -- increasing ticker -\ -\ older mcu's may need -TCCR0 constant TCCR0B -TIMSK constant TIMSK0 - -variable timer0.tick - -: timer0.isr - 1 timer0.tick +! -; - -\ preload for overflow interrupt every 1ms -\ preload = 256 - (f_cpu / (prescaler * 1000)) - -: timer0.preload - f_cpu #1000 um/mod nip 64 / 256 - negate -; - -: timer0.init ( -- ) - timer0.preload TCNT0 c! - 0 timer0.tick ! - ['] timer0.isr TIMER0_OVFAddr int! -; - -: timer0.start - timer0.init - %00000011 TCCR0B c! \ prescaler 64 - %00000001 TIMSK0 c! \ enable overflow interrupt -; - -: timer0.stop - %00000000 TCCR0B c! \ stop timer - %00000000 TIMSK0 c! \ stop interrupt -; diff --git a/amforth-6.5/avr8/lib/hardware/timer1.frt b/amforth-6.5/avr8/lib/hardware/timer1.frt deleted file mode 100644 index 7ab9061..0000000 --- a/amforth-6.5/avr8/lib/hardware/timer1.frt +++ /dev/null @@ -1,44 +0,0 @@ -\ TIMER_1 example -\ -\ requires -\ in application master file -\ .set WANT_TIMER_COUNTER_1 = 1 -\ from device.frt -\ TIMER1_OVFAddr -\ provides -\ timer1.tick -- increasing ticker -\ -\ older mcu's may need -\ TCCR1 constant TCCR1B -\ TIMSK constant TIMSK1 - -variable timer1.tick - -: timer1.isr - 1 timer1.tick +! -; - -\ preload for overflow interrupt every 1 ms -\ preload = 65536 - (f_cpu / (prescaler * 1000)) - -: timer1.preload - f_cpu #1000 um/mod nip 8 / negate -; - -: timer1.init ( -- ) - timer1.preload TCNT1 ! - 0 timer1.tick ! - ['] timer1.isr TIMER1_OVFAddr int! -; - -: timer1.start - timer1.init - 0 timer1.tick ! - %00000010 TCCR1B c! \ prescaler 8 - %00000001 TIMSK1 c! \ enable overflow interrupt -; - -: timer1.stop - %00000000 TCCR1B c! \ stop timer - %00000000 TIMSK1 c! \ stop interrupt -; diff --git a/amforth-6.5/avr8/lib/hardware/timer2.frt b/amforth-6.5/avr8/lib/hardware/timer2.frt deleted file mode 100644 index ed0472f..0000000 --- a/amforth-6.5/avr8/lib/hardware/timer2.frt +++ /dev/null @@ -1,42 +0,0 @@ -\ TIMER_2 example -\ uses an external 32kHz clock quartz -\ 32kHz / 256 => 128 ticks per second -\ 7.8125 ms per tick (gets approximated) -\ --> less accurate than the other timers, but... -\ -\ 16 ticks are 125ms -\ 125 = 15*8+5: 15x 8-tock and a short step -\ or 125 = 15*7+20:15x 7-tock and a huge step -\ -> we choose the 1st variant -\ provides -\ timer2.tick -- increasing ticker -\ - -variable timer2.tick -variable timer2.tock \ used internally - -: timer2.isr ( -- ) - timer2.tock @ 1+ 15 = if - 0 timer2.tock ! - 5 timer2.tick +! - else - 8 timer2.tick +! - 1 timer2.tock +! - then -; - -: timer2.init ( -- ) - 1 TCCR2 c! - 8 ASSR c! - ['] timer2.isr TIMER2_OVFAddr int! -; - -: timer2.start - 0 timer2.tick ! - 0 timer2.tock ! - TIMSK c@ $40 or TIMSK c! ( enable timer2 interupt ) -; - -: timer2.stop - TIMSK c@ [ $40 invert ] literal and TIMSK c! \ stop timer2 interrupt -; diff --git a/amforth-6.5/avr8/lib/imove.frt b/amforth-6.5/avr8/lib/imove.frt deleted file mode 100644 index bf33697..0000000 --- a/amforth-6.5/avr8/lib/imove.frt +++ /dev/null @@ -1,12 +0,0 @@ -\ copy a string from flash to RAM -\ -\ i->d on the msp430, and the same stack as cmove -\ -: imove ( i-addr len ram -- ) - rot rot dup 1 and >r \ ( ram i-addr len ) ( r: odd ) - 2/ over + dup >r \ ( ram i-addr i-addr' ) ( r: odd i-addr' ) - swap \ ( ram i-addr' i-addr ) - ?do i @i over ! cell+ loop \ ( ram' ) - r> r> \ ( ram' i-addr' odd ) - if @i swap c! else 2drop then -; diff --git a/amforth-6.5/avr8/lib/portio.frt b/amforth-6.5/avr8/lib/portio.frt deleted file mode 100644 index 4d40c46..0000000 --- a/amforth-6.5/avr8/lib/portio.frt +++ /dev/null @@ -1,46 +0,0 @@ -\ Only for PORTx bits, -\ because address of DDRx is one less than address of PORTx. - -\ Set DDRx so its corresponding pin is output. -: pin_output ( pinmask portadr -- ) - 1- bm:high -; - -\ Set DDRx so its corresponding pin is input. -: pin_input ( pinmask portadr -- ) - 1- bm:low -; - -\ PINx is two less of PORTx -: pin_high? ( pinmask portaddr -- f) - 1- 1- c@ and -; - -: pin_low? ( pinmask portaddr -- f) - 1- 1- c@ invert and -; - -\ read the pins masked as input -: pin@ ( pinmask portaddr -- c ) - 1- 1- c@ and -; - -\ toggle the pin -: toggle ( pinmask portaddr -- ) - 2dup bm:high? if - bm:low - else - bm:high - then -; - -\ disable the pull up resistor -: pin_pullup_off ( pinmask portaddr -- ) - 2dup pin_input low -; - - -\ enable the pull up resistor -: pin_pullup_on ( pinmask portaddr -- ) - 2dup pin_input high -; diff --git a/amforth-6.5/avr8/lib/ram.frt b/amforth-6.5/avr8/lib/ram.frt deleted file mode 100644 index fb37ab7..0000000 --- a/amforth-6.5/avr8/lib/ram.frt +++ /dev/null @@ -1,225 +0,0 @@ -\ RAM - 512kB sram memory, Lubos Pekny, www.forth.cz -\ Library for amforth 3.0, mFC modification -\ ram_init, ram_addr, ram_addr+, ram_read, ram_write, ram_off -\ ram_c@, ram_c!, ram_c@+, ram_c!+ - -\ V.1.1, 28.07.2009, asm optimalization, amforth30mFC12.zip -\ V.1.0, 20.03.2009, tested on atmega32, amforth30mFC11.zip -\ - used bitnames.frt -\ - used PA0-7, PB0-2, PC2-7 - -hex - -forth - definitions \ into vocabulary - -3B constant PORTA \ ATmega32 -\ 38 constant PORTB -\ 35 constant PORTC - - -forth - definitions \ into vocabulary - - -PORTC 02 portpin: ram_WRL \ PC.2 set low 8b addr -PORTC 03 portpin: ram_WRH \ PC.3 set high 8b addr -PORTC 04 portpin: ram_INC \ PC.4 increment addr -PORTC 05 portpin: ram_WR \ PC.5 write to sram -PORTC 06 portpin: ram_OE \ PC.6 output enable -PORTC 07 portpin: ram_CS \ PC.7 chip select -PORTA constant ram_DATA \ PA data 8b, in/out -: ram_PAGE 07 PORTB ; \ PB.0-2 out -: ram_CTRL FC PORTC ; \ PC.2-7 out - - \ define macros -: ram_din, - assembler - R16 0 ldi, - ram_DATA 1- R16 sts, ; - -: ram_dout, - assembler - R16 FF ldi, - ram_DATA 1- R16 sts, ; - - - \ data port direction - input -code ram_din ( -- ) - ram_din, -end-code - - - \ data port direction - output -code ram_dout ( -- ) - ram_dout, -end-code - - - \ set I/O -: ram_init ( -- ) - - -jtag \ port C i/o - ram_din \ port in - ram_PAGE pin_output \ out - ram_CTRL pin_output \ out - ram_PAGE high \ last page - ram_CTRL high ; \ sram disabled - - - \ set low 8b addr -code ram_addrl ( c -- ) - ram_DATA TOSL sts, \ data - loadtos, \ delete c - - ram_WRL low, - ram_WRL high, \ set counter -end-code - - - \ set high 8b addr -code ram_addrh ( c -- ) - ram_DATA TOSL sts, \ data - loadtos, \ delete c - - ram_WRH low, - ram_WRH high, \ set counter -end-code - - - \ set addr, sram off, port input -: ram_addr ( addr page -- ) - - ram_CS high \ sram disabled - ram_PAGE pin! \ set page - ram_dout \ port out - dup ram_addrl \ addr low - >< ram_addrh \ addr high - ram_din ; \ port in - - - \ increment addr -code ram_addr+ ( -- ) - - ram_INC low, - ram_INC high, \ increment addr -end-code - - - \ set pins for read from sram -code ram_read ( -- ) - - ram_din, \ port in - ram_OE low, - ram_CS low, \ out and chip enabled -end-code - - - \ set pins for write to sram -code ram_write ( -- ) - - ram_OE high, - ram_CS low, \ chip enabled - ram_dout, \ port out -end-code - - - \ set pins for disable sram -code ram_off ( -- ) - - ram_CS high, - ram_OE high, \ sram disabled - ram_din, \ port in -end-code - - - \ write pulse -code ram_clk ( -- ) - - ram_WR low, - ram_WR high, \ write to sram -end-code - - - \ read from sram -: ram_c@ ( -- c ) - ram_read \ sram enabled, out - [ ram_DATA 1- 1- ] \ convert to literal - literal c@ \ read byte from sram - ram_off ; - - - \ write to sram -: ram_c! ( c -- ) - ram_write \ sram enabled, in - ram_DATA c! \ write byte to sram - ram_clk \ write pulse - ram_off ; - - - \ read from sram, increment addr, page 64kB - \ use ram_read ram_c@+ .... ram_off -code ram_c@+ ( -- c ) - \ ram_DATA 1- 1- c@ - savetos, \ add item - TOSL ram_DATA 1- 1- lds, \ port -> tosl - TOSH 0 ldi, \ 0 -> tosh - - \ ram_addr+ - ram_INC ma2pbi \ mask addr -- port bit - over over \ 2dup - assembler - cbi, nop, sbi, \ pulse INC -end-code - - - \ write to sram, increment addr, page 64kB - \ use ram_write ram_c!+ .... ram_off -code ram_c!+ ( c -- ) - \ ram_DATA c! - ram_DATA TOSL sts, \ c!, tosl -> port - loadtos, \ delete item - - \ ram_clk - ram_WR ma2pbi \ mask addr -- port bit - over over \ 2dup - assembler - cbi, nop, sbi, \ pulse WR - - \ ram_addr+ - ram_INC ma2pbi \ mask addr -- port bit - over over \ 2dup - assembler - cbi, nop, sbi, \ pulse INC -end-code - - -\ sptx Stop transmit - -\ ----- Test ----- -forth - -ram_init -13 3 0 ram_addr ram_c! \ 13 write at addr 0003, page 0 -14 4 0 ram_addr ram_c! \ 14 write at addr 0004, page 0 - -0 0 ram_addr \ set addr to 0:0000 -ram_write \ mode write -31 ram_c!+ -32 ram_c!+ -33 ram_c!+ \ write 31,32,33 from addr 0:0000 - -0 0 ram_addr \ set addr to 0:0000 -ram_read \ mode read -ram_c@+ . -ram_c@+ . -ram_c@+ . \ read 31,32,33 from addr 0:0000 -ram_c@+ . -ram_c@+ . \ read 13,14 -ram_off - -4 0 ram_addr ram_c@ . \ read 14 at addr 0:0004 -2 0 ram_addr ram_c@ . \ read 33 at addr 0:0002 -3 0 ram_addr ram_c@ . \ read 13 at addr 0:0003 - -\ end of file diff --git a/amforth-6.5/avr8/lib/recognizer-arch.frt b/amforth-6.5/avr8/lib/recognizer-arch.frt deleted file mode 100644 index 9f8cb52..0000000 --- a/amforth-6.5/avr8/lib/recognizer-arch.frt +++ /dev/null @@ -1,8 +0,0 @@ -\ platform specific core - -\ #require eallot.frt - -: recognizer ( size -- stack-id ) - \ allocate size + 1 cells in config space (eeprom, info flash) - 1+ cells ehere swap eallot dup 0 !e -; diff --git a/amforth-6.5/avr8/lib/run-hayes.frt b/amforth-6.5/avr8/lib/run-hayes.frt deleted file mode 100644 index 20442a5..0000000 --- a/amforth-6.5/avr8/lib/run-hayes.frt +++ /dev/null @@ -1,28 +0,0 @@ -\ -\ process this file with amforth-upload.py and -\ the proper setting of $AMFORTH_LIB (basedir of -\ you amforth file tree) -\ WIN (untested, DOS Box) -\ cd c:\amforth-x.y -\ set AMFORTH_LIB=c:\amforth-x.y -\ python tools\amforth-upload.py -t com1: examples\run-hayes.frt -\ UNIX / MAC (Terminal) -\ cd $HOME/amforth-x.y -\ export AMFORTH_LIB=$HOME/amforth-x.y -\ tools/amforth-upload.py -t /dev/ttyUSB0 examples/run-hayes.frt -\ enjoy! -\ -\ it is meant to be run on a newly flashed -\ controller, e.g. all the dict_* are included -\ - -#require is.frt - -\ include all sources -#include core.frt -#include double.frt -#include marker.frt -#include tester-amforth.frt -\ and finally run all the tests - -#include core.fr diff --git a/amforth-6.5/avr8/macros.asm b/amforth-6.5/avr8/macros.asm deleted file mode 100644 index 6ee20a5..0000000 --- a/amforth-6.5/avr8/macros.asm +++ /dev/null @@ -1,158 +0,0 @@ -; conditional assembly needs preparation -.set DICT_COMPILER2 = 0 ; -.set cpu_msp430 = 0 -.set cpu_avr8 = 1 - -.include "user.inc" - - .def zerol = r2 - .def zeroh = r3 - .def upl = r4 - .def uph = r5 - - .def al = r6 - .def ah = r7 - .def bl = r8 - .def bh = r9 - -; internal - .def mcu_boot = r10 - .def isrflag = r11 - - .def temp4 = r14 - .def temp5 = r15 - - .def temp0 = r16 - .def temp1 = r17 - .def temp2 = r18 - .def temp3 = r19 - - .def temp6 = r20 - .def temp7 = r21 - - .def tosl = r24 - .def tosh = r25 - - .def wl = r22 - .def wh = r23 - -.macro loadtos - ld tosl, Y+ - ld tosh, Y+ -.endmacro - -.macro savetos - st -Y, tosh - st -Y, tosl -.endmacro - -.macro in_ -.if (@1 < $40) - in @0,@1 -.else - lds @0,@1 -.endif -.endmacro - -.macro out_ -.if (@0 < $40) - out @0,@1 -.else - sts @0,@1 -.endif -.endmacro - -.macro sbi_ -.if (@0 < $40) - sbi @0,@1 -.else - in_ @2,@0 - ori @2,exp2(@1) - out_ @0,@2 -.endif -.endmacro - -.macro cbi_ -.if (@0 < $40) - cbi @0,@1 -.else - in_ @2,@0 - andi @2,~(exp2(@1)) - out_ @0,@2 -.endif -.endmacro - -.macro jmp_ - ; a more flexible macro - .ifdef @0 - .if (@0-pc > 2040) || (pc-@0>2040) - jmp @0 - .else - rjmp @0 - .endif - .else - jmp @0 - .endif -.endmacro -.macro call_ - ; a more flexible macro - .ifdef @0 - .if (@0-pc > 2040) || (pc-@0>2040) - call @0 - .else - rcall @0 - .endif - .else - call @0 - .endif -.endmacro - -; F_CPU -; µsec 16000000 14745600 8000000 1000000 -; 1 16 14,74 8 1 -; 10 160 147,45 80 10 -; 100 1600 1474,56 800 100 -; 1000 16000 14745,6 8000 1000 -; -; cycles = µsec * f_cpu / 1e6 -; n_loops=cycles/5 -; -; cycles already used will be subtracted from the delay -; the waittime resolution is 1 cycle (delay from exact to +1 cycle) -; the maximum delay at 20MHz (50ns/clock) is 38350ns -; waitcount register must specify an immediate register -; -; busy waits a specfied amount of microseconds -.macro delay - .set cycles = ( ( @0 * F_CPU ) / 1000000 ) - .if (cycles > ( 256 * 255 * 4 + 2)) - .error "MACRO delay - too many cycles to burn" - .else - .if (cycles > 6) - .set loop_cycles = (cycles / 4) - ldi zl,low(loop_cycles) - ldi zh,high(loop_cycles) - sbiw Z, 1 - brne pc-1 - .set cycles = (cycles - (loop_cycles * 4)) - .endif - .if (cycles > 0) - .if (cycles & 4) - rjmp pc+1 - rjmp pc+1 - .endif - .if (cycles & 2) - rjmp pc+1 - .endif - .if (cycles & 1) - nop - .endif - .endif - .endif -.endmacro - -; portability macros, they come from the msp430 branches - -.macro DEST - .dw @0 -.endm diff --git a/amforth-6.5/avr8/preamble.inc b/amforth-6.5/avr8/preamble.inc deleted file mode 100644 index 8f141dc..0000000 --- a/amforth-6.5/avr8/preamble.inc +++ /dev/null @@ -1,50 +0,0 @@ -; generic macros and register definitions -.include "macros.asm" - -; controller specific file selected via include -; directory definition when calling the assembler (-I) -.include "device.asm" - -; some defaults, change them in your application master file -; see template.asm for an example - -; enabling Interrupts, disabling them affects -; other settings as well. -.set WANT_INTERRUPTS = 1 - -; count the number of interrupts individually. -; requires a lot of RAM (one byte per interrupt) -; disabled by default. -.set WANT_INTERRUPT_COUNTERS = 0 - -; receiving is asynchronously, so an interrupt queue is useful. -.set WANT_ISR_RX = 1 - -; case insensitve dictionary lookup. -.set WANT_IGNORECASE = 0 - -; map all memories to one address space. Details in the -; technical guide -.set WANT_UNIFIED = 0 - -; terminal input buffer -.set TIB_SIZE = 90 ; ANS94 needs at least 80 characters per line - -; USER variables *in addition* to system ones -.set APPUSERSIZE = 10 ; size of application specific user area in bytes - -; addresses of various data segments -.set rstackstart = RAMEND ; start address of return stack, grows downward -.set stackstart = RAMEND - 80 ; start address of data stack, grows downward -; change only if you know what to you do -.set NUMWORDLISTS = 8 ; number of word lists in the searh order, at least 8 -.set NUMRECOGNIZERS = 4 ; total number of recognizers, two are always used. - -; 10 per mille (1 per cent) is ok. -.set BAUD = 38400 -.set BAUD_MAXERROR = 10 - -; Dictionary setup -.set VE_HEAD = $0000 -.set VE_ENVHEAD = $0000 -.set AMFORTH_RO_SEG = NRWW_START_ADDR \ No newline at end of file diff --git a/amforth-6.5/avr8/tools/99-avr.rules b/amforth-6.5/avr8/tools/99-avr.rules deleted file mode 100644 index 4dc9da4..0000000 --- a/amforth-6.5/avr8/tools/99-avr.rules +++ /dev/null @@ -1,10 +0,0 @@ - -# Atmel Corp.JTAG ICE mkII -ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2103", MODE="660", GROUP="plugdev" - -# Atmel Corp. AVRISP mkII -ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2104", MODE="660", GROUP="plugdev" - -# Atmel Corp. Dragon -ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2107", MODE="660", GROUP="plugdev" - diff --git a/amforth-6.5/avr8/user.inc b/amforth-6.5/avr8/user.inc deleted file mode 100644 index ff7bbcd..0000000 --- a/amforth-6.5/avr8/user.inc +++ /dev/null @@ -1,34 +0,0 @@ -; Layout of the user area -; - -; used by the multitasker -.set USER_STATE = 0 -.set USER_FOLLOWER = 2 - -; stackpointer, used by mulitasker -.set USER_RP = 4 -.set USER_SP0 = 6 -.set USER_SP = 8 - -; excpection handling -.set USER_HANDLER = 10 - -; numeric IO -.set USER_BASE = 12 - -; character IO -.set USER_EMIT = 14 -.set USER_EMITQ = 16 -.set USER_KEY = 18 -.set USER_KEYQ = 20 - -.set USER_SOURCE = 22 -.set USER_TO_IN = 24 -.set USER_REFILL = 26 - -.set USER_P_OK = 28 -.set USER_P_ERR = 30 -.set USER_P_RDY = 32 - -.set SYSUSERSIZE = 34 -; diff --git a/amforth-6.5/avr8/words/1minus.asm b/amforth-6.5/avr8/words/1minus.asm deleted file mode 100644 index ca70fed..0000000 --- a/amforth-6.5/avr8/words/1minus.asm +++ /dev/null @@ -1,13 +0,0 @@ -; (S: n1 -- n2 ) -; Arithmetics -; optimized decrement -VE_1MINUS: - .dw $ff02 - .db "1-" - .dw VE_HEAD - .set VE_HEAD = VE_1MINUS -XT_1MINUS: - .dw PFA_1MINUS -PFA_1MINUS: - sbiw tosl, 1 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/1ms.asm b/amforth-6.5/avr8/words/1ms.asm deleted file mode 100644 index f23951d..0000000 --- a/amforth-6.5/avr8/words/1ms.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( -- ) -; Time -; busy waits (almost) exactly 1 millisecond -VE_1MS: - .dw $ff03 - .db "1ms",0 - .dw VE_HEAD - .set VE_HEAD = VE_1MS -XT_1MS: - .dw PFA_1MS -PFA_1MS: - delay 1000 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/1plus.asm b/amforth-6.5/avr8/words/1plus.asm deleted file mode 100644 index ffaaec2..0000000 --- a/amforth-6.5/avr8/words/1plus.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( n1|u1 -- n2|u2 ) -; Arithmetics -; optimized increment -VE_1PLUS: - .dw $ff02 - .db "1+" - .dw VE_HEAD - .set VE_HEAD = VE_1PLUS -XT_1PLUS: - .dw PFA_1PLUS -PFA_1PLUS: - adiw tosl,1 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/2r_fetch.asm b/amforth-6.5/avr8/words/2r_fetch.asm deleted file mode 100644 index 8d0060b..0000000 --- a/amforth-6.5/avr8/words/2r_fetch.asm +++ /dev/null @@ -1,23 +0,0 @@ -; ( -- d) (R: d -- d ) -; Stack -; fetch content of TOR -VE_2R_FETCH: - .dw $ff03 - .db "2r@",0 - .dw VE_HEAD - .set VE_HEAD = VE_2R_FETCH -XT_2R_FETCH: - .dw PFA_2R_FETCH -PFA_2R_FETCH: - savetos - pop zl - pop zh - pop tosl - pop tosh - push tosh - push tosl - push zh - push zl - savetos - movw tosl, zl - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/2r_from.asm b/amforth-6.5/avr8/words/2r_from.asm deleted file mode 100644 index ffb5a34..0000000 --- a/amforth-6.5/avr8/words/2r_from.asm +++ /dev/null @@ -1,19 +0,0 @@ -; ( -- x1 x2 ) (R: x1 x2 --) -; Stack -; move DTOR to TOS -VE_2R_FROM: - .dw $ff03 - .db "2r>",0 - .dw VE_HEAD - .set VE_HEAD = VE_2R_FROM -XT_2R_FROM: - .dw PFA_2R_FROM -PFA_2R_FROM: - savetos - pop zl - pop zh - pop tosl - pop tosh - savetos - movw tosl, zl - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/2slash.asm b/amforth-6.5/avr8/words/2slash.asm deleted file mode 100644 index 5d4ada2..0000000 --- a/amforth-6.5/avr8/words/2slash.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( n1 -- n2 ) -; Arithmetics -; arithmetic shift right -VE_2SLASH: - .dw $ff02 - .db "2/" - .dw VE_HEAD - .set VE_HEAD = VE_2SLASH -XT_2SLASH: - .dw PFA_2SLASH -PFA_2SLASH: - asr tosh - ror tosl - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/2spirw.asm b/amforth-6.5/avr8/words/2spirw.asm deleted file mode 100644 index a7064da..0000000 --- a/amforth-6.5/avr8/words/2spirw.asm +++ /dev/null @@ -1,19 +0,0 @@ -; ( n1 -- n2 ) -; MCU -; SPI exchange of 2 bytes, high byte first -VE_2SPIRW: - .dw $ff05 - .db "!@spi",0 - .dw VE_HEAD - .set VE_HEAD = VE_2SPIRW -XT_2SPIRW: - .dw PFA_2SPIRW -PFA_2SPIRW: - push tosl - mov tosl, tosh - call_ do_spirw - mov tosh, tosl - pop tosl - call_ do_spirw - jmp_ DO_NEXT - diff --git a/amforth-6.5/avr8/words/2star.asm b/amforth-6.5/avr8/words/2star.asm deleted file mode 100644 index ef307e3..0000000 --- a/amforth-6.5/avr8/words/2star.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( n1 -- n2 ) -; Arithmetics -; arithmetic shift left, filling with zero -VE_2STAR: - .dw $ff02 - .db "2*" - .dw VE_HEAD - .set VE_HEAD = VE_2STAR -XT_2STAR: - .dw PFA_2STAR -PFA_2STAR: - lsl tosl - rol tosh - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/2to_r.asm b/amforth-6.5/avr8/words/2to_r.asm deleted file mode 100644 index 0e70f18..0000000 --- a/amforth-6.5/avr8/words/2to_r.asm +++ /dev/null @@ -1,19 +0,0 @@ -; ( x1 x2 -- ) (R: -- x1 x2) -; Stack -; move DTOS to TOR -VE_2TO_R: - .dw $ff03 - .db "2>r",0 - .dw VE_HEAD - .set VE_HEAD = VE_2TO_R -XT_2TO_R: - .dw PFA_2TO_R -PFA_2TO_R: - movw zl, tosl - loadtos - push tosh - push tosl - push zh - push zl - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/allot.asm b/amforth-6.5/avr8/words/allot.asm deleted file mode 100644 index 0356fa4..0000000 --- a/amforth-6.5/avr8/words/allot.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( n -- ) -; System -; allocate or release memory in RAM -VE_ALLOT: - .dw $ff05 - .db "allot",0 - .dw VE_HEAD - .set VE_HEAD = VE_ALLOT -XT_ALLOT: - .dw DO_COLON -PFA_ALLOT: - .dw XT_HERE - .dw XT_PLUS - .dw XT_DOTO - .dw PFA_HERE - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/and.asm b/amforth-6.5/avr8/words/and.asm deleted file mode 100644 index ed31668..0000000 --- a/amforth-6.5/avr8/words/and.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( n1 n2 -- n3 ) -; Logic -; bitwise and -VE_AND: - .dw $ff03 - .db "and",0 - .dw VE_HEAD - .set VE_HEAD = VE_AND -XT_AND: - .dw PFA_AND -PFA_AND: - ld temp0, Y+ - ld temp1, Y+ - and tosl, temp0 - and tosh, temp1 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/bm-clear.asm b/amforth-6.5/avr8/words/bm-clear.asm deleted file mode 100644 index 6c47517..0000000 --- a/amforth-6.5/avr8/words/bm-clear.asm +++ /dev/null @@ -1,19 +0,0 @@ -; ( bitmask byte-addr -- ) -; MCU -; clear bits set in bitmask on byte at addr -VE_BM_CLEAR: - .dw $ff08 - .db "bm-clear" - .dw VE_HEAD - .set VE_HEAD = VE_BM_CLEAR -XT_BM_CLEAR: - .dw PFA_BM_CLEAR -PFA_BM_CLEAR: - movw zl, tosl - loadtos - com tosl - ld temp0, Z - and temp0, tosl - st Z, temp0 - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/bm-set.asm b/amforth-6.5/avr8/words/bm-set.asm deleted file mode 100644 index 1ba5faa..0000000 --- a/amforth-6.5/avr8/words/bm-set.asm +++ /dev/null @@ -1,18 +0,0 @@ -; ( bitmask byte-addr -- ) -; MCU -; set bits from bitmask on byte at addr -VE_BM_SET: - .dw $ff06 - .db "bm-set" - .dw VE_HEAD - .set VE_HEAD = VE_BM_SET -XT_BM_SET: - .dw PFA_BM_SET -PFA_BM_SET: - movw zl, tosl - loadtos - ld temp0, Z - or temp0, tosl - st Z, temp0 - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/bm-toggle.asm b/amforth-6.5/avr8/words/bm-toggle.asm deleted file mode 100644 index fbbdc21..0000000 --- a/amforth-6.5/avr8/words/bm-toggle.asm +++ /dev/null @@ -1,18 +0,0 @@ -; ( bitmask byte-addr -- ) -; MCU -; toggle bits set in bitmask on byte at addr -VE_BM_TOGGLE: - .dw $ff09 - .db "bm-toggle",0 - .dw VE_HEAD - .set VE_HEAD = VE_BM_TOGGLE -XT_BM_TOGGLE: - .dw PFA_BM_TOGGLE -PFA_BM_TOGGLE: - movw zl, tosl - loadtos - ld temp0, Z - eor temp0, tosl - st Z, temp0 - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/byteswap.asm b/amforth-6.5/avr8/words/byteswap.asm deleted file mode 100644 index b49cd2f..0000000 --- a/amforth-6.5/avr8/words/byteswap.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( n1 -- n2 ) -; Arithmetics -; exchange the bytes of the TOS -VE_BYTESWAP: - .dw $ff02 - .db "><" - .dw VE_HEAD - .set VE_HEAD = VE_BYTESWAP -XT_BYTESWAP: - .dw PFA_BYTESWAP -PFA_BYTESWAP: - mov temp0, tosh - mov tosh, tosl - mov tosl, temp0 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/cas.asm b/amforth-6.5/avr8/words/cas.asm deleted file mode 100644 index f59ae26..0000000 --- a/amforth-6.5/avr8/words/cas.asm +++ /dev/null @@ -1,28 +0,0 @@ -; ( new old addr -- f ) -; Multitasking -; Atomic Compare and Swap: store new at addr and set f to true if contents of addr is equal to old. -VE_CAS: - .dw $ff03 - .db "cas",0 - .dw VE_HEAD - .set VE_HEAD = VE_CAS -XT_CAS: - .dw PFA_CAS -PFA_CAS: - movw zl, tosl - loadtos - ldd temp0, Z+0 - ldd temp1, Z+1 - cp tosl, temp0 - cpc tosh, temp1 - loadtos - brne PFA_CAS1 - std Z+0, tosl - std Z+1, tosh - ser tosl - rjmp PFA_CAS2 -PFA_CAS1: - clr tosl -PFA_CAS2: - mov tosh, tosl - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/cellplus.asm b/amforth-6.5/avr8/words/cellplus.asm deleted file mode 100644 index e75de15..0000000 --- a/amforth-6.5/avr8/words/cellplus.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( a-addr1 -- a-addr2 ) -; Arithmetics -; add the size of an address-unit to a-addr1 -VE_CELLPLUS: - .dw $ff05 - .db "cell+",0 - .dw VE_HEAD - .set VE_HEAD = VE_CELLPLUS -XT_CELLPLUS: - .dw PFA_CELLPLUS -PFA_CELLPLUS: - adiw tosl, CELLSIZE - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/cells.asm b/amforth-6.5/avr8/words/cells.asm deleted file mode 100644 index 2876c2d..0000000 --- a/amforth-6.5/avr8/words/cells.asm +++ /dev/null @@ -1,10 +0,0 @@ -; ( n1 -- n2 ) -; Arithmetics -; n2 is the size in address units of n1 cells -VE_CELLS: - .dw $ff05 - .db "cells",0 - .dw VE_HEAD - .set VE_HEAD = VE_CELLS -XT_CELLS: - .dw PFA_2STAR diff --git a/amforth-6.5/avr8/words/cfetch.asm b/amforth-6.5/avr8/words/cfetch.asm deleted file mode 100644 index 97ff7dc..0000000 --- a/amforth-6.5/avr8/words/cfetch.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( a-addr - c1 ) -; Memory -; fetch a single byte from memory mapped locations -VE_CFETCH: - .dw $ff02 - .db "c@" - .dw VE_HEAD - .set VE_HEAD = VE_CFETCH -XT_CFETCH: - .dw PFA_CFETCH -PFA_CFETCH: - movw zl, tosl - clr tosh - ld tosl, Z - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/cmove.asm b/amforth-6.5/avr8/words/cmove.asm deleted file mode 100644 index f7a1134..0000000 --- a/amforth-6.5/avr8/words/cmove.asm +++ /dev/null @@ -1,30 +0,0 @@ -; (addr-from addr-to n -- ) -; Memory -; copy data in RAM, from lower to higher addresses -VE_CMOVE: - .dw $ff05 - .db "cmove",0 - .dw VE_HEAD - .set VE_HEAD = VE_CMOVE -XT_CMOVE: - .dw PFA_CMOVE -PFA_CMOVE: - push xh - push xl - ld zl, Y+ - ld zh, Y+ ; addr-to - ld xl, Y+ - ld xh, Y+ ; addr-from - mov temp0, tosh - or temp0, tosl - brbs 1, PFA_CMOVE1 -PFA_CMOVE2: - ld temp1, X+ - st Z+, temp1 - sbiw tosl, 1 - brbc 1, PFA_CMOVE2 -PFA_CMOVE1: - pop xl - pop xh - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/cmove_g.asm b/amforth-6.5/avr8/words/cmove_g.asm deleted file mode 100644 index 3bcbb4e..0000000 --- a/amforth-6.5/avr8/words/cmove_g.asm +++ /dev/null @@ -1,34 +0,0 @@ -; (addr-from addr-to n -- ) -; Memory -; copy data in RAM from higher to lower addresses. -VE_CMOVE_G: - .dw $ff06 - .db "cmove>" - .dw VE_HEAD - .set VE_HEAD = VE_CMOVE_G -XT_CMOVE_G: - .dw PFA_CMOVE_G -PFA_CMOVE_G: - push xh - push xl - ld zl, Y+ - ld zh, Y+ ; addr-to - ld xl, Y+ - ld xh, Y+ ; addr-from - mov temp0, tosh - or temp0, tosl - brbs 1, PFA_CMOVE_G1 - add zl, tosl - adc zh, tosh - add xl, tosl - adc xh, tosh -PFA_CMOVE_G2: - ld temp1, -X - st -Z, temp1 - sbiw tosl, 1 - brbc 1, PFA_CMOVE_G2 -PFA_CMOVE_G1: - pop xl - pop xh - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/code.asm b/amforth-6.5/avr8/words/code.asm deleted file mode 100644 index ecbb6d5..0000000 --- a/amforth-6.5/avr8/words/code.asm +++ /dev/null @@ -1,17 +0,0 @@ -; ( -- ) (C: cchar -- ) -; Compiler -; create named entry in the dictionary, XT is the data field -VE_CODE: - .dw $ff04 - .db "code" - .dw VE_HEAD - .set VE_HEAD = VE_CODE -XT_CODE: - .dw DO_COLON -PFA_CODE: - .dw XT_DOCREATE - .dw XT_REVEAL - .dw XT_DP - .dw XT_ICELLPLUS - .dw XT_COMMA - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/cold.asm b/amforth-6.5/avr8/words/cold.asm deleted file mode 100644 index 4547f55..0000000 --- a/amforth-6.5/avr8/words/cold.asm +++ /dev/null @@ -1,52 +0,0 @@ -; ( i*x -- ) (R: j*y -- ) -; System -; start up amforth. -VE_COLD: - .dw $ff04 - .db "cold" - .dw VE_HEAD - .set VE_HEAD = VE_COLD -XT_COLD: - .dw PFA_COLD -PFA_COLD: - in_ mcu_boot, MCUSR - clr zerol - clr zeroh - clr isrflag - out_ MCUSR, zerol - ; clear RAM - ldi zl, low(ramstart) - ldi zh, high(ramstart) -clearloop: - st Z+, zerol - cpi zl, low(sram_size+ramstart) - brne clearloop - cpi zh, high(sram_size+ramstart) - brne clearloop - ; init first user data area - ; allocate space for User Area -.dseg -ram_user1: .byte SYSUSERSIZE + APPUSERSIZE -.cseg - ldi zl, low(ram_user1) - ldi zh, high(ram_user1) - movw upl, zl - ; init return stack pointer - ldi temp0,low(rstackstart) - out_ SPL,temp0 - std Z+4, temp0 - ldi temp1,high(rstackstart) - out_ SPH,temp1 - std Z+5, temp1 - - ; init parameter stack pointer - ldi yl,low(stackstart) - std Z+6, yl - ldi yh,high(stackstart) - std Z+7, yh - - ; load Forth IP with starting word - ldi XL, low(PFA_WARM) - ldi XH, high(PFA_WARM) - ; its a far jump... - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/colon-noname.asm b/amforth-6.5/avr8/words/colon-noname.asm deleted file mode 100644 index 8c47fb3..0000000 --- a/amforth-6.5/avr8/words/colon-noname.asm +++ /dev/null @@ -1,21 +0,0 @@ -; ( -- xt ) -; Compiler -; create an unnamed entry in the dictionary, XT is DO_COLON -VE_COLONNONAME: - .dw $ff07 - .db ":noname",0 - .dw VE_HEAD - .set VE_HEAD = VE_COLONNONAME -XT_COLONNONAME: - .dw DO_COLON -PFA_COLONNONAME: - .dw XT_DP - .dw XT_DUP - .dw XT_LATEST - .dw XT_STORE - - .dw XT_COMPILE - .dw DO_COLON - - .dw XT_RBRACKET - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/comma.asm b/amforth-6.5/avr8/words/comma.asm deleted file mode 100644 index a9a903b..0000000 --- a/amforth-6.5/avr8/words/comma.asm +++ /dev/null @@ -1,18 +0,0 @@ -; ( n -- ) -; Dictionary -; compile 16 bit into flash at DP -VE_COMMA: - .dw $ff01 - .db ',',0 ; , - .dw VE_HEAD - .set VE_HEAD = VE_COMMA -XT_COMMA: - .dw DO_COLON -PFA_COMMA: - .dw XT_DP - .dw XT_STOREI - .dw XT_DP - .dw XT_1PLUS - .dw XT_DOTO - .dw PFA_DP - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/compare.asm b/amforth-6.5/avr8/words/compare.asm deleted file mode 100644 index 0a33f47..0000000 --- a/amforth-6.5/avr8/words/compare.asm +++ /dev/null @@ -1,47 +0,0 @@ -; ( r-addr r-len f-addr f-len -- f) -; String -; compares two strings in RAM -VE_COMPARE: - .dw $ff07 - .db "compare",0 - .dw VE_HEAD - .set VE_HEAD = VE_COMPARE -XT_COMPARE: - .dw PFA_COMPARE -PFA_COMPARE: - push xh - push xl - movw temp0, tosl - loadtos - movw xl, tosl - loadtos - movw temp2, tosl - loadtos - movw zl, tosl -PFA_COMPARE_LOOP: - ld temp4, X+ - ld temp5, Z+ - cp temp4, temp5 - brne PFA_COMPARE_NOTEQUAL - dec temp0 - breq PFA_COMPARE_ENDREACHED2 - dec temp2 - brne PFA_COMPARE_LOOP - rjmp PFA_COMPARE_ENDREACHED -PFA_COMPARE_ENDREACHED2: - dec temp2 -PFA_COMPARE_ENDREACHED: - or temp0, temp2 - brne PFA_COMPARE_CHECKLASTCHAR - clr tosl - rjmp PFA_COMPARE_DONE -PFA_COMPARE_CHECKLASTCHAR: -PFA_COMPARE_NOTEQUAL: - ser tosl - rjmp PFA_COMPARE_DONE - -PFA_COMPARE_DONE: - mov tosh, tosl - pop xl - pop xh - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/const-fold-depth.asm b/amforth-6.5/avr8/words/const-fold-depth.asm deleted file mode 100644 index 40b80eb..0000000 --- a/amforth-6.5/avr8/words/const-fold-depth.asm +++ /dev/null @@ -1,18 +0,0 @@ -; ( flagset -- n ) -; Tools -; constant fold depth -VE_CONSTFOLDDEPTH: - .dw $ff0a - .db "cfolddepth" - .dw VE_HEAD - .set VE_HEAD = VE_CONSTFOLDDEPTH -XT_CONSTFOLDDEPTH: - .dw DO_COLON -PFA_CONSTFOLDDEPTH: - .dw XT_DOLITERAL - .dw $7000 - .dw XT_AND - .dw XT_DOLITERAL - .dw 12 - .dw XT_RSHIFT - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/cstore.asm b/amforth-6.5/avr8/words/cstore.asm deleted file mode 100644 index f953f8f..0000000 --- a/amforth-6.5/avr8/words/cstore.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( c a-addr -- ) -; Memory -; store a single byte to RAM address -VE_CSTORE: - .dw $ff02 - .db "c!" - .dw VE_HEAD - .set VE_HEAD = VE_CSTORE -XT_CSTORE: - .dw PFA_CSTORE -PFA_CSTORE: - movw zl, tosl - loadtos - st Z, tosl - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/d-2slash.asm b/amforth-6.5/avr8/words/d-2slash.asm deleted file mode 100644 index e9a67ea..0000000 --- a/amforth-6.5/avr8/words/d-2slash.asm +++ /dev/null @@ -1,20 +0,0 @@ -; ( d1 -- d2 ) -; Arithmetics -; shift a double cell value right -VE_D2SLASH: - .dw $ff03 - .db "d2/",0 - .dw VE_HEAD - .set VE_HEAD = VE_D2SLASH -XT_D2SLASH: - .dw PFA_D2SLASH -PFA_D2SLASH: - ld temp0, Y+ - ld temp1, Y+ - asr tosh - ror tosl - ror temp1 - ror temp0 - st -Y, temp1 - st -Y, temp0 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/d-2star.asm b/amforth-6.5/avr8/words/d-2star.asm deleted file mode 100644 index f0ca099..0000000 --- a/amforth-6.5/avr8/words/d-2star.asm +++ /dev/null @@ -1,20 +0,0 @@ -; ( d1 -- d2 ) -; Arithmetics -; shift a double cell left -VE_D2STAR: - .dw $ff03 - .db "d2*",0 - .dw VE_HEAD - .set VE_HEAD = VE_D2STAR -XT_D2STAR: - .dw PFA_D2STAR -PFA_D2STAR: - ld temp0, Y+ - ld temp1, Y+ - lsl temp0 - rol temp1 - rol tosl - rol tosh - st -Y, temp1 - st -Y, temp0 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/d-greaterzero.asm b/amforth-6.5/avr8/words/d-greaterzero.asm deleted file mode 100644 index 30fad34..0000000 --- a/amforth-6.5/avr8/words/d-greaterzero.asm +++ /dev/null @@ -1,19 +0,0 @@ -; ( d -- flag ) -; Compare -; compares if a double double cell number is greater 0 -VE_DGREATERZERO: - .dw $ff03 - .db "d0>",0 - .dw VE_HEAD - .set VE_HEAD = VE_DGREATERZERO -XT_DGREATERZERO: - .dw PFA_DGREATERZERO -PFA_DGREATERZERO: - cp tosl, zerol - cpc tosh, zeroh - loadtos - cpc tosl, zerol - cpc tosh, zeroh - brlt PFA_ZERO1 - brbs 1, PFA_ZERO1 - rjmp PFA_TRUE1 diff --git a/amforth-6.5/avr8/words/d-invert.asm b/amforth-6.5/avr8/words/d-invert.asm deleted file mode 100644 index c87ae05..0000000 --- a/amforth-6.5/avr8/words/d-invert.asm +++ /dev/null @@ -1,20 +0,0 @@ -; ( d1 -- d2) -; Arithmetics -; invert all bits in the double cell value -VE_DINVERT: - .dw $ff07 - .db "dinvert",0 - .dw VE_HEAD - .set VE_HEAD = VE_DINVERT -XT_DINVERT: - .dw PFA_DINVERT -PFA_DINVERT: - ld temp0, Y+ - ld temp1, Y+ - com tosl - com tosh - com temp0 - com temp1 - st -Y, temp1 - st -Y, temp0 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/d-lesszero.asm b/amforth-6.5/avr8/words/d-lesszero.asm deleted file mode 100644 index afa70c7..0000000 --- a/amforth-6.5/avr8/words/d-lesszero.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( d -- flag ) -; Compare -; compares if a double double cell number is less than 0 -VE_DXT_ZEROLESS: - .dw $ff03 - .db "d0<",0 - .dw VE_HEAD - .set VE_HEAD = VE_DXT_ZEROLESS -XT_DXT_ZEROLESS: - .dw PFA_DXT_ZEROLESS -PFA_DXT_ZEROLESS: - adiw Y,2 - sbrc tosh,7 - jmp PFA_TRUE1 - jmp PFA_ZERO1 diff --git a/amforth-6.5/avr8/words/d-minus.asm b/amforth-6.5/avr8/words/d-minus.asm deleted file mode 100644 index a458851..0000000 --- a/amforth-6.5/avr8/words/d-minus.asm +++ /dev/null @@ -1,28 +0,0 @@ -; ( d1 d2 -- d3 ) -; Arithmetics -; subtract d2 from d1 -VE_DMINUS: - .dw $ff02 - .db "d-" - .dw VE_HEAD - .set VE_HEAD = VE_DMINUS -XT_DMINUS: - .dw PFA_DMINUS -PFA_DMINUS: - ld temp2, Y+ - ld temp3, Y+ - - ld temp4, Y+ - ld temp5, Y+ - ld temp6, Y+ - ld temp7, Y+ - - sub temp6, temp2 - sbc temp7, temp3 - sbc temp4, tosl - sbc temp5, tosh - - st -Y, temp7 - st -Y, temp6 - movw tosl, temp4 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/d-plus.asm b/amforth-6.5/avr8/words/d-plus.asm deleted file mode 100644 index 60286dd..0000000 --- a/amforth-6.5/avr8/words/d-plus.asm +++ /dev/null @@ -1,27 +0,0 @@ -; ( d1 d2 -- d3) -; Arithmetics -; add 2 double cell values -VE_DPLUS: - .dw $ff02 - .db "d+" - .dw VE_HEAD - .set VE_HEAD = VE_DPLUS -XT_DPLUS: - .dw PFA_DPLUS -PFA_DPLUS: - ld temp2, Y+ - ld temp3, Y+ - - ld temp4, Y+ - ld temp5, Y+ - ld temp6, Y+ - ld temp7, Y+ - - add temp2, temp6 - adc temp3, temp7 - adc tosl, temp4 - adc tosh, temp5 - - st -Y, temp3 - st -Y, temp2 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/dabs.asm b/amforth-6.5/avr8/words/dabs.asm deleted file mode 100644 index 43b372d..0000000 --- a/amforth-6.5/avr8/words/dabs.asm +++ /dev/null @@ -1,19 +0,0 @@ -; ( d -- ud ) -; Arithmetics -; double cell absolute value -VE_DABS: - .dw $ff04 - .db "dabs" - .dw VE_HEAD - .set VE_HEAD = VE_DABS -XT_DABS: - .dw DO_COLON -PFA_DABS: - .dw XT_DUP - .dw XT_ZEROLESS - .dw XT_DOCONDBRANCH - .dw PFA_DABS1 - .dw XT_DNEGATE -PFA_DABS1: - .dw XT_EXIT -; : dabs ( ud1 -- +d2 ) dup 0< if dnegate then ; diff --git a/amforth-6.5/avr8/words/dnegate.asm b/amforth-6.5/avr8/words/dnegate.asm deleted file mode 100644 index cfa45ca..0000000 --- a/amforth-6.5/avr8/words/dnegate.asm +++ /dev/null @@ -1,17 +0,0 @@ -; ( d1 -- d2 ) -; Arithmetics -; double cell negation -VE_DNEGATE: - .dw $ff07 - .db "dnegate",0 - .dw VE_HEAD - .set VE_HEAD = VE_DNEGATE -XT_DNEGATE: - .dw DO_COLON -PFA_DNEGATE: - .dw XT_DINVERT - .dw XT_ONE - .dw XT_ZERO - .dw XT_DPLUS - .dw XT_EXIT -; : dnegate ( ud1 -- ud2 ) dinvert 1. d+ ; diff --git a/amforth-6.5/avr8/words/do-defer.asm b/amforth-6.5/avr8/words/do-defer.asm deleted file mode 100644 index dbd190e..0000000 --- a/amforth-6.5/avr8/words/do-defer.asm +++ /dev/null @@ -1,27 +0,0 @@ -; ( i*x -- j*x ) -; System -; runtime of defer -VE_DODEFER: - .dw $ff07 - .db "(defer)", 0 - .dw VE_HEAD - .set VE_HEAD = VE_DODEFER -XT_DODEFER: - .dw DO_COLON -PFA_DODEFER: - .dw XT_DOCREATE - .dw XT_REVEAL - .dw XT_COMPILE - .dw PFA_DODEFER1 - .dw XT_EXIT -PFA_DODEFER1: - call_ DO_DODOES - .dw XT_DUP - .dw XT_ICELLPLUS - .dw XT_FETCHI - .dw XT_EXECUTE - .dw XT_EXECUTE - .dw XT_EXIT - -; : (defer) dup i-cell+ @i execute execute ; - diff --git a/amforth-6.5/avr8/words/do-sliteral.asm b/amforth-6.5/avr8/words/do-sliteral.asm deleted file mode 100644 index 41ddb15..0000000 --- a/amforth-6.5/avr8/words/do-sliteral.asm +++ /dev/null @@ -1,21 +0,0 @@ -; ( -- addr len ) -; String -; runtime portion of sliteral -;VE_DOSLITERAL: -; .dw $ff0a -; .db "(sliteral)" -; .dw VE_HEAD -; .set VE_HEAD = VE_DOSLITERAL -XT_DOSLITERAL: - .dw DO_COLON -PFA_DOSLITERAL: - .dw XT_R_FETCH ; ( -- addr ) - .dw XT_ICOUNT - .dw XT_R_FROM - .dw XT_OVER ; ( -- addr' n addr n) - .dw XT_1PLUS - .dw XT_2SLASH ; ( -- addr' n addr k ) - .dw XT_PLUS ; ( -- addr' n addr'' ) - .dw XT_1PLUS - .dw XT_TO_R ; ( -- ) - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/do-value.asm b/amforth-6.5/avr8/words/do-value.asm deleted file mode 100644 index 65182f5..0000000 --- a/amforth-6.5/avr8/words/do-value.asm +++ /dev/null @@ -1,25 +0,0 @@ -; ( -- n ) -; System -; runtime of value -VE_DOVALUE: - .dw $ff07 - .db "(value)", 0 - .dw VE_HEAD - .set VE_HEAD = VE_DOVALUE -XT_DOVALUE: - .dw DO_COLON -PFA_DOVALUE: - .dw XT_DOCREATE - .dw XT_REVEAL - .dw XT_COMPILE - .dw PFA_DOVALUE1 - .dw XT_EXIT -PFA_DOVALUE1: - call_ DO_DODOES - .dw XT_DUP - .dw XT_ICELLPLUS - .dw XT_FETCHI - .dw XT_EXECUTE - .dw XT_EXIT - -; : (value) dup icell+ @i execute ; diff --git a/amforth-6.5/avr8/words/dobranch.asm b/amforth-6.5/avr8/words/dobranch.asm deleted file mode 100644 index 7ff018f..0000000 --- a/amforth-6.5/avr8/words/dobranch.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- ) -; System -; runtime of branch -;VE_DOBRANCH: -; .dw $ff08 -; .db "(branch)" -; .dw VE_HEAD -; .set VE_HEAD = VE_DOBRANCH -XT_DOBRANCH: - .dw PFA_DOBRANCH -PFA_DOBRANCH: - movw zl, XL - readflashcell XL,XH - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/docondbranch.asm b/amforth-6.5/avr8/words/docondbranch.asm deleted file mode 100644 index 64b2e5e..0000000 --- a/amforth-6.5/avr8/words/docondbranch.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( f -- ) -; System -; runtime of ?branch -;VE_DOCONDBRANCH: -; .dw $ff09 -; .db "(?branch)" -; .dw VE_HEAD -; .set VE_HEAD = VE_DOCONDBRANCH -XT_DOCONDBRANCH: - .dw PFA_DOCONDBRANCH -PFA_DOCONDBRANCH: - or tosh, tosl - loadtos - brbs 1, PFA_DOBRANCH ; 1 is z flag; if tos is zero (false), do the branch - adiw XL, 1 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/doconstant.asm b/amforth-6.5/avr8/words/doconstant.asm deleted file mode 100644 index 0ecdf27..0000000 --- a/amforth-6.5/avr8/words/doconstant.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( -- addr ) -; System -; place data field address on TOS -;VE_DOCONSTANT: -; .dw $ff0a -; .db "(constant)" -; .dw VE_HEAD -; .set VE_HEAD = VE_DOCONSTANT -XT_DOCONSTANT: - .dw PFA_DOCONSTANT -PFA_DOCONSTANT: - savetos - movw tosl, wl - adiw tosl, 1 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/dodo.asm b/amforth-6.5/avr8/words/dodo.asm deleted file mode 100644 index 3b88694..0000000 --- a/amforth-6.5/avr8/words/dodo.asm +++ /dev/null @@ -1,25 +0,0 @@ -; ( limit start -- ) (R: -- loop-sys ) -; System -; runtime of do -;VE_DODO: -; .dw $ff04 -; .db "(do)" -; .dw VE_HEAD -; .set VE_HEAD = VE_DODO -XT_DODO: - .dw PFA_DODO -PFA_DODO: - ld temp2, Y+ - ld temp3, Y+ ; limit -PFA_DODO1: - ldi zl, $80 - add temp3, zl - sub tosl, temp2 - sbc tosh, temp3 - - push temp3 - push temp2 ; limit ( --> limit + $8000) - push tosh - push tosl ; start -> index ( --> index - (limit - $8000) - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/does.asm b/amforth-6.5/avr8/words/does.asm deleted file mode 100644 index 6e3e71b..0000000 --- a/amforth-6.5/avr8/words/does.asm +++ /dev/null @@ -1,53 +0,0 @@ -; ( i*x -- j*y ) (R: nest-sys1 -- ) (C: colon-sys1 -- colon-sys2 ) -; Compiler -; organize the XT replacement to call other colon code -VE_DOES: - .dw $0005 - .db "does>",0 - .dw VE_HEAD - .set VE_HEAD = VE_DOES -XT_DOES: - .dw DO_COLON -PFA_DOES: - .dw XT_COMPILE - .dw XT_DODOES - .dw XT_COMPILE ; create a code snippet to be used in an embedded XT - .dw $940e ; the address of this compiled - .dw XT_COMPILE ; code will replace the XT of the - .dw DO_DODOES ; word that CREATE created - .dw XT_EXIT ; - -DO_DODOES: ; ( -- PFA ) - savetos - movw tosl, wl - adiw tosl, 1 - ; the following takes the address from a real uC-call -.if (pclen==3) - pop wh ; some 128K Flash devices use 3 cells for call/ret -.endif - pop wh - pop wl - - push XH - push XL - movw XL, wl - jmp_ DO_NEXT - -; ( -- ) -; System -; replace the XT written by CREATE to call the code that follows does> -;VE_DODOES: -; .dw $ff07 -; .db "(does>)" -; .set VE_HEAD = VE_DODOES -XT_DODOES: - .dw DO_COLON -PFA_DODOES: - .dw XT_R_FROM - .dw XT_NEWEST - .dw XT_CELLPLUS - .dw XT_FETCH - .dw XT_FETCHE - .dw XT_NFA2CFA - .dw XT_STOREI - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/doliteral.asm b/amforth-6.5/avr8/words/doliteral.asm deleted file mode 100644 index 31da4b3..0000000 --- a/amforth-6.5/avr8/words/doliteral.asm +++ /dev/null @@ -1,17 +0,0 @@ -; ( -- n1 ) -; System -; runtime of literal -;VE_DOLITERAL: -; .dw $ff09 -; .db "(literal)" -; .dw VE_HEAD -; .set VE_HEAD = VE_DOLITERAL -XT_DOLITERAL: - .dw PFA_DOLITERAL -PFA_DOLITERAL: - savetos - movw zl, xl - readflashcell tosl,tosh - adiw xl, 1 - jmp_ DO_NEXT - diff --git a/amforth-6.5/avr8/words/doloop.asm b/amforth-6.5/avr8/words/doloop.asm deleted file mode 100644 index b5e0a26..0000000 --- a/amforth-6.5/avr8/words/doloop.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( -- ) (R: loop-sys1 -- loop-sys2| ) -; System -; runtime of loop -;VE_DOLOOP: -; .dw $ff06 -; .db "(loop)" -; .dw VE_HEAD -; .set VE_HEAD = VE_DOLOOP -XT_DOLOOP: - .dw PFA_DOLOOP -PFA_DOLOOP: - pop zl - pop zh - adiw zl,1 - brvs PFA_DOPLUSLOOP_LEAVE - jmp_ PFA_DOPLUSLOOP_NEXT diff --git a/amforth-6.5/avr8/words/doplusloop.asm b/amforth-6.5/avr8/words/doplusloop.asm deleted file mode 100644 index c34cae5..0000000 --- a/amforth-6.5/avr8/words/doplusloop.asm +++ /dev/null @@ -1,28 +0,0 @@ -; ( n1 -- ) (R: loop-sys1 -- loop-sys2| ) -; System -; runtime of +loop -;VE_DOPLUSLOOP: -; .dw $ff07 -; .db "(+loop)" -; .dw VE_HEAD -; .set VE_HEAD = VE_DOPLUSLOOP -XT_DOPLUSLOOP: - .dw PFA_DOPLUSLOOP -PFA_DOPLUSLOOP: - pop zl - pop zh - add zl, tosl - adc zh, tosh - loadtos - brvs PFA_DOPLUSLOOP_LEAVE - ; next cycle -PFA_DOPLUSLOOP_NEXT: - ; next iteration - push zh - push zl - rjmp PFA_DOBRANCH ; read next cell from dictionary and jump to its destination -PFA_DOPLUSLOOP_LEAVE: - pop temp0 - pop temp1 ; remove limit - adiw xl, 1 ; skip branch-back address - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/douser.asm b/amforth-6.5/avr8/words/douser.asm deleted file mode 100644 index 1347651..0000000 --- a/amforth-6.5/avr8/words/douser.asm +++ /dev/null @@ -1,18 +0,0 @@ -; ( -- addr ) -; System -; runtime part of user -;VE_DOUSER: -; .dw $ff06 -; .db "(user)" -; .dw VE_HEAD -; .set VE_HEAD = VE_DOUSER -XT_DOUSER: - .dw PFA_DOUSER -PFA_DOUSER: - savetos - movw zl, wl - adiw zl, 1 - readflashcell tosl,tosh - add tosl, upl - adc tosh, uph - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/dovariable.asm b/amforth-6.5/avr8/words/dovariable.asm deleted file mode 100644 index 6866ef4..0000000 --- a/amforth-6.5/avr8/words/dovariable.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( -- addr ) -; System -; puts content of parameter field (1 cell) to TOS -;VE_DOVARIABLE: -; .dw $ff0a -; .db "(variable)" -; .dw VE_HEAD -; .set VE_HEAD = VE_DOVARIABLE -XT_DOVARIABLE: - .dw PFA_DOVARIABLE -PFA_DOVARIABLE: - savetos - movw zl, wl - adiw zl,1 - readflashcell tosl,tosh - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/dp.asm b/amforth-6.5/avr8/words/dp.asm deleted file mode 100644 index c9507f7..0000000 --- a/amforth-6.5/avr8/words/dp.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- f-addr ) -; System Value -; address of the next free dictionary cell -VE_DP: - .dw $ff02 - .db "dp" - .dw VE_HEAD - .set VE_HEAD = VE_DP -XT_DP: - .dw PFA_DOVALUE1 -PFA_DP: - .dw CFG_DP - .dw XT_EDEFERFETCH - .dw XT_EDEFERSTORE diff --git a/amforth-6.5/avr8/words/drop.asm b/amforth-6.5/avr8/words/drop.asm deleted file mode 100644 index baee84b..0000000 --- a/amforth-6.5/avr8/words/drop.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( n -- ) -; Stack -; drop TOS -VE_DROP: - .dw $ff04 - .db "drop" - .dw VE_HEAD - .set VE_HEAD = VE_DROP -XT_DROP: - .dw PFA_DROP -PFA_DROP: - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/dup.asm b/amforth-6.5/avr8/words/dup.asm deleted file mode 100644 index 0b5fa27..0000000 --- a/amforth-6.5/avr8/words/dup.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( n -- n n ) -; Stack -; duplicate TOS -VE_DUP: - .dw $ff03 - .db "dup",0 - .dw VE_HEAD - .set VE_HEAD = VE_DUP -XT_DUP: - .dw PFA_DUP -PFA_DUP: - savetos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/edefer-fetch.asm b/amforth-6.5/avr8/words/edefer-fetch.asm deleted file mode 100644 index 651bb53..0000000 --- a/amforth-6.5/avr8/words/edefer-fetch.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( xt1 -- xt2 ) -; System -; does the real defer@ for eeprom defers -VE_EDEFERFETCH: - .dw $ff07 - .db "Edefer@",0 - .dw VE_HEAD - .set VE_HEAD = VE_EDEFERFETCH -XT_EDEFERFETCH: - .dw DO_COLON -PFA_EDEFERFETCH: - .dw XT_FETCHI - .dw XT_FETCHE - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/edefer-store.asm b/amforth-6.5/avr8/words/edefer-store.asm deleted file mode 100644 index 1c0011b..0000000 --- a/amforth-6.5/avr8/words/edefer-store.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( xt1 xt2 -- ) -; System -; does the real defer! for eeprom defers -VE_EDEFERSTORE: - .dw $ff07 - .db "Edefer!",0 - .dw VE_HEAD - .set VE_HEAD = VE_EDEFERSTORE -XT_EDEFERSTORE: - .dw DO_COLON -PFA_EDEFERSTORE: - .dw XT_FETCHI - .dw XT_STOREE - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/ehere.asm b/amforth-6.5/avr8/words/ehere.asm deleted file mode 100644 index e416c0e..0000000 --- a/amforth-6.5/avr8/words/ehere.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- e-addr ) -; System Value -; address of the next free address in eeprom -VE_EHERE: - .dw $ff05 - .db "ehere",0 - .dw VE_HEAD - .set VE_HEAD = VE_EHERE -XT_EHERE: - .dw PFA_DOVALUE1 -PFA_EHERE: - .dw EE_EHERE - .dw XT_EDEFERFETCH - .dw XT_EDEFERSTORE diff --git a/amforth-6.5/avr8/words/end-code.asm b/amforth-6.5/avr8/words/end-code.asm deleted file mode 100644 index bf161eb..0000000 --- a/amforth-6.5/avr8/words/end-code.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( -- ) -; Compiler -; finish a code definition -VE_ENDCODE: - .dw $ff08 - .db "end-code" - .dw VE_HEAD - .set VE_HEAD = VE_ENDCODE -XT_ENDCODE: - .dw DO_COLON -PFA_ENDCODE: - .dw XT_COMPILE - .dw $940c - .dw XT_COMPILE - .dw DO_NEXT - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/env-mcuinfo.asm b/amforth-6.5/avr8/words/env-mcuinfo.asm deleted file mode 100644 index ef7240a..0000000 --- a/amforth-6.5/avr8/words/env-mcuinfo.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- faddr len ) -; Environment -; flash address of some CPU specific parameters -VE_ENV_MCUINFO: - .dw $ff08 - .db "mcu-info" - .dw VE_ENVHEAD - .set VE_ENVHEAD = VE_ENV_MCUINFO -XT_ENV_MCUINFO: - .dw DO_COLON -PFA_EN_MCUINFO: - .dw XT_DOLITERAL - .dw mcu_info - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/env-slashpad.asm b/amforth-6.5/avr8/words/env-slashpad.asm deleted file mode 100644 index 1cb7dbb..0000000 --- a/amforth-6.5/avr8/words/env-slashpad.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( -- padsize ) -; Environment -; Size of the PAD buffer in bytes -VE_ENVSLASHPAD: - .dw $ff04 - .db "/pad" - .dw VE_ENVHEAD - .set VE_ENVHEAD = VE_ENVSLASHPAD -XT_ENVSLASHPAD: - .dw DO_COLON -PFA_ENVSLASHPAD: - .dw XT_SP_FETCH - .dw XT_PAD - .dw XT_MINUS - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/env-wordlists.asm b/amforth-6.5/avr8/words/env-wordlists.asm deleted file mode 100644 index 643cfb7..0000000 --- a/amforth-6.5/avr8/words/env-wordlists.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- n ) -; Environment -; maximum number of wordlists in the dictionary search order -VE_ENVWORDLISTS: - .dw $ff09 - .db "wordlists",0 - .dw VE_ENVHEAD - .set VE_ENVHEAD = VE_ENVWORDLISTS -XT_ENVWORDLISTS: - .dw DO_COLON -PFA_ENVWORDLISTS: - .dw XT_DOLITERAL - .dw NUMWORDLISTS - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/environment.asm b/amforth-6.5/avr8/words/environment.asm deleted file mode 100644 index 8e39c08..0000000 --- a/amforth-6.5/avr8/words/environment.asm +++ /dev/null @@ -1,12 +0,0 @@ -; ( -- wid) -; System Value -; word list identifier of the environmental search list -VE_ENVIRONMENT: - .dw $ff0b - .db "environment",0 - .dw VE_HEAD - .set VE_HEAD = VE_ENVIRONMENT -XT_ENVIRONMENT: - .dw PFA_DOVARIABLE -PFA_ENVIRONMENT: - .dw CFG_ENVIRONMENT diff --git a/amforth-6.5/avr8/words/equal.asm b/amforth-6.5/avr8/words/equal.asm deleted file mode 100644 index 1cd3e57..0000000 --- a/amforth-6.5/avr8/words/equal.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( n1 n2 -- flag ) -; Compare -; compares two values for equality -VE_EQUAL: - .dw $ff01 - .db "=",0 - .dw VE_HEAD - .set VE_HEAD = VE_EQUAL -XT_EQUAL: - .dw DO_COLON -PFA_EQUAL: - .dw XT_MINUS - .dw XT_ZEROEQUAL - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/equalzero.asm b/amforth-6.5/avr8/words/equalzero.asm deleted file mode 100644 index d33cedd..0000000 --- a/amforth-6.5/avr8/words/equalzero.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( n -- flag ) -; Compare -; compare with 0 (zero) -VE_ZEROEQUAL: - .dw $ff02 - .db "0=" - .dw VE_HEAD - .set VE_HEAD = VE_ZEROEQUAL -XT_ZEROEQUAL: - .dw PFA_ZEROEQUAL -PFA_ZEROEQUAL: - or tosh, tosl - brne PFA_ZERO1 - rjmp PFA_TRUE1 diff --git a/amforth-6.5/avr8/words/execute.asm b/amforth-6.5/avr8/words/execute.asm deleted file mode 100644 index 4a2308d..0000000 --- a/amforth-6.5/avr8/words/execute.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( xt -- ) -; System -; execute XT -VE_EXECUTE: - .dw $ff07 - .db "execute",0 - .dw VE_HEAD - .set VE_HEAD = VE_EXECUTE -XT_EXECUTE: - .dw PFA_EXECUTE -PFA_EXECUTE: - movw wl, tosl - loadtos - jmp_ DO_EXECUTE diff --git a/amforth-6.5/avr8/words/exit.asm b/amforth-6.5/avr8/words/exit.asm deleted file mode 100644 index 89e19b9..0000000 --- a/amforth-6.5/avr8/words/exit.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- ) (R: nest-sys -- ) -; Compiler -; end of current colon word -VE_EXIT: - .dw $ff04 - .db "exit" - .dw VE_HEAD - .set VE_HEAD = VE_EXIT -XT_EXIT: - .dw PFA_EXIT -PFA_EXIT: - pop XL - pop XH - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/fetch-e.asm b/amforth-6.5/avr8/words/fetch-e.asm deleted file mode 100644 index fb0dee5..0000000 --- a/amforth-6.5/avr8/words/fetch-e.asm +++ /dev/null @@ -1,51 +0,0 @@ -; ( e-addr - n) -; Memory -; read 1 cell from eeprom -VE_FETCHE: - .dw $ff02 - .db "@e" - .dw VE_HEAD - .set VE_HEAD = VE_FETCHE -XT_FETCHE: - .dw PFA_FETCHE -PFA_FETCHE: -.if WANT_UNIFIED == 1 - ldi zh, high(EEPROMEND) - ldi zl, low(EEPROMEND) - cp tosl, zl - cpc tosh, zh - brlt PFA_FETCHE1 - brbs 1, PFA_FETCHE1 - rjmp PFA_FETCHE_OTHER -.endif -PFA_FETCHE1: - in_ temp2, SREG - cli - movw zl, tosl - rcall PFA_FETCHE2 - in_ tosl, EEDR - - adiw zl,1 - - rcall PFA_FETCHE2 - in_ tosh, EEDR - out_ SREG, temp2 - jmp_ DO_NEXT - -PFA_FETCHE2: - sbic EECR, EEPE - rjmp PFA_FETCHE2 - - out_ EEARH,zh - out_ EEARL,zl - - sbi EECR,EERE - ret - -.if WANT_UNIFIED == 1 -PFA_FETCHE_OTHER: - adiw zl, 1 - sub tosl, zl - sbc tosh, zh - jmp_ PFA_FETCHI -.endif diff --git a/amforth-6.5/avr8/words/fetch-i.asm b/amforth-6.5/avr8/words/fetch-i.asm deleted file mode 100644 index 5cdcc37..0000000 --- a/amforth-6.5/avr8/words/fetch-i.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( f-addr -- n1 ) -; Memory -; read 1 cell from flash -VE_FETCHI: - .dw $ff02 - .db "@i" - .dw VE_HEAD - .set VE_HEAD = VE_FETCHI -XT_FETCHI: - .dw PFA_FETCHI -PFA_FETCHI: - movw zl, tosl - readflashcell tosl,tosh - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/fetch-u.asm b/amforth-6.5/avr8/words/fetch-u.asm deleted file mode 100644 index 6e94616..0000000 --- a/amforth-6.5/avr8/words/fetch-u.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( offset -- n ) -; Memory -; read 1 cell from USER area -VE_FETCHU: - .dw $ff02 - .db "@u" - .dw VE_HEAD - .set VE_HEAD = VE_FETCHU -XT_FETCHU: - .dw DO_COLON -PFA_FETCHU: - .dw XT_UP_FETCH - .dw XT_PLUS - .dw XT_FETCH - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/fetch.asm b/amforth-6.5/avr8/words/fetch.asm deleted file mode 100644 index 6cd2f2b..0000000 --- a/amforth-6.5/avr8/words/fetch.asm +++ /dev/null @@ -1,33 +0,0 @@ -; ( a-addr -- n ) -; Memory -; read 1 cell from RAM address -VE_FETCH: - .dw $ff01 - .db "@",0 - .dw VE_HEAD - .set VE_HEAD = VE_FETCH -XT_FETCH: - .dw PFA_FETCH -PFA_FETCH: -.if WANT_UNIFIED == 1 - ldi zh, high(RAMEND) - ldi zl, low(RAMEND) - cp tosl, zl - cpc tosh, zh - brlt PFA_FETCHRAM - brbs 1, PFA_FETCHRAM - rjmp PFA_FETCHOTHER -.endif -PFA_FETCHRAM: - movw zl, tosl - ; low byte is read before the high byte - ld tosl, z+ - ld tosh, z+ - jmp_ DO_NEXT -.if WANT_UNIFIED == 1 -PFA_FETCHOTHER: - adiw zl, 1 - sub tosl, zl - sbc tosh, zh - jmp_ PFA_FETCHE -.endif diff --git a/amforth-6.5/avr8/words/fill.asm b/amforth-6.5/avr8/words/fill.asm deleted file mode 100644 index e8bcacc..0000000 --- a/amforth-6.5/avr8/words/fill.asm +++ /dev/null @@ -1,26 +0,0 @@ -; ( a-addr u c -- ) -; Memory -; fill u bytes memory beginning at a-addr with character c -VE_FILL: - .dw $ff04 - .db "fill" - .dw VE_HEAD - .set VE_HEAD = VE_FILL -XT_FILL: - .dw DO_COLON -PFA_FILL: - .dw XT_ROT - .dw XT_ROT - .dw XT_QDUP,XT_DOCONDBRANCH - DEST(PFA_FILL2) - .dw XT_BOUNDS - .dw XT_DODO -PFA_FILL1: - .dw XT_DUP - .dw XT_I - .dw XT_CSTORE ; ( -- c c-addr) - .dw XT_DOLOOP - .dw PFA_FILL1 -PFA_FILL2: - .dw XT_DROP - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/forth-recognizer.asm b/amforth-6.5/avr8/words/forth-recognizer.asm deleted file mode 100644 index 5b50820..0000000 --- a/amforth-6.5/avr8/words/forth-recognizer.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- addr ) -; System Value -; address of the next free data space (RAM) cell -VE_FORTHRECOGNIZER: - .dw $ff10 - .db "forth-recognizer" - .dw VE_HEAD - .set VE_HEAD = VE_FORTHRECOGNIZER -XT_FORTHRECOGNIZER: - .dw PFA_DOVALUE1 -PFA_FORTHRECOGNIZER: - .dw CFG_FORTHRECOGNIZER - .dw XT_EDEFERFETCH - .dw XT_EDEFERSTORE diff --git a/amforth-6.5/avr8/words/forth-wordlist.asm b/amforth-6.5/avr8/words/forth-wordlist.asm deleted file mode 100644 index 4147aea..0000000 --- a/amforth-6.5/avr8/words/forth-wordlist.asm +++ /dev/null @@ -1,12 +0,0 @@ -; ( -- wid ) -; Search Order -; get the system default word list -VE_FORTHWORDLIST: - .dw $ff0e - .db "forth-wordlist" - .dw VE_HEAD - .set VE_HEAD = VE_FORTHWORDLIST -XT_FORTHWORDLIST: - .dw PFA_DOVARIABLE -PFA_FORTHWORDLIST: - .dw CFG_FORTHWORDLIST diff --git a/amforth-6.5/avr8/words/g-mark.asm b/amforth-6.5/avr8/words/g-mark.asm deleted file mode 100644 index 7f7fa36..0000000 --- a/amforth-6.5/avr8/words/g-mark.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( -- dest ) -; Compiler -; places current dictionary position for backward resolves -;VE_GMARK: -; .dw $ff05 -; .db ">mark" -; .dw VE_HEAD -; .set VE_HEAD = VE_GMARK -XT_GMARK: - .dw DO_COLON -PFA_GMARK: - .dw XT_DP - .dw XT_COMPILE - .dw -1 ; ffff does not erase flash - .dw XT_EXIT - \ No newline at end of file diff --git a/amforth-6.5/avr8/words/g-resolve.asm b/amforth-6.5/avr8/words/g-resolve.asm deleted file mode 100644 index 0566b37..0000000 --- a/amforth-6.5/avr8/words/g-resolve.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( dest -- ) -; Compiler -; resolve backward jumps -;VE_GRESOLVE: -; .dw $ff08 -; .db ">resolve" -; .dw VE_HEAD -; .set VE_HEAD = VE_GRESOLVE -XT_GRESOLVE: - .dw DO_COLON -PFA_GRESOLVE: - .dw XT_QSTACK - .dw XT_DP - .dw XT_SWAP - .dw XT_STOREI - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/get-current.asm b/amforth-6.5/avr8/words/get-current.asm deleted file mode 100644 index a016a95..0000000 --- a/amforth-6.5/avr8/words/get-current.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( -- wid) -; Search Order -; get the wid of the current compilation word list -VE_GET_CURRENT: - .dw $ff0b - .db "get-current",0 - .dw VE_HEAD - .set VE_HEAD = VE_GET_CURRENT -XT_GET_CURRENT: - .dw DO_COLON -PFA_GET_CURRENT: - .dw XT_DOLITERAL - .dw CFG_CURRENT - .dw XT_FETCHE - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/greater.asm b/amforth-6.5/avr8/words/greater.asm deleted file mode 100644 index b4a9731..0000000 --- a/amforth-6.5/avr8/words/greater.asm +++ /dev/null @@ -1,19 +0,0 @@ -; ( n1 n2 -- flag ) -; Compare -; flag is true if n1 is greater than n2 -VE_GREATER: - .dw $ff01 - .db ">",0 - .dw VE_HEAD - .set VE_HEAD = VE_GREATER -XT_GREATER: - .dw PFA_GREATER -PFA_GREATER: - ld temp2, Y+ - ld temp3, Y+ - cp temp2, tosl - cpc temp3, tosh -PFA_GREATERDONE: - brlt PFA_ZERO1 - brbs 1, PFA_ZERO1 - rjmp PFA_TRUE1 diff --git a/amforth-6.5/avr8/words/greaterzero.asm b/amforth-6.5/avr8/words/greaterzero.asm deleted file mode 100644 index 61cca0e..0000000 --- a/amforth-6.5/avr8/words/greaterzero.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( n1 -- flag ) -; Compare -; true if n1 is greater than 0 -VE_GREATERZERO: - .dw $ff02 - .db "0>" - .dw VE_HEAD - .set VE_HEAD = VE_GREATERZERO -XT_GREATERZERO: - .dw PFA_GREATERZERO -PFA_GREATERZERO: - cp tosl, zerol - cpc tosh, zeroh - brlt PFA_ZERO1 - brbs 1, PFA_ZERO1 - rjmp PFA_TRUE1 diff --git a/amforth-6.5/avr8/words/header.asm b/amforth-6.5/avr8/words/header.asm deleted file mode 100644 index 4a1e6e9..0000000 --- a/amforth-6.5/avr8/words/header.asm +++ /dev/null @@ -1,36 +0,0 @@ -; ( addr len wid -- nfa ) -; Compiler -; creates the vocabulary header without XT and data field (PF) in the wordlist wid -VE_HEADER: - .dw $ff06 - .db "header" - .dw VE_HEAD - .set VE_HEAD = VE_HEADER -XT_HEADER: - .dw DO_COLON -PFA_HEADER: - .dw XT_DP ; the new Name Field - .dw XT_TO_R - .dw XT_TO_R ; ( R: NFA WID ) - .dw XT_DUP - .dw XT_GREATERZERO - .dw XT_DOCONDBRANCH - .dw PFA_HEADER1 - .dw XT_DUP - .dw XT_DOLITERAL - .dw $ff00 ; all flags are off (e.g. immediate) - .dw XT_OR - .dw XT_DOSCOMMA - ; make the link to the previous entry in this wordlist - .dw XT_R_FROM - .dw XT_FETCHE - .dw XT_COMMA - .dw XT_R_FROM - .dw XT_EXIT - -PFA_HEADER1: - ; -16: attempt to use zero length string as a name - .dw XT_DOLITERAL - .dw -16 - .dw XT_THROW - diff --git a/amforth-6.5/avr8/words/here.asm b/amforth-6.5/avr8/words/here.asm deleted file mode 100644 index c3fc5cb..0000000 --- a/amforth-6.5/avr8/words/here.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- addr ) -; System Value -; address of the next free data space (RAM) cell -VE_HERE: - .dw $ff04 - .db "here" - .dw VE_HEAD - .set VE_HEAD = VE_HERE -XT_HERE: - .dw PFA_DOVALUE1 -PFA_HERE: - .dw EE_HERE - .dw XT_EDEFERFETCH - .dw XT_EDEFERSTORE diff --git a/amforth-6.5/avr8/words/hld.asm b/amforth-6.5/avr8/words/hld.asm deleted file mode 100644 index d31590c..0000000 --- a/amforth-6.5/avr8/words/hld.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( -- addr ) -; Numeric IO -; pointer to current write position in the Pictured Numeric Output buffer -VE_HLD: - .dw $ff03 - .db "hld",0 - .dw VE_HEAD - .set VE_HEAD = VE_HLD -XT_HLD: - .dw PFA_DOVARIABLE -PFA_HLD: - .dw ram_hld - -.dseg -ram_hld: .byte 2 -.cseg diff --git a/amforth-6.5/avr8/words/i-cellplus.asm b/amforth-6.5/avr8/words/i-cellplus.asm deleted file mode 100644 index 08cbb14..0000000 --- a/amforth-6.5/avr8/words/i-cellplus.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( addr -- addr' ) -; Compiler -; skip to the next cell in flash -VE_ICELLPLUS: - .dw $FF07 - .db "i-cell+",0 - .dw VE_HEAD - .set VE_HEAD = VE_ICELLPLUS -XT_ICELLPLUS: - .dw DO_COLON -PFA_ICELLPLUS: - .dw XT_1PLUS - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/i.asm b/amforth-6.5/avr8/words/i.asm deleted file mode 100644 index 4943073..0000000 --- a/amforth-6.5/avr8/words/i.asm +++ /dev/null @@ -1,23 +0,0 @@ -; ( -- n ) (R: loop-sys -- loop-sys) -; Compiler -; current loop counter -VE_I: - .dw $FF01 - .db "i",0 - .dw VE_HEAD - .set VE_HEAD = VE_I -XT_I: - .dw PFA_I -PFA_I: - savetos - pop tosl - pop tosh ; index - pop zl - pop zh ; limit - push zh - push zl - push tosh - push tosl - add tosl, zl - adc tosh, zh - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/icompare.asm b/amforth-6.5/avr8/words/icompare.asm deleted file mode 100644 index f0fbab5..0000000 --- a/amforth-6.5/avr8/words/icompare.asm +++ /dev/null @@ -1,103 +0,0 @@ -; ( r-addr r-len f-addr f-len -- f) -; Tools -; compares string in RAM with string in flash. f is zero if equal like COMPARE -VE_ICOMPARE: - .dw $ff08 - .db "icompare" - .dw VE_HEAD - .set VE_HEAD = VE_ICOMPARE -XT_ICOMPARE: - .dw DO_COLON -PFA_ICOMPARE: - .dw XT_TO_R ; ( -- r-addr r-len f-addr) - .dw XT_OVER ; ( -- r-addr r-len f-addr r-len) - .dw XT_R_FROM ; ( -- r-addr r-len f-addr r-len f-len ) - .dw XT_NOTEQUAL ; ( -- r-addr r-len f-addr flag ) - .dw XT_DOCONDBRANCH - .dw PFA_ICOMPARE_SAMELEN - .dw XT_2DROP - .dw XT_DROP - .dw XT_TRUE - .dw XT_EXIT -PFA_ICOMPARE_SAMELEN: - .dw XT_SWAP ; ( -- r-addr f-addr len ) - .dw XT_ZERO - .dw XT_QDOCHECK - .dw XT_DOCONDBRANCH - .dw PFA_ICOMPARE_DONE - .dw XT_DODO -PFA_ICOMPARE_LOOP: - ; ( r-addr f-addr --) - .dw XT_OVER - .dw XT_FETCH -.if WANT_IGNORECASE == 1 - .dw XT_ICOMPARE_LC -.endif - .dw XT_OVER - .dw XT_FETCHI ; ( -- r-addr f-addr r-cc f- cc) -.if WANT_IGNORECASE == 1 - .dw XT_ICOMPARE_LC -.endif - ; flash strings are zero-padded at the last cell - ; that means: if the flash cell is less $0100, than mask the - ; high byte in the ram cell - .dw XT_DUP - ;.dw XT_BYTESWAP - .dw XT_DOLITERAL - .dw $100 - .dw XT_ULESS - .dw XT_DOCONDBRANCH - .dw PFA_ICOMPARE_LASTCELL - .dw XT_SWAP - .dw XT_DOLITERAL - .dw $00FF - .dw XT_AND ; the final swap can be omitted -PFA_ICOMPARE_LASTCELL: - .dw XT_NOTEQUAL - .dw XT_DOCONDBRANCH - .dw PFA_ICOMPARE_NEXTLOOP - .dw XT_2DROP - .dw XT_TRUE - .dw XT_UNLOOP - .dw XT_EXIT -PFA_ICOMPARE_NEXTLOOP: - .dw XT_1PLUS - .dw XT_SWAP - .dw XT_CELLPLUS - .dw XT_SWAP - .dw XT_DOLITERAL - .dw 2 - .dw XT_DOPLUSLOOP - .dw PFA_ICOMPARE_LOOP -PFA_ICOMPARE_DONE: - .dw XT_2DROP - .dw XT_ZERO - .dw XT_EXIT - -.if WANT_IGNORECASE == 1 -; ( cc1 cc2 -- f) -; Tools -; compares two packed characters -;VE_ICOMPARELC: -; .dw $ff08 -; .db "icompare-lower" -; .dw VE_HEAD -; .set VE_HEAD = VE_ICOMPARELC -XT_ICOMPARE_LC: - .dw DO_COLON -PFA_ICOMPARE_LC: - .dw XT_DUP - .dw XT_DOLITERAL - .dw $00ff - .dw XT_AND - .dw XT_TOLOWER - .dw XT_SWAP - .dw XT_BYTESWAP - .dw XT_DOLITERAL - .dw $00ff - .dw XT_AND - .dw XT_TOLOWER - .dw XT_BYTESWAP - .dw XT_OR - .dw XT_EXIT -.endif diff --git a/amforth-6.5/avr8/words/icount.asm b/amforth-6.5/avr8/words/icount.asm deleted file mode 100644 index d71ef13..0000000 --- a/amforth-6.5/avr8/words/icount.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( addr -- addr+1 n ) -; Tools -; get count information out of a counted string in flash -VE_ICOUNT: - .dw $ff06 - .db "icount" - .dw VE_HEAD - .set VE_HEAD = VE_ICOUNT -XT_ICOUNT: - .dw DO_COLON -PFA_ICOUNT: - .dw XT_DUP - .dw XT_1PLUS - .dw XT_SWAP - .dw XT_FETCHI - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/immediate-q.asm b/amforth-6.5/avr8/words/immediate-q.asm deleted file mode 100644 index 36fb29a..0000000 --- a/amforth-6.5/avr8/words/immediate-q.asm +++ /dev/null @@ -1,23 +0,0 @@ -; ( flagset -- +/-1 ) -; Tools -; return +1 if immediate, -1 otherwise, flag from name>flags -;VE_IMMEDIATEQ: -; .dw $ff06 -; .db "immediate?" -; .dw VE_HEAD -; .set VE_HEAD = VE_IMMEDIATEQ -XT_IMMEDIATEQ: - .dw DO_COLON -PFA_IMMEDIATEQ: - .dw XT_DOLITERAL - .dw $8000 - .dw XT_AND - .dw XT_ZEROEQUAL - .dw XT_DOCONDBRANCH - DEST(IMMEDIATEQ1) - .dw XT_ONE - .dw XT_EXIT -IMMEDIATEQ1: - ; not immediate - .dw XT_TRUE - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/immediate.asm b/amforth-6.5/avr8/words/immediate.asm deleted file mode 100644 index 6a2370d..0000000 --- a/amforth-6.5/avr8/words/immediate.asm +++ /dev/null @@ -1,21 +0,0 @@ -; ( -- ) -; Compiler -; set immediate flag for the most recent word definition -VE_IMMEDIATE: - .dw $ff09 - .db "immediate",0 - .dw VE_HEAD - .set VE_HEAD = VE_IMMEDIATE -XT_IMMEDIATE: - .dw DO_COLON -PFA_IMMEDIATE: - .dw XT_GET_CURRENT - .dw XT_FETCHE - .dw XT_DUP - .dw XT_FETCHI - .dw XT_DOLITERAL - .dw $7fff - .dw XT_AND - .dw XT_SWAP - .dw XT_STOREI - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/init-ram.asm b/amforth-6.5/avr8/words/init-ram.asm deleted file mode 100644 index cd672bd..0000000 --- a/amforth-6.5/avr8/words/init-ram.asm +++ /dev/null @@ -1,48 +0,0 @@ -; ( e-addr r-addr len -- ) -; Tools -; copy len cells from eeprom to ram -VE_EE2RAM: - .dw $ff06 - .db "ee>ram" - .dw VE_HEAD - .set VE_HEAD = VE_EE2RAM -XT_EE2RAM: - .dw DO_COLON -PFA_EE2RAM: ; ( -- ) - .dw XT_ZERO - .dw XT_DODO -PFA_EE2RAM_1: - ; ( -- e-addr r-addr ) - .dw XT_OVER - .dw XT_FETCHE - .dw XT_OVER - .dw XT_STORE - .dw XT_CELLPLUS - .dw XT_SWAP - .dw XT_CELLPLUS - .dw XT_SWAP - .dw XT_DOLOOP - .dw PFA_EE2RAM_1 -PFA_EE2RAM_2: - .dw XT_2DROP - .dw XT_EXIT - -; ( -- ) -; Tools -; setup the default user area from eeprom -VE_INIT_RAM: - .dw $ff08 - .db "init-ram" - .dw VE_HEAD - .set VE_HEAD = VE_INIT_RAM -XT_INIT_RAM: - .dw DO_COLON -PFA_INI_RAM: ; ( -- ) - .dw XT_DOLITERAL - .dw EE_INITUSER - .dw XT_UP_FETCH - .dw XT_DOLITERAL - .dw SYSUSERSIZE - .dw XT_2SLASH - .dw XT_EE2RAM - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/int-fetch.asm b/amforth-6.5/avr8/words/int-fetch.asm deleted file mode 100644 index f0c713a..0000000 --- a/amforth-6.5/avr8/words/int-fetch.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( i -- xt ) -; Interrupt -; fetches XT from interrupt vector i -VE_INTFETCH: - .dw $ff04 - .db "int@" - .dw VE_HEAD - .set VE_HEAD = VE_INTFETCH -XT_INTFETCH: - .dw DO_COLON -PFA_INTFETCH: - .dw XT_DOLITERAL - .dw intvec - .dw XT_PLUS - .dw XT_FETCHE - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/int-num.asm b/amforth-6.5/avr8/words/int-num.asm deleted file mode 100644 index 31f51df..0000000 --- a/amforth-6.5/avr8/words/int-num.asm +++ /dev/null @@ -1,12 +0,0 @@ -; ( -- n ) -; Interrupt -; number of interrupt vectors (0 based) -VE_NUMINT: - .dw $ff04 - .db "#int" - .dw VE_HEAD - .set VE_HEAD = VE_NUMINT -XT_NUMINT: - .dw PFA_DOVARIABLE -PFA_NUMINT: - .dw INTVECTORS diff --git a/amforth-6.5/avr8/words/int-off.asm b/amforth-6.5/avr8/words/int-off.asm deleted file mode 100644 index 4301404..0000000 --- a/amforth-6.5/avr8/words/int-off.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( -- ) -; Interrupt -; turns off all interrupts -VE_INTOFF: - .dw $ff04 - .db "-int" - .dw VE_HEAD - .set VE_HEAD = VE_INTOFF -XT_INTOFF: - .dw PFA_INTOFF -PFA_INTOFF: - cli - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/int-on.asm b/amforth-6.5/avr8/words/int-on.asm deleted file mode 100644 index 8b909da..0000000 --- a/amforth-6.5/avr8/words/int-on.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( -- ) -; Interrupt -; turns on all interrupts -VE_INTON: - .dw $ff04 - .db "+int" - .dw VE_HEAD - .set VE_HEAD = VE_INTON -XT_INTON: - .dw PFA_INTON -PFA_INTON: - sei - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/int-store.asm b/amforth-6.5/avr8/words/int-store.asm deleted file mode 100644 index 9189ba0..0000000 --- a/amforth-6.5/avr8/words/int-store.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( xt i -- ) -; Interrupt -; stores XT as interrupt vector i -VE_INTSTORE: - .dw $ff04 - .db "int!" - .dw VE_HEAD - .set VE_HEAD = VE_INTSTORE -XT_INTSTORE: - .dw DO_COLON -PFA_INTSTORE: - .dw XT_DOLITERAL - .dw intvec - .dw XT_PLUS - .dw XT_STOREE - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/int-trap.asm b/amforth-6.5/avr8/words/int-trap.asm deleted file mode 100644 index dd3170f..0000000 --- a/amforth-6.5/avr8/words/int-trap.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( i -- ) -; Interrupt -; trigger an interrupt -VE_INTTRAP: - .dw $ff08 - .db "int-trap" - .dw VE_HEAD - .set VE_HEAD = VE_INTTRAP -XT_INTTRAP: - .dw PFA_INTTRAP -PFA_INTTRAP: - mov isrflag, tosl - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/invert.asm b/amforth-6.5/avr8/words/invert.asm deleted file mode 100644 index 84d7a1d..0000000 --- a/amforth-6.5/avr8/words/invert.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( n1 -- n2) -; Arithmetics -; 1-complement of TOS -VE_INVERT: - .dw $ff06 - .db "invert" - .dw VE_HEAD - .set VE_HEAD = VE_INVERT -XT_INVERT: - .dw PFA_INVERT -PFA_INVERT: - com tosl - com tosh - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/irqcnt.asm b/amforth-6.5/avr8/words/irqcnt.asm deleted file mode 100644 index edb8a39..0000000 --- a/amforth-6.5/avr8/words/irqcnt.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( i -- xt ) -; Interrupt -; fetches XT from interrupt vector i -VE_IRQCNTADDR: - .dw $ff06 - .db "irq[]#" - .dw VE_HEAD - .set VE_HEAD = VE_IRQCNTADDR -XT_IRQCNTADDR: - .dw DO_COLON -PFA_IRQCNTADDR: - .dw XT_DOLITERAL - .dw intcnt - .dw XT_PLUS - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/isr-end.asm b/amforth-6.5/avr8/words/isr-end.asm deleted file mode 100644 index 7fe6132..0000000 --- a/amforth-6.5/avr8/words/isr-end.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( -- ) -; Interrupt -; re-enables interrupts in an ISR -;VE_ISREND: -; .dw $ff07 -; .db "isr-end",0 -; .dw VE_HEAD -; .set VE_HEAD = VE_ISREND -XT_ISREND: - .dw PFA_ISREND -PFA_ISREND: - rcall PFA_ISREND1 ; clear the interrupt flag for the controller - jmp_ DO_NEXT -PFA_ISREND1: - reti diff --git a/amforth-6.5/avr8/words/isr-exec.asm b/amforth-6.5/avr8/words/isr-exec.asm deleted file mode 100644 index 6c1a379..0000000 --- a/amforth-6.5/avr8/words/isr-exec.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( n -- ) -; Interrupt -; executes an interrupt service routine -;VE_ISREXEC: -; .dw $ff08 -; .db "isr-exec" -; .dw VE_HEAD -; .set VE_HEAD = VE_ISREXEC -XT_ISREXEC: - .dw DO_COLON -PFA_ISREXEC: - .dw XT_INTFETCH - .dw XT_EXECUTE - .dw XT_ISREND - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/itype.asm b/amforth-6.5/avr8/words/itype.asm deleted file mode 100644 index 7831344..0000000 --- a/amforth-6.5/avr8/words/itype.asm +++ /dev/null @@ -1,74 +0,0 @@ -; ( addr n -- ) -; Tools -; reads string from flash and prints it -VE_ITYPE: - .dw $ff05 - .db "itype",0 - .dw VE_HEAD - .set VE_HEAD = VE_ITYPE -XT_ITYPE: - .dw DO_COLON -PFA_ITYPE: - .dw XT_DUP ; ( --addr len len) - .dw XT_2SLASH ; ( -- addr len len/2 - .dw XT_TUCK ; ( -- addr len/2 len len/2 - .dw XT_2STAR ; ( -- addr len/2 len len' - .dw XT_MINUS ; ( -- addr len/2 rem - .dw XT_TO_R - .dw XT_ZERO - .dw XT_QDOCHECK - .dw XT_DOCONDBRANCH - .dw PFA_ITYPE2 - .dw XT_DODO -PFA_ITYPE1: - .dw XT_DUP ; ( -- addr addr ) - .dw XT_FETCHI ; ( -- addr c1c2 ) - .dw XT_DUP - .dw XT_LOWEMIT - .dw XT_HIEMIT - .dw XT_1PLUS ; ( -- addr+cell ) - .dw XT_DOLOOP - .dw PFA_ITYPE1 -PFA_ITYPE2: - .dw XT_R_FROM - .dw XT_GREATERZERO - .dw XT_DOCONDBRANCH - .dw PFA_ITYPE3 - .dw XT_DUP ; make sure the drop below has always something to do - .dw XT_FETCHI - .dw XT_LOWEMIT -PFA_ITYPE3: - .dw XT_DROP - .dw XT_EXIT - -; ( w -- ) -; R( -- ) -; content of cell fetched on stack. -;VE_HIEMIT: -; .dw $ff06 -; .db "hiemit" -; .dw VE_HEAD -; .set VE_HEAD = VE_HIEMIT -XT_HIEMIT: - .dw DO_COLON -PFA_HIEMIT: - .dw XT_BYTESWAP - .dw XT_LOWEMIT - .dw XT_EXIT - -; ( w -- ) -; R( -- ) -; content of cell fetched on stack. -;VE_LOWEMIT: -; .dw $ff07 -; .db "lowemit" -; .dw VE_HEAD -; .set VE_HEAD = VE_LOWEMIT -XT_LOWEMIT: - .dw DO_COLON -PFA_LOWEMIT: - .dw XT_DOLITERAL - .dw $00ff - .dw XT_AND - .dw XT_EMIT - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/j.asm b/amforth-6.5/avr8/words/j.asm deleted file mode 100644 index 30ba24b..0000000 --- a/amforth-6.5/avr8/words/j.asm +++ /dev/null @@ -1,23 +0,0 @@ -; ( -- n ) (R: loop-sys1 loop-sys2 -- loop-sys1 loop-sys2) -; Compiler -; loop counter of outer loop -VE_J: - .dw $FF01 - .db "j",0 - .dw VE_HEAD - .set VE_HEAD = VE_J -XT_J: - .dw DO_COLON -PFA_J: - .dw XT_RP_FETCH - .dw XT_DOLITERAL - .dw 7 - .dw XT_PLUS - .dw XT_FETCH - .dw XT_RP_FETCH - .dw XT_DOLITERAL - .dw 9 - .dw XT_PLUS - .dw XT_FETCH - .dw XT_PLUS - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/l_mark.asm b/amforth-6.5/avr8/words/l_mark.asm deleted file mode 100644 index 9d5c5ae..0000000 --- a/amforth-6.5/avr8/words/l_mark.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( -- dest ) -; Compiler -; place destination for backward branch -;VE_LMARK: -; .dw $ff05 -; .db "",0 - .dw VE_HEAD - .set VE_HEAD = VE_N_R_FROM -XT_N_R_FROM: - .dw PFA_N_R_FROM -PFA_N_R_FROM: - savetos - pop zh - pop zl - mov temp0, zl -PFA_N_R_FROM1: - pop tosl - pop tosh - savetos - dec temp0 - brne PFA_N_R_FROM1 - movw tosl, zl - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/n_to_r.asm b/amforth-6.5/avr8/words/n_to_r.asm deleted file mode 100644 index 9efdaa6..0000000 --- a/amforth-6.5/avr8/words/n_to_r.asm +++ /dev/null @@ -1,23 +0,0 @@ -; ( x-n .. x-1 n -- ) (R: -- x-n .. x-1 n) -; Stack -; move n items from data stack to return stack -VE_N_TO_R: - .dw $ff03 - .db "n>r",0 - .dw VE_HEAD - .set VE_HEAD = VE_N_TO_R -XT_N_TO_R: - .dw PFA_N_TO_R -PFA_N_TO_R: - movw zl, tosl - mov temp0, tosl -PFA_N_TO_R1: - loadtos - push tosh - push tosl - dec temp0 - brne PFA_N_TO_R1 - push zl - push zh - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/name2flags.asm b/amforth-6.5/avr8/words/name2flags.asm deleted file mode 100644 index 12f618e..0000000 --- a/amforth-6.5/avr8/words/name2flags.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( nt -- f ) -; Tools -; get the flags from a name token -VE_NAME2FLAGS: - .dw $ff0a - .db "name>flags" - .dw VE_HEAD - .set VE_HEAD = VE_NAME2FLAGS -XT_NAME2FLAGS: - .dw DO_COLON -PFA_NAME2FLAGS: - .dw XT_FETCHI ; skip to link field - .dw XT_DOLITERAL - .dw $ff00 - .dw XT_AND - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/negate.asm b/amforth-6.5/avr8/words/negate.asm deleted file mode 100644 index 6a88d58..0000000 --- a/amforth-6.5/avr8/words/negate.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( n1 -- n2 ) -; Logic -; 2-complement -VE_NEGATE: - .dw $ff06 - .db "negate" - .dw VE_HEAD - .set VE_HEAD = VE_NEGATE -XT_NEGATE: - .dw DO_COLON -PFA_NEGATE: - .dw XT_INVERT - .dw XT_1PLUS - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/newest.asm b/amforth-6.5/avr8/words/newest.asm deleted file mode 100644 index 62839fc..0000000 --- a/amforth-6.5/avr8/words/newest.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( -- addr ) -; System Variable -; system state -VE_NEWEST: - .dw $ff06 - .db "newest" - .dw VE_HEAD - .set VE_HEAD = VE_NEWEST -XT_NEWEST: - .dw PFA_DOVARIABLE -PFA_NEWEST: - .dw ram_newest - -.dseg -ram_newest: .byte 4 -.cseg \ No newline at end of file diff --git a/amforth-6.5/avr8/words/nfa2cfa.asm b/amforth-6.5/avr8/words/nfa2cfa.asm deleted file mode 100644 index ab1b230..0000000 --- a/amforth-6.5/avr8/words/nfa2cfa.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( nt -- xt ) -; Tools -; get the XT from a name token -VE_NFA2CFA: - .dw $ff07 - .db "nfa>cfa" - .dw VE_HEAD - .set VE_HEAD = VE_NFA2CFA -XT_NFA2CFA: - .dw DO_COLON -PFA_NFA2CFA: - .dw XT_NFA2LFA ; skip to link field - .dw XT_1PLUS ; next is the execution token - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/nfa2lfa.asm b/amforth-6.5/avr8/words/nfa2lfa.asm deleted file mode 100644 index 945fb64..0000000 --- a/amforth-6.5/avr8/words/nfa2lfa.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( nfa -- lfa ) -; System -; get the link field address from the name field address -VE_NFA2LFA: - .dw $ff07 - .db "nfa>lfa",0 - .dw VE_HEAD - .set VE_HEAD = VE_NFA2LFA -XT_NFA2LFA: - .dw DO_COLON -PFA_NFA2LFA: - .dw XT_NAME2STRING - .dw XT_1PLUS - .dw XT_2SLASH - .dw XT_PLUS - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/nip.asm b/amforth-6.5/avr8/words/nip.asm deleted file mode 100644 index cfa1d1a..0000000 --- a/amforth-6.5/avr8/words/nip.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( n1 n2 -- n2 ) -; Stack -; Remove Second of Stack -VE_NIP: - .dw $ff03 - .db "nip",0 - .dw VE_HEAD - .set VE_HEAD = VE_NIP -XT_NIP: - .dw PFA_NIP -PFA_NIP: - adiw yl, 2 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/not.asm b/amforth-6.5/avr8/words/not.asm deleted file mode 100644 index 26aa5c4..0000000 --- a/amforth-6.5/avr8/words/not.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( flag -- flag' ) -; Logic -; identical to 0= -VE_NOT: - .dw $ff03 - .db "not",0 - .dw VE_HEAD - .set VE_HEAD = VE_NOT -XT_NOT: - .dw DO_COLON -PFA_NOT: - .dw XT_ZEROEQUAL - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/notequalzero.asm b/amforth-6.5/avr8/words/notequalzero.asm deleted file mode 100644 index 5088bf3..0000000 --- a/amforth-6.5/avr8/words/notequalzero.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( n -- flag ) -; Compare -; true if n is not zero -VE_NOTZEROEQUAL: - .dw $ff03 - .db "0<>",0 - .dw VE_HEAD - .set VE_HEAD = VE_NOTZEROEQUAL -XT_NOTZEROEQUAL: - .dw DO_COLON -PFA_NOTZEROEQUAL: - .dw XT_ZEROEQUAL - .dw XT_ZEROEQUAL - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/or.asm b/amforth-6.5/avr8/words/or.asm deleted file mode 100644 index 24bc268..0000000 --- a/amforth-6.5/avr8/words/or.asm +++ /dev/null @@ -1,17 +0,0 @@ -; ( n1 n2 -- n3 ) -; Logic -; logical or -VE_OR: - .dw $ff02 - .db "or" - .dw VE_HEAD - .set VE_HEAD = VE_OR -XT_OR: - .dw PFA_OR -PFA_OR: - ld temp0, Y+ - ld temp1, Y+ - or tosl, temp0 - or tosh, temp1 - jmp_ DO_NEXT - diff --git a/amforth-6.5/avr8/words/over.asm b/amforth-6.5/avr8/words/over.asm deleted file mode 100644 index 97ca242..0000000 --- a/amforth-6.5/avr8/words/over.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( x1 x2 -- x1 x2 x1 ) -; Stack -; Place a copy of x1 on top of the stack -VE_OVER: - .dw $ff04 - .db "over" - .dw VE_HEAD - .set VE_HEAD = VE_OVER -XT_OVER: - .dw PFA_OVER -PFA_OVER: - savetos - ldd tosl, Y+2 - ldd tosh, Y+3 - - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/pause.asm b/amforth-6.5/avr8/words/pause.asm deleted file mode 100644 index 747fde4..0000000 --- a/amforth-6.5/avr8/words/pause.asm +++ /dev/null @@ -1,18 +0,0 @@ -; ( -- ) -; Multitasking -; Fetch pause vector and execute it. may make a context/task switch -VE_PAUSE: - .dw $ff05 - .db "pause",0 - .dw VE_HEAD - .set VE_HEAD = VE_PAUSE -XT_PAUSE: - .dw PFA_DODEFER1 -PFA_PAUSE: - .dw ram_pause - .dw XT_RDEFERFETCH - .dw XT_RDEFERSTORE - -.dseg -ram_pause: .byte 2 -.cseg diff --git a/amforth-6.5/avr8/words/plus.asm b/amforth-6.5/avr8/words/plus.asm deleted file mode 100644 index 1b2a6c4..0000000 --- a/amforth-6.5/avr8/words/plus.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( n1 n2 -- n3) -; Arithmetics -; add n1 and n2 -VE_PLUS: - .dw $ff01 - .db "+",0 - .dw VE_HEAD - .set VE_HEAD = VE_PLUS -XT_PLUS: - .dw PFA_PLUS -PFA_PLUS: - ld temp0, Y+ - ld temp1, Y+ - add tosl, temp0 - adc tosh, temp1 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/plusstore.asm b/amforth-6.5/avr8/words/plusstore.asm deleted file mode 100644 index 344670b..0000000 --- a/amforth-6.5/avr8/words/plusstore.asm +++ /dev/null @@ -1,21 +0,0 @@ -; ( n a-addr -- ) -; Arithmetics -; add n to content of RAM address a-addr -VE_PLUSSTORE: - .dw $ff02 - .db "+!" - .dw VE_HEAD - .set VE_HEAD = VE_PLUSSTORE -XT_PLUSSTORE: - .dw PFA_PLUSSTORE -PFA_PLUSSTORE: - movw zl, tosl - loadtos - ldd temp2, Z+0 - ldd temp3, Z+1 - add tosl, temp2 - adc tosh, temp3 - std Z+0, tosl - std Z+1, tosh - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/popcnt.asm b/amforth-6.5/avr8/words/popcnt.asm deleted file mode 100644 index 66f8f47..0000000 --- a/amforth-6.5/avr8/words/popcnt.asm +++ /dev/null @@ -1,29 +0,0 @@ -; ( n1 -- n2 ) -; Arithmetics -; count the Number of 1 bits (population count) -VE_POPCNT: - .dw $ff06 - .db "popcnt" - .dw VE_HEAD - .set VE_HEAD = VE_POPCNT -XT_POPCNT: - .dw PFA_POPCNT -PFA_POPCNT: - movw zl, tosl - clr tosl - rcall PFA_POPCNT1 - mov zl, zh - rcall PFA_POPCNT1 - clr tosh - jmp_ DO_NEXT - -PFA_POPCNT1: - ldi tosh, 8 -PFA_POPCNT2: - ror zl - ;breq PFA_POPCNT3 - adc tosl, zeroh - dec tosh - brne PFA_POPCNT2 -POPCNT3: - ret \ No newline at end of file diff --git a/amforth-6.5/avr8/words/qdup.asm b/amforth-6.5/avr8/words/qdup.asm deleted file mode 100644 index e65640b..0000000 --- a/amforth-6.5/avr8/words/qdup.asm +++ /dev/null @@ -1,17 +0,0 @@ -; ( n1 -- [ n1 n1 ] | 0) -; Stack -; duplicate TOS if non-zero -VE_QDUP: - .dw $ff04 - .db "?dup" - .dw VE_HEAD - .set VE_HEAD = VE_QDUP -XT_QDUP: - .dw PFA_QDUP -PFA_QDUP: - mov temp0, tosl - or temp0, tosh - breq PFA_QDUP1 - savetos -PFA_QDUP1: - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/r_fetch.asm b/amforth-6.5/avr8/words/r_fetch.asm deleted file mode 100644 index 06d8ab0..0000000 --- a/amforth-6.5/avr8/words/r_fetch.asm +++ /dev/null @@ -1,17 +0,0 @@ -; ( -- n) (R: n -- n ) -; Stack -; fetch content of TOR -VE_R_FETCH: - .dw $ff02 - .db "r@" - .dw VE_HEAD - .set VE_HEAD = VE_R_FETCH -XT_R_FETCH: - .dw PFA_R_FETCH -PFA_R_FETCH: - savetos - pop tosl - pop tosh - push tosh - push tosl - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/r_from.asm b/amforth-6.5/avr8/words/r_from.asm deleted file mode 100644 index 66c1ebc..0000000 --- a/amforth-6.5/avr8/words/r_from.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( -- n ) (R: n --) -; Stack -; move TOR to TOS -VE_R_FROM: - .dw $ff02 - .db "r>" - .dw VE_HEAD - .set VE_HEAD = VE_R_FROM -XT_R_FROM: - .dw PFA_R_FROM -PFA_R_FROM: - savetos - pop tosl - pop tosh - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/reg-a.asm b/amforth-6.5/avr8/words/reg-a.asm deleted file mode 100644 index 196ca3c..0000000 --- a/amforth-6.5/avr8/words/reg-a.asm +++ /dev/null @@ -1,180 +0,0 @@ -; ( -- n2 ) -; Extended VM -; Read memory pointed to by register A (Extended VM) -VE_AFETCH: - .dw $ff02 - .db "a@" - .dw VE_HEAD - .set VE_HEAD = VE_AFETCH -XT_AFETCH: - .dw PFA_AFETCH -PFA_AFETCH: - savetos - movw zl, al - ld tosl, Z+ - ld tosh, Z+ - jmp_ DO_NEXT - -; ( n1 -- n2 ) -; Extended VM -; Read memory pointed to by register A plus offset (Extended VM) -VE_NAFETCH: - .dw $ff03 - .db "na@",0 - .dw VE_HEAD - .set VE_HEAD = VE_NAFETCH -XT_NAFETCH: - .dw PFA_NAFETCH -PFA_NAFETCH: - movw zl, al - add zl, tosl - adc zh, tosh - ld tosl, Z+ - ld tosh, Z+ - jmp_ DO_NEXT - -; ( -- n ) -; Extended VM -; Read memory pointed to by register A, increment A by 1 cell (Extended VM) -VE_AFETCHPLUS: - .dw $ff03 - .db "a@+",0 - .dw VE_HEAD - .set VE_HEAD = VE_AFETCHPLUS -XT_AFETCHPLUS: - .dw PFA_AFETCHPLUS -PFA_AFETCHPLUS: - savetos - movw zl, al - ld tosl, Z+ - ld tosh, Z+ - movw al, zl - jmp_ DO_NEXT - -; ( -- n ) -; Extended VM -; Read memory pointed to by register A, decrement A by 1 cell (Extended VM) -VE_AFETCHMINUS: - .dw $ff03 - .db "a@-",0 - .dw VE_HEAD - .set VE_HEAD = VE_AFETCHMINUS -XT_AFETCHMINUS: - .dw PFA_AFETCHMINUS -PFA_AFETCHMINUS: - savetos - movw zl, al - ld tosh, -Z ; TODO: check byte order!! - ld tosl, -Z - movw al, zl - jmp_ DO_NEXT - -; ( n -- ) -; Extended VM -; Write memory pointed to by register A (Extended VM) -VE_ASTORE: - .dw $ff02 - .db "a!" - .dw VE_HEAD - .set VE_HEAD = VE_ASTORE -XT_ASTORE: - .dw PFA_ASTORE -PFA_ASTORE: - movw zl, al - st Z+, tosl - st Z+, tosh - loadtos - jmp_ DO_NEXT - -; ( n offs -- ) -; Extended VM -; Write memory pointed to by register A plus offset (Extended VM) -VE_NASTORE: - .dw $ff03 - .db "na!",0 - .dw VE_HEAD - .set VE_HEAD = VE_NASTORE -XT_NASTORE: - .dw PFA_NASTORE -PFA_NASTORE: - movw zl, al - add zl, tosl - adc zh, tosh - loadtos - st Z+, tosl - st Z+, tosh - loadtos - jmp_ DO_NEXT - -; ( -- n2 ) -; Extended VM -; Write memory pointed to by register A, increment A by 1 cell (Extended VM) -VE_ASTOREPLUS: - .dw $ff03 - .db "a!+",0 - .dw VE_HEAD - .set VE_HEAD = VE_ASTOREPLUS -XT_ASTOREPLUS: - .dw PFA_ASTOREPLUS -PFA_ASTOREPLUS: - movw zl, al - st Z+, tosl - st Z+, tosh - loadtos - movw al, zl - jmp_ DO_NEXT - -; ( -- n2 ) -; Extended VM -; Write memory pointed to by register A, decrement A by 1 cell (Extended VM) -VE_ASTOREMINUS: - .dw $ff03 - .db "a!-",0 - .dw VE_HEAD - .set VE_HEAD = VE_ASTOREMINUS -XT_ASTOREMINUS: - .dw PFA_ASTOREMINUS -PFA_ASTOREMINUS: - movw zl, al - st -Z, tosh - st -Z, tosl - loadtos - movw al, zl - jmp_ DO_NEXT - - - -; ( n -- ) -; Extended VM -; Write to A register (Extended VM) -VE_TO_A: - .dw $ff02 - .db ">a" - .dw VE_HEAD - .set VE_HEAD = VE_TO_A -XT_TO_A: - .dw PFA_TO_A -PFA_TO_A: - movw al, tosl - loadtos - jmp_ DO_NEXT - -; ( n1 -- n2 ) -; Extended VM -; read the A register (Extended VM) -VE_A_FROM: - .dw $ff02 - .db "a>" - .dw VE_HEAD - .set VE_HEAD = VE_A_FROM -XT_A_FROM: - .dw PFA_A_FROM -PFA_A_FROM: - savetos - movw tosl, al - jmp_ DO_NEXT - -; for more information read -; http://www.complang.tuwien.ac.at/anton/euroforth/ef08/papers/pelc.pdf -; adapted index based access from X/Y registers -; note: offset is byte address, not cell! diff --git a/amforth-6.5/avr8/words/reg-b.asm b/amforth-6.5/avr8/words/reg-b.asm deleted file mode 100644 index 4b77e99..0000000 --- a/amforth-6.5/avr8/words/reg-b.asm +++ /dev/null @@ -1,180 +0,0 @@ -; ( -- n2 ) -; Extended VM -; Read memory pointed to by register B (Extended VM) -VE_BFETCH: - .dw $ff02 - .db "b@" - .dw VE_HEAD - .set VE_HEAD = VE_BFETCH -XT_BFETCH: - .dw PFA_BFETCH -PFA_BFETCH: - savetos - movw zl, bl - ld tosl, Z+ - ld tosh, Z+ - jmp_ DO_NEXT - -; ( n1 -- n2 ) -; Extended VM -; Read memory pointed to by register B plus offset (Extended VM) -VE_NBFETCH: - .dw $ff03 - .db "nb@",0 - .dw VE_HEAD - .set VE_HEAD = VE_NBFETCH -XT_NBFETCH: - .dw PFA_NBFETCH -PFA_NBFETCH: - movw zl, bl - add zl, tosl - adc zh, tosh - ld tosl, Z+ - ld tosh, Z+ - jmp_ DO_NEXT - -; ( -- n ) -; Extended VM -; Read memory pointed to by register B, increment B by 1 cell (Extended VM) -VE_BFETCHPLUS: - .dw $ff03 - .db "b@+",0 - .dw VE_HEAD - .set VE_HEAD = VE_BFETCHPLUS -XT_BFETCHPLUS: - .dw PFA_BFETCHPLUS -PFA_BFETCHPLUS: - savetos - movw zl, bl - ld tosl, Z+ - ld tosh, Z+ - movw bl, zl - jmp_ DO_NEXT - -; ( -- n ) -; Extended VM -; Read memory pointed to by register B, decrement B by 1 cell (Extended VM) -VE_BFETCHMINUS: - .dw $ff03 - .db "b@-",0 - .dw VE_HEAD - .set VE_HEAD = VE_BFETCHMINUS -XT_BFETCHMINUS: - .dw PFA_BFETCHMINUS -PFA_BFETCHMINUS: - savetos - movw zl, bl - ld tosh, -Z - ld tosl, -Z - movw bl, zl - jmp_ DO_NEXT - -; ( n -- ) -; Extended VM -; Write memory pointed to by register B (Extended VM) -VE_BSTORE: - .dw $ff02 - .db "b!" - .dw VE_HEAD - .set VE_HEAD = VE_BSTORE -XT_BSTORE: - .dw PFA_BSTORE -PFA_BSTORE: - movw zl, bl - st Z+, tosl - st Z+, tosh - loadtos - jmp_ DO_NEXT - -; ( n offs -- ) -; Extended VM -; Write memory pointed to by register B plus offset (Extended VM) -VE_NBSTORE: - .dw $ff03 - .db "nb!",0 - .dw VE_HEAD - .set VE_HEAD = VE_NBSTORE -XT_NBSTORE: - .dw PFA_NBSTORE -PFA_NBSTORE: - movw zl, bl - add zl, tosl - adc zh, tosh - loadtos - st Z+, tosl - st Z+, tosh - loadtos - jmp_ DO_NEXT - -; ( -- n2 ) -; Extended VM -; Write memory pointed to by register B, increment B by 1 cell (Extended VM) -VE_BSTOREPLUS: - .dw $ff03 - .db "b!+",0 - .dw VE_HEAD - .set VE_HEAD = VE_BSTOREPLUS -XT_BSTOREPLUS: - .dw PFA_BSTOREPLUS -PFA_BSTOREPLUS: - movw zl, bl - st Z+, tosl - st Z+, tosh - loadtos - movw bl, zl - jmp_ DO_NEXT - -; ( -- n2 ) -; Extended VM -; Write memory pointed to by register B, decrement B by 1 cell (Extended VM) -VE_BSTOREMINUS: - .dw $ff03 - .db "b!-",0 - .dw VE_HEAD - .set VE_HEAD = VE_BSTOREMINUS -XT_BSTOREMINUS: - .dw PFA_BSTOREMINUS -PFA_BSTOREMINUS: - movw zl, bl - st -Z, tosh - st -Z, tosl - loadtos - movw bl, zl - jmp_ DO_NEXT - - - -; ( n -- ) -; Extended VM -; Write to B register (Extended VM) -VE_TO_B: - .dw $ff02 - .db ">b" - .dw VE_HEAD - .set VE_HEAD = VE_TO_B -XT_TO_B: - .dw PFA_TO_B -PFA_TO_B: - movw bl, tosl - loadtos - jmp_ DO_NEXT - -; ( n1 -- n2 ) -; Extended VM -; read the B register (Extended VM) -VE_B_FROM: - .dw $ff02 - .db "b>" - .dw VE_HEAD - .set VE_HEAD = VE_B_FROM -XT_B_FROM: - .dw PFA_B_FROM -PFA_B_FROM: - savetos - movw tosl, bl - jmp_ DO_NEXT - -; for more information read -; http://www.complang.tuwien.ac.at/anton/euroforth/ef08/papers/pelc.pdf -; adapted index based access from X/Y registers -; note: offset is byte address, not cell! diff --git a/amforth-6.5/avr8/words/rot.asm b/amforth-6.5/avr8/words/rot.asm deleted file mode 100644 index 298b79c..0000000 --- a/amforth-6.5/avr8/words/rot.asm +++ /dev/null @@ -1,22 +0,0 @@ -; ( n1 n2 n3 -- n2 n3 n1) -; Stack -; rotate the three top level cells -VE_ROT: - .dw $ff03 - .db "rot",0 - .dw VE_HEAD - .set VE_HEAD = VE_ROT -XT_ROT: - .dw PFA_ROT -PFA_ROT: - movw temp0, tosl - ld temp2, Y+ - ld temp3, Y+ - loadtos - - st -Y, temp3 - st -Y, temp2 - st -Y, temp1 - st -Y, temp0 - - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/rp0.asm b/amforth-6.5/avr8/words/rp0.asm deleted file mode 100644 index 1909f1c..0000000 --- a/amforth-6.5/avr8/words/rp0.asm +++ /dev/null @@ -1,27 +0,0 @@ -; ( -- addr) -; Stack -; start address of return stack -VE_RP0: - .dw $ff03 - .db "rp0",0 - .dw VE_HEAD - .set VE_HEAD = VE_RP0 -XT_RP0: - .dw DO_COLON -PFA_RP0: - .dw XT_DORP0 - .dw XT_FETCH - .dw XT_EXIT - -; ( -- addr) -; Stack -; user variable of the address of the initial return stack -;VE_DORP0: -; .dw $ff05 -; .db "(rp0)" -; .dw VE_HEAD -; .set VE_HEAD = VE_DORP0 -XT_DORP0: - .dw PFA_DOUSER -PFA_DORP0: - .dw USER_RP diff --git a/amforth-6.5/avr8/words/rpfetch.asm b/amforth-6.5/avr8/words/rpfetch.asm deleted file mode 100644 index 8d1cdb6..0000000 --- a/amforth-6.5/avr8/words/rpfetch.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( -- n) -; Stack -; current return stack pointer address -VE_RP_FETCH: - .dw $ff03 - .db "rp@",0 - .dw VE_HEAD - .set VE_HEAD = VE_RP_FETCH -XT_RP_FETCH: - .dw PFA_RP_FETCH -PFA_RP_FETCH: - savetos - in tosl, SPL - in tosh, SPH - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/rpstore.asm b/amforth-6.5/avr8/words/rpstore.asm deleted file mode 100644 index 2a3d778..0000000 --- a/amforth-6.5/avr8/words/rpstore.asm +++ /dev/null @@ -1,18 +0,0 @@ -; ( addr -- ) (R: -- x*y) -; Stack -; set return stack pointer -VE_RP_STORE: - .dw $ff03 - .db "rp!",0 - .dw VE_HEAD - .set VE_HEAD = VE_RP_STORE -XT_RP_STORE: - .dw PFA_RP_STORE -PFA_RP_STORE: - in temp2, SREG - cli - out SPL, tosl - out SPH, tosh - out SREG, temp2 - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/rshift.asm b/amforth-6.5/avr8/words/rshift.asm deleted file mode 100644 index e0e2231..0000000 --- a/amforth-6.5/avr8/words/rshift.asm +++ /dev/null @@ -1,22 +0,0 @@ -; ( n1 n2 -- n3 ) -; Arithmetics -; shift n1 n2-times logically right -VE_RSHIFT: - .dw $ff06 - .db "rshift" - .dw VE_HEAD - .set VE_HEAD = VE_RSHIFT -XT_RSHIFT: - .dw PFA_RSHIFT -PFA_RSHIFT: - movw zl, tosl - loadtos -PFA_RSHIFT1: - sbiw zl, 1 - brmi PFA_RSHIFT2 - lsr tosh - ror tosl - rjmp PFA_RSHIFT1 -PFA_RSHIFT2: - jmp_ DO_NEXT - diff --git a/amforth-6.5/avr8/words/scomma.asm b/amforth-6.5/avr8/words/scomma.asm deleted file mode 100644 index a5be0ca..0000000 --- a/amforth-6.5/avr8/words/scomma.asm +++ /dev/null @@ -1,56 +0,0 @@ -; ( addr len -- ) -; Compiler -; compiles a string from RAM to Flash -VE_SCOMMA: - .dw $ff02 - .db "s",$2c - .dw VE_HEAD - .set VE_HEAD = VE_SCOMMA -XT_SCOMMA: - .dw DO_COLON -PFA_SCOMMA: - .dw XT_DUP - .dw XT_DOSCOMMA - .dw XT_EXIT - -; ( addr len len' -- ) -; Compiler -; compiles a string from RAM to Flash -;VE_DOSCOMMA: -; .dw $ff04 -; .db "(s",$2c,")" -; .dw VE_HEAD -; .set VE_HEAD = VE_DOSCOMMA -XT_DOSCOMMA: - .dw DO_COLON -PFA_DOSCOMMA: - .dw XT_COMMA - .dw XT_DUP ; ( --addr len len) - .dw XT_2SLASH ; ( -- addr len len/2 - .dw XT_TUCK ; ( -- addr len/2 len len/2 - .dw XT_2STAR ; ( -- addr len/2 len len' - .dw XT_MINUS ; ( -- addr len/2 rem - .dw XT_TO_R - .dw XT_ZERO - .dw XT_QDOCHECK - .dw XT_DOCONDBRANCH - .dw PFA_SCOMMA2 - .dw XT_DODO -PFA_SCOMMA1: - .dw XT_DUP ; ( -- addr addr ) - .dw XT_FETCH ; ( -- addr c1c2 ) - .dw XT_COMMA ; ( -- addr ) - .dw XT_CELLPLUS ; ( -- addr+cell ) - .dw XT_DOLOOP - .dw PFA_SCOMMA1 -PFA_SCOMMA2: - .dw XT_R_FROM - .dw XT_GREATERZERO - .dw XT_DOCONDBRANCH - .dw PFA_SCOMMA3 - .dw XT_DUP ; well, tricky - .dw XT_CFETCH - .dw XT_COMMA -PFA_SCOMMA3: - .dw XT_DROP ; ( -- ) - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/set-current.asm b/amforth-6.5/avr8/words/set-current.asm deleted file mode 100644 index 334e167..0000000 --- a/amforth-6.5/avr8/words/set-current.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( wid -- ) -; Search Order -; set current word list to the given word list wid -VE_SET_CURRENT: - .dw $ff0b - .db "set-current",0 - .dw VE_HEAD - .set VE_HEAD = VE_SET_CURRENT -XT_SET_CURRENT: - .dw DO_COLON -PFA_SET_CURRENT: - .dw XT_DOLITERAL - .dw CFG_CURRENT - .dw XT_STOREE - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/slashmod.asm b/amforth-6.5/avr8/words/slashmod.asm deleted file mode 100644 index 2772651..0000000 --- a/amforth-6.5/avr8/words/slashmod.asm +++ /dev/null @@ -1,66 +0,0 @@ -; ( n1 n2 -- rem quot) -; Arithmetics -; signed division n1/n2 with remainder and quotient -VE_SLASHMOD: - .dw $ff04 - .db "/mod" - .dw VE_HEAD - .set VE_HEAD = VE_SLASHMOD -XT_SLASHMOD: - .dw PFA_SLASHMOD -PFA_SLASHMOD: - movw temp2, tosl - - ld temp0, Y+ - ld temp1, Y+ - - mov temp6,temp1 ;move dividend High to sign register - eor temp6,temp3 ;xor divisor High with sign register - sbrs temp1,7 ;if MSB in dividend set - rjmp PFA_SLASHMOD_1 - com temp1 ; change sign of dividend - com temp0 - subi temp0,low(-1) - sbci temp1,high(-1) -PFA_SLASHMOD_1: - sbrs temp3,7 ;if MSB in divisor set - rjmp PFA_SLASHMOD_2 - com temp3 ; change sign of divisor - com temp2 - subi temp2,low(-1) - sbci temp3,high(-1) -PFA_SLASHMOD_2: clr temp4 ;clear remainder Low byte - sub temp5,temp5;clear remainder High byte and carry - ldi temp7,17 ;init loop counter - -PFA_SLASHMOD_3: rol temp0 ;shift left dividend - rol temp1 - dec temp7 ;decrement counter - brne PFA_SLASHMOD_5 ;if done - sbrs temp6,7 ; if MSB in sign register set - rjmp PFA_SLASHMOD_4 - com temp1 ; change sign of result - com temp0 - subi temp0,low(-1) - sbci temp1,high(-1) -PFA_SLASHMOD_4: rjmp PFA_SLASHMODmod_done ; return -PFA_SLASHMOD_5: rol temp4 ;shift dividend into remainder - rol temp5 - sub temp4,temp2 ;remainder = remainder - divisor - sbc temp5,temp3 ; - brcc PFA_SLASHMOD_6 ;if result negative - add temp4,temp2 ; restore remainder - adc temp5,temp3 - clc ; clear carry to be shifted into result - rjmp PFA_SLASHMOD_3 ;else -PFA_SLASHMOD_6: sec ; set carry to be shifted into result - rjmp PFA_SLASHMOD_3 - -PFA_SLASHMODmod_done: - ; put remainder on stack - st -Y,temp5 - st -Y,temp4 - - ; put quotient on stack - movw tosl, temp0 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/sp0.asm b/amforth-6.5/avr8/words/sp0.asm deleted file mode 100644 index 324c1cf..0000000 --- a/amforth-6.5/avr8/words/sp0.asm +++ /dev/null @@ -1,27 +0,0 @@ -; ( -- addr) -; Stack -; start address of the data stack -VE_SP0: - .dw $ff03 - .db "sp0",0 - .dw VE_HEAD - .set VE_HEAD = VE_SP0 -XT_SP0: - .dw PFA_DOVALUE1 -PFA_SP0: - .dw USER_SP0 - .dw XT_UDEFERFETCH - .dw XT_UDEFERSTORE - -; ( -- addr) -; Stack -; address of user variable to store top-of-stack for inactive tasks -VE_SP: - .dw $ff02 - .db "sp" - .dw VE_HEAD - .set VE_HEAD = VE_SP -XT_SP: - .dw PFA_DOUSER -PFA_SP: - .dw USER_SP diff --git a/amforth-6.5/avr8/words/spfetch.asm b/amforth-6.5/avr8/words/spfetch.asm deleted file mode 100644 index 69a0709..0000000 --- a/amforth-6.5/avr8/words/spfetch.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- addr ) -; Stack -; current data stack pointer -VE_SP_FETCH: - .dw $ff03 - .db "sp@",0 - .dw VE_HEAD - .set VE_HEAD = VE_SP_FETCH -XT_SP_FETCH: - .dw PFA_SP_FETCH -PFA_SP_FETCH: - savetos - movw tosl, yl - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/spirw.asm b/amforth-6.5/avr8/words/spirw.asm deleted file mode 100644 index bd6616a..0000000 --- a/amforth-6.5/avr8/words/spirw.asm +++ /dev/null @@ -1,26 +0,0 @@ -; ( txbyte -- rxbyte) -; MCU -; SPI exchange of 1 byte -VE_SPIRW: - .dw $ff06 - .db "c!@spi" - .dw VE_HEAD - .set VE_HEAD = VE_SPIRW -XT_SPIRW: - .dw PFA_SPIRW -PFA_SPIRW: - rcall do_spirw - clr tosh - jmp_ DO_NEXT - -do_spirw: - out_ SPDR, tosl -do_spirw1: - in_ temp0, SPSR - cbr temp0,7 - out_ SPSR, temp0 - in_ temp0, SPSR - sbrs temp0, 7 - rjmp do_spirw1 ; wait until complete - in_ tosl, SPDR - ret diff --git a/amforth-6.5/avr8/words/spstore.asm b/amforth-6.5/avr8/words/spstore.asm deleted file mode 100644 index 004d348..0000000 --- a/amforth-6.5/avr8/words/spstore.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( addr -- i*x) -; Stack -; set data stack pointer to addr -VE_SP_STORE: - .dw $ff03 - .db "sp!",0 - .dw VE_HEAD - .set VE_HEAD = VE_SP_STORE -XT_SP_STORE: - .dw PFA_SP_STORE -PFA_SP_STORE: - movw yl, tosl - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/state.asm b/amforth-6.5/avr8/words/state.asm deleted file mode 100644 index 31895fd..0000000 --- a/amforth-6.5/avr8/words/state.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( -- addr ) -; System Variable -; system state -VE_STATE: - .dw $ff05 - .db "state",0 - .dw VE_HEAD - .set VE_HEAD = VE_STATE -XT_STATE: - .dw PFA_DOVARIABLE -PFA_STATE: - .dw ram_state - -.dseg -ram_state: .byte 2 -.cseg \ No newline at end of file diff --git a/amforth-6.5/avr8/words/store-e.asm b/amforth-6.5/avr8/words/store-e.asm deleted file mode 100644 index 45fff2a..0000000 --- a/amforth-6.5/avr8/words/store-e.asm +++ /dev/null @@ -1,66 +0,0 @@ -; ( n e-addr -- ) -; Memory -; write n (2bytes) to eeprom address -VE_STOREE: - .dw $ff02 - .db "!e" - .dw VE_HEAD - .set VE_HEAD = VE_STOREE -XT_STOREE: - .dw PFA_STOREE -PFA_STOREE: -.if WANT_UNIFIED == 1 - ldi zh, high(EEPROMEND) - ldi zl, low(EEPROMEND) - cp tosl, zl - cpc tosh, zh - brlt PFA_STOREE0 - brbs 1, PFA_STOREE0 - rjmp PFA_STOREE_OTHER -.endif -PFA_STOREE0: - movw zl, tosl - loadtos - in_ temp2, SREG - cli - rcall PFA_FETCHE2 - in_ temp0, EEDR - cp temp0,tosl - breq PFA_STOREE3 - rcall PFA_STOREE1 -PFA_STOREE3: - adiw zl,1 - rcall PFA_FETCHE2 - in_ temp0, EEDR - cp temp0,tosh - breq PFA_STOREE4 - mov tosl, tosh - rcall PFA_STOREE1 -PFA_STOREE4: - out_ SREG, temp2 - loadtos - jmp_ DO_NEXT - -PFA_STOREE1: - sbic EECR, EEPE - rjmp PFA_STOREE1 - -PFA_STOREE2: ; estore_wait_low_spm: - in_ temp0, SPMCSR - sbrc temp0,SPMEN - rjmp PFA_STOREE2 - - out_ EEARH,zh - out_ EEARL,zl - out_ EEDR, tosl - sbi EECR,EEMPE - sbi EECR,EEPE - - ret -.if WANT_UNIFIED == 1 -PFA_STOREE_OTHER: - adiw zl, 1 - sub tosl, zl - sbc tosh, zh - jmp_ PFA_STOREI -.endif diff --git a/amforth-6.5/avr8/words/store-i.asm b/amforth-6.5/avr8/words/store-i.asm deleted file mode 100644 index a56fce2..0000000 --- a/amforth-6.5/avr8/words/store-i.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( n addr -- ) -; System Value -; Deferred action to write a single 16bit cell to flash -VE_STOREI: - .dw $ff02 - .db "!i" - .dw VE_HEAD - .set VE_HEAD = VE_STOREI -XT_STOREI: - .dw PFA_DODEFER1 -PFA_STOREI: - .dw EE_STOREI - .dw XT_EDEFERFETCH - .dw XT_EDEFERSTORE diff --git a/amforth-6.5/avr8/words/store-i_big.asm b/amforth-6.5/avr8/words/store-i_big.asm deleted file mode 100644 index 422da39..0000000 --- a/amforth-6.5/avr8/words/store-i_big.asm +++ /dev/null @@ -1,129 +0,0 @@ -; ( n addr -- ) Memory -; R( -- ) -; writes a cell in flash -VE_DO_STOREI_BIG: - .dw $ff04 - .db "(i!)" - .dw VE_HEAD - .set VE_HEAD = VE_DO_STOREI_BIG -XT_DO_STOREI: - .dw PFA_DO_STOREI_BIG -PFA_DO_STOREI_BIG: - movw temp2, tosl ; save the (word) address - loadtos ; get the new value for the flash cell - push xl - push xh - push yl - push yh - ldi zl, byte3(DO_STOREI_atmega) - out_ rampz, zl - ldi zh, byte2(DO_STOREI_atmega) - ldi zl, byte1(DO_STOREI_atmega) - eicall - pop yh - pop yl - pop xh - pop xl - ; finally clear the stack - loadtos - jmp_ DO_NEXT - -; -.set _pc = pc -.org NRWW_START_ADDR -DO_STOREI_atmega: - ; write data to temp page buffer - ; use the values in tosl/tosh at the - ; appropiate place - rcall pageload - - ; erase page if needed - ; it is needed if a bit goes from 0 to 1 - com temp4 - com temp5 - and tosl, temp4 - and tosh, temp5 - or tosh, tosl - breq DO_STOREI_writepage - - movw zl, temp2 - ldi temp0,(1<body",0 - .dw VE_HEAD - .set VE_HEAD = VE_TO_BODY -XT_TO_BODY: - .dw PFA_1PLUS diff --git a/amforth-6.5/avr8/words/to_r.asm b/amforth-6.5/avr8/words/to_r.asm deleted file mode 100644 index 3e038de..0000000 --- a/amforth-6.5/avr8/words/to_r.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( n -- ) (R: -- n) -; Stack -; move TOS to TOR -VE_TO_R: - .dw $ff02 - .db ">r" - .dw VE_HEAD - .set VE_HEAD = VE_TO_R -XT_TO_R: - .dw PFA_TO_R -PFA_TO_R: - push tosh - push tosl - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/true.asm b/amforth-6.5/avr8/words/true.asm deleted file mode 100644 index 9b64014..0000000 --- a/amforth-6.5/avr8/words/true.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( -- -1 ) -; Arithmetics -; leaves the value -1 (true) on TOS -VE_TRUE: - .dw $ff04 - .db "true" - .dw VE_HEAD - .set VE_HEAD = VE_TRUE -XT_TRUE: - .dw PFA_TRUE -PFA_TRUE: - savetos -PFA_TRUE1: - ser tosl - ser tosh - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/turnkey.asm b/amforth-6.5/avr8/words/turnkey.asm deleted file mode 100644 index 6f8e0c4..0000000 --- a/amforth-6.5/avr8/words/turnkey.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- n*y ) -; System Value -; Deferred action during startup/reset -VE_TURNKEY: - .dw $ff07 - .db "turnkey",0 - .dw VE_HEAD - .set VE_HEAD = VE_TURNKEY -XT_TURNKEY: - .dw PFA_DODEFER1 -PFA_TURNKEY: - .dw CFG_TURNKEY - .dw XT_EDEFERFETCH - .dw XT_EDEFERSTORE diff --git a/amforth-6.5/avr8/words/ubrr.asm b/amforth-6.5/avr8/words/ubrr.asm deleted file mode 100644 index 40f4304..0000000 --- a/amforth-6.5/avr8/words/ubrr.asm +++ /dev/null @@ -1,14 +0,0 @@ -; ( -- v) -; MCU -; returns usart UBRR settings -VE_UBRR: - .dw $ff04 - .db "ubrr" - .dw VE_HEAD - .set VE_HEAD = VE_UBRR -XT_UBRR: - .dw PFA_DOVALUE1 -PFA_UBRR: ; ( -- ) - .dw EE_UBRRVAL - .dw XT_EDEFERFETCH - .dw XT_EDEFERSTORE diff --git a/amforth-6.5/avr8/words/uless.asm b/amforth-6.5/avr8/words/uless.asm deleted file mode 100644 index 69d5a6b..0000000 --- a/amforth-6.5/avr8/words/uless.asm +++ /dev/null @@ -1,18 +0,0 @@ -; ( u1 u2 -- flasg) -; Compare -; true if u1 < u2 (unsigned) -VE_ULESS: - .dw $ff02 - .db "u<" - .dw VE_HEAD - .set VE_HEAD = VE_ULESS -XT_ULESS: - .dw PFA_ULESS -PFA_ULESS: - ld temp2, Y+ - ld temp3, Y+ - cp tosl, temp2 - cpc tosh, temp3 - brlo PFA_ZERO1 - brbs 1, PFA_ZERO1 - jmp_ PFA_TRUE1 diff --git a/amforth-6.5/avr8/words/umslashmod.asm b/amforth-6.5/avr8/words/umslashmod.asm deleted file mode 100644 index 6adfbb1..0000000 --- a/amforth-6.5/avr8/words/umslashmod.asm +++ /dev/null @@ -1,62 +0,0 @@ -; ( ud u2 -- rem quot) -; Arithmetics -; unsigned division ud / u2 with remainder -VE_UMSLASHMOD: - .dw $ff06 - .db "um/mod" - .dw VE_HEAD - .set VE_HEAD = VE_UMSLASHMOD -XT_UMSLASHMOD: - .dw PFA_UMSLASHMOD -PFA_UMSLASHMOD: - movw temp4, tosl - - ld temp2, Y+ - ld temp3, Y+ - - ld temp0, Y+ - ld temp1, Y+ - -;; unsigned 32/16 -> 16r16 divide - -PFA_UMSLASHMODmod: - - ; set loop counter - ldi temp6,$10 - -PFA_UMSLASHMODmod_loop: - ; shift left, saving high bit - clr temp7 - lsl temp0 - rol temp1 - rol temp2 - rol temp3 - rol temp7 - - ; try subtracting divisor - cp temp2, temp4 - cpc temp3, temp5 - cpc temp7,zerol - - brcs PFA_UMSLASHMODmod_loop_control - -PFA_UMSLASHMODmod_subtract: - ; dividend is large enough - ; do the subtraction for real - ; and set lowest bit - inc temp0 - sub temp2, temp4 - sbc temp3, temp5 - -PFA_UMSLASHMODmod_loop_control: - dec temp6 - brne PFA_UMSLASHMODmod_loop - -PFA_UMSLASHMODmod_done: - ; put remainder on stack - st -Y,temp3 - st -Y,temp2 - - ; put quotient on stack - movw tosl, temp0 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/umstar.asm b/amforth-6.5/avr8/words/umstar.asm deleted file mode 100644 index ee53c87..0000000 --- a/amforth-6.5/avr8/words/umstar.asm +++ /dev/null @@ -1,37 +0,0 @@ -; ( u1 u2 -- d) -; Arithmetics -; multiply 2 unsigned cells to a double cell -VE_UMSTAR: - .dw $ff03 - .db "um*",0 - .dw VE_HEAD - .set VE_HEAD = VE_UMSTAR -XT_UMSTAR: - .dw PFA_UMSTAR -PFA_UMSTAR: - movw temp0, tosl - loadtos - ; result: (temp3*temp1)* 65536 + (temp3*temp0 + temp1*temp2) * 256 + (temp0 * temp2) - ; low bytes - mul tosl,temp0 - movw zl, r0 - clr temp2 - clr temp3 - ; middle bytes - mul tosh, temp0 - add zh, r0 - adc temp2, r1 - adc temp3, zeroh - - mul tosl, temp1 - add zh, r0 - adc temp2, r1 - adc temp3, zeroh - - mul tosh, temp1 - add temp2, r0 - adc temp3, r1 - movw tosl, zl - savetos - movw tosl, temp2 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/unloop.asm b/amforth-6.5/avr8/words/unloop.asm deleted file mode 100644 index f4fb4bc..0000000 --- a/amforth-6.5/avr8/words/unloop.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( -- ) (R: loop-sys -- ) -; Compiler -; remove loop-sys, exit the loop and continue execution after it -VE_UNLOOP: - .dw $ff06 - .db "unloop" - .dw VE_HEAD - .set VE_HEAD = VE_UNLOOP -XT_UNLOOP: - .dw PFA_UNLOOP -PFA_UNLOOP: - pop temp1 - pop temp0 - pop temp1 - pop temp0 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/unused.asm b/amforth-6.5/avr8/words/unused.asm deleted file mode 100644 index 16566d4..0000000 --- a/amforth-6.5/avr8/words/unused.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( -- n ) -; Tools -; Amount of available RAM (incl. PAD) -VE_UNUSED: - .dw $ff06 - .db "unused" - .dw VE_HEAD - .set VE_HEAD = VE_UNUSED -XT_UNUSED: - .dw DO_COLON -PFA_UNUSED: - .dw XT_SP_FETCH - .dw XT_HERE - .dw XT_MINUS - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/up.asm b/amforth-6.5/avr8/words/up.asm deleted file mode 100644 index 0edfc01..0000000 --- a/amforth-6.5/avr8/words/up.asm +++ /dev/null @@ -1,29 +0,0 @@ -; ( -- addr ) -; System Variable -; get user area pointer -VE_UP_FETCH: - .dw $ff03 - .db "up@",0 - .dw VE_HEAD - .set VE_HEAD = VE_UP_FETCH -XT_UP_FETCH: - .dw PFA_UP_FETCH -PFA_UP_FETCH: - savetos - movw tosl, upl - jmp_ DO_NEXT - -; ( addr -- ) -; System Variable -; set user area pointer -VE_UP_STORE: - .dw $ff03 - .db "up!",0 - .dw VE_HEAD - .set VE_HEAD = VE_UP_STORE -XT_UP_STORE: - .dw PFA_UP_STORE -PFA_UP_STORE: - movw upl, tosl - loadtos - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/usart-rx-poll.asm b/amforth-6.5/avr8/words/usart-rx-poll.asm deleted file mode 100644 index 9896175..0000000 --- a/amforth-6.5/avr8/words/usart-rx-poll.asm +++ /dev/null @@ -1,42 +0,0 @@ -; (c -- ) -; MCU -; wait for one character and read it from the terminal connection using register poll -VE_RX_POLL: - .dw $ff07 - .db "rx-poll",0 - .dw VE_HEAD - .set VE_HEAD = VE_RX_POLL -XT_RX_POLL: - .dw DO_COLON -PFA_RX_POLL: - ; wait for data ready - .dw XT_RXQ_POLL - .dw XT_DOCONDBRANCH - .dw PFA_RX_POLL - ; send to usart - .dw XT_DOLITERAL - .dw USART_DATA - .dw XT_CFETCH - .dw XT_EXIT - -; ( -- f) -; MCU -; check if a unread character in the input device is available -VE_RXQ_POLL: - .dw $ff08 - .db "rx?-poll" - .dw VE_HEAD - .set VE_HEAD = VE_RXQ_POLL -XT_RXQ_POLL: - .dw DO_COLON -PFA_RXQ_POLL: - .dw XT_PAUSE - .dw XT_DOLITERAL - .dw bm_USART_RXRD - .dw XT_DUP - .dw XT_DOLITERAL - .dw USART_A - .dw XT_CFETCH - .dw XT_AND - .dw XT_EQUAL - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/usart-tx-poll.asm b/amforth-6.5/avr8/words/usart-tx-poll.asm deleted file mode 100644 index a33e8fb..0000000 --- a/amforth-6.5/avr8/words/usart-tx-poll.asm +++ /dev/null @@ -1,40 +0,0 @@ -; (c -- ) -; MCU -; check availability and send one character to the terminal using register poll -VE_TX_POLL: - .dw $ff07 - .db "tx-poll",0 - .dw VE_HEAD - .set VE_HEAD = VE_TX_POLL -XT_TX_POLL: - .dw DO_COLON -PFA_TX_POLL: - ; wait for data ready - .dw XT_TXQ_POLL - .dw XT_DOCONDBRANCH - .dw PFA_TX_POLL - ; send to usart - .dw XT_DOLITERAL - .dw USART_DATA - .dw XT_CSTORE - .dw XT_EXIT - -; ( -- f) MCU -; MCU -; check if a character can be send using register poll -VE_TXQ_POLL: - .dw $ff08 - .db "tx?-poll" - .dw VE_HEAD - .set VE_HEAD = VE_TXQ_POLL -XT_TXQ_POLL: - .dw DO_COLON -PFA_TXQ_POLL: - .dw XT_PAUSE - .dw XT_DOLITERAL - .dw USART_A - .dw XT_CFETCH - .dw XT_DOLITERAL - .dw bm_USART_TXRD - .dw XT_AND - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/usart.asm b/amforth-6.5/avr8/words/usart.asm deleted file mode 100644 index f14e62f..0000000 --- a/amforth-6.5/avr8/words/usart.asm +++ /dev/null @@ -1,41 +0,0 @@ -; ( -- ) -; MCU -; initialize usart -VE_USART: - .dw $ff06 - .db "+usart" - .dw VE_HEAD - .set VE_HEAD = VE_USART -XT_USART: - .dw DO_COLON -PFA_USART: ; ( -- ) - - .dw XT_DOLITERAL - .dw USART_B_VALUE - .dw XT_DOLITERAL - .dw USART_B - .dw XT_CSTORE - - .dw XT_DOLITERAL - .dw USART_C_VALUE - .dw XT_DOLITERAL - .dw USART_C | bm_USARTC_en - .dw XT_CSTORE - - .dw XT_UBRR - .dw XT_DUP - .dw XT_BYTESWAP - .dw XT_DOLITERAL - .dw BAUDRATE_HIGH - .dw XT_CSTORE - .dw XT_DOLITERAL - .dw BAUDRATE_LOW - .dw XT_CSTORE -.if XT_USART_INIT_RX!=0 - .dw XT_USART_INIT_RX -.endif -.if XT_USART_INIT_TX!=0 - .dw XT_USART_INIT_TX -.endif - - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/user.asm b/amforth-6.5/avr8/words/user.asm deleted file mode 100644 index c11f600..0000000 --- a/amforth-6.5/avr8/words/user.asm +++ /dev/null @@ -1,18 +0,0 @@ -; ( n cchar -- ) -; Compiler -; create a dictionary entry for a user variable at offset n -VE_USER: - .dw $ff04 - .db "user" - .dw VE_HEAD - .set VE_HEAD = VE_USER -XT_USER: - .dw DO_COLON -PFA_USER: - .dw XT_DOCREATE - .dw XT_REVEAL - - .dw XT_COMPILE - .dw PFA_DOUSER - .dw XT_COMMA - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/uslashmod.asm b/amforth-6.5/avr8/words/uslashmod.asm deleted file mode 100644 index 0d9b5aa..0000000 --- a/amforth-6.5/avr8/words/uslashmod.asm +++ /dev/null @@ -1,16 +0,0 @@ -; (u1 u2 -- rem quot) -; Arithmetics -; unsigned division with remainder -VE_USLASHMOD: - .dw $ff05 - .db "u/mod",0 - .dw VE_HEAD - .set VE_HEAD = VE_USLASHMOD -XT_USLASHMOD: - .dw DO_COLON -PFA_USLASHMOD: - .dw XT_TO_R - .dw XT_ZERO - .dw XT_R_FROM - .dw XT_UMSLASHMOD - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/wdr.asm b/amforth-6.5/avr8/words/wdr.asm deleted file mode 100644 index b2c78f6..0000000 --- a/amforth-6.5/avr8/words/wdr.asm +++ /dev/null @@ -1,13 +0,0 @@ -; ( -- ) -; MCU -; calls the MCU watch dog reset instruction -VE_WDR: - .dw $ff03 - .db "wdr",0 - .dw VE_HEAD - .set VE_HEAD = VE_WDR -XT_WDR: - .dw PFA_WDR -PFA_WDR: - wdr - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/wlscope.asm b/amforth-6.5/avr8/words/wlscope.asm deleted file mode 100644 index cbef8c2..0000000 --- a/amforth-6.5/avr8/words/wlscope.asm +++ /dev/null @@ -1,22 +0,0 @@ -; ( addr len -- addr' len' wid ) -; Compiler -; dynamically place a word in a wordlist. The word name may be changed. -VE_WLSCOPE: - .dw $ff07 - .db "wlscope",0 - .dw VE_HEAD - .set VE_HEAD = VE_WLSCOPE -XT_WLSCOPE: - .dw PFA_DODEFER1 -PFA_WLSCOPE: - .dw CFG_WLSCOPE - .dw XT_EDEFERFETCH - .dw XT_EDEFERSTORE - -; wlscope, "wordlist scope" ( addr len -- addr' len' wid ), is a deferred word -; which enables the AmForth application to choose the wordlist ( wid ) for the -; new voc entry based on the input ( addr len ) string. The name of the new voc -; entry ( addr' len' ) may be different from the input string. Note that all -; created voc entry types pass through the wlscope mechanism. The default -; wlscope action passes the input string to the output without modification and -; uses get-current to select the wid. diff --git a/amforth-6.5/avr8/words/wordlist.asm b/amforth-6.5/avr8/words/wordlist.asm deleted file mode 100644 index d5d2980..0000000 --- a/amforth-6.5/avr8/words/wordlist.asm +++ /dev/null @@ -1,20 +0,0 @@ -; ( -- wid ) -; Search Order -; create a new, empty wordlist -VE_WORDLIST: - .dw $ff08 - .db "wordlist" - .dw VE_HEAD - .set VE_HEAD = VE_WORDLIST -XT_WORDLIST: - .dw DO_COLON -PFA_WORDLIST: - .dw XT_EHERE - .dw XT_ZERO - .dw XT_OVER - .dw XT_STOREE - .dw XT_DUP - .dw XT_CELLPLUS - .dw XT_DOTO - .dw PFA_EHERE - .dw XT_EXIT diff --git a/amforth-6.5/avr8/words/xor.asm b/amforth-6.5/avr8/words/xor.asm deleted file mode 100644 index 337259c..0000000 --- a/amforth-6.5/avr8/words/xor.asm +++ /dev/null @@ -1,16 +0,0 @@ -; ( n1 n2 -- n3) -; Logic -; exclusive or -VE_XOR: - .dw $ff03 - .db "xor",0 - .dw VE_HEAD - .set VE_HEAD = VE_XOR -XT_XOR: - .dw PFA_XOR -PFA_XOR: - ld temp0, Y+ - ld temp1, Y+ - eor tosl, temp0 - eor tosh, temp1 - jmp_ DO_NEXT diff --git a/amforth-6.5/avr8/words/zero.asm b/amforth-6.5/avr8/words/zero.asm deleted file mode 100644 index a03942c..0000000 --- a/amforth-6.5/avr8/words/zero.asm +++ /dev/null @@ -1,15 +0,0 @@ -; ( -- 0 ) -; Arithmetics -; place a value 0 on TOS -VE_ZERO: - .dw $ff01 - .db "0",0 - .dw VE_HEAD - .set VE_HEAD = VE_ZERO -XT_ZERO: - .dw PFA_ZERO -PFA_ZERO: - savetos -PFA_ZERO1: - movw tosl, zerol - jmp_ DO_NEXT -- cgit v1.2.3