"speccy" ports

Discuss Demos / Games / Applications written by Atari coders

Moderators: Mug UK, Silver Surfer, Moderator Team

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

"speccy" ports

Postby MrPixel » Sat Feb 03, 2018 3:58 am

how were they done? i've been curious since day 1. did they imitate the sinclair basic set or do it through assembly?

examples please, i'm new to this

Zarchos
Captain Atari
Captain Atari
Posts: 263
Joined: Wed May 09, 2012 7:38 pm
Location: FRANCE

Re: "speccy" ports

Postby Zarchos » Sat Feb 03, 2018 8:10 pm

I remember reading games were developped on more powerful machines like the Einstein, and some sort of tool converted the games logic, leaving 'only' for the coders the job of developping specific routines for what was strictly hardware specific like I/O and sprites plotting routines specific to the screen memory layout of the target machines.

For people or studios with less memory, the game was 1st coded for the Spectrum (main market in terms of sales), and then lazily converted for the target machines, with poorly adpated graphics routines, and not even using hardware features / facilities (or so little) of the superior target machine.
Falcon, Atari 1040 STE, 520ST, 800xl, xegs, Amigas, Archimedes, RISC PCs, Iyonix, Omega, BBC B, Atom, Electron, ZX 81, Spectrum 48/128/+2/+3, Russian clones, Sam Coupe, V6Z80P, QLs inc. Q68, and more !
2200 m2 museum on its way https://youtu.be/xjB6_Ez-3BA
Shorter video here : https://youtu.be/UEZisfkcN1Y

Currently porting SOTB to the Archie : https://www.youtube.com/user/Archimedes75009/featured

mlynn1974
Captain Atari
Captain Atari
Posts: 210
Joined: Mon Mar 03, 2008 10:33 pm
Contact:

Re: "speccy" ports

Postby mlynn1974 » Sun Feb 04, 2018 12:35 am

I remember reading Cecco's Log in Crash magazine:
http://www.crashonline.org.uk/53/cecco.htm

Rafaelle Cecco worked for Hewson Consultants who basically employed freelance contractors so I guess there was no "company standard" for development processes:
"The Spectrum is actually developed on an IBM compatible PC which runs a fast Z80 cross-assembler that can compile a 200K source file in a few seconds. After the program has been assembled, it can be downloaded to the Spectrum via a parallel link, ready for testing". Rafaelle would develop the Speccy, C64, Amstrad, ST and Amiga versions with help by others for the graphics and sound.

I read that at Ocean Software which was a large company with development standards and big budgets for the time the C64 team and Speccy Team were very much "them" and "us". Off the back of the Spectrum version of a game they could pretty easily get the CPC version but the C64 version was often written independently. This is notable in games such as Chase HQ, Operation Wolf, Renegade etc. The C64 developers used some sort of macro language which was then assembled by some development tool to speed up development. Colin Porch mentioned in an interview in Retro Gamer magazine that he had a devil of a job getting them to accept his code that would be faster rather than their compare macro which cleared the z-bit before doing the compare. On the C64 this unnecessary code could slow down the game. They really wanted reuse code to standardise and speed up development, lower development costs, raise productivity and get the games out the door as fast as possible. He also mentioned working closely with Jon Ritman when porting Head Over Heels to the C64 and later to the ST.

Sometimes the games were totally different on different formats e.g. Action Biker. This is probably caused by the company e.g. Mastertronic getting a contract or sponsorship to develop the game, and having to outsource it to 2 different developers with a rough specification but little or no consideration for how the game should look due to limitations of the hardware. Things have moved on a bit since then I think...
Still got, still working: Atari 4Mb STe, 520STFM, 2.5Mb STF.
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: "speccy" ports

Postby MrPixel » Sun Feb 04, 2018 2:56 am

any code examples?

mlynn1974
Captain Atari
Captain Atari
Posts: 210
Joined: Mon Mar 03, 2008 10:33 pm
Contact:

Re: "speccy" ports

Postby mlynn1974 » Sun Feb 04, 2018 11:52 am

Well the infamous Cassette 50 was ported in BASIC from the Apple II. It was one of the first examples of shovelware - a game compilation based on quantity rather than quality.

The whole story is here:
http://www.wizwords.net/cassette-50/
"they all ran in BASIC and as each computer could understand the rudimentary language, this process was made remarkably simple." ... “Indeed, machine code differences would have been too great,” says Guy, “and as this method was initially used on the Atari, Oric, Lynx, BBC and Dragon computers, we simply wouldn’t have had time to adapt the code to each machine.”

When porting games I think it's not so much the code that's important, it's the conversion process that counts. In those days you'd have to know Z80 for the major formats: Speccy, Amstrad, Oric and 6502 for the C64, BBC, Acorn, Atari 8-bit and 68000 for the next generation Atari ST and Amiga.
Still got, still working: Atari 4Mb STe, 520STFM, 2.5Mb STF.
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: "speccy" ports

Postby MrPixel » Sun Feb 04, 2018 8:10 pm

so, the z80 MC is compatible, just not the BASIC?

Zarchos
Captain Atari
Captain Atari
Posts: 263
Joined: Wed May 09, 2012 7:38 pm
Location: FRANCE

Re: "speccy" ports

Postby Zarchos » Sun Feb 04, 2018 9:10 pm

MrPixel wrote:so, the z80 MC is compatible, just not the BASIC?


yes, as long as you do not 'talk' to specific parts of each machine like I/O ports (keyboard, joystick), sound chip, and memory where each machine has its own layout.

BASIC is interpreted, so it is different, it is the keyword parser which does not know all the same keywords and syntax, and then you have the above issue with the specificities of the hardware, and the way each company has coded the BASIC functions.
Last edited by Zarchos on Sun Feb 04, 2018 9:13 pm, edited 1 time in total.
Falcon, Atari 1040 STE, 520ST, 800xl, xegs, Amigas, Archimedes, RISC PCs, Iyonix, Omega, BBC B, Atom, Electron, ZX 81, Spectrum 48/128/+2/+3, Russian clones, Sam Coupe, V6Z80P, QLs inc. Q68, and more !
2200 m2 museum on its way https://youtu.be/xjB6_Ez-3BA
Shorter video here : https://youtu.be/UEZisfkcN1Y

Currently porting SOTB to the Archie : https://www.youtube.com/user/Archimedes75009/featured

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: "speccy" ports

Postby MrPixel » Sun Feb 04, 2018 9:12 pm

um... in laymen's terms?

Zarchos
Captain Atari
Captain Atari
Posts: 263
Joined: Wed May 09, 2012 7:38 pm
Location: FRANCE

Re: "speccy" ports

Postby Zarchos » Sun Feb 04, 2018 9:14 pm

MrPixel wrote:um... in laymen's terms?


sorry there is no such thing if you want to be precise.
Others can try, but read wikipedia about what is assembly language, and what is BASIC, it will help you.
Falcon, Atari 1040 STE, 520ST, 800xl, xegs, Amigas, Archimedes, RISC PCs, Iyonix, Omega, BBC B, Atom, Electron, ZX 81, Spectrum 48/128/+2/+3, Russian clones, Sam Coupe, V6Z80P, QLs inc. Q68, and more !
2200 m2 museum on its way https://youtu.be/xjB6_Ez-3BA
Shorter video here : https://youtu.be/UEZisfkcN1Y

Currently porting SOTB to the Archie : https://www.youtube.com/user/Archimedes75009/featured

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: "speccy" ports

Postby MrPixel » Sun Feb 04, 2018 9:19 pm

are there some examples of amstrad/spectrum source code comparisons?

mlynn1974
Captain Atari
Captain Atari
Posts: 210
Joined: Mon Mar 03, 2008 10:33 pm
Contact:

Re: "speccy" ports

Postby mlynn1974 » Sun Feb 04, 2018 11:56 pm

The Spectrum had a chip called the ULA (Uncommitted Logic Array). It dealt with tape and keyboard I/O and all graphics generation.
I recommend you read this book:
http://www.zxdesign.info/book/theZXSpectrumULA.shtml
And the Complete Spectrum ROM Disassembly by Dr Ian Logan:
http://www.primrosebank.net/computers/z ... blyThe.pdf
It's not easy to write games.

The Amstrad uses a Z80 but the memory layout and ROM are different and the ULA is a totally different chip.
It can display more colours and supports more graphics modes than the Spectrum.
So there is no easy mapping between the 2 systems. Code would have to be painstakingly rewritten in machine code.
BASIC programs could be ported more easily but commercial quality games were 99% written in machine code where the programmers have learnt the full capabilities of the system. There is no easy way to get round that.
Still got, still working: Atari 4Mb STe, 520STFM, 2.5Mb STF.
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: "speccy" ports

Postby MrPixel » Mon Feb 05, 2018 12:36 am

thanks for the help

User avatar
alexh
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2709
Joined: Wed Oct 20, 2004 1:52 pm
Location: UK - Oxford
Contact:

Re: "speccy" ports

Postby alexh » Mon Feb 05, 2018 9:53 am

There is/was a great technical article by the people who wrote the (unreleased?) Atari ST version of Jet Set Willy. I can't find their website anymore but I did find the quote:
My friend Carl Whitwell and I (Paul Taylor) produced the Atari ST version of Jet-Set Willy for Software Projects, circa 1989. The guy we were working for was Tommy Barton, who was one of the directors of Software Projects. We finished writing the game, which was as perfect a reproduction of the original ZX Spectrum sound and graphics as you could get. If you saw it, you would think it was the Spectrum.

