Navigation

    Fuze Arena Logo
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Help
    • Discord

    A simple esolang interpreter

    Creation share codes
    5
    72
    5848
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      LucasJG25 @JMM161437 last edited by

      @JMM161437 I see

      1 Reply Last reply Reply Quote 1
      • JMM161437
        JMM161437 F last edited by

        @LucasJG25 yeah.. as for the electronics it's in the planning stages as for now with a small buggy prototype... so far I have logic gates, LEDs, power suppy, and switches to toggle

        1 Reply Last reply Reply Quote 1
        • L
          LucasJG25 last edited by

          Sounds really interesting. Looking forward to try it out.

          1 Reply Last reply Reply Quote 1
          • JMM161437
            JMM161437 F last edited by

            well when It's done I'll definitely let you know!

            1 Reply Last reply Reply Quote 1
            • L
              LucasJG25 last edited by

              Added more commands. Now you can branch with B or b and return back to that point in the code where you branched and continue as is.

              1 Reply Last reply Reply Quote 2
              • L
                LucasJG25 last edited by

                Ok, I think that will be enough for this Esolang now. With increase RAM/ROM capacity and larger screen buffer size. That should enable you guys to do whatever you like. As said above this will be my last upgrade to this language. Hope you guys have fun with it! :D

                1 Reply Last reply Reply Quote 3
                • JMM161437
                  JMM161437 F last edited by

                  thanks! so much memory... endless possiblities -evil insane laughter-

                  L 1 Reply Last reply Reply Quote 1
                  • L
                    LucasJG25 @JMM161437 last edited by

                    @JMM161437 I've also changed the instruction operands. Now it's more easier to load and save to RAM, use RAM as a pointer, or with registers.

                    1 Reply Last reply Reply Quote 1
                    • JMM161437
                      JMM161437 F last edited by JMM161437

                      @LucasJG25 thats awesome! oh btw my Circuit Designer project I need help... should I simulate wire resistance and component overload if the voltage is too high on the power supply/ resistor value is too low to limit the current... also should I add a simulated AC power source or is that too much

                      L 1 Reply Last reply Reply Quote 2
                      • L
                        LucasJG25 @JMM161437 last edited by

                        @JMM161437 I think those are great ideas for your project. Plus, this could be a great way to teach electronics as well. So I'd say go for it!

                        1 Reply Last reply Reply Quote 2
                        • JMM161437
                          JMM161437 F last edited by

                          good point @LucasJG25... might make it an educational type of project to learn at least the basics or electronics... thanks for your feedback!

                          1 Reply Last reply Reply Quote 1
                          • L
                            LucasJG25 last edited by

                            The latest update is now live. Enjoy!!

                            1 Reply Last reply Reply Quote 1
                            • L
                              LucasJG25 last edited by LucasJG25

                              So, I've been doing some reading on the 6502 assembly language and I'm thinking of adjusting the Esolang to enable labels to be used within the operands. I'm thinking that this will enable even more flexibility with the Esolang as I'm sure it's still difficult to create labels in the current version. Here is a BNF (Backus-Naur form) of the updated language and how it would work.

                                  L -> <reg>, (<sym><num> | "*"<label>)
                                  C -> <reg>, (<sym><num> | "*"<label>)
                                  A -> <reg>, (<sym><num> | "*"<label>)
                                  a -> <reg>, (<sym><num> | "*"<label>)
                                  S -> <reg>, ("*"<label> | <sym><num>)
                                  J -> "*"<label> | <sym><num>
                                  j -> "*"<label> | <sym><num>
                                  g -> Get data from screen buffer---------------------------
                                  P -> Display entire screen buffer                           | Imperative instruction
                                  p -> Acc => screenBuffer(reg_y * screenWidth + reg_x)       | No operands for these 
                                                                                              | instructions.
                                  i -> input stream                                           |
                                  R -> Return back to (B | b)                                 |
                                  M -> switch modes | char | number -------------------------
                                  B -> "*"<label> | <sym><num>
                                  b -> "*"<label> | <sym><num>
                              
                                  Label Declaration:
                                  <label> "=" "$"<num> | @<label>
                                  <label> ::= ("a-z" | "A-Z")
                              
                              1 Reply Last reply Reply Quote 1
                              • L
                                LucasJG25 last edited by LucasJG25

                                UPDATE:
                                The labels are becoming more flexible. Lol, wow I just keep adding to this thing!

                                Labels can now be assigned RAM addresses and be given names.

                                foo = $5; // This makes label foo become RAM[5]
                                @example // This label is called an anonymous label since it is not assigned a RAM address and will instead use the current line number it resides on.
                                

                                So instead of using #<number> all the time. You can now just give a RAM address a name. Say for example the RAM address for keyboard input 3999. You can put that into a label

                                Keyboard = $3999
                                

                                Now you can use that label to load from input stream to the X register if you wanted

                                L X, Keyboard
                                
                                1 Reply Last reply Reply Quote 2
                                • L
                                  LucasJG25 last edited by

                                  Just did a little code test. Now this is looking like a real language. This is on the PC version by the way. Will port it to Fuze soon. Right now I need a break!!

                                  //Test
                                  	M;
                                  	keyboard = $254;
                                  	@loop
                                  	L Acc, #0;
                                  	i;
                                  	L Acc, keyboard;
                                  	C Acc, #0;
                                  	J loop;
                                  	P;
                                  	C Acc, #10;
                                  	J end;
                                  	j loop;
                                  
                                  	@end
                                  
                                  1 Reply Last reply Reply Quote 2
                                  • PickleCatStars
                                    PickleCatStars F last edited by

                                    I don’t really understand what this is or what it does exactly. Any vids of it in action?

                                    L 2 Replies Last reply Reply Quote 1
                                    • L
                                      LucasJG25 @PickleCatStars last edited by LucasJG25

                                      @toxibunny i'll record it and post it up. Just need to make a few minor adjustments!

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        LucasJG25 @PickleCatStars last edited by LucasJG25

                                        @toxibunny I've posted a GIF on the discord server in #off-topic

                                        1 Reply Last reply Reply Quote 1
                                        • L
                                          LucasJG25 last edited by

                                          OK that's that. All that's left is to see if I can use this to make something. Just have to wait and see.

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post