I was wondering wether you could test a peice of code for me on a basic stamp.
MMISCOOL
Posts: 36
the coe below i need tested but I don't have aces to a stamp over the holiday.
this is a thing i have been working on and if you get it runing on your stamp please send me a pm or instant mesage me on aim
my aim name is mmiscoolblabla
' {$STAMP BS2e}
' {$PBASIC 2.5}
temp VAR Word
eeprom_OUT VAR Byte
eeprom_IN VAR Byte
'smbi interperter
ALL_LOADED VAR Bit
aa VAR Byte
bb VAR Byte
cc VAR Byte
dd VAR Byte
ee VAR Byte
CURENTLINE VAR Byte
PROGRAMNO VAR Nib
IN VAR Byte
BLA VAR Byte
OUT VAR Byte
'
[noparse][[/noparse] Main Routine ]
'BASIC INTERPERTER
MENUE:
DEBUG "PROGRAM # (0 - 3) OR 8 FOR EDIT MODE"
DEBUGIN PROGRAMNO
IF PROGRAMNO = 8 THEN GOTO EDITOR
exicute:
IF ALL_LOADED = 1 THEN GOSUB GOTO_NEXT_LINE
ALL_LOADED = 1
IF CURENTLINE = 100 THEN GOTO END_IT
COMAND:
IF AA = 13 THEN GOSUB DISPLAY_IT 'PRINT D
IF AA = 18 THEN GOSUB INPUT_IT 'INPUT I
IF AA = 16 THEN GOTO GOTO_IT 'GOTO G
IF AA = 12 THEN GOTO COMPARE_IT 'IF THEN C
IF AA = 21 THEN GOSUB LET_IT 'let L
IF AA = 14 THEN GOSUB EDIT_IT 'letl E
IF AA = 25 THEN GOSUB PAUSE_IT 'PAUSE P
IF AA = 33 THEN GOTO END_IT 'END X
GOTO exicute
DISPLAY_IT:
GOSUB CHECK_VAR_BB
IF BB = 10 THEN DEBUG "A"
IF BB = 10 THEN DEBUG "B"
IF BB = 10 THEN DEBUG "C"
IF BB = 10 THEN DEBUG "D"
IF BB = 10 THEN DEBUG "E"
IF BB = 10 THEN DEBUG "F"
IF BB = 10 THEN DEBUG "G"
IF BB = 10 THEN DEBUG "H"
IF BB = 10 THEN DEBUG "I"
IF BB = 10 THEN DEBUG "J"
IF BB = 10 THEN DEBUG "K"
IF BB = 10 THEN DEBUG "L"
IF BB = 10 THEN DEBUG "M"
IF BB = 10 THEN DEBUG "N"
IF BB = 10 THEN DEBUG "O"
IF BB = 10 THEN DEBUG "P"
IF BB = 10 THEN DEBUG "Q"
IF BB = 10 THEN DEBUG "R"
IF BB = 10 THEN DEBUG "S"
IF BB = 10 THEN DEBUG "T"
IF BB = 10 THEN DEBUG "U"
IF BB = 10 THEN DEBUG "V"
IF BB = 10 THEN DEBUG "W"
IF BB = 10 THEN DEBUG "X"
IF BB = 10 THEN DEBUG "Y"
IF BB = 10 THEN DEBUG "X"
IF BB = 10 THEN DEBUG "_"
'ADD CODE FOR PARTICULAR SCREEEN HERE
RETURN
INPUT_IT:
DEBUGIN IN
RETURN
COMPARE_IT:
GOSUB CHECK_VAR_CC
GOSUB CHECK_VAR_DD
IF BB = 1 AND CC = DD THEN BB = EE:GOTO GOTO_IT
IF BB = 2 AND CC <> DD THEN BB = EE:GOTO GOTO_IT
IF BB = 3 AND CC > DD THEN BB = EE:GOTO GOTO_IT
IF BB = 4 AND CC < DD THEN BB = EE:GOTO GOTO_IT
RETURN
LET_IT:
GOSUB CHECK_VAR_CC
GOSUB CHECK_VAR_DD
BLA = CC
IF BB = 10 THEN BLA = CC + DD
IF BB = 10 THEN BLA = CC + DD
IF BB = 10 THEN BLA = CC + DD
IF BB = 10 THEN BLA = CC + DD
OUT = BLA
BLA = EE
GOSUB STORE_VAR
RETURN
EDIT_IT:
GOSUB CHECK_VAR_DD
EDIT_IT_CUSTOM:
TEMP = PROGRAMNO * 500 + BB + CC - 9
eeprom_OUT = DD
GOSUB store_data
RETURN
'
[noparse][[/noparse]GOTO NEXT LINE]
GOTO_NEXT_LINE:
BB = CURENTLINE + 1
'
[noparse][[/noparse]GOTO LINE #X]
GOTO_IT:
TEMP = BB * 5 'THIS ALOWS IT TO SKIP OVER ALL OF THE LINE IS THIS AND OTHER PROGRAMS IT IS NOT EDITING NOW.
TEMP = PROGRAMNO * 500 + TEMP
GOSUB GETDATA
AA = eeprom_IN
TEMP = TEMP + 1
GOSUB GETDATA
BB = eeprom_IN
TEMP = TEMP + 1
GOSUB GETDATA
CC = eeprom_IN
TEMP = TEMP + 1
GOSUB GETDATA
DD = eeprom_IN
TEMP = TEMP + 1
GOSUB GETDATA
EE = eeprom_IN
ALL_LOADED = 0
CURENTLINE = BB
GOTO EXICUTE
PAUSE_IT:
PAUSE BB * 100 - 5
RETURN
'
[noparse][[/noparse]END SMBI PROGRAM]
END_IT:
'THIS SECTION OF CODE SHODE BRING THE USER BACK TO THE MAINE MENU WICH IS NOT MADE YET
ALL_LOADED = 0
CURENTLINE = 0
PROGRAMNO = 0
TEMP = 0
GOTO MENUE
'
[noparse][[/noparse]VAR LOOK UP CODE]
CHECK_VAR_AA:
BLA = AA
GOSUB LOOK_UP
AA= BLA
RETURN
CHECK_VAR_BB:
BLA = BB
GOSUB LOOK_UP
BB= BLA
RETURN
CHECK_VAR_CC:
BLA = CC
GOSUB LOOK_UP
CC= BLA
RETURN
CHECK_VAR_DD:
BLA = DD
GOSUB LOOK_UP
DD= BLA
RETURN
CHECK_VAR_EE:
BLA = EE
GOSUB LOOK_UP
EE= BLA
RETURN
LOOK_UP:
GET BLA, OUT
RETURN
STORE_VAR:
PUT BLA, OUT
RETURN
'
[noparse][[/noparse]SMBI PROGRAM EDITOR]
EDITOR:
DEBUG "PROGRAM # 2 EDIT 0-3"
DEBUGIN PROGRAMNO
IF PROGRAMNO > 10 THEN DEBUG "SORY.TRY AGANE":GOTO EDITOR
MAIN_EDITOR_LOOP:
DEBUG "LINE # TO EDIT,COLOME LETER(10,A)"
DEBUGIN BB,CC
IF BB > 100 THEN GOTO MAIN_EDITOR_LOOP
IF CC > 15 AND CC < 10 THEN GOTO MAIN_EDITOR_LOOP
DEBUG "DATA TO PUT THER"
DEBUGIN DD
GOTO EDIT_IT_CUSTOM
'
[noparse][[/noparse]DON'T MES WITH THIS CODE. THIS IS THE EPROM READ AND WRIGHT ROUGHTEANS]
store_data:
'the variable | temp | is the var to put data to wright in
'the slot nomber to store the data in is | eeprom_OUT | this can be 0 to 15999
WRITE TEMP, eeprom_OUT
RETURN
getdata:
READ TEMP, eeprom_IN
' the output variable is | eeprom_IN |
RETURN
this is a thing i have been working on and if you get it runing on your stamp please send me a pm or instant mesage me on aim
my aim name is mmiscoolblabla
' {$STAMP BS2e}
' {$PBASIC 2.5}
temp VAR Word
eeprom_OUT VAR Byte
eeprom_IN VAR Byte
'smbi interperter
ALL_LOADED VAR Bit
aa VAR Byte
bb VAR Byte
cc VAR Byte
dd VAR Byte
ee VAR Byte
CURENTLINE VAR Byte
PROGRAMNO VAR Nib
IN VAR Byte
BLA VAR Byte
OUT VAR Byte
'
[noparse][[/noparse] Main Routine ]
'BASIC INTERPERTER
MENUE:
DEBUG "PROGRAM # (0 - 3) OR 8 FOR EDIT MODE"
DEBUGIN PROGRAMNO
IF PROGRAMNO = 8 THEN GOTO EDITOR
exicute:
IF ALL_LOADED = 1 THEN GOSUB GOTO_NEXT_LINE
ALL_LOADED = 1
IF CURENTLINE = 100 THEN GOTO END_IT
COMAND:
IF AA = 13 THEN GOSUB DISPLAY_IT 'PRINT D
IF AA = 18 THEN GOSUB INPUT_IT 'INPUT I
IF AA = 16 THEN GOTO GOTO_IT 'GOTO G
IF AA = 12 THEN GOTO COMPARE_IT 'IF THEN C
IF AA = 21 THEN GOSUB LET_IT 'let L
IF AA = 14 THEN GOSUB EDIT_IT 'letl E
IF AA = 25 THEN GOSUB PAUSE_IT 'PAUSE P
IF AA = 33 THEN GOTO END_IT 'END X
GOTO exicute
DISPLAY_IT:
GOSUB CHECK_VAR_BB
IF BB = 10 THEN DEBUG "A"
IF BB = 10 THEN DEBUG "B"
IF BB = 10 THEN DEBUG "C"
IF BB = 10 THEN DEBUG "D"
IF BB = 10 THEN DEBUG "E"
IF BB = 10 THEN DEBUG "F"
IF BB = 10 THEN DEBUG "G"
IF BB = 10 THEN DEBUG "H"
IF BB = 10 THEN DEBUG "I"
IF BB = 10 THEN DEBUG "J"
IF BB = 10 THEN DEBUG "K"
IF BB = 10 THEN DEBUG "L"
IF BB = 10 THEN DEBUG "M"
IF BB = 10 THEN DEBUG "N"
IF BB = 10 THEN DEBUG "O"
IF BB = 10 THEN DEBUG "P"
IF BB = 10 THEN DEBUG "Q"
IF BB = 10 THEN DEBUG "R"
IF BB = 10 THEN DEBUG "S"
IF BB = 10 THEN DEBUG "T"
IF BB = 10 THEN DEBUG "U"
IF BB = 10 THEN DEBUG "V"
IF BB = 10 THEN DEBUG "W"
IF BB = 10 THEN DEBUG "X"
IF BB = 10 THEN DEBUG "Y"
IF BB = 10 THEN DEBUG "X"
IF BB = 10 THEN DEBUG "_"
'ADD CODE FOR PARTICULAR SCREEEN HERE
RETURN
INPUT_IT:
DEBUGIN IN
RETURN
COMPARE_IT:
GOSUB CHECK_VAR_CC
GOSUB CHECK_VAR_DD
IF BB = 1 AND CC = DD THEN BB = EE:GOTO GOTO_IT
IF BB = 2 AND CC <> DD THEN BB = EE:GOTO GOTO_IT
IF BB = 3 AND CC > DD THEN BB = EE:GOTO GOTO_IT
IF BB = 4 AND CC < DD THEN BB = EE:GOTO GOTO_IT
RETURN
LET_IT:
GOSUB CHECK_VAR_CC
GOSUB CHECK_VAR_DD
BLA = CC
IF BB = 10 THEN BLA = CC + DD
IF BB = 10 THEN BLA = CC + DD
IF BB = 10 THEN BLA = CC + DD
IF BB = 10 THEN BLA = CC + DD
OUT = BLA
BLA = EE
GOSUB STORE_VAR
RETURN
EDIT_IT:
GOSUB CHECK_VAR_DD
EDIT_IT_CUSTOM:
TEMP = PROGRAMNO * 500 + BB + CC - 9
eeprom_OUT = DD
GOSUB store_data
RETURN
'
[noparse][[/noparse]GOTO NEXT LINE]
GOTO_NEXT_LINE:
BB = CURENTLINE + 1
'
[noparse][[/noparse]GOTO LINE #X]
GOTO_IT:
TEMP = BB * 5 'THIS ALOWS IT TO SKIP OVER ALL OF THE LINE IS THIS AND OTHER PROGRAMS IT IS NOT EDITING NOW.
TEMP = PROGRAMNO * 500 + TEMP
GOSUB GETDATA
AA = eeprom_IN
TEMP = TEMP + 1
GOSUB GETDATA
BB = eeprom_IN
TEMP = TEMP + 1
GOSUB GETDATA
CC = eeprom_IN
TEMP = TEMP + 1
GOSUB GETDATA
DD = eeprom_IN
TEMP = TEMP + 1
GOSUB GETDATA
EE = eeprom_IN
ALL_LOADED = 0
CURENTLINE = BB
GOTO EXICUTE
PAUSE_IT:
PAUSE BB * 100 - 5
RETURN
'
[noparse][[/noparse]END SMBI PROGRAM]
END_IT:
'THIS SECTION OF CODE SHODE BRING THE USER BACK TO THE MAINE MENU WICH IS NOT MADE YET
ALL_LOADED = 0
CURENTLINE = 0
PROGRAMNO = 0
TEMP = 0
GOTO MENUE
'
[noparse][[/noparse]VAR LOOK UP CODE]
CHECK_VAR_AA:
BLA = AA
GOSUB LOOK_UP
AA= BLA
RETURN
CHECK_VAR_BB:
BLA = BB
GOSUB LOOK_UP
BB= BLA
RETURN
CHECK_VAR_CC:
BLA = CC
GOSUB LOOK_UP
CC= BLA
RETURN
CHECK_VAR_DD:
BLA = DD
GOSUB LOOK_UP
DD= BLA
RETURN
CHECK_VAR_EE:
BLA = EE
GOSUB LOOK_UP
EE= BLA
RETURN
LOOK_UP:
GET BLA, OUT
RETURN
STORE_VAR:
PUT BLA, OUT
RETURN
'
[noparse][[/noparse]SMBI PROGRAM EDITOR]
EDITOR:
DEBUG "PROGRAM # 2 EDIT 0-3"
DEBUGIN PROGRAMNO
IF PROGRAMNO > 10 THEN DEBUG "SORY.TRY AGANE":GOTO EDITOR
MAIN_EDITOR_LOOP:
DEBUG "LINE # TO EDIT,COLOME LETER(10,A)"
DEBUGIN BB,CC
IF BB > 100 THEN GOTO MAIN_EDITOR_LOOP
IF CC > 15 AND CC < 10 THEN GOTO MAIN_EDITOR_LOOP
DEBUG "DATA TO PUT THER"
DEBUGIN DD
GOTO EDIT_IT_CUSTOM
'
[noparse][[/noparse]DON'T MES WITH THIS CODE. THIS IS THE EPROM READ AND WRIGHT ROUGHTEANS]
store_data:
'the variable | temp | is the var to put data to wright in
'the slot nomber to store the data in is | eeprom_OUT | this can be 0 to 15999
WRITE TEMP, eeprom_OUT
RETURN
getdata:
READ TEMP, eeprom_IN
' the output variable is | eeprom_IN |
RETURN
Comments
http://www.parallax.com/dl/docs/prod/stamps/pbasicstyle.pdf
Style will only get you so far, then comes technique.· Here's a section that I find troubling:
IF AA = 13 THEN GOSUB DISPLAY_IT 'PRINT D
IF AA = 18 THEN GOSUB INPUT_IT 'INPUT I
IF AA = 16 THEN GOTO GOTO_IT 'GOTO G
IF AA = 12 THEN GOTO COMPARE_IT 'IF THEN C
IF AA = 21 THEN GOSUB LET_IT 'let L
IF AA = 14 THEN GOSUB EDIT_IT 'letl E
IF AA = 25 THEN GOSUB PAUSE_IT 'PAUSE P
IF AA = 33 THEN GOTO END_IT 'END X
You've got GOTO and GOSUB mixed -- I think this is going to lead to troubles, especially in the case where you use GOTO to jump to a routine that ends with RETURN (a RETURN without a GOSUB can create real problems).· In the snippet above you use GOTO to get to COMPARE_IT but that routine ends with RETURN.... where's it supposed to return to?
What I'm suggesting is that their may be more elegant programming structures to do what you want to do and not lead you down any problematic paths.· Perhaps you could provide a description of what the program is supposed to do -- that would help us provide specific feedback.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
THE SOURCE ABOVE IS FOR A BASIC INTERPERTER THAT ALOWS FOR SELF MODIGYING CODE. I RECENTLY MADE A PC VERSION OF SOMETHING I CALED SMBI. sELF mODIFYING bASIC INTERPERTER. THIS IS A VERSION OF THAT INTERPERTER I WROTE YESTERDAY FROM SCRACH ONLY BUSING I'TS IDEAHS. tHIS INTERPERTER WORKS WITH ONE CHARACTER OF DATA AT A TIME. i AM HOPEING THAT I CAN GET THIS TO WORK IN A WATCH SO I CAN RUN CUSTOM SELF MODIFYING PROGRAMS AND EDIT THEM WITH OUT HAVING A COMPUTER TO COMPLEATLY REPROGRAM THE STAMP.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
I am going to keep the aa,bb,cc,dd,ee becouse they represent colomes a - e. thank you
I think you misunderstood Jon, you can use all the gosubs and goto's you want in a mix of if thens else's albet it's not good style but you should never use a GOTO when branching to a SUBROUTINE that ends with a RETURN as it is the GOSUB code that stores the return address in a memory location called the STACK. Like a stack of plates it puts each address on the top of the pile, the return code pulls the top address (plate) off the stack. The STACK POINTER contains the address of the TOP of the stack, as addresses are stored in the memory pointed to by the stack pointer the stack pointer is incremented by 2 (assuming 2 byte addresses) so it could eventually store addresses and pull addresses from memory that contains your program code, (the stack pointer could point to memory that was not set aside for it) thus modifying your code and crashing it when program execution gets to that part of your code..
As well as what Jon said above, the reverse is also true, your code
The label GOTO_NEXT_LINE ends without a RETURN
ending with GOTO EXICUTE
This code will run but will eventually crash as the stack fills up with return addresses (the gosub command creates) with no RETURN to move the stack pointer back up the memory stack. It could be the stack pointer implemented in Pbasic rolls over to the starting point so unlimited gosubs without returns may not crash the program but I would think at the roll over point one of the other gosub/return code calls would fail to return to the correct address.
You may know all of this but for the benifit of others just starting programming I thought I would toss it in.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Think outside the BOX!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
'MADE A NEW VERSION OF THE INTERPERTER FROM SCRATCH.
'tHIS WILL PROBALY WORK ALOT BETER THAN THE LAST ONE I HAD UP.
'I REDID THAT ONE SECTION OF CODE EVRY ONE WAS CONFUSED ABOUT
'I NOW WORKS ON THE BS2 MODUAL SO I HOPE PEOPLE WILL TRY IT
' {$STAMP BS2}
' {$PBASIC 2.5}
'
[noparse][[/noparse](C) 2005, MICHAEL MOLINARI ]
aa VAR Byte
bb VAR Byte
cc VAR Byte
dd VAR Byte
ee VAR Byte
CURENTLINE VAR Byte
BLA VAR Byte
A VAR Byte
B VAR Byte
C VAR Byte
D VAR Byte
E VAR Byte
F VAR Byte
G VAR Byte
H VAR Byte
I VAR Byte
J VAR Byte
OUT VAR Byte
BLABLA VAR Nib
EN VAR Byte
MENUE:
READ 0 , AA
READ 1 , BB
READ 2 , CC
READ 3 , DD
READ 4 , EE
CURENTLINE = 0
DEBUG "(A) EDIT (B) RUN"
DEBUGIN BLA
IF BLA = "A" THEN GOTO EDITOR ELSE GOTO EXICUTE
'
[noparse][[/noparse]THIS IS THE EDITOR]
EDITOR:
DEBUG "HOW MANY LINES?"
DEBUGIN EN
EN = EN - 65
EDITOR_LOOP:
DEBUG "[noparse][[/noparse]A] "
DEBUGIN BLA
WRITE BLABLA * 5 + 0, BLA
DEBUG " "
DEBUGIN BLA
WRITE BLABLA * 5 + 1, BLA
DEBUG "[noparse][[/noparse]C] "
DEBUGIN BLA
WRITE BLABLA * 5 + 2, BLA
DEBUG "[noparse][[/noparse]D] "
DEBUGIN BLA
WRITE BLABLA * 5 + 3, BLA
DEBUG "[noparse][[/noparse]E] "
DEBUGIN BLA
WRITE BLABLA * 5 + 4, BLA
BLABLA = BLABLA + 1
IF BLABLA > EN THEN GOTO MENUE
GOTO EDITOR_LOOP
'
[noparse][[/noparse]THIS IS THE INTERPERTER]
EXICUTE:
IF AA = "D" THEN GOSUB DISPLAY_IT
IF AA = "I" THEN GOSUB INPUT_IT
IF AA = "C" THEN GOSUB COMPARE_IT
IF AA = "E" THEN GOSUB EDIT_IT
IF AA = "M" THEN GOSUB MATH
IF AA = "O" THEN GOSUB PIN_H_L
IF AA = "G" THEN GOTO GOTO_IT
IF CURENTLINE = EN THEN DEBUG "-DONE-":GOTO MENUE
GOTO GOTO_NEXT
DISPLAY_IT:
IF BB = "V" THEN GOTO DISPLAY_VAR
DEBUG CC
RETURN
DISPLAY_VAR:
IF CC = "A" THEN DEBUG A
IF CC = "B" THEN DEBUG B
IF CC = "C" THEN DEBUG C
IF CC = "D" THEN DEBUG D
IF CC = "E" THEN DEBUG E
IF CC = "F" THEN DEBUG F
IF CC = "G" THEN DEBUG G
IF CC = "H" THEN DEBUG H
IF CC = "I" THEN DEBUG I
IF CC = "J" THEN DEBUG J
RETURN
INPUT_IT:
DEBUG " ? "
IF BB = "A" THEN DEBUGIN A
IF BB = "B" THEN DEBUGIN B
IF BB = "C" THEN DEBUGIN C
IF BB = "D" THEN DEBUGIN D
IF BB = "E" THEN DEBUGIN E
IF BB = "F" THEN DEBUGIN F
IF BB = "G" THEN DEBUGIN G
IF BB = "H" THEN DEBUGIN H
IF BB = "I" THEN DEBUGIN I
IF BB = "J" THEN DEBUGIN J
RETURN
GOTO_NEXT:
BB = CURENTLINE + 66
GOTO_IT:
BLA = BB - 65
READ BLA * 5 + 0 , AA
READ BLA * 5 + 1 , BB
READ BLA * 5 + 2 , CC
READ BLA * 5 + 3 , DD
READ BLA * 5 + 4 , EE
CURENTLINE = BLA
GOTO EXICUTE
COMPARE_IT:
IF CC = DD THEN AA = "G"
RETURN
EDIT_IT:
IF DD = "V" THEN GOSUB EDIT_VAR
WRITE BB * 5 -1 + CC, EE
RETURN
EDIT_VAR:
IF DD = "A" THEN EE = A
IF DD = "B" THEN EE = B
IF DD = "C" THEN EE = C
IF DD = "D" THEN EE = D
IF DD = "E" THEN EE = E
IF DD = "F" THEN EE = F
IF DD = "G" THEN EE = G
IF DD = "H" THEN EE = H
IF DD = "I" THEN EE = I
IF DD = "J" THEN EE = J
RETURN
MATH:
IF BB = "+" THEN BLA = CC + DD
IF BB = "-" THEN BLA = CC - DD
IF BB = "*" THEN BLA = CC * DD
IF BB = "/" THEN BLA = CC / DD
IF EE = "A" THEN A = BLA
IF EE = "B" THEN B = BLA
IF EE = "C" THEN C = BLA
IF EE = "D" THEN D = BLA
IF EE = "E" THEN E = BLA
IF EE = "F" THEN F = BLA
IF EE = "G" THEN G = BLA
IF EE = "H" THEN H = BLA
IF EE = "I" THEN I = BLA
IF EE = "J" THEN J = BLA
RETURN
PIN_H_L:
IF BB = "H" THEN HIGH CC
IF BB = "L" THEN LOW CC
RETURN
LED_TEXT_OUT:
'PUT CODE HERE TO CONTROAL LED DISPLAY"
RETURN
CHAR_IN:
'PUT CODE TO GET CHARACTER FROM USER IN THIS AIRYA
RETURN
Please be aware that anyone selling open source software must provide the source code as well. The GPL is in place for a reason.
Draw your own conclusions.
Ryan
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Ryan Clarke
Parallax Tech Support
RClarke@Parallax.com
Post Edited (Ryan Clarke (Parallax)) : 11/26/2005 7:31:06 PM GMT
IF ANY ONE IS INTERESTED IN MAKING A WATCH THAT COULD DO THIS KINDE OF THING i THINK IT WOOD BE COOL. WHEN I AM FINISHED WITH IT I DO PLAN ON SELING ASEMBLED WATCHES AND KITS. NOT ONLY THIS BUT ALSO HAVE ON THE SITE SCHEMATICS SO THAT PEOPLE CAN MAKE THERE OWN. tHE SOURCE CODE WILL BE PUT ON MY WEB SITE FOR "SMALL SMBI".
I HAVE ONLY BEEN WORKING ON "SMAL SMBI" FOR 4 DAYS SO IT IS STILL BUGY.
THER IS A BIG DISTINCT DIFORENCE BETWEEN THE NORMAL SMBI PROJECT AND THIS ONE(SMALL SMBI). THIS VERSION ONLY USES ON CHARACTER AT A TIME SO IT IS NOT THE BEST THING BUT IT IS JUST A LITLE THING I HAVE WANTED TO DO FOR A WILE.
ONCE I GET ENOUGHF NOMY FROM RAKING EAVES AND SHOVELING DRIVEWAYS I AM GOING TO BUY AN BASIC STAMP II OEM KIT (THING WITHCH HAS THE SERIAL PLUG BUILT IN AND THE I/O PINS ALONG THE BOTOM) BESOUSE I BROKE THE "HOMEWORK BOARD" I HAD. I WILL USE IT TO BUILD THE FIRST WATCH PROTOTYPE. WHEN THE FIRST PROTOTYPE IS BUILT IT WILL BE PUT INTO AN ALTOIDS TIN OR A PLASTIC BOX. I LIKE THE ALTOIDS IDEAH BECOUSE IT LOOKS COOLER AND WILL FORCE ME INTO PUTING ALL THE PARTS INTO A SMALLER PLAICE.
Note:··I don't care if you are in high school.· You are clearly violating the license agreement for that product.· I hope you can afford a good lawyer.
Also, if you are scamming people in just this simple sense, then how can anyone trust you with your request for assistance.
I wasn't trying to "knock you"- I just want you to be aware of the things you are doing, and what is and isn't ok. If you've been working on this code for 4 days, you probably shouldn't try to sell it for $399.95. If you try to sell and GPLed or Open Sourced code, you MUST also given the source code, and state that what you are selling is infact sold under the GPL or Open Source -
There are lots of people here more than willing to help those who are learning- but we also need to be careful of scams, and problems of that nature. If you spend some time here you'll see that my post has nothing more than the welfare of the members of this forum in mind-
Ryan
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Ryan Clarke
Parallax Tech Support
RClarke@Parallax.com
This thread is continuing in multiple places- please help keep it contained to one.
Ryan
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Ryan Clarke
Parallax Tech Support
RClarke@Parallax.com
Post Edited (Ryan Clarke (Parallax)) : 11/27/2005 2:20:23 AM GMT