Jump to content
IGNORED

ZZap! 64 issue 1, top C64 programmers say A8 is best


high voltage

Recommended Posts

Jeff's best 8bit games were on VIC20 and maybe A8. But never heard of that the c64 were Llamasoft classics?

 

For me, his heyday was GridRunner,LaserZone, HellGate.. All on the VIC-20.. Nothing original, but then that's what he did best before he thought he was the next Miyamoto and took himself too seriously, and started to whine non-stop..

Everything else by the hairy thong is mostly bilge... Sorry Jeff fans and yak ;)

Link to comment
Share on other sites

 

i did a little digging and the postal address for Wizard Developments matches Gremlin's in Sheffield so presumably they were somehow related or at the very least there'd be people swapping work floppies informally so, if anyone knows a former Gremlin employee who likes to hoard old development floppies it might be time to go visiting...!

 

And ask for others that were talked to be released on A8 like Gary Linekers, Dark Fusion and and Mask...

Link to comment
Share on other sites

and nothing can beat INC sprite0_ypos to move a 24x21 pixel sprite vertical :D

 

so you are one of those lazy sods who puts the score panel down the right hand side of the screen then? :)

 

Hey.... more than 20 years moving sprite vertical by copy data at pos to pos+1 ;) I really appreciate one INC ;) call me lazy... I call it clever :D but flickering rasterinterrupts are not my friends... ;)

Link to comment
Share on other sites

and nothing can beat INC sprite0_ypos to move a 24x21 pixel sprite vertical :D

 

so you are one of those lazy sods who puts the score panel down the right hand side of the screen then? :)

 

Hey.... more than 20 years moving sprite vertical by copy data at pos to pos+1 ;) I really appreciate one INC ;) call me lazy... I call it clever :D but flickering rasterinterrupts are not my friends... ;)

 

I misread the INC as incrementing the X position and was referring to the old newbie trick to avoid setting the MSB register. D'OH!

 

Ignore me - it's been a long day…

Link to comment
Share on other sites

and nothing can beat INC sprite0_ypos to move a 24x21 pixel sprite vertical :D

 

so you are one of those lazy sods who puts the score panel down the right hand side of the screen then? :)

 

Hey.... more than 20 years moving sprite vertical by copy data at pos to pos+1 ;) I really appreciate one INC ;) call me lazy... I call it clever :D but flickering rasterinterrupts are not my friends... ;)

 

For the better imagination to some people. Could you post a small code of what's needed to exchange the "INC sprite0_ypos to move a 24x21 pixel sprite vertical" from C64 to Atari.

Link to comment
Share on other sites

Dont you mean shekana Andy...they were the first importers of the pc engine in london (if you're referring to tottenham court road that is)

 

I think shekana also stocked the 'official' pal version of pc engine (as made by micro media with NEC's blessings apparently)

 

And according to yell.com shekana are still going but they moved to wood green (just past tottenham)

 

Me thinks that andymoo and tmr used to work for the likes of gremlin/usg/ocean etc or some other uk software house (seeming as though they are mostly c64 users)

 

Here's the PC Engine excerpts from C&VG silver cover mount booklet:

 

IMG-4.jpg

 

IMG_0001-1.jpg

 

.

Link to comment
Share on other sites

For the better imagination to some people. Could you post a small code of what's needed to exchange the "INC sprite0_ypos to move a 24x21 pixel sprite vertical" from C64 to Atari.

 

Strictly speaking, C64 coders don't usually just DEC or INC the sprite pointers; because the values usually have to be altered on the fly for split screen play areas, multiplexing and so forth, sprite positions are stashed in memory and copied in at the relevant point dring each frame refresh.

 

But okeydokey, here's one of the three nasty draw routines from Callisto (minus the colour transfers for brevity):

 

; Unrolled nasty draw loop for player 0
; A is object shape, X is horizontal position, Y is vertical position
nasty_draw_pm0    sta rt_store_1

       tya
       asl @
       tay
       cpy #$c8
       bcc *+$03
       rts

       ldx rt_store_1

; Render the player
       lda spr_plyr_data+[spr_cnt*$00],x
       sta spr_buffer+$401,y
       lda spr_plyr_data+[spr_cnt*$01],x
       sta spr_buffer+$402,y
       lda spr_plyr_data+[spr_cnt*$02],x
       sta spr_buffer+$403,y
       lda spr_plyr_data+[spr_cnt*$03],x
       sta spr_buffer+$404,y
       lda spr_plyr_data+[spr_cnt*$04],x
       sta spr_buffer+$405,y
       lda spr_plyr_data+[spr_cnt*$05],x
       sta spr_buffer+$406,y
       lda spr_plyr_data+[spr_cnt*$06],x
       sta spr_buffer+$407,y
       lda spr_plyr_data+[spr_cnt*$07],x
       sta spr_buffer+$408,y

       lda spr_plyr_data+[spr_cnt*$08],x
       sta spr_buffer+$409,y
       lda spr_plyr_data+[spr_cnt*$09],x
       sta spr_buffer+$40a,y
       lda spr_plyr_data+[spr_cnt*$0a],x
       sta spr_buffer+$40b,y
       lda spr_plyr_data+[spr_cnt*$0b],x
       sta spr_buffer+$40c,y
       lda spr_plyr_data+[spr_cnt*$0c],x
       sta spr_buffer+$40d,y
       lda spr_plyr_data+[spr_cnt*$0d],x
       sta spr_buffer+$40e,y
       lda spr_plyr_data+[spr_cnt*$0e],x
       sta spr_buffer+$40f,y
       lda spr_plyr_data+[spr_cnt*$0f],x
       sta spr_buffer+$410,y

       lda spr_plyr_data+[spr_cnt*$10],x
       sta spr_buffer+$411,y
       lda spr_plyr_data+[spr_cnt*$11],x
       sta spr_buffer+$412,y

; Render the missile
       lda spr_miss_data_1+[spr_cnt*$00],x
       ora spr_buffer+$301,y
       sta spr_buffer+$301,y
       lda spr_miss_data_1+[spr_cnt*$01],x
       ora spr_buffer+$302,y
       sta spr_buffer+$302,y
       lda spr_miss_data_1+[spr_cnt*$02],x
       ora spr_buffer+$303,y
       sta spr_buffer+$303,y
       lda spr_miss_data_1+[spr_cnt*$03],x
       ora spr_buffer+$304,y
       sta spr_buffer+$304,y
       lda spr_miss_data_1+[spr_cnt*$04],x
       ora spr_buffer+$305,y
       sta spr_buffer+$305,y
       lda spr_miss_data_1+[spr_cnt*$05],x
       ora spr_buffer+$306,y
       sta spr_buffer+$306,y
       lda spr_miss_data_1+[spr_cnt*$06],x
       ora spr_buffer+$307,y
       sta spr_buffer+$307,y
       lda spr_miss_data_1+[spr_cnt*$07],x
       ora spr_buffer+$308,y
       sta spr_buffer+$308,y

       lda spr_miss_data_1+[spr_cnt*$08],x
       ora spr_buffer+$309,y
       sta spr_buffer+$309,y
       lda spr_miss_data_1+[spr_cnt*$09],x
       ora spr_buffer+$30a,y
       sta spr_buffer+$30a,y
       lda spr_miss_data_1+[spr_cnt*$0a],x
       ora spr_buffer+$30b,y
       sta spr_buffer+$30b,y
       lda spr_miss_data_1+[spr_cnt*$0b],x
       ora spr_buffer+$30c,y
       sta spr_buffer+$30c,y
       lda spr_miss_data_1+[spr_cnt*$0c],x
       ora spr_buffer+$30d,y
       sta spr_buffer+$30d,y
       lda spr_miss_data_1+[spr_cnt*$0d],x
       ora spr_buffer+$30e,y
       sta spr_buffer+$30e,y
       lda spr_miss_data_1+[spr_cnt*$0e],x
       ora spr_buffer+$30f,y
       sta spr_buffer+$30f,y
       lda spr_miss_data_1+[spr_cnt*$0f],x
       ora spr_buffer+$310,y
       sta spr_buffer+$310,y

       lda spr_miss_data_1+[spr_cnt*$10],x
       ora spr_buffer+$311,y
       sta spr_buffer+$311,y
       lda spr_miss_data_1+[spr_cnt*$11],x
       ora spr_buffer+$312,y
       sta spr_buffer+$312,y

Link to comment
Share on other sites

For the better imagination to some people. Could you post a small code of what's needed to exchange the "INC sprite0_ypos to move a 24x21 pixel sprite vertical" from C64 to Atari.

 

Strictly speaking, C64 coders don't usually just DEC or INC the sprite pointers; because the values usually have to be altered on the fly for split screen play areas, multiplexing and so forth, sprite positions are stashed in memory and copied in at the relevant point dring each frame refresh.

 

But okeydokey, here's one of the three nasty draw routines from Callisto (minus the colour transfers for brevity):

 

; Unrolled nasty draw loop for player 0
; A is object shape, X is horizontal position, Y is vertical position
nasty_draw_pm0 sta rt_store_1

tya
asl @
tay
cpy #$c8
bcc *+$03
rts

ldx rt_store_1

; Render the player
lda spr_plyr_data+[spr_cnt*$00],x
sta spr_buffer+$401,y
lda spr_plyr_data+[spr_cnt*$01],x
sta spr_buffer+$402,y
lda spr_plyr_data+[spr_cnt*$02],x
sta spr_buffer+$403,y
lda spr_plyr_data+[spr_cnt*$03],x
sta spr_buffer+$404,y
lda spr_plyr_data+[spr_cnt*$04],x
sta spr_buffer+$405,y
lda spr_plyr_data+[spr_cnt*$05],x
sta spr_buffer+$406,y
lda spr_plyr_data+[spr_cnt*$06],x
sta spr_buffer+$407,y
lda spr_plyr_data+[spr_cnt*$07],x
sta spr_buffer+$408,y

lda spr_plyr_data+[spr_cnt*$08],x
sta spr_buffer+$409,y
lda spr_plyr_data+[spr_cnt*$09],x
sta spr_buffer+$40a,y
lda spr_plyr_data+[spr_cnt*$0a],x
sta spr_buffer+$40b,y
lda spr_plyr_data+[spr_cnt*$0b],x
sta spr_buffer+$40c,y
lda spr_plyr_data+[spr_cnt*$0c],x
sta spr_buffer+$40d,y
lda spr_plyr_data+[spr_cnt*$0d],x
sta spr_buffer+$40e,y
lda spr_plyr_data+[spr_cnt*$0e],x
sta spr_buffer+$40f,y
lda spr_plyr_data+[spr_cnt*$0f],x
sta spr_buffer+$410,y

lda spr_plyr_data+[spr_cnt*$10],x
sta spr_buffer+$411,y
lda spr_plyr_data+[spr_cnt*$11],x
sta spr_buffer+$412,y

; Render the missile
lda spr_miss_data_1+[spr_cnt*$00],x
ora spr_buffer+$301,y
sta spr_buffer+$301,y
lda spr_miss_data_1+[spr_cnt*$01],x
ora spr_buffer+$302,y
sta spr_buffer+$302,y
lda spr_miss_data_1+[spr_cnt*$02],x
ora spr_buffer+$303,y
sta spr_buffer+$303,y
lda spr_miss_data_1+[spr_cnt*$03],x
ora spr_buffer+$304,y
sta spr_buffer+$304,y
lda spr_miss_data_1+[spr_cnt*$04],x
ora spr_buffer+$305,y
sta spr_buffer+$305,y
lda spr_miss_data_1+[spr_cnt*$05],x
ora spr_buffer+$306,y
sta spr_buffer+$306,y
lda spr_miss_data_1+[spr_cnt*$06],x
ora spr_buffer+$307,y
sta spr_buffer+$307,y
lda spr_miss_data_1+[spr_cnt*$07],x
ora spr_buffer+$308,y
sta spr_buffer+$308,y

lda spr_miss_data_1+[spr_cnt*$08],x
ora spr_buffer+$309,y
sta spr_buffer+$309,y
lda spr_miss_data_1+[spr_cnt*$09],x
ora spr_buffer+$30a,y
sta spr_buffer+$30a,y
lda spr_miss_data_1+[spr_cnt*$0a],x
ora spr_buffer+$30b,y
sta spr_buffer+$30b,y
lda spr_miss_data_1+[spr_cnt*$0b],x
ora spr_buffer+$30c,y
sta spr_buffer+$30c,y
lda spr_miss_data_1+[spr_cnt*$0c],x
ora spr_buffer+$30d,y
sta spr_buffer+$30d,y
lda spr_miss_data_1+[spr_cnt*$0d],x
ora spr_buffer+$30e,y
sta spr_buffer+$30e,y
lda spr_miss_data_1+[spr_cnt*$0e],x
ora spr_buffer+$30f,y
sta spr_buffer+$30f,y
lda spr_miss_data_1+[spr_cnt*$0f],x
ora spr_buffer+$310,y
sta spr_buffer+$310,y

lda spr_miss_data_1+[spr_cnt*$10],x
ora spr_buffer+$311,y
sta spr_buffer+$311,y
lda spr_miss_data_1+[spr_cnt*$11],x
ora spr_buffer+$312,y
sta spr_buffer+$312,y

 

where is the problem? A8 CPU is faster so these little amount of extra code not an issue just to move a sprite ;) and we are talking here about hardware sprites not soft sprites... ;)

 

