Hi all, I'm trying to build amforth-6.5 by following the instructions under *http://amforth.sourceforge.net/UG/quick-windows.html* <http://amforth.sourceforge.net/UG/quick-windows.html> but with no success. It seems too much has changed in the last four years. After a few hours I just seem to be getting further into trouble. I'm ready to give up but as a last resort thought I'd ask for help.
What I did was extract amforth in a e:\amforth and added the avrasm2.exe file and the appnotes2 folder which holds all the definition files for the avr family. This gives me a starting directory structure like this: Directory of E:\amforth 21/07/2017 01:27 PM <DIR> . 21/07/2017 01:27 PM <DIR> .. 01/05/2017 02:09 AM <DIR> appl 21/07/2017 12:41 PM <DIR> Appnotes2 01/05/2017 02:13 AM <DIR> avr8 18/06/2012 09:47 PM 410,112 avrasm2.exe 01/05/2017 02:09 AM <DIR> common 01/05/2017 02:12 AM <DIR> doc 01/05/2017 02:09 AM <DIR> examples 29/10/2014 04:17 AM 35,147 LICENSE.txt 01/05/2017 02:09 AM <DIR> msp430 27/06/2016 02:46 AM 1,944 readme.txt 01/05/2017 02:09 AM <DIR> tests 01/05/2017 02:12 AM <DIR> tools Since I am not using the msp430 chip I delete that folder completely. I now copy from amforth\appl\arduino the following into the project directory: uno.asm, dict_appl_code.inc, dict_appl.inc, and the words directory I then navigate to E:\amforth\avr8\devices\atmega328p and copy device.asm and device.inc into the amforth directory.I edit uno.asm and save as myproj.asm. I create a batch file, make.bat, containing the following line: avrasm2.exe -fI -o myproj.hex -e myproj.eep -l myproj.lst -I .\ -I amforth\common -I amforth\avr8 -I include -v0 myproj.asm My project structure now looks like Directory of E:\amforth 21/07/2017 01:40 PM <DIR> . 21/07/2017 01:40 PM <DIR> .. 01/05/2017 02:09 AM <DIR> appl 21/07/2017 12:41 PM <DIR> Appnotes2 01/05/2017 02:13 AM <DIR> avr8 18/06/2012 09:47 PM 410,112 avrasm2.exe 01/05/2017 02:09 AM <DIR> common 26/07/2012 02:50 AM 2,233 device.asm 26/07/2012 02:50 AM 15,724 device.inc 06/12/2014 02:56 AM 197 dict_appl.inc 19/05/2014 11:47 PM 60 dict_appl_core.inc 01/05/2017 02:12 AM <DIR> doc 01/05/2017 02:09 AM <DIR> examples 29/10/2014 04:17 AM 35,147 LICENSE.txt 21/07/2017 01:39 PM 124 make.bat 21/07/2017 01:15 PM 577 Myproj.asm 21/07/2017 01:40 PM 1,200 myproj.lst 27/06/2016 02:46 AM 1,944 readme.txt 01/05/2017 02:09 AM <DIR> tests 01/05/2017 02:12 AM <DIR> tools 19/05/2014 02:29 AM 361 uno.asm 21/07/2017 01:33 PM <DIR> words When I run make.bat from the command prompt I get: E:\amforth>make E:\amforth>avrasm2.exe -fI -o myproj.hex -e myproj.eep -l myproj.lst -I .\ -I amforth\common -I amforth\avr8 -I include -v0 myproj.asm avr8\preamble.inc(2): error: Cannot find include file: macros.asm myproj.asm(16): error: Cannot find include file: words\usart_0.asm avr8\amforth.asm(9): error: jmp_: Unknown instruction or macro avr8\amforth.asm(9): error: PFA_COLD: Unknown instruction or macro avr8\amforth.asm(12): error: Cannot find include file: drivers/generic-isr.asm avr8\amforth.asm(14): error: Cannot find include file: dict/rww.inc dict_appl.inc(4): error: Cannot find include file: dict/compiler2.inc avr8\amforth.asm(23): error: Cannot find include file: amforth-interpreter.asm avr8\amforth.asm(24): error: Cannot find include file: dict/nrww.inc avr8\amforth.asm(36): error: Cannot find include file: amforth-eeprom.inc Assembly failed, 10 errors, 0 warnings E:\amforth> So let's look at the errors one by one. avr8\preamble.inc(2): error: Cannot find include file: macros.asm preamble.inc(2) has the instruction .include "macros.asm" Could this be working for anyone when this file sits in the AVR8 folder? I assume the command should read .include "avr8\macros.asm" myproj.asm(16): error: Cannot find include file: words\usart_0.asm I used uno.asm as a template for myproj.asm. I had already worked out that some changes were need in the template i.e. .include "preamble.inc" had to change to be .include "avr8\preamble.inc" .include "amforth.asm" had to change to be .include "avr8\amforth.asm" So I also change .include "words\usart_0.asm" to be .include "avr8\drivers\usart_0.asm" With just these changes I re-run make.bat and get: E:\amforth>make E:\amforth>avrasm2.exe -fI -o myproj.hex -e myproj.eep -l myproj.lst -I .\ -I amforth\common -I amforth\avr8 -I include -v0 myproj.asm avr8\macros.asm(6): error: Cannot find include file: user.inc avr8\drivers\usart_0.asm(32): error: Cannot find include file: drivers/usart_common.asm avr8\amforth.asm(12): error: Cannot find include file: drivers/generic-isr.asm avr8\amforth.asm(14): error: Cannot find include file: dict/rww.inc dict_appl.inc(4): error: Cannot find include file: dict/compiler2.inc avr8\amforth.asm(23): error: Cannot find include file: amforth-interpreter.asm avr8\amforth.asm(24): error: Cannot find include file: dict/nrww.inc avr8\amforth.asm(36): error: Cannot find include file: amforth-eeprom.inc Assembly failed, 8 errors, 0 warnings E:\amforth> Once again plenty of errors caused by an incorrect? path for the file being called. Either there is something wrong with my approach or the distribution has fundamental flaws. It would be a shame to see such a lot of hard work get thrown out but the distribution is starting to look like it does not match whatever the authors used. Over to you.. Kind regards Richard ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel