PT_ wrote:
As promised, ICE v1.1 is open source. You can download/view it at https://github.com/PeterTillema/ICE. There is currently no license, but please don't copy/share it, as normal. I hope to find a good one soon Smile

I keep getting the 404 Page not found error code when I click the link. And I searched your name in GitHub and it didn't pop up with anything. Wink
seanlego23 wrote:
PT_ wrote:
As promised, ICE v1.1 is open source. You can download/view it at https://github.com/PeterTillema/ICE. There is currently no license, but please don't copy/share it, as normal. I hope to find a good one soon Smile

I keep getting the 404 Page not found error code when I click the link. And I searched your name in GitHub and it didn't pop up with anything. Wink


Remove the period after the link.
oldmud0 wrote:
seanlego23 wrote:
PT_ wrote:
As promised, ICE v1.1 is open source. You can download/view it at https://github.com/PeterTillema/ICE. There is currently no license, but please don't copy/share it, as normal. I hope to find a good one soon Smile

I keep getting the 404 Page not found error code when I click the link. And I searched your name in GitHub and it didn't pop up with anything. Wink


Remove the period after the link.


Thanks
PT_ wrote:
Version 1.1 July XX, 2016
☐ Lbl/Goto
☐ Display strings
☑ getKey
☑ Use ix for accessing variables
☐ Input (working on)
☑ rand


Did you forget Menu( ? Or is it not possible right now? (just out of curiosity)
Quick question, why does the Disp command display stuff on the left of the screen, as opposed to the far right? Is it because you didn't want to mess with wrapping and stuff?
caleb1997 wrote:
PT_ wrote:
Version 1.1 July XX, 2016
☐ Lbl/Goto
☐ Display strings
☑ getKey
☑ Use ix for accessing variables
☐ Input (working on)
☑ rand


Did you forget Menu( ? Or is it not possible right now? (just out of curiosity)

Nope. Menu( is too complicated for now, or I need to modify an OS menu. Btw, v1.1 is ready already Wink
mr womp womp wrote:
Quick question, why does the Disp command display stuff on the left of the screen, as opposed to the far right? Is it because you didn't want to mess with wrapping and stuff?

Because it just calls _DispHL, which displays it at the left. To change this, I need an extra line of code to set (curCol) to 20 or so.
Well, the first step is made to my own custom tokens!!! (Btw, after inserting it in the program, it crashes Sad)
Ouch. Good luck with that!
PT_ wrote:
Well, the first step is made to my own custom tokens!!! (Btw, after inserting it in the program, it crashes Sad)

Oh cool! so you will be adding a menu where we can find the commands you've introduced?
PT_ wrote:
I never gonna reach that....


Stop beating up on yourself, PT_. We all know that however long it takes, eventually, everyone will program in ASM.

Good luck, and keep up the good work!
Thanks Smile

Time for some updates. This week I came back from my holiday, which means I had some time for programming again. And yes, of course, I picked up ICE to start with, outside of some small projects. I'm currently working on 4 parts:
- GUI
- Optimization
- Auto-optimization
- Add custom tokens.

The first part, the GUI, is halfway done, I still need to get all the programs from the VAT, starting with [i], and display them, and of course select one. The second point is just underway, many thanks to grosged who gave me some tips, and now I can save about 100 bytes, maybe even more. I'm about to start with point 3, the auto-opt. For example I have this peace of code:
Repeat A=5
ICE now compiles that into
Code:
ld a, (ix+variableA)
sub a, 5
add a, $FF
sbc a, a
inc a
or a
jp z, ******

Well, it could be MUCH shorter!

Code:
ld a, (ix+variableA)
sub a, 5
jp z, ******

This will be done at the auto-opt part, and I guess it can optimize much stuff! Smile

Last part is the custom tokens, or a replacement of uncommon tokens. I've posted earlier how I gonna do that, and I'm only struggling with the extended keypresses for tokens.
Side note, I want to 'create' these tokens:
ExecHex(
Sprite(
Rect(
ReadByte(
ReplaceByte(
AddByte(
DeleteByte(
SetupPrgm(
CreateVar(
ArchiveVar(
UnArchiveVar(
DeleteVar(
Inc(
Dec(

Wanna see things added? Let me know, even if you have questions what they can do! Smile
Keep up the great work PT_!
One little thing I noticed while playing around with it is that the Disp command seems to act in funky ways for example:
    Disp 3+12
    displays 0

    Disp "(sin(+-*/cos(tan(²
    displays √λpq₃₂πΣτ

    Disp π
    displays 123

and of course I know this is to be expected but displaying integers greater than 255 messes up which is a little uncool Razz
It's time for maybe the biggest update ever of ICE. As you all know, it can only handle 8-bit integers, and is pretty limited to only variables and numbers, not strings, not lists, a very few functions, no arguments for a function. So it's time for a giant update. Since I at least need to change the whole algorithm to handle 3-byte integers, I thought it would be useful to change the whole stuff, so that
1) lists(functions) are supported
2) strings(functions) are supported
3) easy way to add functions
4) correct handling of arguments, even lists or strings
The giant update means too a giant increasing size... I still need to have all the code for adding, subbing, dividing etc, but now even more. For the interesting part: here are all the possibilities that should be supported, for adding (in this case functions are getKey, rand):
- <integer> <integer>
- <integer> <variable>
- <integer> <list>
- <integer> <function>
- <variable> <integer>
- <variable> <variable>
- <variable> <list>
- <variable> <function>
- <list> <integer>
- <list> <variable>
- <list> <list> (even not the same dimension)
- <list> <function>
- <string> <string> ("ABC"+"DEF" -> "ABCDEF"

Interesting, not? Razz
This would mean a giant update, and that takes much time, but if this is finished, adding new stuff is peanuts. I hope you don't blame me, as this is very useful. Also, university starts next week, so I doubt if I have enough time.... I will continue this! Smile

@mr womp womp:
I solved your first bug. The second bug can be fixed by adding _Get_Tok_String in the compiling process, wouldn't be hard.
The last part... yeah... I dunno how that's possible Razz
PT_ wrote:
It's time for maybe the biggest update ever of ICE. As you all know, it can only handle 8-bit integers, and is pretty limited to only variables and numbers, not strings, not lists, a very few functions, no arguments for a function. So it's time for a giant update. Since I at least need to change the whole algorithm to handle 3-byte integers, I thought it would be useful to change the whole stuff, so that
1) lists(functions) are supported
2) strings(functions) are supported
3) easy way to add functions
4) correct handling of arguments, even lists or strings
The giant update means too a giant increasing size... I still need to have all the code for adding, subbing, dividing etc, but now even more. For the interesting part: here are all the possibilities that should be supported, for adding (in this case functions are getKey, rand):
- <integer> <integer>
- <integer> <variable>
- <integer> <list>
- <integer> <function>
- <variable> <integer>
- <variable> <variable>
- <variable> <list>
- <variable> <function>
- <list> <integer>
- <list> <variable>
- <list> <list> (even not the same dimension)
- <list> <function>
- <string> <string> ("ABC"+"DEF" -> "ABCDEF"

Interesting, not? Razz
This would mean a giant update, and that takes much time, but if this is finished, adding new stuff is peanuts. I hope you don't blame me, as this is very useful. Also, university starts next week, so I doubt if I have enough time.... I will continue this! Smile

@mr womp womp:
I solved your first bug. The second bug can be fixed by adding _Get_Tok_String in the compiling process, wouldn't be hard.
The last part... yeah... I dunno how that's possible Razz

Sounds awesome PT. Can't wait to see it being implemented.
Thanks! Very Happy

GUI almost done:

PT_ wrote:
Thanks! Very Happy

GUI almost done:


Cool. Does the compiler keep the name of the previously uncompiled program?
seanlego23 wrote:
Cool. Does the compiler keep the name of the previously uncompiled program?

Thanks Smile If I understand you correct, I think you said that it stored each program name into an 8-byte array, and recall it, when selecting. The answer is no, it only stores the pointer to the program data, and recalls that.
seanlego23 wrote:
PT_ wrote:
Thanks! Very Happy

GUI almost done:

Cool. Does the compiler keep the name of the previously uncompiled program?

It can't create two programs with the same name so no. In previous versions, it would create a program named LOL with the last compiled program in it (which got overwritten). I don't know if this was changed. if it was up to me, the user should have the option to choose a name for his compiled program Razz
mr womp womp wrote:
seanlego23 wrote:
PT_ wrote:
Thanks! Very Happy

GUI almost done:


Cool. Does the compiler keep the name of the previously uncompiled program?

It can't create two programs with the same name so no. In previous versions, it would create a program named 0x5 with the last compiled program in it (which got overwritten). I don't know if this was changed. if it was up to me, the user should have the option to choose a name for his compiled program Razz

If ICE were to use the same name, wouldn't it overwrite the previous BASIC program, just like it did with prgmLOL?
seanlego23 wrote:
If ICE were to use the same name, wouldn't it overwrite the previous BASIC program, just like it did with 0x5?

Yes, ICE would overwrite programs if necessary. In the next version a LOT of errors will be included, for users sake, and this is one of them Smile
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
» Goto page Previous  1, 2, 3 ... 5, 6, 7 ... 31, 32, 33  Next
» View previous topic :: View next topic  
Page 6 of 33
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement