News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Amstrad Github? or where to share the code?

Started by enteka, 17:23, 19 June 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

enteka

As I advance on my gamebook, I'm starting to wonder where I could share my program and other files attached. I might end up sharing it in my gopher and webpage and such, but I was wondering if there was a specific hub for the Amstrad or 8 bit enthusiast... You know, not to re-invent the wheel and all that.

reidrac

#1
Not as far as I know.

I tend to share my public projects on GH, because that's what most people know and it increases a little bit the chances of contributions (I had a few, unbelievable!). Other CPC related projects are there too.

The CPC Wiki itself can work as project page, but you probably want to host the code somewhere anyway (and I would not recommend releasing the projects using things like mediafire, that for some reason it is common in retro). In that case, I guess whatever works for you!

For example, I have my own page on the wiki: https://www.cpcwiki.eu/index.php/User:Reidrac

Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

GUNHED

Github completely suxx! Please take anything else. Even the CPC Wiki.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

pelrun

+1 to GitHub - I know it's not everyone's cup of tea (  ::) ) but it does the job well and it's a defacto standard for a reason.
Sticking zip files of code on wiki's is so 1998. Proper source control is so useful that only the people who haven't figured it out yet argue against it.

reidrac

Not everybody tags their projects (and also, with Amstrad CPC there's not consensus on the tag either), but you can see GH has some traction in the Amstrad community:

https://github.com/topics/amstrad
https://github.com/topics/amstrad-cpc
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

GUNHED

The interesting thing about standards is, that they always tend to be close to the worst.
There are numerous examples.
So, it's good to have this thread.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

norecess464

Quote from: GUNHED on 18:48, 20 June 21
Github completely suxx! Please take anything else.

When GitHub got bought by Microsoft, I switched to GitLab, which brings basically the same service. Mostly for ethical reasons.
My personal website: https://norecess.cpcscene.net
My current project is Sonic GX, a remake of Sonic the Hedgehog for the awesome Amstrad GX-4000 game console!

eto

Is there any way to use Git or any other source control tool easily with Basic files? Or would committing the DSK binary be the best solution?

reidrac

Quote from: eto on 13:20, 22 June 21
Is there any way to use Git or any other source control tool easily with Basic files? Or would committing the DSK binary be the best solution?

I'm not sure what is your use case, but I would write the basic using a regular editor on a PC and keep it as a plain text file. Then using a tool like iDSK or whatever, "compile" into a DSK that can be load on the CPC.
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

reidrac

Just to be clear: I'm not advocating for GH or anything else, use whatever you want.

I'm only saying that there seem to be a number of projects already on GH and that I got some contributions on GH (arguably because GH is widely known and used; even when GitLab copies most of it, less people have account with GL).

I personally like Sourcehut (most features work without javascript or an account, 100% free and open source), but some of their workflows are completely alien to most.

To be honest, I'm not going to change how I do things based on any post here :D
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

SRS

Quote from: eto on 13:20, 22 June 21
Is there any way to use Git or any other source control tool easily with Basic files? Or would committing the DSK binary be the best solution?
Depends :)
I started with tokenized bas files, but then switched to ascii. See: https://github.com/deringenieur71/Adventures-in-LOCOMOTIVE-BASIC

andycadley

ASCII will definitely work better with GitHub (or indeed any modern source control) than binary file, which are difficult to do diffs on etc.

eto

Quote from: SRS on 18:47, 22 June 21I started with tokenized bas files, but then switched to ascii.

can you automate this, or do you manually extract them?

SRS

#13
I develop them mostly in Notepad++, and copypaste 'em to winape, so they are "native ascii"
Vice versa Winape allows you to convert loaded native BASIC to ascii.
See:
WinApe - File - AutoType

and

WinApe - Assembler - Read BASIC
You can have a "kind of " build pipeline with WinApe but I don't use that

QuoteWhen starting WinAPE a disc image filename can be specified as a parameter (without the slash option). The following parameters can be specified on the command line:

ParameterFunction
filenameSpecify the filename for the disc image to be used in Drive A:
/AAutomatically run the program in Drive A:. To specify the name of the program to run use /A:filename. To start a disc using a CP/M boot sector use /A:|CPM
/T:filenameAutomatically start typing from the given Auto-type file.
/SN:filenameSpecify a Snapshot file to be loaded and automatically started.
/SYM:filenameLoad a file containing assembler/debugger symbols.
/SHUTDOWNShut down Windows when WinAPE is closed. Use /SHUTDOWN:FORCE to force shutdown if required.
For example, to start WinAPE using the disc image frogger.dsk contained within a Zip file frogger.zip and run the program named frogger use:

