A89: Re: HW detection


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

A89: Re: HW detection



<snip>
	- A new RAM CALL allows you to know which ROM version your program is
running on. Use it this way:
	move.w	#ROM_VERSION,d0

	|------------------------------------------------|
	| ROM_VERSION values | Corresponding ROM Version |
	|------------------------------------------------|
	| $1100		     |	92+ 1.00		 |
	| $0100		     |	89  1.00			 |
	| $1101		     |	92+ 1.01		 |
	| $0105		     |	89  1.05			 |
	| $1105		     |	92+ 1.05		 |
	| $0201		     |	89  2.01			 |
	| $1201		     |	92+ 2.01		 |
	| $0203		     |	89  2.03			 |
	| $1203		     |	92+ 2.03		 |
	| $0000		     |	UNKNOWN 89		 |
	| $1000		     |	UNKNOWN 92+		 |
	|------------------------------------------------|
</snip>
	If This Helps.  Taken From The DoorsOS 'Readme.txt'

                                                                        
-David
ICQ#: 2350967            
http://89Programming.cjb.net/
"Take Another Shot At Courage... Wonder Why The Right Words Never
Come-You Just Get Numb.  It's Another Tequala Sunrise, And This Old World
Still Looks The Same.  Another Frame..."
 ---------------
|FOR PROGRAMMERS|
 ---------------

	- Due to the need for compatibility with the new ROM versions, a few things have changed.
   YOU MUST PORT YOUR PROGRAMS TO MAKE THEM WORK WITH ALL ROM VERSIONS (see below).

	- A new RAM CALL allows you to know which ROM version your program is running on. Use it this way:
	move.w	#ROM_VERSION,d0

	|------------------------------------------------|
	| ROM_VERSION values | Corresponding ROM Version |
	|------------------------------------------------|
	| $1100		     |	92+ 1.00		 |
	| $0100		     |	89  1.00		 |
	| $1101		     |	92+ 1.01		 |
	| $0105		     |	89  1.05		 |
	| $1105		     |	92+ 1.05		 |
	| $0201		     |	89  2.01		 |
	| $1201		     |	92+ 2.01		 |
	| $0203		     |	89  2.03		 |
	| $1203		     |	92+ 2.03		 |
	| $0000		     |	UNKNOWN 89		 |
	| $1000		     |	UNKNOWN 92+		 |
	|------------------------------------------------|


	- The doorsos::kb_vars and doorsos::Heap variables are now RAM CALLS, ie. managed by the kernel. 

	- Since the handle of the folder list and of the 'main' folder changed in the new ROM, they are now RAM CALLS too. To use them, do the following:
	move.w	#doorsos::FolderListHandle,d0 ; Don't forget the '#' before !
and
	move.w	#doorsos::MainHandle,d0

		 ------------------------------
		| PLEASE PORT YOUR PROGRAMS !! |
		 ------------------------------

Please take the time to port your programs ! There is very few to do, and when done your program will be compatible with all ROM versions. Here is how to make your program compatible

	- Don't use any direct RAM address.
	- If you use doorsos::Heap, doorsos::kb_vars, you have to recompile using the new DoorsOS.h from this package.

	- Please replace any use of $8 and $9 as handle of (respectively) the folder list and the main folder:
		move.w	#$8,d0	; d0 = handle of the folder list
		move.w	#$9,d1	; d1 = handle of the main folder

	will be replaced by:

		move.w	#doorsos::FolderListHandle,d0	; same as before, but it will
		move.w	#doorsos::MainHandle,d0		; work on ALL ROM versions

	- That's all you have to do ! :-)

Follow-Ups: