Author Topic: Antenora  (Read 5513 times)

0 Members and 1 Guest are viewing this topic.

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Antenora
« on: January 24, 2011, 01:57:37 am »
Are you an expert at Intercal?
Do you think Malbolge is for wimps?
Can you program Brainf*ck in your sleep?
Do you not value your sanity?

If you answered yes to any of these questions, congratulations, you are officially insane. You're also a perfect candidate for Antenora. Antenora is a language designed specifically to fix the flaws found in Malbolge that allowed the creation of the famous Hello World program by Andrew Cooke. It attempts to tread the thin line between allowing programs to theoretically be written and being impossible to use, all while making actual programs no more than a pipe dream.

Here is the first language specification that I am currently implementing:

Programs will be run by a very simple process. First, programs must be written in base 5i (that is the imaginary number i, not a variable) and will be converted at load time to quinary. Then, the interpreter will divide the converted source into multiple sections of 160 bits and encrypt each of them using a SHA-1 cryptographic hash. The encrypted data will then be treated as executable code and executed by the interpreter.

Antenora is heavily based on Malbolge and thus has a very similar design. One aspect carried over from Malbolge are the three registers, renamed to A, B, and P. A and B are general purpose registers which can contain any data recognized by the interpreter. The third register, P, is a pointer register and points to the location of the current instruction as well as the current cell in the data array. Unlike in the normal variant of Malbolge, P also has no official limitation on size, although it will due to physical constraints for this implementation. The data array itself is an array of equal size as the program and each cell has a corresponding instruction associated with it.

Any Malbolge programmer should become quickly acquainted with the instruction set, which includes ten instructions:

{ : sets B equal to A
] : Sets the value of the cell currently pointed to by P equal to the quinwise addition of registers A and B.
∫ : Sets P to the value of the cell pointed to by the current value of P. In other words, an absolute jump.
¿ : Sets P to the value of the cell pointed to by the value of the cell currently pointed to. A jump using indirect addressing.
@ : Sets the value of A equal to the value of the current cell pointed to by P.
△ : Stores the value of the next instruction in the cell currently pointed to by P and increments P by 2.
↑ : Sets the value of the instruction currently pointed to by P to the value of the cell currently pointed to by P.
► : Performs a "schizophrenic" operation. Takes the operation of the instruction pointed to by the cell currently pointed to by P, then changes the value of the cell to the location of the original instruction in another array.
⇒ : Reads the value of the current cell in the array and ouputs it into the screen at the location pointed to by the contents of A (Y) and B (x).
° : Rotates the value of the cell right Quinwise a number of times equal to the value of the cell pointed to by P+1, then jumps to the location pointed to by the value of the cell pointed to by P+1, treating the instruction P+1 as a ∫ operation.

Keep in mind that all Antenora operations are done in Quinary and that any invalid instruction will immediately result in a RAM clear or otherwise crash. The only way to end a program is to reach its last instruction, which will exit provided that the instruction is not a jump instruction.

Let me know if anyone thinks I should add anything or if they see any security flaws in Antenora.

It is truly evil  >:D
« Last Edit: January 24, 2011, 02:48:55 am by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Antenora
« Reply #1 on: January 24, 2011, 02:04:03 am »
After seeing Malbolge, I doubt I'll understand that stuff. X.x Sorry D:

Will you post example programs and the TI-BASIC/Axe/z80 equivalent?

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Antenora
« Reply #2 on: January 24, 2011, 02:04:15 am »
Ah a language so complex, obfuscated and evil it will make even malbolge look like basic. It would surely bring death to anyone who dared to code in its unforgiving syntax :evillaugh:

List of stuff I need to do before September:
1. Finish the Emulator of the Casio Prizm (in active development)
2. Finish the the SH3 asm IDE/assembler/linker program (in active development)
3. Create a partial Java virtual machine  for the Prizm (not started)
4. Create Axe for the Prizm with an Axe legacy mode (in planning phase)
5. Develop a large set of C and asm libraries for the Prizm (some progress)
6. Create an emulator of the 83+ for the Prizm (not started)
7. Create a well polished game that showcases the ability of the Casio Prizm (not started)

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Antenora
« Reply #3 on: January 24, 2011, 02:04:58 am »
Example programs  :o

I think I'll let everyone else figure it out  >:D
« Last Edit: January 24, 2011, 02:07:31 am by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Antenora
« Reply #4 on: January 24, 2011, 02:08:10 am »
At least you won't have to worry about anyone stealing your source code.

