News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_TFM

FutureOS corner

Started by TFM, 05:12, 01 October 10

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

TFM

#525
Oh great! You made it! I will have a look immediately!  :) :) :)


Seems to work well... will test more intensively now!  ;)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

dragon

#526
I need to patch the amsdos part too. I'm fighting with galaxy force 3rd time. :doh: But you can exchague the lower rom with these to parados+ witouth problems. :) .

What about the  |FDESK,|FVER and |FHELP.

I can move|fdesk to os,0 and symbos to os,1.

Another option is you can use the f8a9 zone and create a little menu, and then jump to these menu when call |os to chose normal of fdesk.

To the vesion maybe is best a icon inside the os.

TFM

Quote from: dragon on 18:29, 22 September 16
What about the  |FDESK,|FVER and |FHELP.

I can move|fdesk to os,0 and symbos to os,1.


The !FDESK is the only one which could be of interest, for the case you want to use the OS transient and save your content of the first 64 KB (actually 48 KB, not the screen).

!FVER and !FHELP are not that important, they just show a screen to display current update information.

Guess it would be nice for SymbOS users to be able to remember the command very easy, so maybe the !OS,0 is more easy to remember than any other number.  :)


TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TFM

Ok, here just for the case the ROMs for French, Englisch and German languages. Only the four OS ROMs are different (&8E-&91), but the XROMs (all 3) are identical.  :)


But take your time!  :) :) :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

dragon

#529
Quote from: TFM on 19:50, 22 September 16

The !FDESK is the only one which could be of interest, for the case you want to use the OS transient and save your content of the first 64 KB (actually 48 KB, not the screen).

!FVER and !FHELP are not that important, they just show a screen to display current update information.

Guess it would be nice for SymbOS users to be able to remember the command very easy, so maybe the !OS,0 is more easy to remember than any other number.  :)

O,k what about this combination?.

|os=future os

|os,0 or |os,"SYMBOS"=SYMBOS (upper case or normal  case)?

|os,"fhelp" (upper case or normal case)=fhelp

|os,"fver"(upper caso or normal case)=fver,

|os"xxx" go to futureos.

Anyway i have a little misterius. Why if i type FVER in upper case. After press key in version screen it print "bad command" And it jumps to c4cpc?.

Maybe my code is in the same zone as yours &8000+

There is not difference betwen fver upper case and normal case. Is a bunch of &CP that go to the same site using jp :D .

Ah, or is the hxc case, it return to the rsx 018 in parados used to call burning rubber. And it lost. But that not explain the diference between upper case=c4cpc and normal case=reset.

In case of hxc i extract the return direction. And i make it jump to another site an then i extract the returns directions from the stack manually and then i made a ret to retun to basic.

Made amsdos. Fhelp,fver return to basic but without cls, i think return from fdesk not work. mmm

TFM


Thanks for the Carts.. will check soon.  :) :) :)

Oh, sorry for making you so much work. Would be nice to get !fdesk working, but if not, then don't bother.


@All : Can somebody please report if the mouse pointer of the new FutureOS update (see www.futureos.de) can be used with a MultiPlay joystick?[nb]Sadly my MultiPlay got lost/stolen during shipping, so I can't test by myself.[/nb]
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

dragon

#531
Oh, sorry i forgot write it, fdesk is implemented as |os,"fdesk".

But i think it fail initialize amsdos when exit. In parados and amsdos. Probably the same as hxc return.

So,fdesk,and the help fail return.

PD:amsdos download is in the anterior page.

TFM

Quote from: dragon on 16:03, 23 September 16
Oh, sorry i forgot write it, fdesk is implemented as |os,"fdesk".

But i think it fail initialize amsdos when exit. In parados and amsdos. Probably the same as hxc return.

So,fdesk,and the help fail return.

PD:amsdos download is in the anterior page.


What !fdesk does is to save all 48 KB RAM (to 2nd RAM bank), and also save all Z80 registers, then after leaving the OS it will put it all back. I will try to debug what's going on.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

dragon

So its normal It reset the cpc?. Maybe i wrong and It work ¿?. (I presupouse ram is clear when cpc is reset).

TFM

#534
Quote from: dragon on 17:45, 23 September 16
So its normal It reset the cpc?. Maybe i wrong and It work ¿?. (I presupouse ram is clear when cpc is reset).

No, if you use !fdesk, then you call FutureOS temporarily... so you get back.


Made an example video:


TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

dragon

Probably the cause is burning rubber. Its not the same as call a rom detected by the cpc. burning rubber never need return. So when you return you have a bunch of call return direction in the stack. Until de basic return direction.

Anyway the number of call in stack is diferent in amsdos and parados. Add in parados i call upper rom manually, but in amsdos i subsitute It with a rst 018 because call the upper rom manually not work. In the out It jump to a strange rom/ direction.

Futue os is o.k? Exit reset the cpc?

TFM

Yes, exiting FutureOS (after starting with !OS) always resets the CPC.


Ok, I see it may not so easy to implement other RSX, but that's ok. They may not be needed.


Let's stick with your first version of the Cartridge, that worked well.
(Also it had all 3 expansion ROMs on &92-&94).



TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

dragon

#537
Mmm no , i do not  give up so esily. :D

Was the  direction of the last instruction ejecuted in rom?.So i can made a breakpoint to view where It return. In fdesk and help.

Don't think is a pain for me try solve It.

I think maybe i have it, but i need made a modification.

I test with this little program. 10 print"hola".

Y add this

pop hl
pop hl
pop hl
pop hl

jump to fdesk direction.

Then i exit appears ready. I made list and 10 print"hola"appears.

The problems is i put code in ram in &8000 or some so i need move it to second bank. or i destroy the objetive of fdesk. i need thinking that :D.

:doh:








TFM

Ok, then I try debugging too. I try to explain what the commands do:

!FDESK:
- Interrupts OFF
- Saves all Z80 registers to stack
- Saves bytes from memory to stack
- Saves SP to address of this two bytes
- Saves first 48 KB of RAM to Exp-RAM (&C4-&C6)
- RETurn back to basic/cpc-os

When exiting FutureOS it does it in the opposite way.


!FVER and !FHELP (same command, two names):
- Interrupts OFF
- Save parts of the system RAM to free RAM
- Copy tables for fast text output into RAM
- Print Message
- Wait for keypress
- Restore system RAM
- RET back to BASIC


I can send you the parts of the FutureOS source if it helps, in this case drop me an email at futuresoft@gmx.de

And thanks for all your efforts!!!
:)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

dragon

#539
I think the origin of the return problems is this: ( in amsdos/parados).

;; |GAME, |JEUX, |SPIEL, |JUEGO
;; execute built in game
ce5d:
rst     $18                     ;; firmware function: "low: far call: rst 3"
defw &ce67                     ;; address of far call datablock

ce60 f3        di               ;; disable interrupts
ce61 01897f    ld      bc,$7f89      ;; enable lower rom, set mode 1
ce64 ed49      out     (c),c
ce66 c7        rst     $00         ;; execute lower rom

So even if i redirect rst18 to another rom. As i not add calls.When you made a ret. You return to ce60 and cpc is reset.

I not know if maybe burning rubber returns to It when you press the three combination keys to reset the cpc. Or if  Simply change It to ret can make It back. But extracting the rst + other 3 call returns with pop, make It return to basic.

But the problem is how i can execute the code, i need call the future os rom un upper rom without touch the 48k copy fdesk

dragon

O.k i think i have it +- solved in parados. It appears in theory nobody uses the return to burning rubber rst reset, so change the di to a ret make programs returns :)

Migration code ram to to rom was done sucesfully. I call with a rst and in return i put another ret.

My only problem is how i can save the registers to preserve it to fdesk. As my code extract the stack to detect the source.

pop bc
ld (&7ffe),bc
pop bc
pop af
pop de
pop hl

push de
push af
push bc
ld bc,(&7ffe)
push bc


ld a,l

;ld a,(&b8c3)
cp &12
jp nz,spiel

You know if exist a little free memory zone that i can use under &c000 and above the 48k to store it temporally?.

TFM

A bit of free RAM? Maybe at the end of the stack because it won't be 'full' in this moment.Maybe beginning at &BF00, that should work. (Don't go lower than &BE80, not higher than &BF80).



TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

dragon

#542
I not need much. I only use principal registers and i normally not made calls in patching to avoid problems and only  push pop until necesary.

Anyway i dude if this is useful. I read in the soft guide. Pasing parameters  destroy all registers except the '

bugfixed detection string,integers in parameter 1.

i think until someone found a fail is o.k. is using the &bf00

So the cartridge have 10 roms left.

Time to play giana sisters.

TFM

Oh great, will have a look immediately! Thank you so much!  :) :) :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

dragon

Only one thing playing with it i discover 2 bugs. :D

1.  write os,string without "". Is interpreted by the cpc as variable. As all variables are initialized=0 by the cpc write os,string boot symbos. Unwanted but beautiful :):picard2:

2. I not check the second " So write for example os,"fver works. The first " is cheched by the os.

and os,1 boot fdesk to.

TFM

Haha! It's not a bug it's a feature!  :laugh: :) :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TFM

Hi @dragon !

Checked them (both Cartridges), and all works fine, but the ROM &94 (TOOL-ROM) seems to be missing. Can you add it please?
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

dragon

#547
It't not me!!! grimware page fail to upload rom 94  :-\ can you try it?.

Edit:i think i found the cause  &94 rom is not complete is only writen to &3f70. adding the  rest  of 00 to 3fff appears grimware upload it.

Fixed,I hope XD

TFM

Quote from: dragon on 22:47, 26 September 16
It't not me!!! grimware page fail to upload rom 94  :-\ can you try it?.

Edit:i think i found the cause  &94 rom is not complete is only writen to &3f70. adding the  rest  of 00 to 3fff appears grimware upload it.

Fixed,I hope XD


Oh, yes, that ROM (&94) does lack about 128 Bytes... will correct that for the next update, but it doesn't matter for its function.  :)


Will check the Cartridge soon!  :) :) :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

TFM

Sadly the ROM &94 is still not present or detectable.


How to check for installed XROMs under FutureOS?

- Start FutureOS
- Press X for eXecute
- Press 4 for "Execute from ROM"
- Use joystick or arrow down to show installed XROMs

Only the Wallpaper ROM and the ROManager ROM are there


Oh, and ManageDSK was responsible for truncating the ROM (don't ask me how)
Used CPCDiskXP, worked fine. Problem fixed.


Please try the attached new ROM for &94.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Powered by SMFPacks Menu Editor Mod