just kidding.

  • Like 2
Link to comment
Share on other sites

where is the problem? A8 CPU is faster so these little amount of extra code not an issue just to move a sprite ;) and we are talking here about hardware sprites not soft sprites... ;)

 

Don't look at me, emkay asked for an example and that's my fastest version (the one atariksi reckoned he could do faster if memory serves...) =-)

 

just kidding.

 

Why you cheeky scamp!

Link to comment
Share on other sites

 

 

where is the problem? A8 CPU is faster so these little amount of extra code not an issue just to move a sprite ;) and we are talking here about hardware sprites not soft sprites... ;)

 

just kidding.

 

This may probably show to guys like José Perreira that some of his mockups never will work on a reel Atari, and why double scanline modes were recommended, if you want to have fluent "sprite with scrolling" games.

Link to comment
Share on other sites

where is the problem? A8 CPU is faster so these little amount of extra code not an issue just to move a sprite ;) and we are talking here about hardware sprites not soft sprites... ;)

 

Don't look at me, emkay asked for an example and that's my fastest version (the one atariksi reckoned he could do faster if memory serves...) =-)

 

There's some speed ups I guess, using unrolled copy loops (strip draw as heaven calls it) combined with illegals such as SAX to enable fast PM clipping in the context of an unrolled loop.. Other than that, it's compiled sprites for setting PM data, which is what I resorted in my silly multiplexer experiments, because copying them is so very slow..

 

