Login
Back to forumReply to this topicGo to last reply

Posted By

xahmol
on 2023-02-15
05:02:05
 Developing for GEOS on the Plus/4: any resources?

Recently I have been starting to develop for GEOS. I started with a project with some tools for the Ultimate II+ cartridge, so that project is definitely C64 and C128 only, as the UII+ does not work on the Plus/4 (alas).
See https://github.com/xahmol/GeoUTools

For my second project I am trying to convert a simple game to GEOS. Interface comes along nicely on C64 and C128.
But as there is also GEOS 3.53 for Plus/4, and the CC65 GEOSLib I use seems to indicate that it supports the Plus/4 as target as well, I wanted to try if it works on the Plus/4 as well.
I have a real Plus/4, but as far as I understand GEOS 3.53 only works on a 1551, which I do not have and which I am also not able to emulate for real hardware (is there actually a method to emulate a 1551 to a real hardware Plus/4)?. So trying in YAPE instead.

GEOS runs fine in YAPE, apart from missing any option in YAPE to use the windows mouse to steer GEOS.
However, starting my work in progress game fails miserably, showing only colored blocks on the screen. So I am almost certain that screen mapping for the hires screen and color matrix is different on the Plus/4. Which of course also makes sense given the Plus/4 does not have a VIC-II but the TED, with different graphics mode, collor attributes and screen memory spaces.

