Corruption (Arculator) - more gfx issues

ask about 32-bit emulators like ArcEm, Red Squirrel, Arculator or RPCEmu here
mfc
Posts: 70
Joined: Mon Dec 22, 2014 9:56 am

Corruption (Arculator) - more gfx issues

Postby mfc » Mon Nov 28, 2016 5:01 am

I'm getting some more strange gfx issues now with Corruption from Magnetic Scrolls under Arculator, this is how the game looks like:
http://imgur.com/a/uPOGn

The loading screen looks perfect, but once it goes into game everything is garbled, I suppose it requires a specific screen mode, but there is literally no information about it on the disk. I tried several and they all cause the same problem.

sirbod
Posts: 609
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Corruption (Arculator) - more gfx issues

Postby sirbod » Mon Nov 28, 2016 12:53 pm

ScreenSize is possibly too low. I've just fired it up on the Pi to check the res and it's running in MODE 12 and isn't swapping screen banks, so requires 80K.

It was written for Arthur and uses APCS-A, so make sure you also run the copy of CLib that's on the disk.

mfc
Posts: 70
Joined: Mon Dec 22, 2014 9:56 am

Re: Corruption (Arculator) - more gfx issues

Postby mfc » Tue Nov 29, 2016 7:56 am

Did the graphics work fine on your end?

I did try mode 12 (and other 80K modes) with the same results, in fact seems the game is forcing mode 12 looking at the !Boot script:
http://imgur.com/a/ZnYNI

What copy of CLib are you referring to by the way? As you can see in the image above it doesn't seem to be there.

sirbod
Posts: 609
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Corruption (Arculator) - more gfx issues

Postby sirbod » Tue Nov 29, 2016 5:15 pm

mfc wrote:Did the graphics work fine on your end?

It did, I recorded a YouTube video of it running on a Pi2. However, I tested v1.12 and I believe the copy you have is v1.11 which doesn't use CLib and requires loading via SHIFT-BREAK. I've just tested it under Arculator and it appears to run okay when emulating RO3.11, I did however have to quit the desktop and run !Boot manually as it wouldn't boot correctly or run from within the desktop.

mfc
Posts: 70
Joined: Mon Dec 22, 2014 9:56 am

Re: Corruption (Arculator) - more gfx issues

Postby mfc » Tue Nov 29, 2016 7:50 pm

Yes, my version doesn't seem to be the same as yours. I will try to boot it manually and report back.

Is there any way I can exit the desktop from command line by the way?

sirbod
Posts: 609
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Corruption (Arculator) - more gfx issues

Postby sirbod » Wed Nov 30, 2016 7:14 am

mfc wrote:Is there any way I can exit the desktop from command line by the way?

I'm not sure there is, I did manage to code it into ADFFS for booting floppies, but don't recall how off the top of my head. I'll have a look at the source later.

EDIT: It's not straightforward and is going to require a Module, I'll code something for you and post it once I've confirmed it works.

mfc
Posts: 70
Joined: Mon Dec 22, 2014 9:56 am

Re: Corruption (Arculator) - more gfx issues

Postby mfc » Wed Nov 30, 2016 9:47 am

That would be fantastic, I can't thank you enough for all your help.

I was actually thinking if it would be possible to use it through ADFFS and get it running that way since several old games also won't work from the desktop and you seem to be able to deal with it on ADFFS using boot floppy and your obey files.

sirbod
Posts: 609
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Corruption (Arculator) - more gfx issues

Postby sirbod » Wed Nov 30, 2016 10:52 am

mfc wrote:I was actually thinking if it would be possible to use it through ADFFS and get it running that way since several old games also won't work from the desktop and you seem to be able to deal with it on ADFFS using boot floppy and your obey files.

It wouldn't hurt to have ADFFS loaded, as it has several useful features, such as forcing VSyncs to change game speed (CTRL-SHIFT-PgUp/PgDn) and commands for altering memory size etc. There's also speed regulated tracker Modules, to resolve most game music issues. You will need !SparkFS loaded if you want to use the scripts.

I've written Boot scripts for around 250 games, which can be found in the !ADFFS.obey ZIP file. You can either run the script directly (ie RUN ADFFS:obey.F10xxxxx), use the Filer "Boot floppy" option if it's a JFD file, or simply call ADFBootFloppy from commandline. They all require ADFFS to be loaded, as they make use of Environment variables, Tracker Modules and * commands ADFFS provides.


Attached is a BootFDC utility, with source below. Call it with an optional commandline to run after the Wimp has shutdown. If no commandline is provided, it will attempt to boot ADFS - for this to work, you'll need to have select drive 0 (ie DIR ADFS::0.$ and it will need the floppy to have either Exec (*OPT 4,3) or Run (*OPT 4,2) set as the Boot option (you can confirm via *.)

Code: Select all

saveas$="hostfs:$.bootfdc"

DIM code% 1024

FOR A%=0 TO 2 STEP 2
P%=code%
[OPT A%
ADR R2, commandline
MOV R3, #255
.env_string
LDRB R0, [R1], #1
TEQ R0, #0
STRNEB R0, [R2], #1
SUBNES R3, R3, #1
BNE env_string                  ;copy any commandline

MOV R0, #11
ADR R1, module
LDR R2, size
SWI "XOS_Module"                ;insert Module into RMA

MOV R0, #%11001
SWI "XTaskManager_Shutdown"     ;shutdown the Wimp

MVN R0, #0
SWI "XWimp_CommandWindow"       ;silence the commandwindow

SWI "OS_Exit"


.size EQUD module_end - module

.module
EQUD 0
EQUD 0
EQUD 0
EQUD service-module
EQUD title-module
EQUD 0
EQUD 0
EQUD 0
EQUD 0
EQUD 0
EQUD 0
EQUD 0
EQUD flags-module

.title EQUS "BootUtils":EQUB 0
ALIGN

.flags EQUD 1

.service
TEQ R1, #128
MOVNE PC, R14

STMFD R13!, {R0-R2, R14}
MOV R0, #100
ADR R1, bootfloppy1
MOV R2, #0
SWI "XOS_CallAfter"             ;start boot after 1 second wait
LDMFD R13!, {R0-R2, PC}


.bootfloppy1
STMFD R13!, {R0-R2, R14}
ADR R0, bootfloppy2
MOV R1, #0
SWI "XOS_AddCallBack"           ;schedule the boot via callback
LDMFD R13!, {R0-R2, PC}


.bootfloppy2
STMFD R13!, {R0-R2, R14}
ADR R0, commandline
LDRB R1, [R0, #0]
TEQ R0, #0
SWINE "OS_CLI"                  ;if there's a commandline, run it
LDRB R0, commandline
TEQ R0, #0
LDMNEFD R13!, {R0-R2, PC}

MOV R0, #138
MOV R1, #0
MOV R2, #ASC(" ")
SWI "XOS_Byte"                  ;insert a key to workaround a bug in RISCOS

MOV R0, #14                     ;select ADFS
MOV R1, #8
SWI "XOS_FSControl"

MOV R0, #15                     ;boot ADFS
SWI "XOS_FSControl"
LDMFD R13!, {R0-R2, PC}

ALIGN
.commandline
]:FOR L%=0 TO 252 STEP 4:!P%=0:P%+=4:NEXT
[OPT A%
.module_end
]
NEXT
OSCLI "SAVE "+saveas$+" "+STR$~code%+" "+STR$~P%
OSCLI "Settype "+saveas$+" Utility"


Example use:

Shutdown the Wimp and boot a floppy that has Run or Exec set at it's boot option:

Code: Select all

*DIR ADFS::0.$
*BootFDC

Shutdown the Wimp and run a file:

Code: Select all

*BootFDC adfs::0.$.runme
Attachments
BootFDC.zip
(344 Bytes) Downloaded 15 times

mfc
Posts: 70
Joined: Mon Dec 22, 2014 9:56 am

Re: Corruption (Arculator) - more gfx issues

Postby mfc » Thu Dec 01, 2016 12:21 pm

wow it worked! Impressive work, thanks again without your help I'd never be able to get several of these games running.

Would this utility be usable with Enthar Seven? That's another nasty game that will force a reboot to get running and that I could only get working under OS2 and still it corrupts my cmos from time to time and RiscOS will no longer boot to the desktop.

I tried using BootFDC adfs::0.$.!Adventure, but the game still asks for a restart and afterwards shows a memory error:
http://imgur.com/a/1K8NF

I had to put BootFDC on the actual floppy by the way when I had it on drive 4 the game screwed up my !Boot folder by renaming it to zoldboot. Seems it was using the folder where BootFDC was as the working dir instead of drive 0 since it normally does this rename on the !Boot file on the floppy.

Also tried to use BootFDC on the !Boot file directly, but it complains about not recognizing the file type.

sirbod
Posts: 609
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Corruption (Arculator) - more gfx issues

Postby sirbod » Thu Dec 01, 2016 4:14 pm

mfc wrote:wow it worked! Impressive work, thanks again without your help I'd never be able to get several of these games running.

You would not believe the amount of hours I put into getting games working. I spent 12 hours yesterday just figuring out how to get Frak! to run from floppy!
Would this utility be usable with Enthar Seven? That's another nasty game that will force a reboot to get running and that I could only get working under OS2 and still it corrupts my cmos from time to time and RiscOS will no longer boot to the desktop.

As luck would have it, Enthar Seven is on my list of games to get running on the Pi, so I'll come back to you on that.

You'll probably want ADFFS loaded however and use *ADFProtectCMOS in your script, to stop the game from trashing your CMOS.

From the quick look I've just had, a script with the following may get it running:

Code: Select all

ADFS
DIR ADFS::0.$.Robico
KEY 0 RMRun $.AcornMod.65Arthur|MPAGE=&1500|MCHAIN "Enthar"|F|M
ECHO <21>
FX 225,1
FX 138,0,128
GOS

I had to put BootFDC on the actual floppy by the way when I had it on drive 4 the game screwed up my !Boot folder by renaming it to zoldboot. Seems it was using the folder where BootFDC was as the working dir instead of drive 0 since it normally does this rename on the !Boot file on the floppy.

You've not switched to the floppy drive first, see response below.
Also tried to use BootFDC on the !Boot file directly, but it complains about not recognizing the file type.

The commandline is passed directly to OSCLI, so you can use "RUN ADFS::0.$.!BOOT", "EXEC ADFS::0.$.!BOOT" or "OBEY ADFS::0.$.!BOOT" as appropriate. However, my advice would be to run an Obey file on your HD that then runs the floppy. eg "OBEY hostfs::0.$.scripts.rungameXXX" which contains:

Code: Select all

ADFS
DIR ADFS::0.$
OBEY !BOOT

mfc
Posts: 70
Joined: Mon Dec 22, 2014 9:56 am

Re: Corruption (Arculator) - more gfx issues

Postby mfc » Fri Dec 02, 2016 6:43 am

sirbod wrote:You would not believe the amount of hours I put into getting games working. I spent 12 hours yesterday just figuring out how to get Frak! to run from floppy!

I can only imagine, I spend quite some time getting games to run already and I only do basic stuff, when I get into real trouble I resort to here (ahem... you :)) what you manage to put together is always impressive.

