(Euph)Oric for "today"?
Posted: Sun Dec 16, 2007 3:29 pm
Hello everyone
For the last two years I am seriously interested in developing commercial software under (Euph)oric. My intention is to make Euphoric useful in today's offices and/or in stores. I guess it all started when I received an order to make a simple program which will track the time spent on work for the employed personal of one company. It was a simple idea; everyone would enter their personal-ID key (number) at the start of the day and again at the end of the day. Program would then simply calculate the time "difference" (end time minus start time) and store it on the hard drive under the file for that employed person. It is extremely simple program and I wanted to create it under the (Euph)oric (emulator) because of the following reasons:
- I'm an excellent Basic programmer
- I personally hate Excel and Microsoft Access for when ever I try to do anything in their Visual Basic - all I ever end up is just - chrashing my computer!
- Ever tried to press CTRL+C under Qbasic? Does not work! And ever tried to do something like "A$=KEY$ under Qbasic? Does not work either! (Although this can be achieved but isn't so easy to do)
But then I realized that Euphoric, under Basic as well as the real Oric can't "tell the time"!
I mean - there is no command in Basic that I could use for the program to know at what time something happened!
Then I searched the Internet, searched and searched, asked a lot of questions "here and there" regarding this subject and found - no answer!
It took me almost two years experimenting ON MY OWN and doing PEEKing of hundred and hundreds of addressees "BY HAND" and comparing their values to discover the following:
PRINT PEEK (869) gives the date number, example: "31"
PRINT PEEK (868) gives the month number, example: "12"
PRINT PEEK (870) gives the year number, example: "7" for "2007"
PRINT PEEK (865) gives the hour number, example "9" for nine o clock
PRINT PEEK (866) gives the minute number, example "20" for 09:20
(Of course, RealTimeClock" in the Euphoric's INI file has to be set to "YES")
And this WORKS for the Atmos configuration of the Euphoric
Now, I have 3 more unresolved problems that prevents me from developing commercial applications under Euphoric;
1) Program example:
10 DIM A$(200)
20 INPUT "Enter file name";S$
30 Store A$,S$ (does not work)
In stead, I have to do it like this:
10 DIM A$(200)
20 REM---
30 STORE A$,"filename.tap"
Meaning - I cannot use a variable under the program itself for the filename, I must have that filename already written inside of the program code. It is a serious drawback
2) DIM A$(100000)
Result would be:
OUT OF MEMORY ERROR
Meaning - I have to "split" my databases in to separate files and use them part-by part.
3) Keyboard matrix of the Euphoric is capable of detecting every key pressed at the same time. Example: if I press the letter "A" and keep it pressed, then press the letter "B" - Euphoric can detect both "A" and "B"! (unlike Microsoft Word for example which would just repeat the first letter pressed - "A" in this case). But the keyboard buffer of the modern computers can NOT read more than one key pressed at the same time, so this option of the Euphoric is meaningless today! And, I believe this is the reason why Euphoric is much SLOW when it comes to reading bar-codes from the bar-code scanners connected to the keyboard of PC computers.
For the first problem written above, I was told that there is a bug in Oric's ROM file and because of that I can not use a variable for storing the file created by the "DIM" command. (But I CAN use a variable for saving the program file itself, example: CSAVE S$ )
My question is: Has anyone bothered to fix this bug in the ROM file?!
For the second problem written above, - I know that Oric was an machine with only 44KB of RAM memory available and increasing the RAM amount wouldn't be the "Oric" anymore, BUT...??? If anyone would increase the RAM memory of "Oric" under the emulator up to - at least 1MB (!) and CPU just up to 20MHz - this "simulated machine" could be quite useful even today! I know this memory increment would be quite hard to do on the real Oric, but under the emulator - I don't know. Has anyone created a version of Euphoric with larger RAM available?
For the third problem written above - I have no other solution but to "slow down" the actual bar-code scanner itself. It's a shame. But it's only solution I can think of!
P.S. Have you a LAN connection in your house? Example - at least two computers connected via Local Area Network cable? And, example, first computer would be named "SERVER" and second computer would be named "CLIENT".
Then, on both computers on the Hard drive C you have a folder named "ORIC"
Then, launch Euphoric on the SERVER computer, and do the following:
CSAVE"\\CLIENT\C:\ORIC\DEMO.TAP"
Then exit Euphoric, and check the contest of the ORIC folder on the CLIENT computer. In it, you will find newly created "DEMO.TAP" file - meaning - Euphoric CAN pass files trough the Local Area Network!
So, why not create an account software or cash-register software under Euphoric? It would be much easier (and much more stabile!) peace of software than those provided from the Microsoft corporation(and similar sources)!
More or less only thing that's stopping me in this idea is those 3 limitations of the Oric itself. I'm not suggesting to re-create the Oric, just to re-modify it to meet toady "criteria".
I would like to hear your opinions regarding these subjects.
I hope I wont have to wait another two years or so and work on solutions regarding these 3 problems stated above - totally myself - like I did with the RealTimeClock and it's PEEK addresses
Best regards
Brana
For the last two years I am seriously interested in developing commercial software under (Euph)oric. My intention is to make Euphoric useful in today's offices and/or in stores. I guess it all started when I received an order to make a simple program which will track the time spent on work for the employed personal of one company. It was a simple idea; everyone would enter their personal-ID key (number) at the start of the day and again at the end of the day. Program would then simply calculate the time "difference" (end time minus start time) and store it on the hard drive under the file for that employed person. It is extremely simple program and I wanted to create it under the (Euph)oric (emulator) because of the following reasons:
- I'm an excellent Basic programmer
- I personally hate Excel and Microsoft Access for when ever I try to do anything in their Visual Basic - all I ever end up is just - chrashing my computer!
- Ever tried to press CTRL+C under Qbasic? Does not work! And ever tried to do something like "A$=KEY$ under Qbasic? Does not work either! (Although this can be achieved but isn't so easy to do)
But then I realized that Euphoric, under Basic as well as the real Oric can't "tell the time"!
I mean - there is no command in Basic that I could use for the program to know at what time something happened!
Then I searched the Internet, searched and searched, asked a lot of questions "here and there" regarding this subject and found - no answer!
It took me almost two years experimenting ON MY OWN and doing PEEKing of hundred and hundreds of addressees "BY HAND" and comparing their values to discover the following:
PRINT PEEK (869) gives the date number, example: "31"
PRINT PEEK (868) gives the month number, example: "12"
PRINT PEEK (870) gives the year number, example: "7" for "2007"
PRINT PEEK (865) gives the hour number, example "9" for nine o clock
PRINT PEEK (866) gives the minute number, example "20" for 09:20
(Of course, RealTimeClock" in the Euphoric's INI file has to be set to "YES")
And this WORKS for the Atmos configuration of the Euphoric
Now, I have 3 more unresolved problems that prevents me from developing commercial applications under Euphoric;
1) Program example:
10 DIM A$(200)
20 INPUT "Enter file name";S$
30 Store A$,S$ (does not work)
In stead, I have to do it like this:
10 DIM A$(200)
20 REM---
30 STORE A$,"filename.tap"
Meaning - I cannot use a variable under the program itself for the filename, I must have that filename already written inside of the program code. It is a serious drawback
2) DIM A$(100000)
Result would be:
OUT OF MEMORY ERROR
Meaning - I have to "split" my databases in to separate files and use them part-by part.
3) Keyboard matrix of the Euphoric is capable of detecting every key pressed at the same time. Example: if I press the letter "A" and keep it pressed, then press the letter "B" - Euphoric can detect both "A" and "B"! (unlike Microsoft Word for example which would just repeat the first letter pressed - "A" in this case). But the keyboard buffer of the modern computers can NOT read more than one key pressed at the same time, so this option of the Euphoric is meaningless today! And, I believe this is the reason why Euphoric is much SLOW when it comes to reading bar-codes from the bar-code scanners connected to the keyboard of PC computers.
For the first problem written above, I was told that there is a bug in Oric's ROM file and because of that I can not use a variable for storing the file created by the "DIM" command. (But I CAN use a variable for saving the program file itself, example: CSAVE S$ )
My question is: Has anyone bothered to fix this bug in the ROM file?!
For the second problem written above, - I know that Oric was an machine with only 44KB of RAM memory available and increasing the RAM amount wouldn't be the "Oric" anymore, BUT...??? If anyone would increase the RAM memory of "Oric" under the emulator up to - at least 1MB (!) and CPU just up to 20MHz - this "simulated machine" could be quite useful even today! I know this memory increment would be quite hard to do on the real Oric, but under the emulator - I don't know. Has anyone created a version of Euphoric with larger RAM available?
For the third problem written above - I have no other solution but to "slow down" the actual bar-code scanner itself. It's a shame. But it's only solution I can think of!
P.S. Have you a LAN connection in your house? Example - at least two computers connected via Local Area Network cable? And, example, first computer would be named "SERVER" and second computer would be named "CLIENT".
Then, on both computers on the Hard drive C you have a folder named "ORIC"
Then, launch Euphoric on the SERVER computer, and do the following:
CSAVE"\\CLIENT\C:\ORIC\DEMO.TAP"
Then exit Euphoric, and check the contest of the ORIC folder on the CLIENT computer. In it, you will find newly created "DEMO.TAP" file - meaning - Euphoric CAN pass files trough the Local Area Network!
So, why not create an account software or cash-register software under Euphoric? It would be much easier (and much more stabile!) peace of software than those provided from the Microsoft corporation(and similar sources)!
More or less only thing that's stopping me in this idea is those 3 limitations of the Oric itself. I'm not suggesting to re-create the Oric, just to re-modify it to meet toady "criteria".
I would like to hear your opinions regarding these subjects.
I hope I wont have to wait another two years or so and work on solutions regarding these 3 problems stated above - totally myself - like I did with the RealTimeClock and it's PEEK addresses
Best regards
Brana