Re: Elite port
On Sun, 12 Jan 2003 10:48:31 + Stuart Brady [EMAIL PROTECTED] wrote: On Sun, Jan 12, 2003 at 01:46:52AM +0100, Thomas Harte wrote: Somebody was showing me this at uni a while back, and my immediate thought was hmm, this would make a SAM port a lot easier. I would need to read up on graphics before I could make a start on this though. I presume that there are no legal issues to worry about? I was actually in touch with both Ian Bell and David Braben (or rather his holdings) about doing such an conversion as early as 1993/4 (I think). Ian Bell was very forthcomming and I was told he would look into it. I then got an answer that it was not possible du to legal stuff. I also contacted David Braben and got a flat no. -Frode
Re: Elite port
On Sun, 12 Jan 2003 12:35:40 - David [EMAIL PROTECTED] wrote: It was apparently the Amstrad packaging - and if memory serves me right, Bob managed to sort some sort of deal out in regards to buying lots of Amstrad boxed disc versions - in return for the license of a SAM version and giving him loads of 3 disks to sell as well! I was wondering how he did manage to pull that one off. The game was a rather straight forward hack of the Spectrum version - I recall meeting the programmer of the conversion at a NSSS - and he wasnt too pleased with the price Bob was charging for his work If I recall (and no, i didnt ask how much he was paid for his services!) Incidentally, does anybody have the SAM version? Seeing that Ian Bell has published the other versions, the SAM version can't be that much different copyright-wise? Or does anybody object? Somebody was showing me this at uni a while back, and my immediate thought was hmm, this would make a SAM port a lot easier. I would need to read up on graphics before I could make a start on this though. I presume that there are no legal issues to worry about? I think Ian is a bit paranoid about his work David B may be easier to agree - unless someone wanted to do a Bob deal with them :) Actaully, it's the other way around (in my experience). -Frode -- ^ Frode Tennebø | email: [EMAIL PROTECTED] ^ | Ericsson AS.| Isebakkeveien 49 | | N-1788 Halden | Phone: +47 67 25 09 39 | | with Standard.Disclaimer; use Standard.Disclaimer; |
RE: Elite port
I think Ian is a bit paranoid about his work David B may be easier to agree - unless someone wanted to do a Bob deal with them :) Actaully, it's the other way around (in my experience). Yup its definately the other way around if you ask me. (although not as bad as Geoff Crammond) A.
Re: Elite port
From: Frode Tenneboe [EMAIL PROTECTED] Subject: Re: Elite port Incidentally, does anybody have the SAM version? Seeing that Ian Bell has published the other versions, the SAM version can't be that much different copyright-wise? Or does anybody object? I have a boxed copy at home somewhere, but I've not looked at it for years. I was a bit dissapointed when I bought it to find it was identical to the Speccy version, which I'd spend months playing on my Sam anyway using Lerm's Samtape 3 with it's excellent snapshot function for saving. Cheers, Steve
RE: Re: Elite port
From : Andrew Collier [EMAIL PROTECTED] Date : Sun, 12 Jan 2003 17:01:15 + I don't quite see what you're getting at with your descriptions above... However, the way I see it; every byte that you clear costs time. The ideal situation is when you're only clearing bytes which were used in the previous frame and were unused in the current frame. If you clear a block of 16x16 pixels, that's likely to be a lot of bytes which were never filled and so didn't need to be blacked out. The idea was probably rubbish anyway. Would it instead be smart to use a faintly dirty rectange approach, but to continually draw to the same buffer using simple palette effects to advance the frame (so you can get through 15 frames before you have to change buffers, allowing for the need for a constant black entry), and clear 1/15th of the next buffer every scanline? With a 48 pixel status display - a quick estimation on my part without having a screenshot to hand - thats the equivalent of clearing only 9.6 scanlines per frame. From: Frode Tenneboe [EMAIL PROTECTED] Subject: Re: Elite port Incidentally, does anybody have the SAM version? I do. And also I have a deprotected .dsk version of it, provided by someone on this list some time ago. Perhaps Ian Bell doesn't offer it because its just a way of running the Spectrum version with much fewer available emulators? -Thomas When words aren't enough - Vodafone live! A new world of colour, sounds, picture messages and information on your mobile. a href=http://ad.doubleclick.net/clk;4909903;7724245;q?http://www.vodafone.co.uk/live; Click here/a to find out more.
Re[2]: Elite port
On Mon, 13 Jan 2003 13:58:42 +0100 Thomas Harte [EMAIL PROTECTED] wrote: The idea was probably rubbish anyway. Would it instead be smart to use a faintly dirty rectange approach, but to continually draw to the same buffer using simple palette effects to advance the frame (so you can get through 15 frames before you have to change buffers, allowing for the need for a constant black entry), and clear 1/15th of the next buffer every scanline? With a 48 pixel status display - a quick estimation on my part without having a screenshot to hand - thats the equivalent of clearing only 9.6 scanlines per frame. Another solution would be to store the previous sequence of screen addresses used for the wire-frame and do a quick LD (stack+1),SP LD SP,nn POP BC loopPOP HL LD (HL),A DJNZ loop stack LD SP,nn (or something more elboate if B256 - from the top of my head) From: Frode Tenneboe [EMAIL PROTECTED] Incidentally, does anybody have the SAM version? I do. And also I have a deprotected .dsk version of it, provided by someone on this list some time ago. Perhaps Ian Bell doesn't offer it because its just a way of running the Spectrum version with much fewer available emulators? Well, with save/load to disk instead of tape (even though there were (?) +D/Disciple hacks) is a plus, eh? My guess is that he doesn't even know. -Frode -- ^ Frode Tennebø | email: [EMAIL PROTECTED] ^ | Ericsson AS.| Isebakkeveien 49 | | N-1788 Halden | Phone: +47 67 25 09 39 | | with Standard.Disclaimer; use Standard.Disclaimer; |
Elite port
On Sun, Jan 12, 2003 at 01:46:52AM +0100, Thomas Harte wrote: By the way, with respect to Elite, I once partially reverse engineered the ZX Spectrum version, which is visibly identical to the SAM version implying that all that is running is the Spectrum code and a mode 1 screen. In which case we are seeing the following abuses of the SAM hardware : Did they use exactly the same file on the disk, just adding a BASIC program to switch into mode 1? If so, the SAM 'version' couldn't have taken longer than 5-10 minutes work, surely! This begs the question; how much did each version cost? - mode 1 display, with obvious effects on running speed Presumably a good deal of work would be needed to slow the game back down to its original speed, after the framerate had been increased? - software double buffering, even though in the SAM (and 128kb Spectrum, I believe) this can be achieved in hardware Yes, the SAM and Spectrum 128k do provide page flipping. If I remember correctly, you are limited to just two pages on the Spectrum 128k, but but on the SAM, any page in main memory may be used. I've not actually tried using page 31 in modes 3 and 4 yet, but I expect that this uses page 0 for the upper 8k of the video memory. I also wonder whether the extra memory would be of particular benefit. If someone is planning on writing a new implementation of Elite for the SAM, then it might be worth noting that the original BBC Micro 6502 source has been released by Ian Bell but is nearly illegible. It has subsequently been converted into C using the Allegro graphics library by Christian Pinder, the source for which is available via http://www.newkind.co.uk (see Elite : The New Kind, rather than the other). I contributed the anti-aliased drawing routines, and a few other modifications regarding subpixel accuracy for that purpose! Somebody was showing me this at uni a while back, and my immediate thought was hmm, this would make a SAM port a lot easier. I would need to read up on graphics before I could make a start on this though. I presume that there are no legal issues to worry about? Thanks, -- Stuart Brady
Re: Elite port
- Original Message - From: Stuart Brady [EMAIL PROTECTED] To: sam-users@nvg.ntnu.no Sent: Sunday, January 12, 2003 11:48 AM Subject: Elite port Somebody was showing me this at uni a while back, and my immediate thought was hmm, this would make a SAM port a lot easier. I would need to read up on graphics before I could make a start on this though. I presume that there are no legal issues to worry about? Yes there are when it comes to Elite, Breadbin is the culprit in this case. Take a look here http://www.iancgbell.clara.net/elite/palm/index.htm And here http://www.harbaum.org/till/palm/elite/index.html It looks to me that Braben is a clone of Brenchley or vice versa BTW: Best wishes for 2003 Robert van der Veeke Currently listening to: Battle Royale - OST Over the centuries, mankind has tried many ways of combating the forces of evil...prayer, fasting, good works and so on. Up until Doom, no one seemed to have thought about the double-barrel shotgun. Eat leaden death, demon... -- Terry Pratchett in alt.fan.pratchett -- --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.443 / Virus Database: 248 - Release Date: 10-1-2003
Re: Elite port
- Original Message - From: Stuart Brady [EMAIL PROTECTED] To: sam-users@nvg.ntnu.no Sent: Sunday, January 12, 2003 10:48 AM Subject: Elite port Did they use exactly the same file on the disk, just adding a BASIC program to switch into mode 1? If so, the SAM 'version' couldn't have taken longer than 5-10 minutes work, surely! This begs the question; how much did each version cost? It was apparently the Amstrad packaging - and if memory serves me right, Bob managed to sort some sort of deal out in regards to buying lots of Amstrad boxed disc versions - in return for the license of a SAM version and giving him loads of 3 disks to sell as well! The game was a rather straight forward hack of the Spectrum version - I recall meeting the programmer of the conversion at a NSSS - and he wasnt too pleased with the price Bob was charging for his work If I recall (and no, i didnt ask how much he was paid for his services!) - mode 1 display, with obvious effects on running speed Presumably a good deal of work would be needed to slow the game back down to its original speed, after the framerate had been increased? Mode 1 is slowed down by default - to improve Spectrum compatibility in border display time, I believe the speed is a little better - so I suppose its down to how the code is syncronised. Somebody was showing me this at uni a while back, and my immediate thought was hmm, this would make a SAM port a lot easier. I would need to read up on graphics before I could make a start on this though. I presume that there are no legal issues to worry about? I think Ian is a bit paranoid about his work David B may be easier to agree - unless someone wanted to do a Bob deal with them :) But perhaps as a free project? Who knows. David (Just Visting) L
Re: Elite port
On Sunday, January 12, 2003, at 10:48 am, Stuart Brady wrote: On Sun, Jan 12, 2003 at 01:46:52AM +0100, Thomas Harte wrote: Did they use exactly the same file on the disk, just adding a BASIC program to switch into mode 1? If so, the SAM 'version' couldn't have taken longer than 5-10 minutes work, surely! I think they also hacked the load/save routines so that they used Sam disks instead of the tape. 7-12 minutes then. This begs the question; how much did each version cost? More than the Spectrum version ever did! (About 15 pounds, if I remember correctly). - mode 1 display, with obvious effects on running speed Presumably a good deal of work would be needed to slow the game back down to its original speed, after the framerate had been increased? As far as I know, they didn't bother. Although, because of RAM contention, the running speed of the Sam in Mode 1 is not all that faster than the Spectrum. - software double buffering, even though in the SAM (and 128kb Spectrum, I believe) this can be achieved in hardware Yes, the SAM and Spectrum 128k do provide page flipping. If I remember correctly, you are limited to just two pages on the Spectrum 128k, but but on the SAM, any page in main memory may be used. I've not actually tried using page 31 in modes 3 and 4 yet, but I expect that this uses page 0 for the upper 8k of the video memory. A mode 3 or 4 screen always starts on an even numbered page. If you output 31 (and mode bits) to the VMPR than you'll get a screen starting at page 30. I also wonder whether the extra memory would be of particular benefit. Yes, at least if you're drawing in Mode 4. Do you remember a demo called DWC (Dead Wild Cat) by Marc Broster on Fred 50? It drew rotating 3D wireframe objects and usually kept up to 50 fps. He used most of the Sam's memory to hold pre-calculated line drawing routines. Andrew -- --- Andrew Collier http://www.intensity.org.uk/ --- -- r2+ T4* cSEL dMS hEn/CBBL A4 S+*++ C$++L/mP W- a-- Vh+seT+ (Cantab) 1.1.4
Re: Elite port
On Sun, Jan 12, 2003 at 12:35:40PM -, David wrote: Somebody was showing me this at uni a while back, and my immediate thought was hmm, this would make a SAM port a lot easier. I would need to read up on graphics before I could make a start on this though. I presume that there are no legal issues to worry about? I think Ian is a bit paranoid about his work David B may be easier to agree - unless someone wanted to do a Bob deal with them :) But perhaps as a free project? Who knows. Well obviously for free! I wasn't suggesting otherwise! -- Stuart Brady
Re: Elite port
On Sun, Jan 12, 2003 at 12:39:29PM +, Andrew Collier wrote: On Sunday, January 12, 2003, at 10:48 am, Stuart Brady wrote: Presumably a good deal of work would be needed to slow the game back down to its original speed, after the framerate had been increased? As far as I know, they didn't bother. Although, because of RAM contention, the running speed of the Sam in Mode 1 is not all that faster than the Spectrum. I wan't clear - I meant to refer to the speedup that would have been obtained had they decided to use Mode 2 instead of Mode 1. Yes, the SAM and Spectrum 128k do provide page flipping. If I remember correctly, you are limited to just two pages on the Spectrum 128k, but but on the SAM, any page in main memory may be used. I've not actually tried using page 31 in modes 3 and 4 yet, but I expect that this uses page 0 for the upper 8k of the video memory. A mode 3 or 4 screen always starts on an even numbered page. If you output 31 (and mode bits) to the VMPR than you'll get a screen starting at page 30. Ouch. If bit 6 of the VMPR is set, bit 0 is taken as 0? I see now that Version 3.0 of the tech manual makes note of this, but it's not quite as clear as it could have been. Thanks for telling me. I also wonder whether the extra memory would be of particular benefit. Yes, at least if you're drawing in Mode 4. Do you remember a demo called DWC (Dead Wild Cat) by Marc Broster on Fred 50? It drew rotating 3D wireframe objects and usually kept up to 50 fps. He used most of the Sam's memory to hold pre-calculated line drawing routines. I will certainly take a look at this some time soon. Thanks. -- Stuart Brady
RE: Re: Elite port
I also wonder whether the extra memory would be of particular benefit. Yes, at least if you're drawing in Mode 4. Do you remember a demo called DWC (Dead Wild Cat) by Marc Broster on Fred 50? It drew rotating 3D wireframe objects and usually kept up to 50 fps. He used most of the Sam's memory to hold pre-calculated line drawing routines. You mean, if he had been able to go to extremes, having 256*192 * 256*192 routines, one for each possible [clipped] slope and position of line? Anyway, one of the benefits of an Elite type game is that the trig table requirements are miniscule - when I wrote a clone of the Elite engine (slightly cheekily, since it was after I'd played with the Elite:TNK source) for the Atari Lynx (4Mhz 6502, but with a coprocessor offering hardware multiply and divide, and another offering line drawing and display clearing and so on) I got away with only storing trig for +/- 5 degrees or so. But that was using orthonomal basis' (bases?) to retain orientation information - you'd obviously have a much rougher time with quaternions. Not that I reckon they'd be a good choice - you'd gain on compositions but lose massively on frame rendering. I always thought a good way to attack a vector renderer on the SAM Coupé would be to stick in black and white, but to take advantage of the 16 colour palette and the scanline interrupts to clear 1/16ths of scanlines which are not reused very cheaply. Or possibly to clear 16x16 blocks of pixels, depending on how much you want to expend on interrupt palette things. Otherwise, it always strikes me that clearing the display costs almost as much as drawing it in the first place which is a stupid situation to be in. Or perhaps I am too fanciful? -Thomas When words aren't enough - Vodafone live! A new world of colour, sounds, picture messages and information on your mobile. a href=http://ad.doubleclick.net/clk;4909903;7724245;q?http://www.vodafone.co.uk/live; Click here/a to find out more.
Re: Elite port
On Sunday, January 12, 2003, at 04:27 pm, Thomas Harte wrote: I also wonder whether the extra memory would be of particular benefit. Yes, at least if you're drawing in Mode 4. Do you remember a demo called DWC (Dead Wild Cat) by Marc Broster on Fred 50? It drew rotating 3D wireframe objects and usually kept up to 50 fps. He used most of the Sam's memory to hold pre-calculated line drawing routines. You mean, if he had been able to go to extremes, having 256*192 * 256*192 routines, one for each possible [clipped] slope and position of line? Well, I haven't examined it, but if I were doing the same thing, I wouldn't use quite that many routines (it would take just over two gigabytes of RAM just for the single-byte RET instruction at the end of each routine...). We can assume one register-pair (say, HL for the sake of argument) will be set up with the address of x1,y1 when the routine is called. From there you only need 512x384 routines to draw to any possible position on the screen. If you have the option of swapping the start and end points such that y1 = y2, you can halve the number of routines to 512x192. But you'd have to double it again to cope with the line starting in the left or right half of a byte. If you assume that lines will never exceed a certain length, you can reduce the number of routines even further. You could split long lines into shorter sections, and call the routine for the shorter section instead of repeating a lot of the code. Actually that's still potentially quite a lot of routines. Maybe he filled memory with math-tables to optimise one routine... Anyway, my point was that for Sam graphics programming, in general the more memory you're prepared to use, the faster your code can get (this isn't necessarily true any more on modern CPUs, because in many similar situations you're more limited by cache size and bus bandwidth than by raw processing power. The cost of looking up a result often now outweighs the benefit of not calculating it). I always thought a good way to attack a vector renderer on the SAM Coupé would be to stick in black and white, but to take advantage of the 16 colour palette and the scanline interrupts to clear 1/16ths of scanlines which are not reused very cheaply. Or possibly to clear 16x16 blocks of pixels, depending on how much you want to expend on interrupt palette things. Otherwise, it always strikes me that clearing the display costs almost as much as drawing it in the first place which is a stupid situation to be in. I don't quite see what you're getting at with your descriptions above... However, the way I see it; every byte that you clear costs time. The ideal situation is when you're only clearing bytes which were used in the previous frame and were unused in the current frame. If you clear a block of 16x16 pixels, that's likely to be a lot of bytes which were never filled and so didn't need to be blacked out. Andrew -- --- Andrew Collier http://www.intensity.org.uk/ --- -- r2+ T4* cSEL dMS hEn/CBBL A4 S+*++ C$++L/mP W- a-- Vh+seT+ (Cantab) 1.1.4