For development on GEOS C64/C128 I use the great Hitchhikers Guide to GEOS v2022 ( https://github.com/geos64128/HG2G2022 )
But that alas does not mention anything on the Plus/4.

Is there any documentation available for developing for Plus/4 GEOS?
Should Plus/4 GEOS support GEOS programs compiled for C64? If yes, does it support C64 GEOS apps using color?

Posted By

xahmol
on 2023-02-15
06:04:48
 Re: Developing for GEOS on the Plus/4: any resources?

Bingo! Was using a non-GEOS kernal standard way to do color. Plus/4 did not like that, which makes perfect sense as the color memory area is somewhere else than on the VIC-II.

So cool, a standard GEOS application adhering only to the standard C64 GEOS calls works perfectly fine under Plus/4 GEOS 3.53, also if you create your own using CC65 GEOSLib.

Now only thing that I need to do is to experiment if doing color on Plus/4 is possible by using the proper Plus/4 range based on dynamic OS type probing.



Posted By

Csabo
on 2023-02-15
08:12:27
 Re: Developing for GEOS on the Plus/4: any resources?

Is there any documentation available for developing for Plus/4 GEOS?

I personally don't know of any. In general, support/usage/interest in GEOS on the Plus/4 scene has been very low, but it would be nice to see some new stuff for it happy

Posted By

xahmol
on 2023-02-15
09:17:35
 Re: Developing for GEOS on the Plus/4: any resources?

Well, as I found out, anything written for GEOS64 that conforms to GEOS standards and does not use direct kernal or memory calls, should work wink

Posted By

Harry Potter
on 2023-02-15
09:22:35
 Re: Developing for GEOS on the Plus/4: any resources?

I kind of like GEOS. I really want a Plus4 version of GEOS, but my Plus4 at my mother's house has only a 1541 and 1541-II drives. sad I can still emulate one in WinVice, though. Where can I find the Plus4 version of GEOS?

Posted By

xahmol
on 2023-02-15
11:20:27
 Re: Developing for GEOS on the Plus/4: any resources?

@HarryPotter: Well, searching on this site would be a start wink

http://plus4world.powweb.com/software/GEOS_3_5

Better use YAPE as emulator though than VICE. Needs drive set as 1551.
http://yape.homeserver.hu/download.htm


@all: if anybody would have a suggestion whee GEOS 3.53 for Plus/4 stores its color (and luminance) data, please let me know. It is at least not at the usual $0800 and $1800

Posted By

Mad
on 2023-02-15
11:29:48
 Re: Developing for GEOS on the Plus/4: any resources?

Hi xahmol!

I have no clue about all that.. But you could try to modify the memory in an emulators monitor (if it's not overwritten each frame).. Just a thought.. Keep up with the good work!

edit: Maybe watching the whole memory contents may also give a clue.. I suppose somewhere there maybe a white color area of $400 ($800), if the screenshot above is appropiate..

Posted By

xahmol
on 2023-02-15
12:23:14
 Re: Developing for GEOS on the Plus/4: any resources?

Slowly getting there.
Had the brain wave of reading the $FF14 TED register for hires color area location.
Under GEOS that reads as 98 for the 5 high bits, so reading the Programmers Reference Guide for the Commodore Plus 4, that should mean luminances are at $9800 and colors at $9C00.

Now only have to change my color routines to do color and luminance for Plus/4 instead of just color for VIC-II.

Color wipe for whole screen already works, but gives a light blue instead of the intended grey, so that most probably is tweaking colors from VIC colors to TED colors.
Area coloring does not work properly, so there must a bug still be there in my memory addressing routine.

It already does more now then before, but not there yet. And time is up for today wink

Posted By

javierglez
on 2023-02-15
13:09:10
 Re: Developing for GEOS on the Plus/4: any resources?

It's quite stupid bc nibbles are swapped, it's low/high nibbles for luminances and high/low nibbles for color, for background and foreground logical colors.
(I'm talking from memory, so I could be mistaking with multicolor graphics mode).

Thanks for sharing your stuff. I used to run GEOS1.3 on C128.

Posted By

xahmol
on 2023-02-16
04:56:31
 Re: Developing for GEOS on the Plus/4: any resources?

Idea is to have one executable that does GEOS128 both in 40 and 80 column modes, GEOS64 and GEOS Plus/4. Also in color for the game board and pawns (apart from C128s with only 16 KB video memory, as color is only possible there by shrinking vertical solution and resulting vertical hires resolution is than to low for the board to fit).
Option to play in monochrome,

The interface is coming along nicely and now tests fully operational on GEOS64 and all tested GEOS128 modes. But would be super if also the Plus/4 could be supported with a few tweaks in the color routines.

Update: Yay! Color for the Plus/4 as well!


Still have some weird quirks on the Plus/4 version: menus do not redraw, app crashes on exit, color clear and restore on popup window does not work and maybe some color tweaks still needed (blue is more purple than blue now), but the Proof of Concept is at least succesful!

Posted By

Litwr
on 2023-02-16
07:37:42
 Re: Developing for GEOS on the Plus/4: any resources?

Wow!

Posted By

Mad
on 2023-02-16
09:29:19
 Re: Developing for GEOS on the Plus/4: any resources?

Great!!!

Posted By

Csabo
on 2023-02-16
14:25:21
 Re: Developing for GEOS on the Plus/4: any resources?

Excellent work! If you have anything specific to share, please consider adding it to the GEOS 3.5 page so that others may find it. Plus/4 World is here to be used and built by everyone happy

Posted By

xahmol
on 2023-02-16
15:18:37
 Re: Developing for GEOS on the Plus/4: any resources?

Project is only the interface for now. But will certainly share if finished and working for Plus/4

Posted By

RobC
on 2023-02-16
15:58:37
 Re: Developing for GEOS on the Plus/4: any resources?

Great stuff.

Any plans to get the mouse working on a real Plus/4 (i.e. with SID card)?

Posted By

xahmol
on 2023-02-16
16:06:10
 Re: Developing for GEOS on the Plus/4: any resources?

Not by me. Lack the skill and documentation to do that on any short notice, nor have a SID card with my real iron Plus/4 (never saw the use for it as my Plus/4 stands literally next to an Ultimate 64, a real C64, and three Commodores 128 (D, DCR and flat). So plenty of SID chips already.

But yeah, GEOS plus/4 misses mouse support quote badly. Although key control in YAPE actually is more usable then I thought it would be.
So bigger prio for me personally is to either get GEOS working with a 1541 or 1571 on a Plus/4 or to buy a 1551 that is not costing waaaaay to much.

The game itself though is already coded for other platforms, see https://github.com/xahmol/ludo
So porting the game logic if the interface works should be easy, only bigger chunks of work will be porting the save game system and changing the game logic to be event (mouse click driven)

Posted By

orion70
on 2023-02-17
08:13:15
 Re: Developing for GEOS on the Plus/4: any resources?

Pardon my ignorance on the topic - do I stand correct that unfortunately GEOS 3.5 for the Plus/4 only works on a real 1551 disk drive, which is one of the most elusive and expensive pieces of Commodore hardware around?

Posted By

JamesC
on 2023-02-17
13:27:28
 Re: Developing for GEOS on the Plus/4: any resources?

@Orion70 - GEOS for the Plus/4 requires a real 1551 (or exact emulation, which YAPE provides).

Posted By

xahmol
on 2023-02-17
14:41:04
 Re: Developing for GEOS on the Plus/4: any resources?

Should indeed have bought a 1551 when I had the chance to buy one at EUR 200. Then thought it was too much for just a Commodore drive that I would hardly use I thought….

But if YAPE can cycle exact emulate it, did nobody ever try to get a Pi1541 do 1551 as well? It can already do 1581 as well….

Edit: never mind, just realised that of course the 1551 does not operate via the IEC bus. So that alone is a reason it can never be added to a Pi1541 with software alone. So would need a hardware project as well.

Posted By

Litwr
on 2023-02-18
01:41:57
 Re: Developing for GEOS on the Plus/4: any resources?

My friend had two 1551 in his working configuration in 1988. So I thought for a long time that the 1551 was a typical drive.

Posted By

Pat (patrick)
on 2023-02-18
09:17:57
 Re: Developing for GEOS on the Plus/4: any resources?

Xahmol, if you ever want to use a 1551. You can borrow one of mine!

Posted By

xahmol
on 2023-02-18
09:29:27
 Re: Developing for GEOS on the Plus/4: any resources?

Testing on Plus/4 via YAPE, Commodore 64 via Ultimate 64 and Commodore 128 DCR simultaniously wink

Plus/4 version of the interface now fully functional. Only issue is that on the Plus/4 the application still crashes at exit, no clue why or how to solve that. So will leave that as 'known issue for now' and continue with adding the actual game.



Oh, and @Pat, I might keep you up on that ;-) Would be nice to test on real hardware once at least. But will first try to finish the application.

Posted By

MMS
on 2023-02-18
12:32:10
 Re: Developing for GEOS on the Plus/4: any resources?

Would not be great to have a working GEOS on JiffyDOS enabled devices like 1541JD or SD2IEC? SD1541/II also have JD ROM emulation. Pretty fast. The GEOS fast loading was efficient partially due to the compressed files. It was calculated with original 1541 speed that the decompression is faster than the 1541 loading even with the 5x fastloader

Posted By

xahmol
on 2023-02-18
14:29:26
 Re: Developing for GEOS on the Plus/4: any resources?

Would be great indeed if somebody would be able to make a JiffyDOS enabled GEOS turbo loader code for IEC enabled drives 1541, 1571 or/and 1581.
But that one again alas won’t be me…. Way beyond my present skill ans available time.

Source code of GEOS128 is now public by the way, so probably doing a Plus/4 version from scratch is easier than using the existing Plus/4 version without any source and documentation.
https://github.com/geos64128/geos

Posted By

MMS
on 2023-02-19
12:59:46
 Re: Developing for GEOS on the Plus/4: any resources?

Well, we are not alone with the problem... I could not find the solution page:

https://www.go4retro.com/tag/geos/

The GEOS 128 require a little more RAM what we have, and no standard REU or GEORAM (or NeuRAM) yet on our platform.

Posted By

xahmol
on 2023-02-19
13:38:34
 Re: Developing for GEOS on the Plus/4: any resources?

That’s exactly why I am looking for a memory map exactly how much memory I have available on the Plus/4.

Might indeed be that the Plus/4 does not have sufficient back ram memory to switch back. But my program is not that big, and other GEOS64 applications do work, so must be something specific either I or CC65 GEOSlib does.
And it is not just a simple lack of memory as otherwise the application would already crash while running instead of only at exit.

Besides: yes, the 128 has way more memory, but the Plus/4 has the same or even more (due to Plus/4 bank switching support) memory available than the C64 while GEOS64 does not have any issue.

Posted By

MMS
on 2023-02-20
12:40:13
 Re: Developing for GEOS on the Plus/4: any resources?

BTW one question: do you think from GEOS point of view the Hannes 256KB RAM extension has any benefit, taking into consideration the big chunk of RAM part is changes?

Posted By

siz
on 2023-02-20
15:49:12
 Re: Developing for GEOS on the Plus/4: any resources?

@MMS: I took a look at the GEOS sources on GitHub and it already has support for the C64 +60k memory expansion which is basically the same as the Hannes expansion but with 2 RAM banks (128k) and the low switching bound ($1000) only.

edit: so a "new" GEOS forked from those sources could easily use the Hannes expansion. But no, I won't take the project, my backlog is already a couple of years long.

Posted By

MMS
on 2023-02-20
16:30:19
 Re: Developing for GEOS on the Plus/4: any resources?

@siz: thanks for info.
No, I am not looking for guys taking such a huge project on their shoulders; everyone deserves his own life happy

I just like to speak about hypothetic things. You know, I am a dreamer, not a realizer, and this scene is just too small for big dreams happy

Posted By

xahmol
on 2023-03-01
10:45:06
 Re: Developing for GEOS on the Plus/4: any resources?

Update: Game finished for first alpha. Will do a release post soon, but now already a video showing the game:
https://youtu.be/Gy39EXl1Lfc

Plus/4 part at
https://www.youtube.com/watch?v=Gy39EXl1Lfc&t=2162s

Posted By

MMS
on 2023-03-09
14:01:05
 Re: Developing for GEOS on the Plus/4: any resources?

Yeah, it really works, congrats!
Thank you for the effort and time to prove our version's compatibility.

BTW few years ago I downloaded GEOBASIC, but most of the ppl said it does not worth the effort as it is simply too buggy...

Posted By

xahmol
on 2023-03-01
16:17:20
 Re: Developing for GEOS on the Plus/4: any resources?

True, that is why I use CC65 GEOSlib in C.

Posted By

Litwr
on 2023-03-03
00:52:53
 Re: Developing for GEOS on the Plus/4: any resources?

It seems to be the first software ever written for Geos+4!

Posted By

xahmol
on 2023-03-03
00:57:28
 Re: Developing for GEOS on the Plus/4: any resources?

Small nuance. It was not written for GEOS+4 per sé, but tried as much as possible to also have it working on GEOS+4.
Succeeded apart from that the application still crashes at exit. But no clue how to solve that without GEOS+4 documentation.

Btw: see other post on the forum for the release post,

Posted By

SVS
on 2023-03-07
12:37:00
 Re: Developing for GEOS on the Plus/4: any resources?

Hello xahmol,
sorry if I'm replying to this post just today. Actually I have some busy days in the life.
Returning to the GEOS: at the time I've studied it and I have experimented something. I've the GEOS Programmer's Reference Guide (by Alexander D. Boyce). I have translated the System Disk to English and furthermore I've written a program that is able to esaminate a GEOS disk, named SVS Disk explorer.

I should be interested in any information regarding colors, memory address' and so on. I'll put them into my Ultimate Map happy
Thank you and congrats to you for yr nice results!

Posted By

xahmol
on 2023-03-07
14:06:04
 Re: Developing for GEOS on the Plus/4: any resources?

Thx, SVS. The Alexander D. Boyce guide also does not mention anything Plus/4 specific, doe# it?

On me,rot areas: what I found on the color area on the Plus/4 is above, more I did not yet investigate other than that the standard GEOS64 routine jump table seems to fully work.

Posted By

SVS
on 2023-03-07
14:11:34
 Re: Developing for GEOS on the Plus/4: any resources?

All the app programs written for GEOS 2.0 work, as I remember (Assembler, Calculator, etc). Just the background colors does not apply.

Posted By

xahmol
on 2023-03-07
15:12:14
 Re: Developing for GEOS on the Plus/4: any resources?

That is also what I found, apart from that my app crashes on exit and I have no clue why.

Posted By

SVS
on 2023-03-09
13:39:55
 Re: Developing for GEOS on the Plus/4: any resources?

IMO the first thing to do, in order to let GEOS more usable, is to insert a Fastload inside the system. If I remember well, it also has one, but not so speed.

Posted By

xahmol
on 2023-03-09
16:39:32
 Re: Developing for GEOS on the Plus/4: any resources?

GEOS most definitely has a turbo loader. Loading times are not that bad.

But use a RAM drive and an emulated 1581 on my C128, which makes it very fast.

https://youtu.be/aTDm43vXLQE

(But that gets off topic here)



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon