gnupic@linuxhacker.org

gnupic@linuxhacker.org


Subject: Re: pic16f628 vs. gpsim
From: Scott Dattalo
Date: Tue, 19 Aug 2003 06:39:08 -0700 (PDT)

On Tue, 19 Aug 2003, Jan Reucker wrote:

> Am Sun, 17 Aug 2003 14:06:43 -0700 (PDT) schrieb Scott Dattalo <scott@dattalo.com>:
> 
> > Hi Leva,
> > 
> > I saved the messages from this thread and will attempt to address this
> > issue today. At the moment I'm applying a patch from Borut that allows
> > gpsim to run under MS Windows. 
> 
> Are you also addressing the 16F628 INTCON bug which is mentioned on
> SourceForge? I can provide a piece of asm code which shows this
> behaviour while it works well with MPSIM, if it is of any help.


Yes I did fix this. It looks like that a copy of INTCON was not being 
placed at address 0x8B. I didn't test this, so if you could send me your 
test code I'll gladly try it out.

Incidently, the F628 fixes are in CVS. I've also have created structured
regression tests for gpsim and checked those in as well. At the moment, I
only have three tests and one of them is for the 'F628. The 'F628 test
doesn't do too much now; it only verifies that a write to PORT A works
(i.e.  external nodes tie PORT A and PORT B, a write to PORT A is verified
by monitoring PORT B):


	MOVLW	0xff
	BSF	STATUS,RP0

	CLRF	TRISA^0x80	;Port A is an output
	MOVWF	TRISB^0x80	;Port B is an input

	CLRF	VRCON^0x80	;Turn off the Voltage Reference module.

	BCF 	STATUS,RP0

   ;;
   ;; Turn off the comparator module
   ;;
 
	MOVLW	(1<<CM0) | (1<<CM1) | (1<<CM2)
	MOVWF	CMCON

	MOVLW	0x0F

a_to_b_loop:
	MOVWF	PORTA		;Port A and Port B are externally
	XORWF	PORTB,W		;connected. So we should see the
	SKPZ			;same thing on each port.
	 GOTO	FAILED

	DECFSZ	PORTB,W
	 goto	a_to_b_loop

The rest of this test and the other tests (all both of them :) are here:

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gpsim/regression/

Scott


gnupic@linuxhacker.org