You'll probably want ADFFS loaded however and use *ADFProtectCMOS in your script, to stop the game from trashing your CMOS.

Good tip! I recall seeing that command when I was going through the ADFFS docs and thought that it might come handy, what I keep failing to remember is that I can actually use ADFS files with ADFFS so that would definitely help here, thanks for reminding me about it.

As luck would have it, Enthar Seven is on my list of games to get running on the Pi, so I'll come back to you on that.

If you need an extra hand testing things just let me know, I'm more than happy to help. I'm mostly emulating things these days, but I should receive my pi3 in a couple of weeks so I can test it on it as well (assuming I'm able to figure how to get ADFFS going of course).

From the quick look I've just had, a script with the following may get it running:
...

And boom of course it worked! And I tested it a few times (no ADFFS) and it also never corrupted my CMOS so whatever the script is doing seems it also fixed that issue.
This will only work under OS2 though, but not really related to the script since I could only run the game under OS2 before as well. Under OS3 I keep getting this error:
http://imgur.com/a/cgXg0

Not a problem for me anyway since I'm emulating it and can easily change OS as needed.

Thanks for the tips on BootFDC as well, didn't know I could pass full commands to it. Do I need to enclose them in double quotes by the way? I agree that using an obey file is cleaner though so that's what I will do.
One more thing about it, where would be the best directory to keep the BootFDC file so it will be recognized directly under command line without me needing to dir into its folder beforehand?

sirbod
Posts: 609
Joined: Mon Apr 09, 2012 8:44 am
Location: Essex
Contact:

Re: Corruption (Arculator) - more gfx issues

Postby sirbod » Fri Dec 02, 2016 10:24 am

mfc wrote:If you need an extra hand testing things just let me know, I'm more than happy to help. I'm mostly emulating things these days, but I should receive my pi3 in a couple of weeks so I can test it on it as well.

The project desperately needs more testers across all hardware platforms, so drop me a PM with your name and eMail address.
mfc wrote:This will only work under OS2 though, but not really related to the script since I could only run the game under OS2 before as well. Under OS3 I keep getting this error

It requires 480K of Sprite memory, so if you have ADFFS or MemAlloc loaded add "SpriteSize 480K" to your script.
mfc wrote:Thanks for the tips on BootFDC as well, didn't know I could pass full commands to it. Do I need to enclose them in double quotes by the way?

No quotes required.
mfc wrote:One more thing about it, where would be the best directory to keep the BootFDC file so it will be recognized directly under command line without me needing to dir into its folder beforehand?

Somewhere that's in your Run$Path, !Boot.Library is where the RISCOS Utilities go.

mfc
Posts: 70
Joined: Mon Dec 22, 2014 9:56 am

Re: Corruption (Arculator) - more gfx issues

Postby mfc » Sat Dec 03, 2016 10:24 am

All looking good now thanks.

You already have my email, but I emailed you again just in case.


Return to “emulators”

Who is online

Users browsing this forum: No registered users and 2 guests