Lottery Number Generator 1-49

drieschnoronha

New Member
Dear sirs/madams,
I am a GCSE student. I am using a 18x chip to produce random number generator between 1-49. They way my circuit works is the 8 outputs of the chip connect to two 7 segments.
One 7 seg is a Common Cathode the other a Common Anode.
The flowchart is simple. It goes through the numbers 1-49 and checks whether an input (in my case input 0) is on. If it is, it stops at number is going thorugh it keeps it constantly displayed till button is released.
I wanted to know whether i could use the random command. By this I mean, when an input is activated, a number is displayed for 5 seconds, then another for 5 seconds, then another, and so on till 5 numbers are displayed one after the other. I wanted all the numbers to be different. This code works fine.
Hope I explained it properly.
How it works:
for the common cathode and common anode.
since I am using one 18x and there are 8 outputs, i had to connect and write a weird program.
what happens is when an input is activated, a line repeats itself. the line consists of 1 number from the common cathode and the other from the common anode. then it flashes between the numbers so quickly that it seems that only 1 number is displayed.
For example when the common cathode shows 4 the anode is blank and when the common anode shows 9 the other is blank. since only one 7 seg will ever be on and the other is off, it is possible to run it so quickly that it looks that both are constantly on. Hope you understand.

Your respectfully,

Driesch

Program is here

Code:
main:

label_50C:	if pin1=1 then gosub sub0
label_6:	let pins = 252	' %11111100
		let pins = 159	' %10011111
		if pin0=1 then label_6
label_1F:	let pins = 252	' %11111100
		let pins = 37	' %00100101
		if pin0=1 then label_1F
label_6A:	let pins = 252	' %11111100
		let pins = 13	' %00001101
		if pin0=1 then label_6A
label_F6:	let pins = 252	' %11111100
		let pins = 153	' %10011001
		if pin0=1 then label_F6
label_7D:	let pins = 252	' %11111100
		let pins = 73	' %01001001
		if pin0=1 then label_7D
label_90:	let pins = 252	' %11111100
		let pins = 65	' %01000001
		if pin0=1 then label_90
label_A3:	let pins = 252	' %11111100
		let pins = 31	' %00011111
		if pin0=1 then label_A3
label_B6:	let pins = 252	' %11111100
		let pins = 1	' %00000001
		if pin0=1 then label_B6
label_DB:	let pins = 252	' %11111100
		let pins = 25	' %00011001
		if pin0=1 then label_DB
label_C9:	let pins = 96	' %01100000
		let pins = 3	' %00000011
		if pin0=1 then label_C9
label_109:	let pins = 96	' %01100000
		let pins = 159	' %10011111
		if pin0=1 then label_109
label_16D:	let pins = 96	' %01100000
		let pins = 37	' %00100101
		if pin0=1 then label_16D
label_1D1:	let pins = 96	' %01100000
		let pins = 13	' %00001101
		if pin0=1 then label_1D1
label_235:	let pins = 96	' %01100000
		let pins = 153	' %10011001
		if pin0=1 then label_235
label_299:	let pins = 96	' %01100000
		let pins = 73	' %01001001
		if pin0=1 then label_299
label_2FD:	let pins = 96	' %01100000
		let pins = 65	' %01000001
		if pin0=1 then label_2FD
label_361:	let pins = 96	' %01100000
		let pins = 31	' %00011111
		if pin0=1 then label_361
label_3C5:	let pins = 96	' %01100000
		let pins = 1	' %00000001
		if pin0=1 then label_3C5
label_429:	let pins = 96	' %01100000
		let pins = 25	' %00011001
		if pin0=1 then label_429
label_110:	let pins = 218	' %11011010
		let pins = 159	' %10011111
		if pin0=1 then label_110
label_174:	let pins = 218	' %11011010
		let pins = 37	' %00100101
		if pin0=1 then label_174
label_1D8:	let pins = 218	' %11011010
		let pins = 13	' %00001101
		if pin0=1 then label_1D8
label_23C:	let pins = 218	' %11011010
		let pins = 153	' %10011001
		if pin0=1 then label_23C
label_2A0:	let pins = 218	' %11011010
		let pins = 73	' %01001001
		if pin0=1 then label_2A0
label_304:	let pins = 218	' %11011010
		let pins = 65	' %01000001
		if pin0=1 then label_304
label_368:	let pins = 218	' %11011010
		let pins = 31	' %00011111
		if pin0=1 then label_368
label_486:	let pins = 218	' %11011010
		let pins = 1	' %00000001
		if pin0=1 then label_486
label_3CC:	let pins = 218	' %11011010
		let pins = 25	' %00011001
		if pin0=1 then label_3CC
label_48D:	let pins = 218	' %11011010
		let pins = 3	' %00000011
		if pin0=1 then label_48D
label_117:	let pins = 242	' %11110010
		let pins = 159	' %10011111
		if pin0=1 then label_117
label_17B:	let pins = 242	' %11110010
		let pins = 37	' %00100101
		if pin0=1 then label_17B
label_1DF:	let pins = 242	' %11110010
		let pins = 13	' %00001101
		if pin0=1 then label_1DF
label_243:	let pins = 242	' %11110010
		let pins = 153	' %10011001
		if pin0=1 then label_243
label_2AE:	let pins = 242	' %11110010
		let pins = 73	' %01001001
		if pin0=1 then label_2AE
label_30B:	let pins = 242	' %11110010
		let pins = 65	' %01000001
		if pin0=1 then label_30B
label_36F:	let pins = 242	' %11110010
		let pins = 31	' %00011111
		if pin0=1 then label_36F
label_3D3:	let pins = 242	' %11110010
		let pins = 1	' %00000001
		if pin0=1 then label_3D3
label_430:	let pins = 242	' %11110010
		let pins = 25	' %00011001
		if pin0=1 then label_430
label_494:	let pins = 242	' %11110010
		let pins = 3	' %00000011
		if pin0=1 then label_494
label_11E:	let pins = 102	' %01100110
		let pins = 159	' %10011111
		if pin0=1 then label_11E
label_182:	let pins = 102	' %01100110
		let pins = 37	' %00100101
		if pin0=1 then label_182
label_1E6:	let pins = 102	' %01100110
		let pins = 13	' %00001101
		if pin0=1 then label_1E6
label_24A:	let pins = 102	' %01100110
		let pins = 153	' %10011001
		if pin0=1 then label_24A
label_2A7:	let pins = 102	' %01100110
		let pins = 73	' %01001001
		if pin0=1 then label_2A7
label_312:	let pins = 102	' %01100110
		let pins = 65	' %01000001
		if pin0=1 then label_312
label_376:	let pins = 102	' %01100110
		let pins = 31	' %00011111
		if pin0=1 then label_376
label_3DA:	let pins = 102	' %01100110
		let pins = 1	' %00000001
		if pin0=1 then label_3DA
label_437:	let pins = 102	' %01100110
		let pins = 25	' %00011001
		if pin0=1 then label_437
label_49B:	let pins = 102	' %01100110
		let pins = 3	' %00000011
		if pin0=1 then label_49B
		goto label_50C
 
Last edited:

westaust55

Moderator
I have not looked at you code but here is some advise/comments:

The RANDOM command can be used to do what you seek.

As with all computers, the RAMDON function generates a pseudo-random number sequqnce that typically always starts with the same number and same sequece each time the computer is started.

To get around this, the practice is to "seed" the RANDOM function with a different number on starting or even during program operation to give a more random series of numbers.

AS the RANDOM command gives a number from 0 to 65535 as its output you can scale the value to give the desired range of numbers (1 to 49).
For example as a simple case
the random number is 0 to 65535 so divide by 1338 and add 1 will give a number from 1 to 49.


The manual 2 at page 119 covers one possible way to seed the random number function.

Then
Code:
RANDOM w0
w0 = w0 / 1338 + 1
If your program is some form of lottery number generator where a different number must be returned then some extra code will be required to check and avoid giving the same result twice.
 
Last edited:

drieschnoronha

New Member
sorry

sorry for this.
but i tried reading the manual some time back, but didn't get it. could you give me like an example between 1 to 10 or sumfin
 

Texy

Senior Member
Which part do you not understand? Westy has given you lots of help in his post, including how to generate numbers in the range you need - how will going from 1 to 10 help?

Texy
 

Jeremy Leach

Senior Member
As mentioned, the random command will generate a predetermined sequence. So a suggestion would be to generate a seed value that is based on the length of time to push the button. Could just have a loop going on, incrementing a value, until the button is pushed, and then this value used as a seed.
 

bgrabowski

