Upcoming KOS release - Testing needed

If you have any questions on programming, this is the place to ask them, whether you're a newbie or an experienced programmer. Discussion on programming in general is also welcome. We will help you with programming homework, but we will not do your work for you! Any porting requests must be made in Developmental Ideas.
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5658
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Upcoming KOS release - Testing needed

Post by BlueCrab »

It's been a while since the last KOS release (2.0.0 was released about 2 years and a month ago now), so I would like to put together a new release in the very near future (within the week or two). There have been a number of changes since the 2.0.0 release, but things have cooled down in the repository lately, so it seems like a good time for tagging a new release version.

Before I do that though, I'd like it if I could get some people to test things out as they stand currently in the Git repository (both for KOS itself and kos-ports), and let me know if they run into any issues that should be fixed. I don't tend to commit new code without testing, but I'm also human and could've missed things that are broken (or there might be things that are only broken when not compiling on OS X, for instance). Plus, I never made any similar request for 2.0.0, so I'm sure there's at least some bugs that have been introduced in the past 12 years. :wink:

Oh, and one thing I'd be looking to potentially add in (new code wise), if anyone can help with it is support for the French and Italian keyboards. So, if anyone has one of them laying around and wants to help with that, I'd be appreciative of it. :wink:

If you're looking for particular things to check, looking at what has changed in the CHANGELOG might provide some insight, so I've included it below:

Code: Select all

KallistiOS version 2.1.0 -----------------------------------------------
- *** Cleaned up generated stubs files on a make clean [Lawrence Sebald = LS]
- DC  Added a function to detect if the program is being run on a retail
      Dreamcast or a Set5.xx device [LS]
- DC  Fixed an issue with the SIP driver that would cause programs to freeze
      if a microphone was connected at program startup [LS]
- DC  Rearranged the SIP driver to get rid of the internal buffer [LS]
- *** Removed the GBA, ia32, and ps2 ports. If someone really wants them back
      and wants to maintain them, let me know. [LS]
- DC  Fixed fmath functions so they compile in C99 mode [LS]
- *** Cleaned up warnings with -std=gnu99 for C code [LS]
- *** Cleaned up warnings with -std=c99 for C code [LS]
- DC  Changed the PVR render-to-texture support to allow for two render-to-
      texture passes without an intervening render-to-screen pass [LS]
- *** Fixed an issue in fs_ext2 that would allow you to rename a directory to be
      a child of itself, thus chopping it off from the rest of the directory
      tree [LS]
- *** Added a fs_readlink() function to resolve symlinks [LS]
- *** Fixed the vqenc and kmgenc utilities for compilation on a 64-bit OS [LS]
- DC  Corrected an issue with video cable detection with GCC 4.8.x [LS]
- DC  Added support for ATA devices on the G1 bus [LS]
- DC  Fixed an infinite loop in ATA initialization if nothing except the GD-ROM
      drive is connected [LS]
- *** Added documentation for the addons tree [LS]
- DC  Made the hardware auto-initialization/shutdown functions weakly linked so
      that they can be overridden without modifying KOS [LS]
- DC  Corrected render-to-texture mode so that you don't have to wait for a
      vblank to actually render to the texture [LS]
- *** Modified fs_stat to conform (mostly) to the POSIX standard for the stat
      function [LS]
- DC  Modified the cdrom driver so that it will set itself as the active ATA
      device before trying to do any CD related reading [LS]
- DC  Fixed potential race conditions between the cdrom code and g1ata [LS]
- DC  Fixed full sector reading of non-data CDs (thanks to SWAT for pointing out
      that it needed fixing) [LS]
- DC  Added many new matrix/vector math-related macros [Josh Pearson = JP]
- *** Added libppp for dialup internet access to the addons tree [LS]
- *** Added DNS resolver functions getaddrinfo() and gethostbyname() [LS]
- *** Fixed a problem where poll() would deadlock if the timeout expired [LS]
- *** Modified getaddrinfo() so that it would try multiple times to contact the
      DNS server with a timeout between messages [LS]
- DC  Various cleanups and modifications to the cdrom code, including subcode
      reading functionality, DMA-based sector reads, and using a recursive mutex
      for the G1 lock [Donald Haase == DH]
- DC  Fixed pvr_mem_available() to report all available texture memory, not just
      what was available in the pvr_malloc() arena [LS]
- DC  Added a utility function to the PVR code for controlling the cheap shadow
      scale register [LS]
- DC  Added an example of the PVR's cheap shadow functionality [LS]
- DC  Added a tool for generation of bumpmaps that was sent to the mailing list
      all the way back in 2005 [Fredrik Ehnbom = FE]
