Re: New projects Byte-Back 2009

2008-10-07 Thread Thomas Harte
Having further discussed with the organiser of this event, I have  
agreed to supply at least one SAM Coupé for their The Weird and the  
Woeful (obviously as an example of weird) section, with a bunch of  
software from its commercial period and maybe a disk or two of modern  
homebrew in addition. Having had a quick check of my floppies, I  
intend to bring the following:


Sam Strikes Out/Futureball
Escape from the Planet of the Robot Monsters
Batz'n'Ballz (though I have no mouse)  Tetris, from the most recent  
Sam Revival

Sphera
Probably some copies of Fred

Obviously this leaves a whole bunch of massive holes in what I can  
show; is anybody able to loan copies of Prince of Persia, Lemmings,  
Defender and anything else particularly worth showing?


Incidentally: the latest on my 3d code is that it's relatively close  
now to just being neat library code. So if you're an assembly coder,  
you'll be able to download it, read a couple of pages of documentation  
and get on with writing a game or whatever. Future internal fixes and  
improvements should benefit any projects built against it but not  
require them to be changed or to have any real knowledge of the  
internals, like all the best libraries. Hopefully some sort of BASIC- 
or-similar language for utilising the code will be forthcoming after  
that.


On 23 Sep 2008, at 22:38, David Brant wrote:



- Original Message - From: Thomas Harte [EMAIL PROTECTED] 


To: sam-users@nvg.ntnu.no
Sent: Tuesday, September 23, 2008 9:40 PM
Subject: New projects  Byte-Back 2009


Through an uninteresting, indirect route, it seems likely that I'll  
be attending and supplying a Sam for the homebrew area of Byte-Back  
2009 (http://byte-back.info/ ), one of those classic gaming  
convention thingies, which will occur  in Stoke-on-Trent on March  
the 7th and 8th next year. Consequential  questions:


1) Will anybody else be in attendance?


Not likely unless I move house. Its a bit too far

2) Is anybody willing and able to transfer some of my Sam programs  
to actual Sam floppy in preparation for the event? I guess I'll  
want to  take all of my current 3d stuff and maybe another thing  
that I've just  started messing around with.


Yes no problem.

3) Does anybody else have anything I can take along? Obviously the  
tag 'homebrew' doesn't mean that much in the Sam world, but in the  
context  of all the information available I'm interpreting it just  
to mean new  stuff for old hardware.


I'm working on program at the moment, so may have something by then.




{Spam?} Re: New projects Byte-Back 2009

2008-10-07 Thread Chris Pile
- Original Message - 
From: Thomas Harte [EMAIL PROTECTED]

To: sam-users@nvg.ntnu.no
Sent: Tuesday, October 07, 2008 7:25 PM
Subject: Re: New projects  Byte-Back 2009


TH  Obviously this leaves a whole bunch of massive holes in what I can  
TH  show; is anybody able to loan copies of Prince of Persia, Lemmings,  
TH  Defender and anything else particularly worth showing?



I no longer have an original Defender disk - however, you can grab the latest
version from World Of Sam.  Direct link below:

http://www.worldofsam.org/files/active/0/DefenderArcadeConversionUpdated.zip

Doesn't require anything special - just bung it on a floppy!  Please use the 
Updated
version (as linked to above) - as this is closer to the coin-op than previous 
versions.

Chris...



Re: New projects Byte-Back 2009

2008-10-07 Thread david

Quoting Thomas Harte [EMAIL PROTECTED]:



Sam Strikes Out/Futureball
Escape from the Planet of the Robot Monsters
Batz'n'Ballz (though I have no mouse)  Tetris, from the most recent
Sam Revival
Sphera
Probably some copies of Fred

Obviously this leaves a whole bunch of massive holes in what I can
show; is anybody able to loan copies of Prince of Persia, Lemmings,
Defender and anything else particularly worth showing?


Manic Miner!

Defender!

Stratosphere!




Re: New projects Byte-Back 2009

2008-10-07 Thread Thomas Harte
Oh gosh, I've just realised how that reads! To be clear: I consider  
the massive holes to be obvious, Prince of Persia, Lemmings,  
Defender to be a subset of the obvious list, and I intended anything  
else particularly worth showing to be a request for impressive titles  
that may not be obvious. I certainly didn't mean to imply, and  
definitely don't believe, that Prince of Persia, Lemmings and Defender  
are the complete list of Sam titles that I subjectively consider to be  
worth showing.


On 7 Oct 2008, at 21:23, [EMAIL PROTECTED] wrote:


Quoting Thomas Harte [EMAIL PROTECTED]:



Sam Strikes Out/Futureball
Escape from the Planet of the Robot Monsters
Batz'n'Ballz (though I have no mouse)  Tetris, from the most recent
Sam Revival
Sphera
Probably some copies of Fred

Obviously this leaves a whole bunch of massive holes in what I can
show; is anybody able to loan copies of Prince of Persia, Lemmings,
Defender and anything else particularly worth showing?


Manic Miner!

Defender!

Stratosphere!






Re: New projects Byte-Back 2009

2008-10-07 Thread david

Quoting Thomas Harte [EMAIL PROTECTED]:


