Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Michael_Lee

Pages: [1] 2 3 ... 70
TI Z80 / Re: Axe Interpreter
« on: May 13, 2012, 01:42:57 pm »
Huh, that's a really weird tokenizing error.  I confirmed on my linux box: I'll go ahead and take a look at it (although it may take a week or so before I have time push the fix out).

TI Z80 / Re: Axe Interpreter
« on: May 13, 2012, 01:14:22 pm »
so grey just displays in fixed colour until the next update?

Erm, could you clarify what you mean by 'fixed color'?

If you're referring to how grayscale usually has a flickering/diagonal effect in real calculators, I'm probably not going to in the near future because I'm not really sure how to code something like that. 

@HOMER-16 the requirement from the days I was still admin were to always keep your 30 day posting average equal or higher to 10 (or 5 during Summer), outside the spam/humor/intro sections, but seeing how Michael_Lee, Yunhua98 and z80man got away with it for months now, maybe it changed. Also you need to have a project upon joining (it can be computer, calcs or music, although one of the first two is recommended).

*Michael_Lee is shamed into posting

I don't know if somebody brought this idea up yet, but one idea apart from internal events such as contests and whatnot would be to try to raise awareness of calculator coding outside of places like Omnimaga.  For example, the main reason I joined Omnimaga was because of a video of Axe I saw on youtube -- perhaps more youtube videos might attract people who are willing to stick around?

TI Z80 / Re: Axe Interpreter
« on: May 13, 2012, 01:50:41 am »

Here's a shiny new youtube video:

(it comes out a bit small, so try going to the actual video?)

...and the download link:

So, here are a list of changes since the last official version!
  • The parser and interpreter have been completely remade so it can handle goto statements
  • Grayscale
  • Almost anything related to memory has been finished

...and the things I need to work on:
  • Adding constants
  • Adding sprites
  • Working on speed

The list of all supported tokens can be found here:

TI Z80 / Re: ORG: online Z80 IDE and assembler
« on: January 26, 2012, 09:45:02 pm »
Wow, this looks really cool.  I don't have the technical skill to really give this a thorough run, but I do have one suggestion -- try adding an option to change the font size?  It's a tad too big for me.

TI Z80 / Re: Axe Interpreter
« on: January 18, 2012, 03:48:47 am »
I revamped how I handle memory and graphics.

Full pointer madness is working, along with graphics (including grayscale and sprites).  I still have to implement all the different sprite variations (which should be easy), and redo scrolling (Horizontal/Vertical +/-).

On the lexing/parser side, I've been procrastinating and still haven't rewritten it to compensate for those blasted gotos :P

Does anybody know where I can get the font used for the TI-84?  (both the small one and the homescreen one?)

You could try making a virtual PC (using something like VirtualBox) and installing Windows XP on it.

TI Z80 / Re: Axe Interpreter
« on: January 05, 2012, 12:13:08 am »
Progress report:

So, I essentially have to rewrite a chunk of my program.  Basically, the story is, I'm first converting text into a sort of tree -- lists containing lists containing lists.  Unfortunately, that format won't allow me to easily code in goto statements -- there are ways to hack out a solution, but they're all slow and brittle. 

So I'm rewriting my code to first create a tree then convert it into a single flattened list so I can easily jump to a line number.  Which is a pity, since I thought my whole recursive scheme for running the tree was cool (I like recursion). 

I'm also angsting over whether or not I should turn my tree into objects containing objects or just keep them as nested lists.

You know, gotos are generally seen as evil, but I never realized they were diabolical to implement too D:

TI Z80 / Re: Axe Interpreter
« on: December 24, 2011, 07:11:28 pm »
Currently, strings aren't supported.

A .axe  file is the same as a .txt file.  You can use either -- the extension doesn't matter.

So what does this actually do? is this meant to test axe programs on pc without a lot emulator hassles?

^ That.  It could also eventually let you port your Axe games to be playable on the computer.

TI Z80 / Re: Axe Interpreter
« on: December 23, 2011, 04:04:25 pm »
Maybe one of the included keymap config files could be just like Wabbit's default. It's alright, but could be better IMHO.

