Jump to content

Photo

Idiot Compiler


6 replies to this topic

#1 JamesD ONLINE  

JamesD

    Quadrunner

  • 7,866 posts
  • Location:Flyover State

Posted Mon Sep 18, 2017 11:00 PM

Tom Porter is working on a new Applesoft compiler and it looks like it generates faster code than the old ones.
Top left is Applesoft, bottom right is Idiot Compiler.

 
Download the current version.
https://www.dropbox.... 3.89c.zip?dl=0


Status updates are being posted to the Apple II Enthusiasts group on Facebook.
https://www.facebook...ef=group_header

Edited by JamesD, Mon Sep 18, 2017 11:05 PM.


#2 JamesD ONLINE  

JamesD

    Quadrunner

  • Topic Starter
  • 7,866 posts
  • Location:Flyover State

Posted Tue Sep 19, 2017 3:55 AM

deleted


Edited by JamesD, Tue Sep 19, 2017 3:55 AM.


#3 MarkO OFFLINE  

MarkO

    Dragonstomper

  • 868 posts
  • Location:Albany, Oregon, USA, North Western Hemisphere, Planet Tera

Posted Tue Sep 19, 2017 12:20 PM

I find Tom Porter, Impressive, because he has not learned how to Count in Hexadecimal, ( yet ), and is tackling developing a BASIC Compiler... With incredible results.


Just Impressive....


MarkO

#4 MarkO OFFLINE  

MarkO

    Dragonstomper

  • 868 posts
  • Location:Albany, Oregon, USA, North Western Hemisphere, Planet Tera

Posted Tue Sep 19, 2017 12:26 PM

The Apple II Enthusiasts group has a lot of posts...


I would follow the Apple ][ Game Programing group... Tom posts there too, and much less traffic...


MarkO



#5 polyex OFFLINE  

polyex

    Chopper Commander

  • 108 posts
  • Location:32068

Posted Sat Oct 21, 2017 2:10 AM

The Apple II Enthusiasts group has a lot of posts...


I would follow the Apple ][ Game Programing group... Tom posts there too, and much less traffic...


MarkO

 

Thanks for the link MarkO. Sorry to see that you need to sign up for facebook to even see it!

 

The lovely Mark Zuckerberg:

Zuck: Yeah so if you ever need info about anyone at Harvard

 

Zuck: Just ask.

Zuck: I have over 4,000 emails, pictures, addresses, SNS

[Redacted Friend's Name]: What? How'd you manage that one?

Zuck: People just submitted it.

Zuck: I don't know why.

Zuck: They "trust me"

Zuck: Dumb fucks

 



#6 Tommyptr OFFLINE  

Tommyptr

    Combat Commando

  • 4 posts

Posted Mon Oct 30, 2017 5:53 PM

Hey, I just found this Thread... cool, I got some fans!

 

Idiot Compiler was just an attempt to make ASM coding faster for me... but it turned into a 'semi' full fledged compiler.

 

The main goal was to prevent runtime code and have everything inline... this does bloat code a little bit, but when other compilers have a 4kb runtime before your first 'compiled basic line'... small programs start off with a huge advantage.  As a side effect.. you need calls and setup JSR's for routines inside the runtime, so its actually eating into those, it would take a LONG time to overtake the amount of out-put code.

 

Its true, I hate hex... had to build my own ASM assembler and disassembler just to program, everything is done is decimal assembly and that means it is a direct translation to basic in terms of line numbers and how memory works... its true it messes me up sometimes.   My mockingboard audio work took off very slowly because something like a C0-xx address translated into 50xxx, which makes it hard and isn't obvious which switches to hit...

 

Anyway, back to the compiler... a lot of bug fixes in the newest version... there is more work to do.

https://www.dropbox.... 3.89i.dsk?dl=0

 

The great thing is its a 'SMART" compiler... meaning YOU are the smart one.  It does variable 8bit, 16bit or (limited 24 bit) math,

blazing thru others in speed.  Along with no JSR's for code runtimes...

 

RESET

at the LINE....  type the LINE #

do basic commands... to see list type (?) or (COMMANDS)

at the end of each BASIC LINE, you have to type END to end that particular line.

 

Its primitive BASIC background code makes it a little less than idea.

To enter a command...  like  PLOT X,Y  you will have to   PLOT (ENTER) then it prompts you for...

 

(VAR or #):  at point you can type a name for variable, or a number.   If a variable does not exist, it will create one for you.

 

RESET - to reset compiler

COMPILE - to compile into ASM program

 

I would reboot the disk if you are starting a new project, if you were already working on one.... most entry points are "helper" prompted.

 

 

It normally defaults to 16 bit... but if you know a variable will only be 8 bits (max 255) at any time... you can do LET 8 for math, such as

 

A=B+C or A=B-C or A=B*C or A=B/C

 

there are also SPECIAL FUNCTIONS in the options... so if you did

A=A/2  it would equate to a simple LSR statement instead of several command division...

these things make the compiled code equal to its ASM counterparts in many situations....

 

 

Anyway, I posted enough... thanks for the mention... I appreciate it a lot!

 

Tom Porter

naspite labs

 

 

If you haven't seen DogFighters of Mars2 space shooter demo for the Apple II....   (This is the Special Edition!)

https://www.dropbox....L (r1).zip?dl=0

 

If you need a Double Lores library thing a majig... a hard to get info graphics mode...

https://www.dropbox....1.80zA.zip?dl=0

 

If you have a mockingboard... here are 70+ songs plus software to potentially convert MIDI's... version 2.00 is incoming soon...

https://www.dropbox....K VER1.zip?dl=0



#7 JamesD ONLINE  

JamesD

    Quadrunner

  • Topic Starter
  • 7,866 posts
  • Location:Flyover State

Posted Fri Nov 17, 2017 10:18 PM

So printing a constant string doesn't create a loop.  Well, it's fast, but not very memory efficient.





Reply to this topic



  


0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users