List of stuff I need to do before September:
1. Finish the Emulator of the Casio Prizm (in active development)
2. Finish the the SH3 asm IDE/assembler/linker program (in active development)
3. Create a partial Java virtual machine  for the Prizm (not started)
4. Create Axe for the Prizm with an Axe legacy mode (in planning phase)
5. Develop a large set of C and asm libraries for the Prizm (some progress)
6. Create an emulator of the 83+ for the Prizm (not started)
7. Create a well polished game that showcases the ability of the Casio Prizm (not started)

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Antenora
« Reply #5 on: January 24, 2011, 02:09:25 am »
If they've even heard of base 5i, let alone be fluent in it, they can take have the source.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Antenora
« Reply #6 on: January 24, 2011, 02:39:00 am »
Example programs  :o

I think I'll let everyone else figure it out  >:D
Mk, then D:

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Antenora
« Reply #7 on: January 24, 2011, 01:51:50 pm »
Just for future reference, it's pronounced An-tora, not Ant-nora or Ante-nora. I figured that I may as well screw with English while I was at it  ;D
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Michael_Lee

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1019
  • Rating: +124/-9
    • View Profile
Re: Antenora
« Reply #8 on: January 24, 2011, 03:01:20 pm »
* Michael_Lee edges slowly away from the madness, and is curious how you can have bases that are not whole, positive integers greater then 1
« Last Edit: January 24, 2011, 03:01:30 pm by Michael_Lee »
My website: Currently boring.

Projects:
Axe Interpreter
   > Core: Done
   > Memory: Need write code to add constants.
   > Graphics: Rewritten.  Needs to integrate sprites with constants.
   > IO: GetKey done.  Need to add mostly homescreen IO stuff.
Croquette:
   > Stomping bugs
   > Internet version: On hold until I can make my website less boring/broken.

Ashbad

  • Guest
Re: Antenora
« Reply #9 on: January 24, 2011, 03:05:36 pm »
* Ashbad thinks it looks fun

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Antenora
« Reply #10 on: January 24, 2011, 03:19:36 pm »
* Michael_Lee edges slowly away from the madness, and is curious how you can have bases that are not whole, positive integers greater then 1
* Qwerty.55 straps Michael down to the table to prevent him from getting away

It's actually quite simple and elegant. Take a number such as 123 in base 10. That's the same as (((1*10^2)+2*10^1)+3*10^0), right? Well, you can replace the 10 by the base of your choice. In base 5i, 123 would thus mean -22+10i. As it turns out, there's a regular repeating pattern with the higher powers of complex bases which make it easy to represent any real number without sign digits.
« Last Edit: January 24, 2011, 03:19:57 pm by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Antenora
« Reply #11 on: January 24, 2011, 07:03:46 pm »
I'm curious as to how you even tested this.

Offline Binder News

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 785
  • Rating: +46/-3
  • Zombie of Tomorrow
    • View Profile
Re: Antenora
« Reply #12 on: January 24, 2011, 11:23:52 pm »
So am I. It still looks fun though!
Spoiler For userbars:







Hacker-in-training!   Z80 Assembly Programmer     Axe Programmer
C++ H4X0R             Java Coder                           I <3 Python!

Perdidisti ludum     Cerebrum non habes

"We are humans first, no matter what."
"Fame is a vapor, popularity an accident, and riches take wings. Only one thing endures, and that is character."
Spoiler For Test Results:





Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Antenora
« Reply #13 on: January 25, 2011, 12:51:08 am »
I'm curious as to how you even tested this.

The instructions?

Well, it involves tapeworms in mazes...
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Antenora
« Reply #14 on: January 25, 2011, 01:49:05 am »
So are you trying to make some sort of interpreter for antenora. If so is this a comp or calc project?

List of stuff I need to do before September:
1. Finish the Emulator of the Casio Prizm (in active development)
2. Finish the the SH3 asm IDE/assembler/linker program (in active development)
3. Create a partial Java virtual machine  for the Prizm (not started)
4. Create Axe for the Prizm with an Axe legacy mode (in planning phase)
5. Develop a large set of C and asm libraries for the Prizm (some progress)
6. Create an emulator of the 83+ for the Prizm (not started)
7. Create a well polished game that showcases the ability of the Casio Prizm (not started)