That said, Twattys comment about double height lines being the answer is wrong as usual.. Most of Jose's idea are workable in my opinion.. Just unrewarding for a programmer, IMHO ;)

Link to comment
Share on other sites

That said, Twattys comment about double height lines being the answer is wrong as usual.. Most of Jose's idea are workable in my opinion.. Just unrewarding for a programmer, IMHO ;)

 

If that's your opinion.... hm.... no chance for arguing here.

 

The only point that makes me still wondering, perhaps you could explain that to me, how is it possible to manage things, when you don't have the slightest clue?

Edited by emkay
Link to comment
Share on other sites

That said, Twattys comment about double height lines being the answer is wrong as usual.. Most of Jose's idea are workable in my opinion.. Just unrewarding for a programmer, IMHO ;)

 

If that's your opinion.... hm.... no chance for arguing here.

 

The only point that makes me still wondering, perhaps you could explain that to me, how is it possible to manage things, when you don't have the slightest clue?

Because I've written and shipped games, in the real world..

 

You.. Just talk shit all day..

  • Like 5
Link to comment
Share on other sites

That said, Twattys comment about double height lines being the answer is wrong as usual.. Most of Jose's idea are workable in my opinion.. Just unrewarding for a programmer, IMHO ;)

 

If that's your opinion.... hm.... no chance for arguing here.

 

The only point that makes me still wondering, perhaps you could explain that to me, how is it possible to manage things, when you don't have the slightest clue?

Because I've written and shipped games, in the real world..

 

You.. Just talk shite all day..

 