Do you know where I can find an official copy of what Wabbitemu uses for key mappings?  This should be pretty trivial to change. 

TI Z80 / Re: Axe Interpreter
« on: December 23, 2011, 02:55:59 am »
Another release!

getKeys, scrolling, a few more pxl-commands, rudimentary pointers and constants (using L1-L6 for lists, mostly), a bunch of math commands, and a few more control structures were added.

Download here:
Executables for Linux and Windows along with source code should be included.  (Tested on Windows 7 (64 bit) and Linux Mint 11 (32 bit))

I then whipped up a quick tunnel game below, which you can watch below ;D

(Hmm, the embedded youtube video is a bit too small.  Is there a way to make them bigger?)
(Edit: Weird, you can't see the mouse.)

Additional notes:
By default, a few keys are mapped to getKey -- for example, pressing backspace maps to 'getKey(15)', for example.  Included in the folder should be a file named 'keybindings.config' which can be edited to change which keys maps to which getkey.  That file has to be in the same folder as the exe.

You can use the '{ }' brackets and L1-L6 for lists and pointer stuff, but currently changing L6 or L3 doesn't change the buffers yet.

Using @OPEN "filename" (you have to include the quotation marks) can open files directly inside the interpreter.  If you use those commands inside files, I guess that would work as a sort of substitute for imports/subroutines, at least until I have legitimate imports, subroutines, labels, etc. working.

TI Z80 / Re: Axe Interpreter
« on: December 21, 2011, 06:41:05 pm »
You have a config file, and you assign whatever computer key you want the appropriate computer key.  So to make GetKey(15) equal the backspace key, you would edit the config file so the appropriate line reads

Code: [Select]
K_BACKSPACE    :   15

TI Z80 / Re: Axe Interpreter
« on: December 21, 2011, 06:26:34 pm »
Because I don't want people to play with broken exes, here are working ones!

I made a few minor tweaks.  Double-clicking the exe now starts the interpreter, you can drag and drop a text file over the exe to try and run it, and the program will drop into the interpreter mode after a text file finishes running (so that you can do a postmortem, dissect variables, etc.)

For some inexplicable reason, you need to add a 'import pygame._views' while using pyinstaller in windows but exclude it for linux.

Download Windows version:
Download Linux version:
^ That.

Note: Later today, I'll upload another version.  GetKey has been implemented, along with pointers, so you can have legit lists.
I'm having some trouble integrating the screen with manipulating memory, so writing to L3 or L6 won't currently effect the screen.

Does anybody know how you can use a bytearray or a list (in python) to manipulate or create a pygame Surface?

TI Z80 / Re: Axe Interpreter
« on: December 21, 2011, 11:39:55 am »
Nice project. One bug I noticed is that even if you don't use DispGraph, entering anything in the interactive mode will cause the display to update.

Oh, that's intentional.  To turn that off, type '@DRAW 0' and to turn it back on, type '@DRAW 1'.  I thought that constantly having to type 'DispGraph' was a bit annoying.

Some further suggestions...
1) I suggest you look into threading (you'll be seeing that very soon in Croquette!) for Pygame event pumping. If you don't "process" the events sent to the Pygame window, Windows will think it died and ask to terminate it. :P The Pygame portion MUST remain in the main thread (unfortunately), but the CLI interpreter can be handled in the thread, making things work out nicely. :) (Even if it's odd to do graphics processing first :P)
2) Add an option to hide/show the window? (As you've demoed, some commands do not need the screen shown.)
3) CLI commands - like when I do Output(1,1,"Hello world!"), it shows it in the console instead. A flag must be toggled for this to work, of course. If you want to implement this, you need to use a mix of the ncurses module and the Windows Console module.

Otherwise, it's pretty nice :D

Thanks for the suggestions!  I ended up using multiple processes instead of threads, but the final effect was the same.  Never mind.  Should have tested on Windows.  Got threads working now.

I'll look into the other suggestions, thanks.

TI Z80 / Re: Axe Interpreter
« on: December 21, 2011, 03:39:33 am »
Really?  What do you mean?

Pages: [1] 2 3 ... 70