Oh gosh, I've just realised how that reads! To be clear: I consider the
massive holes to be obvious, Prince of Persia, Lemmings, Defender to
be a subset of the obvious list, and I intended anything else
particularly worth showing to be a request for impressive titles that
may not be obvious. I certainly didn't mean to imply, and definitely
don't believe, that Prince of Persia, Lemmings and Defender are the
complete list of Sam titles that I subjectively consider to be worth
showing.


Although they are good ones :)



Tiny sound programming query

2008-10-07 Thread Thomas Harte
Roughly how much code (in kilobytes) is the part of an average end-of- 
display interrupt driven music player that actually resides in the  
interrupt handler?


Re: Tiny sound programming query

2008-10-07 Thread Andrew Collier

On 7 Oct 2008, at 22:42, Thomas Harte wrote:

Roughly how much code (in kilobytes) is the part of an average end- 
of-display interrupt driven music player that actually resides in  
the interrupt handler?



Hi,

That depends what you mean...

The code you would write in an interrupt handler would need to:

1. page in the music player (if necessary)
2. call the player routine (often at 32774)
3. page back the previous memory state (if you changed it in step 1)

and is just a few bytes.

The music player itself is much larger, and depends on which music  
system you use. A compiled E-Tracker tune is a few k depending on its  
size - all of that needs to be paged in when you use it. The first  
1202 bytes of this are a player code routine which is the same for all  
tunes, the rest is data specific to each tune.


A compiled ProTracker tune is larger (partly because the effects are  
more complicated, but mostly because I was concentrating on execution  
speed, rather than code size, when I wrote the compiler). The player  
routine is about 12k including some tables of sine waves and things;  
the data for a particular tune is usually somewhere between 8k and 16k.


Both systems expect the whole music player code to be played once per  
frame. There isn't support for, say, filling up a buffer of a few  
seconds worth of music, and just playing from the buffer at interrupt  
time. (That said, if you have a particular need for this, it might be  
relatively easy to hack up the ProTracker player to support doing  
that. Bear in mind it is decade-old code, though...)


Cheers,
Andrew

--
 ---   Andrew Collier 
   http://www.intensity.org.uk/ ---
  --




Re: Tiny sound programming query

2008-10-07 Thread Thomas Harte
Yeah, I don't really know what I mean. I have a good understanding of  
exactly how programmable sound generators work (in that I've written  
cycle-perfect emulators of them) but I've no musical talent whatsoever  
so how you build actual music from that is something that I have an  
extremely nebulous grasp of.


The real foundation of my question is that I'm busy trying to figure  
out exactly what I need to support to allow audio playback to work  
with my 3d library stuff. At the minute it's possible for a user to  
supply extra code for the interrupt handler, I was just wondering how  
much room I needed to leave in the interrupt handler to allow someone  
who understands what they're doing to lever in a music player.


I guess I'll allow a small number of bytes and stop being so  
protective of the 32 kb I was saving for faster multiplication code.  
So one could chuck the ProTracker or E-Tracker tunes and player into  
the spare 32 kb and then just page and branch in the IRQ handler. The  
IRQ handler is going to have to be sandwiched onto each and every one  
of the already-cramped video pages, so keeping it minimal is a priority.


Work-in-progress documentation of the library here, by the way: http://members.allegro.cc/ThomasHarte/temp/Lib3d.pdf 
 (~112 kb). It's all about the interface you'd use if you were going  
to use my library. I don't think it's the place for documentation of  
the internals or my various bits of work on tweaking and optimising;  
that stuff will continue to be the subject matter for SAM Revival for  
now. Please anyone feel free to comment or criticise.


On 7 Oct 2008, at 23:13, Andrew Collier wrote:


On 7 Oct 2008, at 22:42, Thomas Harte wrote:

Roughly how much code (in kilobytes) is the part of an average end- 
of-display interrupt driven music player that actually resides in  
the interrupt handler?



Hi,

That depends what you mean...

The code you would write in an interrupt handler would need to:

1. page in the music player (if necessary)
2. call the player routine (often at 32774)
3. page back the previous memory state (if you changed it in step 1)

and is just a few bytes.

The music player itself is much larger, and depends on which music  
system you use. A compiled E-Tracker tune is a few k depending on  
its size - all of that needs to be paged in when you use it. The  
first 1202 bytes of this are a player code routine which is the same  
for all tunes, the rest is data specific to each tune.


A compiled ProTracker tune is larger (partly because the effects are  
more complicated, but mostly because I was concentrating on  
execution speed, rather than code size, when I wrote the compiler).  
The player routine is about 12k including some tables of sine waves  
and things; the data for a particular tune is usually somewhere  
between 8k and 16k.


Both systems expect the whole music player code to be played once  
per frame. There isn't support for, say, filling up a buffer of a  
few seconds worth of music, and just playing from the buffer at  
interrupt time. (That said, if you have a particular need for this,  
it might be relatively easy to hack up the ProTracker player to  
support doing that. Bear in mind it is decade-old code, though...)


Cheers,
Andrew

--
---   Andrew Collier 
  http://www.intensity.org.uk/ ---
 --