Senior Member
An alternative strategy is to store the numbers 1 to 49 in the 18X RAM from $50. Then use the random function with a little mathematical manipulation to generate two numbers 0 to 48. Add these on to $50 then swap the values contained in the RAM at those two locations. If this is done in loops whilst waiting for keypresses, many thousands of swaps will occur and the order will be fairly well scrambled. The advantages of this method are that there is no chance of duplicating the "lottery ball" and and required set of lottery numbers can be drawn from RAM locations $50, $51, $52 .... once the set is scrambled.

This technique is also an excellent way to "shuffle" a deck of cards for electronic card games. It has been used to good effect by my pupils for Picaxe versions of blackjack and rummy.
 

westaust55

Moderator
Not exactly sure how else you need help.

You can keep the codes for the digits 0 to 9 in EEPROM. Note that you have two different 7-SEG LED displays so you may need to sets of data, one for each 7-seg display. Buts seems you are only using one of the 7-seg displays in your program with the mentioned 0.5 sec delay between displaying each digit.

In psuedo-code try something something like this:

Code:
EEPROM locations 0 - 9 for 7-seg data for tens digit
EEPROM locations 10 - 19 for 7-seg data for units digit

SYMBOL tens = b5
SYMBOL units = b6
SYMBOL tenbit = b7
SYMBOL onebit = b8


RANDOM w0
w0 = w0 / 1338 + 1  ; generate a random number from 1 to 49

tens = w0 / 10 +10 ; extract the tens value 0, 1, 2 ,3  or 4
units = w0 // 10     ; extract the units value 0....9

READ tens, tenbit   ; fetch the segment code data from EEPROM for the 10's 7-seg display
READ units, onebit ; fetch the segment code data from EEPROM for the 1's 7-seg display

LET pins = tenbit
PAUSE 500
LET pins = onebit

GOTO next number
 

bgrabowski

Senior Member
Can I remind forum users that many GCSE students are positively encouraged to ask questions on this forum and the fact that they are doing coursework should not prevent us from pointing them in the right direction. Examples of code given to the student are often just a small section of the final code that they happen to be struggling with. The time allocated to coursework is such that the student needs to keep making progress and getting stalled on a tricky section in his or her programme for days or weeks is just a waste of time. Most of their classroom time is spent on the design process and manufacturing. Very few marks are allocated for the code itself but marks are awarded for code "development" and consulting "experts" in their research and evaluation.

Students should always declare that their question is coursework-related and they should always fully describe their project idea, post any code already written and/or explain the approaches they have already considered. They should comply with the rules about plagiarism and always acknowledge the sources of any advice given.

It may interest forum users (and Technical) to know that this and most other forums are barred to many schools in the UK by the local education authority.
 

westaust55

Moderator
Can I remind forum users that many GCSE students are positively encouraged to ask questions on this forum and the fact that they are doing coursework should not prevent us from pointing them in the right direction.

Students should always declare that their question is coursework-related and they should always fully describe their project idea, post any code already written and/or explain the approaches they have already considered. They should comply with the rules about plagiarism and always acknowledge the sources of any advice given.

It may interest forum users (and Technical) to know that this and most other forums are barred to many schools in the UK by the local education authority.

Do not disagree with helping student.
In this case, as with others involving studies, if I feel it is student course related, I try to limit the response to the key code area as a snippet rather than a full program.

In this thread, the originator has not given an indication if the code can allow duplicate numbers or not so hard to be too precise.
No indication given as to whether the code posted is working or not, they just want to know if the RANDOM command could be used.
 

Michael 2727

Senior Member
Just out of curiosity, why the 2 different displays, all that was in the junk box ?

I tried exactly what you are doing a year or so ago (1 to 45 ) tatslotto number picker.
I found that "random" was not as random as I would have liked.
In a recent thread I saw mention of the generated (random) numbers all started out
small values.
This is what I was finding also e.g. you would never get 37 or 44 as the
first number in the sequence, it seemed that numbers you got were mostly small values
then accending values and then rarely below the prevoius values.
EDIT: http://www.picaxeforum.co.uk/showthread.php?t=7799

About the only part that did work correctly, was not to select a repeat number :)

Work out a good random selection generator the rest is easy.
If someone clever comes up with truly innovative random number generator I may
give it another 15 minutes worth. ;)

A Picaxe running Red Hat, pick the numbers out of the HAT.
Couldn't resist.
 

drieschnoronha

New Member
Reply to Q's

I am sorry for not making it clear that I am a student. and this a GCSE related question. The code does work and made sum changes to it so it works correctly and only does wat it is supposed to do (no extras) . the way this code works is that it goes through the numbers 1-49 and when a person presses the PTM it stops at the number it is at and displays it till the user lets go. I wanted to change i so that when a user presses the PTM it will show one number for 4-5 seconds, and then another different number for 4-5 seconds and so on till 5 different numbers are displayed. I wanted none of the numbers to be repeated. Sorry for not making myself clear. I hope this helps and sorry for annoying the people of this site since I am only a beginner at this.

Here is the code:

Code:
main:

label_50C:	if pin1=1 then gosub sub0
label_6:	let pins = 252	' %11111100
		let pins = 159	' %10011111
		if pin0=1 then label_6
label_1F:	let pins = 252	' %11111100
		let pins = 37	' %00100101
		if pin0=1 then label_1F
label_6A:	let pins = 252	' %11111100
		let pins = 13	' %00001101
		if pin0=1 then label_6A
label_F6:	let pins = 252	' %11111100
		let pins = 153	' %10011001
		if pin0=1 then label_F6
label_7D:	let pins = 252	' %11111100
		let pins = 73	' %01001001
		if pin0=1 then label_7D
label_90:	let pins = 252	' %11111100
		let pins = 65	' %01000001
		if pin0=1 then label_90
label_A3:	let pins = 252	' %11111100
		let pins = 31	' %00011111
		if pin0=1 then label_A3
label_B6:	let pins = 252	' %11111100
		let pins = 1	' %00000001
		if pin0=1 then label_B6
label_DB:	let pins = 252	' %11111100
		let pins = 25	' %00011001
		if pin0=1 then label_DB
label_C9:	let pins = 96	' %01100000
		let pins = 3	' %00000011
		if pin0=1 then label_C9
label_109:	let pins = 96	' %01100000
		let pins = 159	' %10011111
		if pin0=1 then label_109
label_16D:	let pins = 96	' %01100000
		let pins = 37	' %00100101
		if pin0=1 then label_16D
label_1D1:	let pins = 96	' %01100000
		let pins = 13	' %00001101
		if pin0=1 then label_1D1
label_235:	let pins = 96	' %01100000
		let pins = 153	' %10011001
		if pin0=1 then label_235
label_299:	let pins = 96	' %01100000
		let pins = 73	' %01001001
		if pin0=1 then label_299
label_2FD:	let pins = 96	' %01100000
		let pins = 65	' %01000001
		if pin0=1 then label_2FD
label_361:	let pins = 96	' %01100000
		let pins = 31	' %00011111
		if pin0=1 then label_361
label_3C5:	let pins = 96	' %01100000
		let pins = 1	' %00000001
		if pin0=1 then label_3C5
label_429:	let pins = 96	' %01100000
		let pins = 25	' %00011001
		if pin0=1 then label_429
label_110:	let pins = 218	' %11011010
		let pins = 159	' %10011111
		if pin0=1 then label_110
label_174:	let pins = 218	' %11011010
		let pins = 37	' %00100101
		if pin0=1 then label_174
label_1D8:	let pins = 218	' %11011010
		let pins = 13	' %00001101
		if pin0=1 then label_1D8
label_23C:	let pins = 218	' %11011010
		let pins = 153	' %10011001
		if pin0=1 then label_23C
label_2A0:	let pins = 218	' %11011010
		let pins = 73	' %01001001
		if pin0=1 then label_2A0
label_304:	let pins = 218	' %11011010
		let pins = 65	' %01000001
		if pin0=1 then label_304
label_368:	let pins = 218	' %11011010
		let pins = 31	' %00011111
		if pin0=1 then label_368
label_486:	let pins = 218	' %11011010
		let pins = 1	' %00000001
		if pin0=1 then label_486
label_3CC:	let pins = 218	' %11011010
		let pins = 25	' %00011001
		if pin0=1 then label_3CC
label_48D:	let pins = 218	' %11011010
		let pins = 3	' %00000011
		if pin0=1 then label_48D
label_117:	let pins = 242	' %11110010
		let pins = 159	' %10011111
		if pin0=1 then label_117
label_17B:	let pins = 242	' %11110010
		let pins = 37	' %00100101
		if pin0=1 then label_17B
label_1DF:	let pins = 242	' %11110010
		let pins = 13	' %00001101
		if pin0=1 then label_1DF
label_243:	let pins = 242	' %11110010
		let pins = 153	' %10011001
		if pin0=1 then label_243
label_2AE:	let pins = 242	' %11110010
		let pins = 73	' %01001001
		if pin0=1 then label_2AE
label_30B:	let pins = 242	' %11110010
		let pins = 65	' %01000001
		if pin0=1 then label_30B
label_36F:	let pins = 242	' %11110010
		let pins = 31	' %00011111
		if pin0=1 then label_36F
label_3D3:	let pins = 242	' %11110010
		let pins = 1	' %00000001
		if pin0=1 then label_3D3
label_430:	let pins = 242	' %11110010
		let pins = 25	' %00011001
		if pin0=1 then label_430
label_494:	let pins = 242	' %11110010
		let pins = 3	' %00000011
		if pin0=1 then label_494
label_11E:	let pins = 102	' %01100110
		let pins = 159	' %10011111
		if pin0=1 then label_11E
label_182:	let pins = 102	' %01100110
		let pins = 37	' %00100101
		if pin0=1 then label_182
label_1E6:	let pins = 102	' %01100110
		let pins = 13	' %00001101
		if pin0=1 then label_1E6
label_24A:	let pins = 102	' %01100110
		let pins = 153	' %10011001
		if pin0=1 then label_24A
label_2A7:	let pins = 102	' %01100110
		let pins = 73	' %01001001
		if pin0=1 then label_2A7
label_312:	let pins = 102	' %01100110
		let pins = 65	' %01000001
		if pin0=1 then label_312
label_376:	let pins = 102	' %01100110
		let pins = 31	' %00011111
		if pin0=1 then label_376
label_3DA:	let pins = 102	' %01100110
		let pins = 1	' %00000001
		if pin0=1 then label_3DA
label_437:	let pins = 102	' %01100110
		let pins = 25	' %00011001
		if pin0=1 then label_437
label_49B:	let pins = 102	' %01100110
		let pins = 3	' %00000011
		if pin0=1 then label_49B
		goto label_50C
 

westaust55

Moderator
Okay, no need to be sorry.
the lesson to learn is that the more information you give about your project or problem, then the more accurate will be the answers.

Based on what you have now advised, the method described by bgrabowski would be the better solution than what I proposed.

Michael,
were you seeding the random number or re-seeding from time to time?
If what you are saying cannot be rectified then agree that the RANDOM function is rather less random than might be hoped for even as a pseudo random number.
 

Dippy

Moderator
You haven't annoyed anyone and people are glad to help where/when they can. This Forum is completely voluntary and very generous.

But there is always the worry that an enthusiastic 'old lag' can end up doing someone's homework and the student gets 'top marks' for someone else's work.
Everyone likes to help and sometimes a working example can teach a lot.

Sadly, for some people a working example is simply cut'n'paste... homework done, thank you very much and when are the pubs open.

And some contributors love to show off. They can't help themselves. So with careful flattery people can get their homework, coursework or competitions finished free of charge and in no time at all. That doesn't apply in this case of course.

Let us know if you get top marks for this coursework :)
 

alband

Senior Member
Hi everyone,
Me too (a GCSE student)
Are you usin PICLogicator @ school?
If so it has some handy variable comands and can turn anything into basic.
If not I think the random command in basic is; "random varA"
Use this then divide output by 30 to get a single digit between 1-10 then if you wanted all the digits to be different compare each one with the previous and if it same redo the previous loop.

BTW what are u making for u'r project?

Hope this helps,
David
 

alband

Senior Member
If u use the "random b1", it will assign variable b1 a random number between 0-255. U can then use some maths so get the type of number u want. I think u mentioned not wanting any of the number the same so just compare them using the compare command and if they are the same, make it go through the number generation loop again, although the chances of two number being the same in a 7 digit number are roughly 1:0.07 (small, larger with more digits).
 

Michael 2727

Senior Member
WestOZ, I can't remember what I was using at the time, files are now gone.
I'll have a look in my diode box, I think an external noise source may be the
better way to go, just a matter of keeping it very simple, an op amp is one
op amp too many :)
 

hippy

