JamesD Posted September 19, 2017 Share Posted September 19, 2017 (edited) 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.com/s/zm9w3n20lr4odu8/Idiot%20Compiler%203.89c.zip?dl=0 Status updates are being posted to the Apple II Enthusiasts group on Facebook. https://www.facebook.com/groups/5251478676/?ref=group_header Edited September 19, 2017 by JamesD 2 Quote Link to comment Share on other sites More sharing options...
JamesD Posted September 19, 2017 Author Share Posted September 19, 2017 (edited) deleted Edited September 19, 2017 by JamesD Quote Link to comment Share on other sites More sharing options...
MarkO Posted September 19, 2017 Share Posted September 19, 2017 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 Quote Link to comment Share on other sites More sharing options...
MarkO Posted September 19, 2017 Share Posted September 19, 2017 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 Quote Link to comment Share on other sites More sharing options...
polyex Posted October 21, 2017 Share Posted October 21, 2017 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 Quote Link to comment Share on other sites More sharing options...
Tommyptr Posted October 30, 2017 Share Posted October 30, 2017 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.com/s/n9dnfc4vhg78l3b/Idiot%20Compiler%203.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.com/s/h0yzya36nrue4ho/DOGFIGHTER2%20SPECIAL%20%28r1%29.zip?dl=0 If you need a Double Lores library thing a majig... a hard to get info graphics mode... https://www.dropbox.com/s/nawea8sumu86fzw/Double%20LoRES%20Library%20v1.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.com/s/z0ldxehkebwbfeg/MIDI%20TO%20MOCK%20VER1.zip?dl=0 2 Quote Link to comment Share on other sites More sharing options...
JamesD Posted November 18, 2017 Author Share Posted November 18, 2017 So printing a constant string doesn't create a loop. Well, it's fast, but not very memory efficient. Quote Link to comment Share on other sites More sharing options...
phreakerg Posted May 27, 2021 Share Posted May 27, 2021 if iDIOT doesn't support the Applesoft BASIC commands, 'GET' nor 'INPUT,' really what is the point? Every single computer program I've ever used or written (even screen savers) requires at least one input from the user. Great potential, but like I said, what is the point without a means for the program's user to interact. It was too easy for me to make puns regarding the lack of get/input and the projects name. Just, don't be one. Quote Link to comment Share on other sites More sharing options...
Tommyptr Posted June 24, 2021 Share Posted June 24, 2021 Yeah, Phreakerg.... its not a direct replacement for things like Tasc or Beagle... there are a lot of things it can not do nor was it designed that way... its meant to speed up a portion simultude of Applesoft to handwritten code, pretty much into something that is as fast as it can be done (unless your doing super tricks). Its basicly can be used as a 'driver' builder. One example, I was working on my mockingboard driver, which was orignally written in applesoft basic, just to get it off the ground. It took me nearly a month to get it working in assembly when I was ready to do that... but it kept having small errors and bugs which were constantly being patched... I believe there were 7 handwritten error fixes eventually found (It was working all this time, but improvements/note sound fixes ect). Idiot was far enough along at that point, so I translated the basic using it... and lo and behold, it created a perfect 'assembly' version in one hour that was smaller and more cycle efficient than any of my hand written versions... and it even corrected a bug I didnt even know existed with one of the sound channels. Now with improvements (its been at least 2 years since the last version 1.79z), you can translate applesoft into assembly, and then unlike other compilers, you can open the translated code manually and change it or modify each particular applesoft equiv ASM line in notepad, then dump that back into the compiler before the file compile, if you needed to manipulate it in some fashion, and there have been cases... or say you can look at the code it creates, and even hand optimize it, dump it back into the compiler and it will spit out those hand made improvements. Its not a program compiler per say, its more of a driver maker and super optimizer. I have this analogy, the other compilers are like sedans, suv's or buses, they can 'move' a lot of code down the highway, but can only go a certain speed... Idiot Compiler is like a lambo, it can only carry 2 people and no luggage, but what it can move, its going at 200mph... many tests over the life cycle of development, it whoops the other compilers butts in the things that it can do. Yes, its very quirky in a lot of ways, and its hard to know what it 'can' and cant' do if you dont know its underlying mechanics and capabilities. And to be honest I dont expect other people to use it... I designed it specifically for me, and it eliminates about 90% of all my asm coding since the last version. I cant live without it these days. Quote Link to comment Share on other sites More sharing options...
polyex Posted July 15, 2021 Share Posted July 15, 2021 On 9/19/2017 at 11:26 AM, MarkO said: 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 If only they would get off Facebook. Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted July 15, 2021 Share Posted July 15, 2021 18 minutes ago, polyex said: If only they would get off Facebook. Get with the program! ASSIMILATE!! 1 Quote Link to comment Share on other sites More sharing options...
KG7PFS Posted July 23, 2021 Share Posted July 23, 2021 Oh...this is a Basic compiler? I thought it was for a programming language called "Idiot".? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.