Having boggled my mind for long enough with assembly, I thought I'd have a go with GCBasic.
As I've still got quite a few 16C84 pieces in my possession (bought a load donkeys years ago) I was checking out the 16C84.DAT file befor plunging in, and I think it may have got mixed up with another chip, as quite a lot of the details within the file unfortunately are incorrect.
Anything I can do to help ?
Regards, Nick
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The code protect devices don't come up much, so not a lot of work or error checking has been done. Here is stab at rectifying most of the issues? At least it compiles now. If yours is more complete, then post it here, or modify below as required and repost.
'GCBASIC/GCGB Chip Data File
'Chip: 16C84
'Generated 27/9/2007
'Format last revised: 23/9/2007
'Revised 6/12/2008 ks
Just a heads up....
Having boggled my mind for long enough with assembly, I thought I'd have a go with GCBasic.
As I've still got quite a few 16C84 pieces in my possession (bought a load donkeys years ago) I was checking out the 16C84.DAT file befor plunging in, and I think it may have got mixed up with another chip, as quite a lot of the details within the file unfortunately are incorrect.
Anything I can do to help ?
Regards, Nick
The code protect devices don't come up much, so not a lot of work or error checking has been done. Here is stab at rectifying most of the issues? At least it compiles now. If yours is more complete, then post it here, or modify below as required and repost.
'GCBASIC/GCGB Chip Data File
'Chip: 16C84
'Generated 27/9/2007
'Format last revised: 23/9/2007
'Revised 6/12/2008 ks
[ChipData]
Prog=1024
EEPROM=64
RAM=36
I/O=13
ADC=0
MaxMHz=20
IntOsc=0
Pins=20
Family=14
ConfigWords=1
PSP=0
MaxAddress=175
[Interrupts]
EEPROMReady:EEIE,EEIF
ExtInt0:INTE,INTF
PORTBChange:RBIE,RBIF
Timer0Overflow:T0IE,T0IF
[Registers]
INDF,0
TMR0,1
PCL,2
STATUS,3
FSR,4
PORTA,5
PORTB,6
EEDATA,8
EEADR,9
PCLATH,10
INTCON,11
OPTION_REG,129
TRISA,133
TRISB,134
EECON1,136
EECON2,137
[Bits]
IRP,STATUS,7
RP1,STATUS,6
RP0,STATUS,5
NOT_TO,STATUS,4
NOT_PD,STATUS,3
Z,STATUS,2
DC,STATUS,1
C,STATUS,0
GIE,INTCON,7
EEIE,INTCON,6
T0IE,INTCON,5
INTE,INTCON,4
RBIE,INTCON,3
T0IF,INTCON,2
INTF,INTCON,1
RBIF,INTCON,0
NOT_RBPU,OPTION,7
INTEDG,OPTION,6
T0CS,OPTION,5
T0SE,OPTION,4
PSA,OPTION,3
PS2,OPTION,2
PS1,OPTION,1
PS0,OPTION,0
EEIF,EECON1,4
WRERR,EECON1,3
WREN,EECON1,2
WR,EECON1,1
RD,EECON1,0
[FreeRAM]
0C:2F
8C:AF
[Pins-DIP]
17,RA0(IO)
18,RA1(IO)
1,RA2(IO)
2,RA3(IO)
3,RA4(IO),T0CKI(I)
6,RB0(IO)
7,RB1(IO)
8,RB2(IO)
9,RB3(IO)
10,RB4(IO)
11,RB5(IO)
12,RB6(IO)
13,RB7(IO)
4,MCLR
16,OSC1
15,OSC2
5,Vss
14,Vdd
[ConfigOps]
CP=ON,OFF
PWRTE=ON,OFF
WDT=ON,OFF
OSC=LP,XT,HS,RC
[Config]
CP_ON,1,16367
CP_OFF,1,16383
PWRTE_ON,1,16383
PWRTE_OFF,1,16375
WDT_ON,1,16383
WDT_OFF,1,16379
LP_OSC,1,16380
XT_OSC,1,16381
HS_OSC,1,16382
RC_OSC,1,16383