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

Re: Progromatticaly detecing IIgs rom version



Dennis Jenkins <dennis@usb.com> writes:
>As the subject says it, how would one detect the ROM version in
>software?  I'd prefer an 8 bit example (a byte or two to peek() or
>lda,cmp), but a native mode example will do if that is the only way.

Apple II Miscellaneous TN #7: Apple II Family Identification

http://www.umich.edu/~archive/apple2/technotes/tn/misc/TN.MISC.007

There is a lookup table for IDing the 8 bit machines. The code for 16
bit systems is:

	SEC
	JSR	$FE1F
	BCS	oldmachine	(//e or //c etc)
	BCC	newmachine	(//gs)

This code (when executed in 16 bit M & X mode) returns ROM version number
in bottom 8 bits of Y, the machine ID (0=//gs) in the top 8 bits of Y,
X is reserved, and A has 7 status bits to indicate presence of internal
ports, external slots, SCC built in, desktop bus, built-in clock & memory
expansion slot (ROM 0 gets the status bits wrong - see tech note).
--
David Wilson  School of IT & CS, Uni of Wollongong, Australia