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 - r1sc

Pages: [1]
1
AGI Development Tools / Re: Sierra's Debug/Testing Version of AGI
« on: March 06, 2024, 02:55:29 PM »
Sorry for resurrecting an old thread, but I think the reason for the IO handling being different in this case is that they used a "debug"-build of the AGI interpreter.
If you look in the interpreter source code snippets found on various disks, you'll find the defined symbol "PRODUCTION". Open SEGPTR.C and you'll find a snippet like

Code: [Select]
#if PRODUCTION
/***************   Production i/o (using volumes)   ***********************/

void NotFound();


TEXT logDirName[] = "logdir";
TEXT viewDirName[] = "viewdir";
TEXT picDirName[] = "picdir";
TEXT sndDirName[] = "snddir";

....

#else

...
GetDirs()
{
STRPTR dp;
FILE_HANDLE fd;
COUNT len;

SetMark();
dp = GetMem(1000);
if ((fd = open("where", 0)) == NO_HANDLE) {
WindowPrint("No 'where' file.\nPress ESC to quit.");
Quit();
}
len = read(fd, dp, 1000);
*(dp+len) = 0;
close(fd);

GetStr(logDir, &dp);
GetStr(picDir, &dp);
GetStr(viewDir, &dp);
GetStr(sndDir, &dp);

GetStr(wordPath, &dp);
strcpy(objPath, wordPath);
strcat(wordPath, "words.tok");
strcat(objPath, "object");

wordFileName = wordPath;
objectFileName = objPath;

FreeMark();
}

That's probably all there is to it!

2
AGI Development Tools / Re: CrafterCMS (Online AGI tools)
« on: March 04, 2024, 06:26:21 PM »
It's very weird seeing AGI.js used for... well, anything! It's probably 10 years ago I did any work on it whatsoever. It was left in a very early and bug-prone state and it was eventually left to rot. :/

I touched on the AGI engine again a couple of years ago with TinyAGI, for the Raspberry Pi PICO. That went much further and got pretty much feature complete as I remember it. Seeing AGI.js actually being used kind of makes me want to start "working on it" (read: rewriting it) again though :)

Btw, from what I remember, AGI.js actually packed the IBM VGA font and the rendered text would look identical to how it was drawn in the original AGI engine. However the message box functionality itself could have had so many problems that the OP was motivated to replace it.

3
AGI Development Tools / Re: TinyAGI for Raspberry Pi Pico
« on: January 18, 2023, 07:53:42 AM »
Very cool! I often considered writing an AGI interpreter for Arduino, although it's not as powerful as the Pico.

Did you base it off of any existing AGI Interpreter, or is it all original code?

Pretty much everthing is original code. I may have borrowed some parts from Lance Ewings SHOWPIC program for the PIC drawing routines, as I did with the AGI.js interpreter. The DMA request setup and the PIO program for driving the VGA signals was derived from a blogpost somewhere.

Nice work!

I was curious about the bug with large views you mentioned (haven't tested myself, but looked through the code). What do you think is causing it? I couldn't see anything in the view drawing code itself that looked wrong, but I noticed the IRQ handler for the VGA driver, is it possible that this is being called while the drawing code is half-way through its work and leaving things in a bad state?

Yeah so this only happens on the Pico, and it's simply because that part of the code is too slow. There is no double buffering, so the VIEW rendering never have time to fill the view if it's large enough, or if there are too many of them, before it's cleared as part of next frame. There are multiple optimization options here. The simplest may be to just redraw the view when viewno/loop/cel/position changed. I've also considered dumping som subsystems on the other core, like the soundsystem for example, to free up CPU time.

EDIT: By the way.. Peter Kelly? Wow! :o Thanks a lot for AGI Studio and its associated documentation - it helped ALOT during development!

4
AGI Development Tools / TinyAGI for Raspberry Pi Pico
« on: January 14, 2023, 10:33:30 AM »
Hi! I just wanted to share a project I've been working off and on for the past year. It's an AGI interpreter capable of running on the Raspberry Pi Pico. Not terribly useful, but fun :)

https://github.com/r1sc/tiny_agi

5
AGI Development Tools / Re: agi.js
« on: April 29, 2017, 05:58:07 AM »
Hi r1sc here!
I haven't worked on agi.js for a long time. You're right about the interpreter needing work, there are a lot of unimplemented commands and the resource manager only loads a few file types. If anyone is interested in working on it, fork and make pull requests. Beware though I remember leaving it a bit of a mess, the project need refactoring.

Pages: [1]

SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.054 seconds with 21 queries.