-
Backup OSCCAL
05/25/2026 at 14:04 • 0 commentsThis document includes the programming specifications for the following devices:
• PIC10F200
• PIC10F202
• PIC10F204
• PIC10F206MEMORY MAPPING
User Program Memory Map
The user memory space extends from (0x000-0x0FF) on the PIC10F200/204 and (0x000-0x1FF) on the PIC10F202/206. In Program/Verify mode, the program memory space extends from (0x000-0x1FF) for the PIC10F200/204 and (0x000-0x3FF) for the PIC10F202/206. The first half, (0x000-0x0FF) and (0x000-0x1FF) respectively, is user program memory. The second half, (0x100-0x1FF) and (0x200-0x3FF) respectively, is configuration memory. The PC will
increment from (0x000-0x0FF) and (0x000-0x1FF) respectively, then to 0x100 and 0x200, respectively (not to 0x000).
In the configuration memory space, 0x100-0x13F for the PIC10F200/204, and 0x200-0x23F for the PIC10F202/206, are physically implemented. However, only locations 0x100-0x103 and 0x200-0x203 are available. Other locations are reserved.![]()
PIC10F200/204 PROGRAM MEMORY MAP HOW TO VIEW THE BACKUP OSCCAL?
The memory locations 0x0100-0x103 are used for User ID Locations. The backup value of the OSCCAL value is located at 0x0104.
Take any fresh PIC10F200 and read the content normally.
![]()
We can see the final location of the FLASH memory contains the OSCCAL value of 0xC18
Now set the device as PIC10F202. By this way the programmer able to access the higher memory locations.
![]()
In the above view please note the selected chip is PIC10F202. But the actual chip we used is PIC10F200. At the memory location 0x0104 we can see the same OSCCAL value which in this chip is 0xC18.
Below is the screen view for one more PIC10F200 chip
![]()
In the above case the different PIC10F200 which is having the OSCCAL of 0xC1C. The same value of 0xC1C can be seen at the location 0x0104.
Other values are RESERVED as per Microchip and needs further investigation.
-
BASIC-52 INSTRUCTION SET SUMMARY
03/07/2026 at 14:03 • 0 commentsCOMMANDS STATEMENTS OPERATORS RUN BAUD ADD (+) CONT CALL DIVIDE (/) LIST CLEAR EXPONENTIATION (**) LIST# CLEAR(S&I) MULTIPLY (*) LIST@ (V1.1) CLOCK(1&0) SUBTRACT (-) NEW DATA LOGICAL AND (.AND.) NULL READ LOGICAL OR (.OR.) RAM RESTORE LOGICAL X-OR (.XOR.) ROM DIM LOGICAL NOT (.OR.) XFER DO-WHILE ABS( ) PROG DO-UNTIL INT( ) PROG1 END SGN( ) PROG2 FOR-TO-STEP SQR( ) PROG3 (V1.1) NEXT RND PROG4 (V1.1) GOSUB LOG( ) PROG5 (V1.1) RETURN EXP( ) PROG6 (V1.1) GOTO SIN( ) FPROG ON-GOTO COS( ) FPROG1 ON-GOSUB TAN( ) FPROG2 IF-THEN-ELSE ATN( ) FPROG3 (V1.1) INPUT =, >, >=, <, <=, <> FPROG4 (V1.1) LET ASC( ) FPROG5 (V1.1) ONERR CHR( ) FPROG6 (V1.1) ONEX1 CBY( ) ONTIME DBY( ) PRINT XBY( ) PRINT# GET PRINT@ (V1.1) IE PH0. IP PH0.# PORT1 PH0.@ (V1.1) PCON PH1. RCAP2 PH1.# T2CON PH1.(@ (V1.1) TCON PGM (V1. 1 ) TMOD PUSH TIME POP TIMER0 PWM TIMER1 REM TIMER2 RETI XTAL STOP MTOP STRING LEN UI(1&0) FREE U0(1&0) PI LD@ (V1. 1 ) ST@ (V1. 1 ) IDLE (V1.1) RROM (V1. 1 ) -
Calculating speed of light with BASIC-52
03/04/2026 at 06:46 • 0 commentsLet us calculate the speed of light from permittivity of free space and permeability of free space.
ε0 = 8.8541878188(14)×10−12 F⋅m−1
μ0 = 1.25663706127(20)×10−6 N⋅A−2
10 REM CALCULATE SPEED OF LIGHT 20 MUZERO=1.2566370612720E-6 30 EPZERO=8.854187818814E-12 60 C=1/SQR(MUZERO*EPZERO) 70 PRINT " SPEED OF LIGHT c = ",C,"m/s" 80 ENDOr we can simply write directly as
10 REM CALCULATE SPEED OF LIGHT 20 C=1/SQR(1.2566371E-6*8.8541878E-12) 30 PRINT " SPEED OF LIGHT c = ",C,"m/s" 40 ENDREADY
>RUNSPEED OF LIGHT c = 2.9979245 E+8 m/s
READY
>10 REM CALCULATE SPEED OF LIGHT 20 MUZERO=1.2566370612720E-6 30 EPZERO=8.854187818814E-12 40 rem X=MUZERO*EPZERO 50 rem Y=SQR(X) 60 C=1/SQR(muzero*epzero) 70 PRINT " SPEED OF LIGHT = ",C, "m/s" 80 END 90 rem MUZERO = 1.2566370612720e-6 100 rem EPZERO = 8.854187818814e-12 110 rem MUZERO * EPZERO = 1.1126500560584764552371408e-17 120 rem SQR(MUZERO * EPZERO) = 3.3356409519888024891312226903836e-9 130 rem C = 29,97,92,457.99934552707422964167902The above is comparison data between BASIC-52 and MS Windows calculator results.
10 REM CALCULATE SPEED OF LIGHT 20 MUZERO=PI*4E-7 30 EPZERO=8.854187818814E-12 60 C=1/SQR(MUZERO*EPZERO) 70 PRINT " SPEED OF LIGHT = ",C,"m/s" 80 ENDThe above uses constant PI directly and gives only 2m error.
READY >RUN SPEED OF LIGHT = 2.9979246 E+8 m/s
mit41301



CheeenNPP
Burkhard Kainka
Rudraksha Vegad
Kuba Sunderland-Ober
Dr. Cockroach
Stephan Martin
Jesse Farrell
bornach
Ted Sheflin
CustomElectronics
Thank you for liking and following my #CMOS Homemade Operational Amplifier ! This project made me realize the characteristics of MOSFET semiconductors in my own way.