News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Recent posts

#1
avatar_iXien
Games / Re: Converted GX4000 .cpr - Th...
Last post by iXien - Today at 08:11
Ok guys, it's nice to see Triaxos working so well, but it also party time for a new game. As requested by @overange , here is a new conversion thanks to the work of @Urusergi and @dragon  with my humble involvement:

RED HEAT from Ocean

Controls:
J1B1  = Fire
J1UP  = Head butt / fire gun
J1DOWN = Duck / Pick up
Pause button = Pause game (any button to resume)

Modifications for the GX4000 version:
    - Original title screen but also a new one in mode 0 based on the C64 version,
    - Wait for fire on title screen,
    - Patched keys,
    - Joystick as default controls,
    - Plus incompatibility fixed,
    - Modified disk access routine,
    - Pokes: Unlimited lives and health

Many thanks to @dragon for the modification of the disk access routine to make the game work converted in CPR. You're a real master, dude ;) 
#2
avatar_iXien
Games / Re: Converted GX4000 .cpr - Th...
Last post by iXien - Today at 07:41
Like Hannibal said in the A-Team "I love it when a plan comes together"  :P . So here is a new version for :

TRIAXOS from Ariola Soft

So many thanks to @Urusergi for patching this and to @dragon for fixing a nasty bug that made the Amstrad version unplayable since 40 years  ;)

Controls:
d-pad = Move the character in the desired direction
J1B1 = Fire / Open inventory (long press)
J1B2 = Pause game (J1B1 to resume game)
Pause button = Quit game

Any direction to quit the inventory, d-pad left/right and J1B1 to select an item (grenade or DHE-IV CHARGES)

Modifications for the GX4000 version:
    - Wait for fire on title screens,
    - Remapped keys,
    - Dynamite game corruption fixed (many thanks to dragon),
    - Pokes : Unlimited laser, shield, time.

Triaxos is one of these games on computer in which the publishers seemed to consider that discovering what to do was part of the game itself. Really frustrating, making these games completely cryptic without any reason. I offer you a new instruction manual in the archive to start more easily what is really a hidden gem, mature and more ambitious than many others  ;)

You can discover an impressive longplay of the spectrum version here:

https://www.youtube.com/watch?v=hFV6Mrc_Ci0&t=2180s
#3
avatar_McArti0
Programming / Re: Interruptions
Last post by McArti0 - Today at 06:13
Manual z80 page 20:
A CPU reset clears the I Register so that it is initialized to 0. The lower eight bits of the pointer must be supplied by the interrupting device. Only seven bits are required from the interrupting device, because the least-significant bit must be a 0.

I misunderstood that bit0 is ignored and used as zero by z80. and that's not the case.

org #41b9
jp #b941 ; int with bit0=0

org %8000
db #B9
org #8001
REPEAT 128
DW #B941
REND
.L8101
DI
LD A,#80 ;8000-80FF
LD I,A
IM 2
RET

CALL &8101
#4
avatar_lightforce6128
Games / Re: WIP Transversion
Last post by lightforce6128 - Today at 01:51
I always liked this game on the Atari 2600:

https://youtu.be/sk3resNu1kA?feature=shared&t=186

I'm looking forward to your CPC version.
#5
avatar_lightforce6128
Programming / Re: Interruptions
Last post by lightforce6128 - Today at 01:42
This reminds me on something: Without knowing about IM2 and under some very special conditions, I developed another possibility to "move" the interrupt address out of the way.

Four conditions: If you need the memory at #0038 because of e.g. an overscan screen, cannot spend 256 bytes for an interrupt table, you know that the pixels at #0038 to #003A will always show the same thing, e.g. background, and the screen is presented in mode 0, it is possible to use the following trick:

Command 'JP nnnn' has opcode #C3. Interpreted as mode 0 colors, these are two pixels drawn with pen 9. This means that command 'JP #C3C3' will forward the interrupt call to another address and will be visible as six pixels with pen 9. If pen 9 is used e.g. as background, the command itself will be invisible.

Now it is questionable, if address #0038 should not create clutter in the visible image, whether address #C3C3 is an improvement. In some special cases this might be. If not, one can sacrifice one other pen (set to the same ink as pen 9) to create a bunch of different addresses as target for the interrupt.

Of course, a similar result can be achieved by other techniques, e.g. color rasters or screen splitting, that have all their own pros and cons.
#6
avatar_lightforce6128
Programming / Re: Interruptions
Last post by lightforce6128 - Today at 01:33
Quote from: McArti0 on Yesterday at 21:01org #8001


Why is it #8001 and not #8000? What happens if by chance #00 is used to calculate the table entry?
#7
avatar_Narkhos
Games / Re: Le Dernier Serment (The La...
Last post by Narkhos - Yesterday at 22:26
I just added save/load feature to the game. I tested it extensively and it seems I did not break anything in the process  :D

If any of you give it a try, let me know if it works for you or if you experience any problem  :) 
#8
M
Games / Re: WIP Transversion
Last post by menegator - Yesterday at 22:20
Nice. An idea, if it's not to late, make the tiles like bombjack, if you take them at a certain order to get higher score.
#9
A
Programming / Re: triple buffering
Last post by Anthony Flack - Yesterday at 21:26
Dragon Attack is a beautiful example of updating the player directly onto the front buffer at 50hz, with the bullets updating every third frame. It works very well. You can get away with jerky enemies if the player is smooth and responsive. 

You could try other things like only drawing half your enemies every other frame, or even go as far as the old Space Invaders trick of moving only one enemy each frame. On the Plus, updating sprite graphics takes time, so you can stick all your animation frame change requests into a buffer and only process a few each frame, or stagger them so that a quarter of the sprites update regularly every 4th frame for eg. 

You can buffer other changes, too. It doesn't matter if the score panel or some of the numbers and other widgets change a frame or two later, so I make score panel updates happen over several frames rather than all at once. 
#10
avatar_McArti0
Programming / Re: Interruptions
Last post by McArti0 - Yesterday at 21:01
Quote from: Longshot on Yesterday at 19:55This routine can crash
This routine must crash.

because readed low byte from D0-D7 is FF and jump address readed is 80FF(8100)

org #8001
REPEAT 128
DW #B941
REND
.L8101
DI
LD A,#80 ;00.
LD I,A
IM 2
RET

CALL &8101
Powered by SMFPacks Menu Editor Mod