[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: apple2-v003-linux.tar.gz



> > gcc  -I/usr/include -Wall   -c apple2.S
> > /tmp/cca01775.s: Assembler messages:
> > /tmp/cca01775.s:2163: Error: register does not match opcode suffix
> > /tmp/cca01775.s:2171: Error: register does not match opcode suffix
> > make: *** [apple2.o] Error 1
> >

Ok, seems like the newer versions of gcc (v2.7.2.1 and also maybe
v2.7.2.2) are more picky than v2.7.2 about assembling 386 instructions. 
There was an inconsistency in the code (which occurs in all versions of
the emulator) that caused gcc to choke assembling two of the
undocumented instructions.  In apple2.S:

op_HANG:
                decb    PC_Reg
                Continue
op_NOP_2:
                incb    PC_Reg
                Continue

The decb and incb should be decw and incw respectively.  (The register
in question is a word).  So it's a simple edit with vi or emacs.

Anyway I uploaded the new v003g (apple2-emul-v003g-linux.tar.gz) to the
incoming directory on asimov because I saw that the old one was
removed.  (Was this b/c I forgot to include a .asm file?  It's included
this time!..).  I still need to update the other distribution site,
tsx-11.mit.edu.

One more thing: seems like gcc v2.7.2.1 is finicky in general.  check
out gnu.gcc.help, gnu.gcc.bug for reports.

Aaron