At the Software Projects offices, we were also given the opportunity to play the Commodore Amiga version of Jet-Set Willy, which was not yet finished at that time. Tommy took us through to a different room with an Amiga in it, and remarked that Shahid Ahmad was working from home but had left a recent copy of it as a demo. It looked like many Amiga games of the time, full of hardware sprites with smooth movement and lots of colour shades. I particularly remember The Forgotten Abbey, as it revealed the flaw in this approach: each of the monks looked exactly the same. In our version, being an exact replica of the original, each monk is a different colour. Other screens in the Amiga version just had coloured blocks instead of proper sprites, since he hadn't finished them yet.

Our Atari ST version was created in two stages. First of all, we disassembled the original Z80 code and reverse engineered it into C. Then, we re-coded some of Matthew Smith's graphics and sound routines for the Atari ST. We worked using a Sinclair Spectrum with the Zeus Disassembler and the original Jet-Set Willy program, and an Atari ST 520FM with the Sozobon C compiler. We had no physical link between the computers - the disassembled code was listed on the Spectrum screen, and entered into the Atari by hand! Each screen's data was dumped as hex, and dictated to a typist who entered it into struct { } statements in the C program.

By the end of the 1980s, Software Projects felt that Jet-Set Willy had had its day, and decided to cancel both the Amiga and the Atari ST projects. (However, the Amiga version of Manic Miner, also by Shahid Ahmad, had been on sale for a few months by this time). Since Software Projects weren't interested, we gave a copy of our ST version away to someone in England who wanted a copy for himself. Apparently, he gave copies to lots of people. That version can be identified in a number of ways. We altered the authorship message to read "Perfect Conversions, Hamburg", for example.

We once asked Tommy Barton about Matthew Smith, and whether the mythical game Willy Meets the Taxman had ever existed. He replied that Matthew had indeed started work on a sequal to Jet-Set Willy, and had even shown demos to the staff of Software Projects. Tommy recalled seeing sequences in which Willy waltzed with Maria the housekeeper. He said that the graphics were bigger, and not really the same as Jet-Set Willy or Manic Miner. However, he said that Matthew had lost interest in the project very quickly, and had left. He no longer knew of Matthew's whereabouts.

Zarchos
Captain Atari
Captain Atari
Posts: 263
Joined: Wed May 09, 2012 7:38 pm
Location: FRANCE

Re: "speccy" ports

Postby Zarchos » Mon Feb 05, 2018 11:48 am

Thanks. An interesting read.
Falcon, Atari 1040 STE, 520ST, 800xl, xegs, Amigas, Archimedes, RISC PCs, Iyonix, Omega, BBC B, Atom, Electron, ZX 81, Spectrum 48/128/+2/+3, Russian clones, Sam Coupe, V6Z80P, QLs inc. Q68, and more !
2200 m2 museum on its way https://youtu.be/xjB6_Ez-3BA
Shorter video here : https://youtu.be/UEZisfkcN1Y

Currently porting SOTB to the Archie : https://www.youtube.com/user/Archimedes75009/featured

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: "speccy" ports

Postby MrPixel » Mon Feb 05, 2018 11:53 pm

if i found source code for, say, Turrican for the zx spectrum, would it be possible to assemble that for the amstrad CPC? i understand if an answer cannot be given, seeing as knowledge of that computer is limited

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: "speccy" ports

Postby MrPixel » Tue Feb 06, 2018 1:36 am

just found the disassembly for JSW. Holy poo this thing is long. i suddenly have a new respect for Python and C++

Zarchos
Captain Atari
Captain Atari
Posts: 263
Joined: Wed May 09, 2012 7:38 pm
Location: FRANCE

Re: "speccy" ports

Postby Zarchos » Tue Feb 06, 2018 7:27 am

MrPixel wrote:if i found source code for, say, Turrican for the zx spectrum, would it be possible to assemble that for the amstrad CPC? i understand if an answer cannot be given, seeing as knowledge of that computer is limited


Yes, with a few minor changes about where you want to assemble the source in memory.

Now, it would assemble OK, but it would not work ;-)
You'd need to modify what is specific, different from one machine to another.
Falcon, Atari 1040 STE, 520ST, 800xl, xegs, Amigas, Archimedes, RISC PCs, Iyonix, Omega, BBC B, Atom, Electron, ZX 81, Spectrum 48/128/+2/+3, Russian clones, Sam Coupe, V6Z80P, QLs inc. Q68, and more !
2200 m2 museum on its way https://youtu.be/xjB6_Ez-3BA
Shorter video here : https://youtu.be/UEZisfkcN1Y

Currently porting SOTB to the Archie : https://www.youtube.com/user/Archimedes75009/featured

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: "speccy" ports

Postby MrPixel » Tue Feb 06, 2018 11:42 pm

i understand that the CPC shares the LD and BC registers. what exactly do i need to change as far as registers?


Social Media

     

Return to “Non Atari Platforms”

Who is online

Users browsing this forum: No registered users and 1 guest