mengstr / cpm8266

Z80-CP/M2.2 emulation on ESP8266 NONOS SDK + the NoSDK from cnlohr
MIT License
124 stars 24 forks source link

Version requirements for esp-open-sdk? #21

Open howardjones opened 6 years ago

howardjones commented 6 years ago

Are there specific version requirements for esp-open-sdk? I just tried to build cpm8266 with the current versions of it and esp-open-sdk, and the cpm8266 Makefile pukes immediately:

In file included from main.c:3:0:
espincludes.h:39:6: error: conflicting types for 'ets_isr_attach'
 void ets_isr_attach(int intr, void *handler, void *arg);
      ^
In file included from /home/howie/Work/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/include/os_type.h:28:0,
                 from main.c:2:
/home/howie/Work/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/include/ets_sys.h:67:6: note: previous declaration of 'ets_isr_attach' was here
 void ets_isr_attach(int i, ets_isr_t func, void *arg);
      ^
Makefile:109: recipe for target 'main.o' failed
make: *** [main.o] Error 1

Commenting line 39 of espincludes.h resolves it, as your prototype doesn't match the one the library provides.

mengstr commented 6 years ago

Looking at my old sdk installation it seems like it's ESP8266_NONOS_SDK_V2.0.0_16_07_19 I was using back then. I guess it's been a while since I did anything with this ;-)

I'll download the new sdk and fix the include to work both for the old and the new one.

Thanks for reporting this.

drawkula commented 6 years ago

I have ESP8266_NONOS_SDK-2.1.0-18-g61248df installed and could build CPM8266 after a few changes: cpm8266-master-2-local.diff.gz

cpm8266 - Z80 Emulator and CP/M 2.2 system version 0.4

62K CP/M v2.2 [cpm8266 v0.4 - SmallRoomLabs]

a>dir
A: ASM      COM : CRC      COM : CRC      MAC : DDT      COM
A: DDTZ     COM : DUMP     COM : ED       COM : FILES    TXT
A: LOAD     COM : PIP      COM : STAT     COM : SUBMIT   COM
A: XR       COM : XS       COM : XSUB     COM : FREE     SUB
A: ZDE      COM
a>█

I haven't tested it intensively yet because real life is calling. Especially, I did not test the changes against other versions of the SDK.