But you never made a game on the A8. So you DON'T have the slightest clue about it.

Possibly you're one of those guys wasting huge resources for small games... no problem on 1GHz and more clocked CPUs with even more powerfull graphics in there.... be careful that your giant is not tumbling ;)

Link to comment
Share on other sites

That said, Twattys comment about double height lines being the answer is wrong as usual.. Most of Jose's idea are workable in my opinion.. Just unrewarding for a programmer, IMHO ;)

 

If that's your opinion.... hm.... no chance for arguing here.

 

The only point that makes me still wondering, perhaps you could explain that to me, how is it possible to manage things, when you don't have the slightest clue?

Because I've written and shipped games, in the real world..

 

You.. Just talk shite all day..

 

But you never made a game on the A8. So you DON'T have the slightest clue about it.

Possibly you're one of those guys wasting huge resources for small games... no problem on 1GHz and more clocked CPUs with even more powerfull graphics in there.... be careful that your giant is not tumbling ;)

 

No, never on the A8, you're right for once.. But I'm quite familiar with it now thank you..

Yes, I come from a Polish background, but 512k carts for 64k games is wrong..

You talk non-stop about what it can do but without ever having to write a line of code to backup your ideas..

I like to write code to backup ideas.. Which I have done on this exact subject..

Have you ?

 

Edit: and by your own logic, how can your opinion be of any importance when you've written nothing, either as an amateur or professionally ?

  • Like 3
Link to comment
Share on other sites

That said, Twattys comment about double height lines being the answer is wrong as usual.. Most of Jose's idea are workable in my opinion.. Just unrewarding for a programmer, IMHO ;)

 

If that's your opinion.... hm.... no chance for arguing here.

 

The only point that makes me still wondering, perhaps you could explain that to me, how is it possible to manage things, when you don't have the slightest clue?

Because I've written and shipped games, in the real world..

 

You.. Just talk shite all day..

 

But you never made a game on the A8. So you DON'T have the slightest clue about it.

Possibly you're one of those guys wasting huge resources for small games... no problem on 1GHz and more clocked CPUs with even more powerfull graphics in there.... be careful that your giant is not tumbling ;)

 

No, never on the A8, you're right for once.. But I'm quite familiar with it now thank you..

Yes, I come from a Polish background, but 512k carts for 64k games is wrong..

You talk non-stop about what it can do but without ever having to write a line of code to backup your ideas..

I like to write code to backup ideas..

 

Which I have done on this exact subject..

 

 

I'm pretty sure, you don't have done that. As the A8's resources were to "variable" to presume a working game from just a "WIP" routine.

 

Have you ?

 

Back in the 80's, yes.

That's why I know the A8 cannot reach C64 "featured" games ... which means colour mode or even hires scrolling with a lots of Sprites.

As 3D games of the 1st generation have been rather blocky and the fps turned below "24" ... it was also clear for me that the A8 can serve an 8 bit Wolf 3D version. In double scanline mode it also can play digis while things going on at the screen.

Sheddy's Space Harrier is a nice proof , also Project-M...

Edited by emkay
Link to comment
Share on other sites

What did you write ?

 

... mainly Basic games with added machine code, but just sparetime projects.

Development tools, just like GFX-Converters and else... (See the MCS pictures)

 

Most got lost due to magnetic loss of the disks, when standing on the attic.

A bunch of Games I gave to the Atari Club Colonia.... but then they turned into an ST only club. 8 Bit stuff got lost there also...

 

What's still there is the game Admirandus. Just some Wheel of Fortune version.... not something special, except the used gfx mode.

And the networking game "ST-XL Schiffeversenken".

 

"Galactic Raid" has been lost... A fun shooter in charmode and a full digital Soundtrack.

 

 

Edit: stop misquoting me too please shit for brains, you make it hard for others to follow..

 

If you learn , not to quote all content before....

Link to comment
Share on other sites

So.. Once and for all.. You've written fuck all, beyond that of which any muppet writes ?

 

Cool :D

 

Edit: I reckon I've written more graphics tools, for retro purposes, this week than you've written in your entire life..

Edit:edit: and what does this demo have to do with you ?

Edit:edit:edit: I can believe you wrote that.. It's shit dude..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...