WinAPE frogger.zip\:frogger.dsk /a:frogger

Maybe RIPADSK is of interest for you in that context: https://www.cpcwiki.eu/forum/programming/ripadsk-a-utility-to-automate-code-archiving/msg65758/#msg65758


GUNHED

Quote from: andycadley on 18:55, 22 June 21
ASCII will definitely work better with GitHub (or indeed any modern source control) than binary file, which are difficult to do diffs on etc.
Sometimes. Looks like they store ASCII in UNIX format (at least not PC format) and after downloading to a PC there are some invisible crazy control codes.
Well, putting text into Notepad, and then copy it out helps some times. Not all the times.
It's just a waste of time.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

andycadley

GIT can be configured to handle the difference between Unix and Windows line endings. So it's usually just a matter of setting your git.config file to bring them out in the correct format (or leave them untouched if you prefer)

GUNHED

See, that's the problem. We just need something working without the need of all that configuration (and before to find out how).

In addition the pages are organized in a way which is really not functional.


My solution: Pack everything in a ZIP and provide a download link - even better: put it in the Wiki.  ;)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

pelrun

#17
Setting *one* config value in a repo to correctly handle a file format is utterly trivial.

Make a .gitattributes file in the root of your repository, and add this line:

*.bas   text eol=crlf


Bingo bongo, any *.bas file will maintain it's DOS line endings, as AMSDOS expects.
But really, you're not looking for a solution, only a justification for sticking with your preferred option.

enteka

Quote from: eto on 13:20, 22 June 21
Is there any way to use Git or any other source control tool easily with Basic files? Or would committing the DSK binary be the best solution?
I've used git to keep track of a novel, if that helps :)

eto

Quote from: enteka on 22:42, 23 June 21
I've used git to keep track of a novel, if that helps :)

Only if you write your novel on an emulated CPC and store your text files in a DSK image.

GUNHED

Quote from: pelrun on 05:43, 23 June 21
Setting *one* config value in a repo to correctly handle a file format is utterly trivial.

Make a .gitattributes file in the root of your repository, and add this line:

*.bas   text eol=crlf


Bingo bongo, any *.bas file will maintain it's DOS line endings, as AMSDOS expects.
But really, you're not looking for a solution, only a justification for sticking with your preferred option.
:picard: :picard2:
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

zhulien

The problem with GitHub is that they don't allow public domain software there unless you want to make people have a licence to use your software (like making someone have a licence to drive a car).  If you want to allow anyone to use your software without a licence, it cannot go on GitHub.

pelrun

#22
It's not possible to put any creative work into the actual public domain these days except through having it be old enough to hit the "70 years after the author's death" clause. Good luck doing that with software.

There are licenses specifically designed to allow as much freedom with the code as you wish, which is the only legal way to achieve a "public domain"-like status.
In any case, GitHub does nothing except suggest you add a license if a repo doesn't contain one, it does not stop you from uploading a repo in any way.

andycadley

They might make it more awkward, mostly because of people saying something was "in the public domain" and then getting upset when they saw someone else selling "their" software, however they can't prevent it.


Even if you were forced to add a licence, they can't actually make you enforce it either - so you can always add a very permissive license (like BSD) and then ignore any transgressions.

eto

Quote from: zhulien on 05:27, 24 June 21
The problem with GitHub is that they don't allow public domain software there unless you want to make people have a licence to use your software (like making someone have a licence to drive a car).  If you want to allow anyone to use your software without a licence, it cannot go on GitHub.

The car/drivers license example does not really fit. That would be, if Github would force anyone who gets the source code to proof, that they can code. It's more the equivalent if you rent a car during your holidays and confirm that you will not go offroad or to restricted areas. You still obviously can do that, but if anything happens, you will be in trouble.

If you want anyone to use your software without a license, you have to have a license that supports this. Sounds ironic, but you forget, that there are laws that otherwise, depending on your country, will apply which would prevent exactly that, what you want. Copyright, Urheberrecht, whatever... You need a license to make clear that these laws do not apply to your code. Without specifying a license, whoever is reusing your code, would immediately violate these laws if he doesn't reach out to receive your individual permission (which is also kind of a license). The lack of licenses was exactly the problem of "Public Domain". It's simply not defined what it means. Is it allowed to sell, modify, redistribute? Add a license to your code, and everybody can see what is permitted. The MIT license is, what I think is most closely to what I understand to be "Public Domain".

https://choosealicense.com/

Powered by SMFPacks Menu Editor Mod