- *** Added the fs_path_append() function to append path components [LS]
- *** Added a nanosleep() function to koslib by request [LS]
- *** Added rewinddir() support to the VFS and serveral filesystems [LS]
- *** Added in C11 threading support [LS]
- *** Added UDP Lite support to the network stack [LS]
- DC  Adjust sq_cpy() to use a const pointer for the source [JP]
- DC  Retrieve the IP address from dcload-ip when we can [LS]
- *** Added the mutex_unlock_as_thread() function to allow an IRQ handler to
      unlock a mutex as if it were a specified thread [LS]
- DC  Fixed a deadlock issue in the G1ATA code related to the use of a recursive
      mutex for locking -- Thanks to SWAT for noticing the issue [LS]
- DC  Added support for German (DE) and UK keyboards [Christian Groessler == CG]
- DC  Minor cleanups to the flashrom code [DH && LS]
- DC  Added light gun support roughly based on how it is done in libronin [LS]
- DC  Added a very simple light gun example [LS]
- DC  Added support for Spanish keyboards [Xavier Vallejo == XV]
User avatar
PH3NOM
DC Developer
DC Developer
Posts: 576
Joined: Fri Jun 18, 2010 9:29 pm
Has thanked: 0
Been thanked: 5 times

Re: Upcoming KOS release - Testing needed

Post by PH3NOM »

Sounds good BlueCrab!

By the weekend I should be able to help test things out.
User avatar
Newbie
Insane DCEmu
Insane DCEmu
Posts: 171
Joined: Sat Jul 27, 2013 1:16 pm
Has thanked: 0
Been thanked: 0

Re: Upcoming KOS release - Testing needed

Post by Newbie »


- DC Added a function to detect if the program is being run on a retail
Dreamcast or a Set5.xx device [LS]
What is a Set5.xx device ?
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5658
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: Upcoming KOS release - Testing needed

Post by BlueCrab »

Newbie wrote:

- DC Added a function to detect if the program is being run on a retail
Dreamcast or a Set5.xx device [LS]
What is a Set5.xx device ?
One of the later models of the official development kits.

The development kits were all designated with a version code of some sort. The last model of the development kit is the Set 5.24, and it is mostly identical to the final hardware in the Dreamcast (excluding the additional debugging functionality/hard drive and the different form factor, of course). There were also Set 4.xx devices that were in the same form factor, and a Set 2.1 board (just a PCI card for a PC) that were also out there as development hardware.
User avatar
Newbie
Insane DCEmu
Insane DCEmu
Posts: 171
Joined: Sat Jul 27, 2013 1:16 pm
Has thanked: 0
Been thanked: 0

Re: Upcoming KOS release - Testing needed

Post by Newbie »

Ok intterresting, but why do you want to add a set 5.xx detection function ?
Why not include a "all set x.xx" detection function for example ?
Is there a special reason ?
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5658
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: Upcoming KOS release - Testing needed

Post by BlueCrab »

Short answer: I only have a Set 5.24, and most of the kits out there in the wild are probably Set 5.xx.

The hardware is different enough on the Set 4 devices that KOS probably won't work anyway. Set 2.1 devices definitely won't work with KOS.
patbier
DC Developer
DC Developer
Posts: 152
Joined: Fri Aug 29, 2003 1:25 am
Has thanked: 0
Been thanked: 0

Re: Upcoming KOS release - Testing needed

Post by patbier »

Hello BlueCrab, a new KOS release is a nice idea !
I have a french keyboard, so I can help you !
ImageAlice Dreams Tournament Dreamcast fans : http://www.facebook.com/alicedreamst
In August 2015, we had to change "Dynamite Dreams" name to "Alice Dreams Tournament"
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5658
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: Upcoming KOS release - Testing needed

Post by BlueCrab »

:bump:

So... I'm going to do the new release in a few days (this time for real) unless someone has some show-stopping bug to report. :wink:

After all, September 9th is coming soon. :lol:
User avatar
PH3NOM
DC Developer
DC Developer
Posts: 576
Joined: Fri Jun 18, 2010 9:29 pm
Has thanked: 0
Been thanked: 5 times

Re: Upcoming KOS release - Testing needed

Post by PH3NOM »

BlueCrab-
I just made a commit to libgl, and I notice that you have changed the kos-ports structure a bit since the last time I committed.
Can you take a quick look, and tidy things up if need be?
Thanks in advance.
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5658
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: Upcoming KOS release - Testing needed

Post by BlueCrab »

PH3NOM wrote:BlueCrab-
I just made a commit to libgl, and I notice that you have changed the kos-ports structure a bit since the last time I committed.
Can you take a quick look, and tidy things up if need be?
Thanks in advance.
Sure, I'll certainly take a look.

Is libgl in decent shape for a release at this point?

EDIT: Only change needed was renaming the library to libGL in the new kos-ports. Everything else you did should "just work".
User avatar
PH3NOM
DC Developer
DC Developer
Posts: 576
Joined: Fri Jun 18, 2010 9:29 pm
Has thanked: 0
Been thanked: 5 times

Re: Upcoming KOS release - Testing needed

Post by PH3NOM »

