zu2

Results 10 issues of zu2

As far as I know, there are four emulators available at present: j68, bm2, eBasicmasterJr, and MAME. It seems that there was also the eMB688x, which is no longer available....

The number of 6800 instruction cycles listed in the 6800 emulator's clock_count table is incorrect. This has been corrected from the MOTOROLA M6800 Microprocessor Applications Manual. --- 6800.c.old 2024-08-19 05:47:45...

bug

The number of 6800 instruction cycles listed in the clock_count table for the 6800 emulator was still incorrect. This has been corrected from the MOTOROLA M6800 Microprocessor Applications Manual. ```...

``` --- ../Fuzix-Compiler-Kit/be-code-6800.c 2024-10-11 05:18:39 +++ be-code-6800.c 2024-10-11 17:44:23 @@ -714,7 +714,7 @@ case T_LSTORE: case T_LREF: off = make_local_ptr(v + off, 254); - uniop_on_ptr(op, off, 2); + uniop_on_ptr(op, off,...

support6800/__addxconst.s is slow, so use inx/dex instead. It is better to be able to change the number of inx/dex depending on the optimization level. ``` --- ../Fuzix-Compiler-Kit/be-codegen-6800.c 2024-10-07 15:42:20 +++...

I couldn't decide whether it would be better to save A and B on the caller side or on the __abx/adx side. Here, pshb/psha are omitted as they are saved...

The following program returns -1 and 0. 0 is correct. Division always truncates toward 0 (C99). But shifting truncates toward negative infinity, so the values ​​may differ for negative numbers....

T_AND/T_OR long and T_PLUS int/long ``` --- ../Fuzix-Compiler-Kit/be-codegen-6800.c 2024-10-07 15:42:20 +++ be-codegen-6800.c 2024-10-10 23:23:38 @@ -478,7 +478,7 @@ } return write_opd(r, "sub", "sbc", 0); case T_AND: - if (r->op ==...

Problems encountered in test/tests/0601-register.c test on MC6800 CPU. ``` int test_cast(void) { static int buf; register char *p = (char *)&buf; *(int *)p = 0x1234; return buf; } ``` When...

``` --- ../Fuzix-Compiler-Kit/support6800/__xdiveq.s 2024-10-02 15:56:16 +++ support6800/__xdiveq.s 2024-10-08 17:07:08 @@ -19,10 +19,9 @@ bsr absd staa @tmp stab @tmp+1 - ldaa ,x ldab 1,x - bita #0x80 - bne negmod...