[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Retrospectiva 2012
On Friday, May 18, 2012 1:00:26 PM UTC-5, Michael J. Mahon wrote:
> On 5/18/2012 8:02 AM, BLuRry wrote:
> > On Friday, May 18, 2012 7:13:53 AM UTC-5, Daniel Kruszyna wrote:
> >> Retrospectiva 2012: http://rsp.retrocomputacion.com/
> >>
> >> I saw a post about this contest in another forum and thought that some folks
> >> here may want to enter. They accept entries for any 8bit platform, including
> >> the Apple II. The categories this year are BASIC Games, Graphics, and Music.
> >>
> >> -- Daniel
> >
> > Cool! Too bad they only allow Basic and no native machine code. I wonder... if your basic program were to call the mini-assembler in ROM (you can call rom routines) then would that count? ;-) I know that the core mini-assembler would wipe out the basic program but you could always set up its pointers and call the internal parsers directly. Then all you'd have to do is creatively copy each line into the text buffer at $200 (which could be done with some really clever peeks/pokes and using the memmove rom routine) and call the parser routine for miniasm.
>
> If POKEs are allowed, then anything is possible. ;-)
>
> -michael
>
> NadaNet 3.1 for Apple II parallel computing!
> Home page: http://home.comcast.net/~mjmahon/
>
> "The wastebasket is our most important design
> tool--and it's seriously underused."
Poking is allowed. Poking in a machine language subroutine is not.
Z-Basic IS ALLOWED!!! So you don't need to stretch too far for better functionality. I also inquired about Apex, which had some awesome capabilities for its day. I'll keep you folks posted.
I was discussing this with my son and he inquired if a graphic adventure game could be written in basic. I thought about it, and really if you could do something like Graphics Magician for drawing then it could actually be feasible. I came up with a simple data format. Commands are single letters followed by zero or more numbers delimited by commas. Commands have no termination, so spaces are ok and commands can just butt up against each other also. Absence of numbers are analogous to zero values.
c# - Set solid/primary color (disables dithering, uses solid fill mode)
C# - Set secondary color (enables dithering fill mode)
e - Erase screen using current color fill mode
m#,# - Move pointer relative by x, y coordinates
M#,# - Set pointer to absolute x,y coordinates
r#,# - Draw rectangle (just the outline) using current pointer and relative coordinates for width/height
R#,# - Draw rectangle using current pointer as one corner and absolute coordinates provided for the other corner
b#,# and B#,# - Same as the rectangle commands only draws filled shapes
l#,# - Line from current pointer to relative coordinates provided, also updates pointer to wherever line ending is.
L#,# - Line from current pointer to absolute coordinates (also updates pointer)
f - Flood fill at the current position
I might expand this to support circles and ovals. Only problem is that zbasic doesn't do color dithering but Apex does. We'll see if they allow Apex. :-D
-B