Thanks again BlueCrab!

Things are definitely in decent shape, I tested all of the changes on real hardware with no problems.
But I just realized that my commit from today is not stylized as before, I seem to have lost the tool you sent me to format the code.. I took a quick look through our PM's, but could not find it...
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5658
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: Upcoming KOS release - Testing needed

Post by BlueCrab »

Here you go:

Code: Select all

astyle --style=attach -s4 -c -S -w -y -f -U -p -m0 -xn -xc -xl -xk -C -N -Y -k3 -xL *.c *.h
I had to look through our log of PMs to find it myself. :wink:
User avatar
PH3NOM
DC Developer
DC Developer
Posts: 576
Joined: Fri Jun 18, 2010 9:29 pm
Has thanked: 0
Been thanked: 5 times

Re: Upcoming KOS release - Testing needed

Post by PH3NOM »

Thanks BlueCrab, I just went ahead and committed the reformatted code. Should be good to go!
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5658
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: Upcoming KOS release - Testing needed

Post by BlueCrab »

PH3NOM wrote:Thanks BlueCrab, I just went ahead and committed the reformatted code. Should be good to go!
Yep, I noticed your reformatting commit earlier. Thanks for all your work on libgl. :grin:
Chilly Willy
DC Developer
DC Developer
Posts: 414
Joined: Thu Aug 20, 2009 11:00 am
Has thanked: 0
Been thanked: 2 times

Re: Upcoming KOS release - Testing needed

Post by Chilly Willy »

I just updated my KOS install and ran into a minor issue. Libpng updated to 1.6.19 due to a couple security vulnerabilities being found, but they deleted the 1.6.18 arc. Only the 1.6.19 arc is available in the 1.6x folder. I bumped the makefile to 1.6.19 and edited the distinfo to

Code: Select all

SHA256 (libpng-1.6.19.tar.gz) = 9f977ac8e4e3d4d5b001b32243f111eeec21bb6b59e583f2fb41fd2e48840352
SIZE (libpng-1.6.19.tar.gz) = 1411477
and it went through fine. This doesn't bode well for the future as it seems that every time they do a security update, you'll have to edit the makefile and distinfo files.

That was it. Everything went through nice and smooth other than libpng.
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5658
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: Upcoming KOS release - Testing needed

Post by BlueCrab »

Ugh... That is really annoying that they just up and delete the old versions when a new one comes out...

I understand wanting to make sure people aren't using insecure versions of libraries, but there are better ways to do it than that, I'd think. :roll:
Chilly Willy
DC Developer
DC Developer
Posts: 414
Joined: Thu Aug 20, 2009 11:00 am
Has thanked: 0
Been thanked: 2 times

Re: Upcoming KOS release - Testing needed

Post by Chilly Willy »

Yeah, that's what I thought, but nope! They actually did that for every release - 1.6.x, 1.5.x, 1.4.x, 1.2.x, and 1.0.x. The old arcs are gone and nothing but the new fixed version remains. But I did find the old versions. The proper path for 1.6.18 would be

ftp://ftp.simplesystems.org/pub/libpng/ ... .18.tar.gz

That history path has everything for all (older) versions. They probably added that for people who need a stable link for old versions. Funny thing is, it doesn't have the LATEST version, so you'd HAVE to be using an older version to use the history path. So you couldn't use the history path for 1.6.19 and have it remain the same. What a pain...
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5658
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: Upcoming KOS release - Testing needed

Post by BlueCrab »

I suppose I could add an option to the kos-ports scripts to check multiple locations for packages. In that way, I could essentially add the normal path as the primary place to look and the history path as an alternate for libpng. It wouldn't hurt to be able to specify mirror sites anyway, so that'd kill two birds with one stone...
Chilly Willy
DC Developer
DC Developer
Posts: 414
Joined: Thu Aug 20, 2009 11:00 am
Has thanked: 0
Been thanked: 2 times

Re: Upcoming KOS release - Testing needed

Post by Chilly Willy »

Yeah, that sounds like a great idea.
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5658
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: Upcoming KOS release - Testing needed

Post by BlueCrab »

All right, I've added in the mirror site support code to the ports tree and bumped the libpng version to 1.6.19.

If anyone cares, if you want to have multiple download sites, you should specify a DOWNLOAD_SITES variable in your port's main Makefile, which contains a whitespace separated list of download URLs. So, for libpng, it looks something like this:

Code: Select all

# What files we need to download, and where from.
DOWNLOAD_SITES =    ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16 \
                    ftp://ftp.simplesystems.org/pub/libpng/png/src/history/libpng16
DOWNLOAD_FILES =    ${PORTNAME}-${PORTVERSION}.tar.gz
If you only have one site, you can either use DOWNLOAD_SITES or the old DOWNLOAD_SITE variable. Either will work, and I don't really have a good reason to get rid of the old (more explicitly only one site) DOWNLOAD_SITE variable.
Post Reply