Author Topic: 6128 Plus BASIC problem?  (Read 1090 times)

0 Members and 1 Guest are viewing this topic.

Offline ComSoft6128

  • ..................................
  • Supporter
  • 6128 Plus
  • *
  • Posts: 2.367
  • Country: scotland
  • CPC THEN CPC NOW
    • index.php?action=treasury
    • Awards
6128 Plus BASIC problem?
« on: 18:42, 04 March 21 »
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
« Last Edit: 20:13, 04 March 21 by ComSoft6128 »
like
0
No reactions

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 12.466
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #1 on: 19:24, 04 March 21 »
Possibly using an undocumented CRTC trick that the Plus didn't support?

Bryce.
 
like
0
No reactions

Offline ComSoft6128

  • ..................................
  • Supporter
  • 6128 Plus
  • *
  • Posts: 2.367
  • Country: scotland
  • CPC THEN CPC NOW
    • index.php?action=treasury
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #2 on: 19:30, 04 March 21 »
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 ::)
like
0
No reactions

Offline Animalgril987

  • Supporter
  • CPC6128
  • *
  • Posts: 230
  • Country: gb
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #3 on: 19:48, 13 March 21 »
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..
like
0
No reactions

Offline ComSoft6128

  • ..................................
  • Supporter
  • 6128 Plus
  • *
  • Posts: 2.367
  • Country: scotland
  • CPC THEN CPC NOW
    • index.php?action=treasury
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #4 on: 20:18, 13 March 21 »
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
like
0
No reactions

Offline Animalgril987

  • Supporter
  • CPC6128
  • *
  • Posts: 230
  • Country: gb
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #5 on: 22:44, 13 March 21 »
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.
like
0
No reactions

Offline dragon

  • 6128 Plus
  • ******
  • Posts: 1.552
  • Country: es
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #6 on: 12:34, 14 March 21 »
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

like
0
No reactions

Offline Animalgril987

  • Supporter
  • CPC6128
  • *
  • Posts: 230
  • Country: gb
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #7 on: 14:50, 14 March 21 »
Thanks for the info, Dragon. :D
like
0
No reactions

Offline ComSoft6128

  • ..................................
  • Supporter
  • 6128 Plus
  • *
  • Posts: 2.367
  • Country: scotland
  • CPC THEN CPC NOW
    • index.php?action=treasury
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #8 on: 15:53, 14 March 21 »
Never knew that, thank you :)
like
0
No reactions

Offline Animalgril987

  • Supporter
  • CPC6128
  • *
  • Posts: 230
  • Country: gb
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #9 on: 00:19, 17 March 21 »
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.



like
0
No reactions

Offline Animalgril987

  • Supporter
  • CPC6128
  • *
  • Posts: 230
  • Country: gb
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #10 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.
like
0
No reactions

Offline megachur

  • CPC664
  • ***
  • Posts: 103
  • Country: fr
  • z80 Powaaa !
    • cpc-power
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #11 on: 08:24, 19 March 21 »
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!


like
0
No reactions

Offline ComSoft6128

  • ..................................
  • Supporter
  • 6128 Plus
  • *
  • Posts: 2.367
  • Country: scotland
  • CPC THEN CPC NOW
    • index.php?action=treasury
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #12 on: 09:06, 19 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
like
0
No reactions

Offline Animalgril987

  • Supporter
  • CPC6128
  • *
  • Posts: 230
  • Country: gb
    • Awards
Re: 6128 Plus BASIC problem?
« Reply #13 on: 18:57, 27 March 21 »
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
« Last Edit: 18:59, 27 March 21 by Animalgril987 »
like
0
No reactions