6128 Plus BASIC problem?

Started by ComSoft6128, 18:42, 04 March 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ComSoft6128

Hi,
Looking for some help.

This lovely little slideshow will Run on the 6128 but not the 6128 Plus - it displays the loading screen but then locks - any idea why?
I've Listed the BASIC loader in the video below.



https://www.youtube.com/watch?v=Qf7czqw8qAM


Dsk file at CPCPOWER:
https://www.cpc-power.com/index.php?page=detail&num=12148

Bryce

Possibly using an undocumented CRTC trick that the Plus didn't support?

Bryce.

ComSoft6128

Anything in the BASIC program look "iffy"?


Not sure about a CRTC trick - it makes no attempt at all to load the Mode 2 screens ::)

Animalgril987

The machine code loading section is messy, and the error line variable (L) cannot point to the correct DATA statement.
Did someone do a "RENUM" without altering variable L? It should start at 40 and be incremented by 10..

ComSoft6128

Hi @Animalgril987 ,


Thanks for the reply,


No, no change to the original 1990 code. Possibly it was written before the author ever saw a Plus and never had a chance to Run it on one?
I've worked round the problem by recording it on a 6128 and it works fine on that :)


Cheers,


Peter

Animalgril987

Hi Peter.
No probs :D
But I wouldn't have thought the messiness in that area of the program would cause it to fail on the Plus. There must be something in the m/c code the Plus doesn't like..
I don't have a plus, so I can't test it myself.


Alan.

dragon

Amstrad remove some commands in plus firmware. Causing some address directions change.


So some programs that try access the firmware directly using calls can fail, because they call wrong direction..


Try load it with this cartridge.


https://www.cpcwiki.eu/imgs/7/7a/Basic_%28F%29_%28White_Label%29.zip


Animalgril987

Thanks for the info, Dragon. :D

ComSoft6128

Never knew that, thank you :)

Animalgril987

After some investigation, it turns out that  the machine code does a fair amount of reprogramming the 8255 PPI.


As the Plus ASIC emulation of the PPI is not perfect, the Plus will throw a wobbly ( usually no keyboard response or sound).
The exact problem is a couple of points where the PPI control register is reprogrammed.
In a real PPI, this clears the output registers, but they are not cleared in the emulation.


I don't have a plus to test,it on, but I think modifying the program to send 0x00h to PPI ports A and C immediately after the control port writes SHOULD make it Plus friendly.


Alan.




Animalgril987

@ComSoft6128 : Hi Peter.
If you can send attach a dsk of the Basic program, when I get a mo I'll tidy up the code loader and insert extra OUT commands into the machine code to try and make it Plus compatible.


Alan.

megachur

Hello,

First to search something like that :

Firstly, please try it on real hardware...

If there no 'bug', then the emulator you are using is not accurate with ASIC hardware.

Then we can find in the code the 'bug' and maybe fix it for +

Secondly, the ASIC use a partial PPI hardware implementation. That is why some 'tricks' with PPI don't work with ASIC. Also some tricks with ASIC don't work with PPI also !Recently, Ast have found one that not work in emulators like WinAPE for example...

Finally, the ASIC has not yet been sufficiently analyzed to know its exact hardware operation!

Note for example that it works at 40Mhz while most emulators make it work like the Gate Array, that is to say at 8Mhz!



ComSoft6128

Quote from: Animalgril987 on 21:53, 18 March 21
@ComSoft6128 : Hi Peter.
If you can send attach a dsk of the Basic program, when I get a mo I'll tidy up the code loader and insert extra OUT commands into the machine code to try and make it Plus compatible.


Alan.


Hi @Animalgril987 ,
Thanks for the offer but I have worked around the problem by Running it on a 6128.
There is a link in my original post to the file at CPCPOWER if you want to check that out.


@megachur,

Thanks for the info.
I've been trying to Run this program on real hardware but as per above I've worked round it.


Cheers,


Peter

Animalgril987

#13
This version runs on a Plus emulator (at least until the "Turn disk over" message  :D ).


Don't know about a real Plus, though...


(Filename changed because I was fed up of having to use copy curser to get a tilde ( editting done on a real CPC)).  :D

Powered by SMFPacks Menu Editor Mod