Ex-Staff (retired)
If u use the "random b1", it will assign variable b1 a random number between 0-255.
Except it won't. Give it a try and see what happens to b1 when you execute a "RANDOM b1" a number of times. You'll find that you only get a very limited set of numbers which continually repeats, far from random at all.

You'll need to use a word variable rather than byte variable to get a better set of numbers, then you have to apply your maths to get a result in the number range you want.
 

westaust55

Moderator
Except it won't. Give it a try and see what happens to b1 when you execute a "RANDOM b1" a number of times. You'll find that you only get a very limited set of numbers which continually repeats, far from random at all.

You'll need to use a word variable rather than byte variable to get a better set of numbers, then you have to apply your maths to get a result in the number range you want.
Yes correct, and as the manual clearly states:
Syntax:
RANDOM wordvariable
- Wordvariable is both the workspace and the result. As random generates a
pseudo-random sequence it is advised to repeatedly call it within a loop. A
word variable must be used, byte variables will not operate correctly.
 

westaust55

Moderator
where I previously gave code with the lines:
Code:
RANDOM w0
w0 = w0 / 1338 + 1  ; generate a random number from 1 to 49
this keeps setting w0 back to a number in the range 1 to 49 which would not re-seed the random function very well for the next number.

Would therefore think that something along following lines will do better as w0 is in the range 0 to 65535 for re-seeding the random number generator
Code:
RANDOM w0
[B]w1[/B] = w0 / 1338 + 1  ; generate a random number from 1 to 49
 

bgrabowski

Senior Member
Try this:

'LOTTERY BALL SHUFFLER for PICAXE
'78 bytes
'
'***DECLARE SYMBOLS***
'
symbol ball = b0 'lottery ball number 1-49
symbol counter = b7 'counter for loops
symbol next_ball = b8 'points to next ball to be dealt
symbol ball1 = b8 'used in shuffle
symbol position = b9 'position of ball in memory
symbol ball2 = b9 'used in shuffle
symbol val1 = b10 'memory pointer
symbol val2 = b11 'memory pointer
symbol rnd = w6 'random number 0-65535
'
init:
for ball = 1 to 49 'set up
position = $C0 + ball 'unshuffled
poke position,ball 'ball set in
next ball 'RAM memory
random rnd 'generate next random number
'Note: For true randomness the previous line should be in a loop
'repeating thousands of times whilst waiting for the user to
'press a draw button
'
shuffle:
'This routine swaps random pairs of balls in the selection 256 times
for counter = 0 to 255 'loop 256 times
val1 = rnd/1338 + $C0 'point to a ball in memory
random rnd 'generate next random number

val2 = rnd/1338 + $C0 'point to another ball
peek val1,ball1 'get ball 1
peek val2,ball2 'get ball 2
poke val2,ball1 'swap ball 2
poke val1,ball2 'swap ball 1
random rnd 'generate next random number
next counter 'repeat 256 times
'
draw_balls:
peek $c0,b1 'b1 now contains 1st ball
peek $c1,b2 'b2 now contains 2nd ball
peek $c2,b3 'b3 now contains 3rd ball
peek $c3,b4 'b4 now contains 4th ball
peek $c4,b5 'b5 now contains 5th ball
peek $c5,b6 'b6 now contains 6th ball
'
'This test routine will display the values of the six drawn balls
'on the PC as long as the download cable is kept attached
'Look at values b1 to b6
debug
pause 3000 'update every 3 seconds
goto shuffle
 
Last edited:

westaust55

Moderator
Michael,

just a different way of coming up with the same answer.

if w0 is in the range 0 to 65535 then dividing by 1338 gives an integer value from 0 to 48 on the PICAXE then add 1 to get the range 1 to 49.

w0 // 49 + 1 would achieve the same result.

For the record,
not sure if drieschnoronha has solved the problem.

Sent me a PM on 20th asking:
could u please tell me how to store things in eeprom.
How shud i store the digits 0-9 and 0-4 in there. i am not exactly sure how to do that. i also don't want any repetition in numbers and also never want 0 and 0 to ever show up together.
Provided in reply some code snippets and example info on first part on how to save, calc a pointer and retrieve data plus suggested he use the open forum.
But since, there has not been further comment from drieschnoronha.
 
Last edited:

Michael 2727

Senior Member
Thanks westy,
My Win XP calculator must have dust in the buttons.
Or I just hit a wrong button the other day, 65535/1338 didn't relate to much :)
 
Top