box64 icon indicating copy to clipboard operation
box64 copied to clipboard

CE C Toolchain Unimplemented Opcode

Open LeonLeBreton opened this issue 3 years ago • 5 comments

Hi, I have an error when trying to use CE C Toolchain to compile. Platform : Raspberry Pi 400 Error : Unimplemented Opcode (04) 67 C7 00 09 00 00 00 58 67 8B 08 67 83 08 01

Log : Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096 Box64 with Dynarec v0.1.9 c8d4d3b built on May 15 2022 12:50:52 Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/ Using default BOX64_PATH: ./:bin/ Counted 58 Env var Looking for /usr/bin/fasmg argv[1]="-n" argv[2]="/usr/meta/ld.alm" argv[3]="-i" argv[4]="DEBUG := 0" argv[5]="-i" argv[6]="HAS_PRINTF := 1" argv[7]="-i" argv[8]="HAS_LIBC := 1" argv[9]="-i" argv[10]="HAS_LIBCXX := 1" argv[11]="-i" argv[12]="PREFER_OS_CRT := 0" argv[13]="-i" argv[14]="PREFER_OS_LIBC := 1" argv[15]="-i" argv[16]="include "/usr/meta/linker_script"" argv[17]="-i" argv[18]="range .bss $D052C6 : $D13FD8" argv[19]="-i" argv[20]="provide __stack = $D1A87E" argv[21]="-i" argv[22]="locate .header at $D1A87F" argv[23]="-i" argv[24]="map" argv[25]="-i" argv[26]="source "obj/icon.src", "/usr/lib/crt/crt0.src", "obj/lto.src"" argv[27]="-i" argv[28]="library "/usr/lib/libload/fileioc.lib", "/usr/lib/libload/fontlibc.lib", "/usr/lib/libload/graphx.lib", "/usr/lib/libload/keypadc.lib"" argv[29]="bin/DEMO.bin" 13783|0x400992: Unimplemented Opcode (04) 67 C7 00 09 00 00 00 58 67 8B 08 67 83 08 01

LeonLeBreton avatar Jun 11 '22 11:06 LeonLeBreton

I have added to opcode, you can update and try again.

ptitSeb avatar Jun 11 '22 11:06 ptitSeb

I have another Unimplemented Opcode at the same place Unimplemented Opcode (08) 67 83 08 01 83 C0 08 83 E9 08 C3 67 8B 10 29

Log: Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096 Box64 with Dynarec v0.1.9 7ac8d7d built on Jun 11 2022 14:42:45 Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/ Using default BOX64_PATH: ./:bin/ Counted 58 Env var Looking for /home/pi/Documents/CEdev-Linux/CEdev/bin/fasmg argv[1]="-n" argv[2]="/home/pi/Documents/CEdev-Linux/CEdev/meta/ld.alm" argv[3]="-i" argv[4]="DEBUG := 0" argv[5]="-i" argv[6]="HAS_PRINTF := 1" argv[7]="-i" argv[8]="HAS_LIBC := 1" argv[9]="-i" argv[10]="HAS_LIBCXX := 1" argv[11]="-i" argv[12]="PREFER_OS_CRT := 0" argv[13]="-i" argv[14]="PREFER_OS_LIBC := 1" argv[15]="-i" argv[16]="include "/home/pi/Documents/CEdev-Linux/CEdev/meta/linker_script"" argv[17]="-i" argv[18]="range .bss $D052C6 : $D13FD8" argv[19]="-i" argv[20]="provide __stack = $D1A87E" argv[21]="-i" argv[22]="locate .header at $D1A87F" argv[23]="-i" argv[24]="map" argv[25]="-i" argv[26]="source "obj/icon.src", "/home/pi/Documents/CEdev-Linux/CEdev/lib/crt/crt0.src", "obj/lto.src"" argv[27]="-i" argv[28]="library "/home/pi/Documents/CEdev-Linux/CEdev/lib/libload/fileioc.lib", "/home/pi/Documents/CEdev-Linux/CEdev/lib/libload/fontlibc.lib", "/home/pi/Documents/CEdev-Linux/CEdev/lib/libload/graphx.lib", "/home/pi/Documents/CEdev-Linux/CEdev/lib/libload/keypadc.lib"" argv[29]="bin/DEMO.bin" 4383|0x40099d: Unimplemented Opcode (08) 67 83 08 01 83 C0 08 83 E9 08 C3 67 8B 10 29

LeonLeBreton avatar Jun 11 '22 13:06 LeonLeBreton

Ok, I have added this one too.

ptitSeb avatar Jun 11 '22 14:06 ptitSeb

I have this one now : Unimplemented Opcode (15) 67 3B 08 0F 86 9F 00 00 00 67 8B 40 0C 3B 05

LeonLeBreton avatar Jun 11 '22 15:06 LeonLeBreton

The problematic executable in question is fasmg, an assembler engine that is used as an eZ80 assembler&linker, itself written in x86 assembly (the rest of the toolchain can be compiled for arm just fine, but well, this one program is written in assembly).

A download link for fasmg is at the bottom of https://flatassembler.net/download.php (note you need fasmg, not fasm or fasmarm).

For faster feedback & testing, an example of a program that builds with just fasmg, without the rest of the toolchain, is MateoC's Cesium (make sure to clone with --recurse-submodules).

Right now, the unimplemented opcode error on this build is (67 8D 3C 08) 67 87 08 83 E1 FE 67 8D 34 08 67 8B 4E 0C 67.

EDIT: by the way, if anyone wants to get fasmg working right now, it seems to work fine on FEX (even without a rootfs), and I got jacobly (CE C toolchain developer) to somehow create a native aarch64 binary (that is slightly slower than FEX, though, but it seems he's still working on it).

fghsgh avatar Aug 07 '22 16:08 fghsgh