{"id":15655439,"url":"https://github.com/pmlopes/minpsp","last_synced_at":"2025-05-05T14:41:33.594Z","repository":{"id":35996850,"uuid":"40288908","full_name":"pmlopes/minpsp","owner":"pmlopes","description":"Minimalist PSPSDK","archived":false,"fork":false,"pushed_at":"2015-08-06T06:45:52.000Z","size":6920,"stargazers_count":35,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-30T21:51:12.246Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmlopes.png","metadata":{"files":{"readme":"readme.txt","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-06T06:38:58.000Z","updated_at":"2025-02-26T16:15:53.000Z","dependencies_parsed_at":"2022-08-26T22:50:55.976Z","dependency_job_id":null,"html_url":"https://github.com/pmlopes/minpsp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fminpsp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fminpsp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fminpsp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmlopes%2Fminpsp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmlopes","download_url":"https://codeload.github.com/pmlopes/minpsp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252516099,"owners_count":21760725,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T12:59:13.854Z","updated_at":"2025-05-05T14:41:33.576Z","avatar_url":"https://github.com/pmlopes.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Welcome to the MINPSPW (Minimalist PSP homebrew SDK for Windows).\r\n\r\nWith this SDK you are able to code your own applications for the amazing\r\ndevice that is the Sony PlayStation Portable. If you finished the installation\r\nand you are reading this document you are ready to code.\r\n\r\nPick the code examples from the psp/sdk/samples directory and investigate\r\nthe code. To write your own applications, just grab your favourite IDE for\r\nC/C++ and start right away, use the makefile templates from the samples\r\ndirectory and remember that the compiler is based on GNU GCC compiler set\r\nso no Microsoft extensions are available for you.\r\n\r\n\r\n===============================================================================\r\n If you got this as a collection of shell scripts\r\n===============================================================================\r\n\r\nThis program will automatically build and install a compiler and other\r\ntools used in the creation of homebrew software for the Sony Playstation\r\nPortable handheld videogame system.\r\n\r\n\r\n===============================================================================\r\n TODO\r\n===============================================================================\r\n0.11 Still to decide....\r\n* Added MacOSX support\r\n* Reverted Binutils to 2.16.1 since there is a bug with 2.18 that causes\r\n  bad code for example on Daedalus Project.\r\n\r\n===============================================================================\r\n Changelog\r\n===============================================================================\r\n\r\n0.11.2\r\n* Added MacOSX support\r\n* Reverted Binutils to 2.16.1 since there is a bug with 2.18 that causes\r\n  bad code for example on Daedalus Project.\r\n* Fixed win32 builds and mingw environment\r\n\r\n0.10.1\r\n* fixed pspmath.h file for C++\r\n* Added D support to GDB\r\n* Fix pspsh for windows to run within eclipse\r\n* Lib updates:\r\n  - zlib updated to 1.2.5\r\n  - bzip2 updated to 1.0.6\r\n  - freetype updated to 2.4.3\r\n  - jpeg updated to 8b\r\n  - bulletml updated to 0.0.6\r\n  - libmad updated to 0.15.1b\r\n  - libmikmod updated to 3.1.11\r\n  - libogg updated to 1.2.1\r\n  - libpng updated to 1.4.4\r\n  - libvorbis updated to 1.3.2\r\n  - lua updated to 5.1.4\r\n  - SDL updated to 1.2.14\r\n  - SDL_gfx updated to 2.0.22\r\n  - SDL_image updated to 1.2.10\r\n  - SDL_mixer updated to 1.2.11\r\n  - SDL_ttf updated to 2.0.10\r\n  - cal3d updated to 0.11.0\r\n  - tinyxml updated to 2.6.1\r\n* Initial support for linux 64bit\r\n* Initial support for building under MacOSX\r\n* Fix pspsh under linux (readline was disabled by mistake)\r\n\r\n\r\n0.10.0\r\n* new devpaks\r\n  - allegro 4.4.1.1\r\n  - OSLib replaced with OSLib_MOD\r\n  - Bullet Physics\r\n  - CubicVR game engine\r\n* Added D programming language D 1.060 as a supported language (experimental)\r\n  - Added a sample Hello World to the SDK\r\n\r\n0.9.6\r\n* pspsh does not depend on cygwin and is native\r\n* remotejoy SDL is also included as a native binary (no cygwin)\r\n* win32 dependencies updated\r\n - zlib 1.2.5\r\n - SDL 1.2.14\r\n - readline 5.1 (same as gdb)\r\n - libiconv 1.13.1\r\n - pthreads 2.8.0\r\n* updated the fpulib trig functions can use the FPU processor but\r\n  we either use vfpu or software impl using libm. This can help to\r\n  make a bit faster code if we do not need vectors.\r\n* Updated newlib to 1.18\r\n - wide-char enhancements\r\n - long double math routines added for platforms where LDBL == DBL\r\n - long long math routines added\r\n - math cleanup\r\n - major locale charset overhaul including added charsets\r\n - various cleanups\r\n - various bug fixes\r\n* Updated the dev environment to build under Windows Vista\r\n* Updated binutils to 2.18 (for better integration with gcc 4.3.x)\r\n* removed the patch that defines long as 64bit back to 32bit. This can\r\n  lead to faster code but breaks old compiled libraries\r\n* Disabled CDT-5.0.x bug fix\r\n* gcov builds properly but not fully tested if works as expected\r\n* added fixes from Luqman Aden in TinyXML\r\n* added libmpeg2 devpak\r\n* added bullet physics devpak\r\n* windows tools are linked against pthreads, if thereads are used it can\r\n  improved performance on the development side.\r\n\r\n0.9.5\r\n* Start to port the project also for OpenSolaris 2009.06 (vanilla).\r\n* Added Visual Studio Project Files from Lukas Przytula\r\n* 38 Devpaks as default instead of the base 20\r\n\r\n0.9.4\r\n* Start to port the project also for Ubuntu (vanilla).\r\n\r\n0.9.3\r\n* Patch the GCC for Windows On Eclipse CDT 5.0.2 bug (to be removed in the next\r\n  major release).\r\n\r\n0.9.2\r\n* Newlib 1.17.0\r\n  * new C99 wide-char function additions\r\n  * movement of regex functions from sys/linux directory into\r\n    shared libc/posix directory\r\n  * string function optimizations\r\n  * redesign of formatted I/O to reduce dependencies when using\r\n    sprintf/sscanf family of functions\r\n  * numerous warning cleanups\r\n  * various bug fixes\r\n* Patched SDK for missing functions (only declared on the ASM side)\r\n* GDB works with the Slim (wasn't reading the correct memory address if the\r\n  variables where above 0x0A000000\r\n* Added threading support to GCC, which will improve Objective-C and enable\r\n  exception handling on C++\r\n\r\n0.8.11\r\n* GMP updated to 4.2.4\r\n* GCC updated to 4.3.3\r\n* SDK updated to latest SVN\r\n\r\n0.8.10\r\n* Update to Newlib 1.16\r\n* Pack the libraries into the Installer\r\n  - zlib\r\n  - bzip2\r\n  - freetype\r\n  - jpeg\r\n  - libbulletml\r\n  - libmad\r\n  - libmikmod\r\n  - libogg\r\n  - libpng\r\n  - libpspvram\r\n  - libTremor\r\n  - libvorbis\r\n  - lua\r\n  - pspgl\r\n  - pspirkeyb\r\n  - sqlite\r\n  - SDL\r\n  - SDL_gfx\r\n  - SDL_image\r\n  - SDL_mixer\r\n  - SDL_ttf\r\n  - smpeg\r\n  - zziplib\r\n * Fix the Objective-C sample since it didn't show anything.\r\n\r\n0.8.9\r\n* Added Objective-C++ support to the toochain.\r\n* Updated SDK docs to build without errors\r\n* dot fixed now images in the docs are readable\r\n* Shrunk the installer\r\n\r\n0.8.8\r\n* Added Objective-C support to the toochain. And a sample.\r\n\r\n0.8.7\r\n* Updated SVN\r\n* Since ps2dev started to use the patches I was hosting, legacy builds are over\r\n* Update GCC 4.3.2\r\n* Update GMP 4.2.3\r\n* Updated the Msys/MinGW environment. I had to reinstall and it was a mess. \r\n* Updated the scripts to a single one that seems not to crash with cyg_heap\r\n   commit exception. (less FDs required)\r\n\r\n0.8.6\r\n* Update SDK to latest SVN 2418\r\n* Some tweak on the SDK\r\n\r\n0.8.5\r\n* Updated PSPLINKUSB\r\n* patch PSPLINKUSB to support BIG MEMORY\r\n* Update SDK to latest SVN 2413\r\n* Debugging works (fully tested)\r\n* Reduced dependency on cygwin (DLL packed with UPX)\r\n\r\n0.8.4\r\n* Upgrade MinGW GCC to 4.3.1\r\n* Patched newlib int == int32_t (reduces compile errors) instead of\r\n  long == int32_t. Since PSP is a 32bit machine both are valid options but\r\n  int make it more natural.\r\n* updated SDK to latest SVN \r\n  \r\n0.8.3\r\n* Split installer into 2 packages with doc/without doc for size reasons\r\n* Test the compiler by compiling all the samples in the TC script\r\n* Vista Support\r\n* Upgrade MinGW GCC to 4.3.0, this forces the GDB to be build with -Werror\r\n  disabled.\r\n\r\n0.8.2\r\n* GCC 4.3.0 \u0026 GDB 6.8 are the base versions from now on.\r\n\r\n0.7.4\r\n* Sync to SVN 2387\r\n - Added sceUtilityLoadModule() and sceUtilityUnloadModule().\r\n - Added the remaining stubs and prototypes for sceAudio*, found from various\r\n   sources including cooleyes, lteixeira, Saotome, cswindle, Fanjita,\r\n   SilverSpring.\r\n\r\n0.7.3\r\n* Sync to SVN 2385\r\n* HTTP Browser support added to SDK\r\n\r\n0.8.1\r\n* GCC 4.3.0\r\n* GDB 6.8\r\n\r\n0.7.2\r\n* Sync to PS2DEV SVN\r\n* Reduce differences between MinPSPW patches and Official patches\r\n\r\n0.7.1\r\n* builds ASM files without errors due to bad make\r\n* added true.exe for makefile assertions\r\n* GDB was kept out of 0.7 by mistake\r\n\r\n0.7\r\n* Removed the dependency on groff, less, cp, mkdir, rm on the script,\r\n  now they are downloaded from the internet\r\n* Added patch for GCC to accept: -mpreferred-stack-boundary=#\r\n* update to SVN 2377\r\n* PS2DEV toolchain patches are downloaded from the internet, so no\r\n  need to keep then sync with this TC\r\n* Update usbpsplink to latest SVN\r\n* No input required during all TC script, all configs are\r\n  - SourceForge MIRROR url\r\n  - SVN host for PS2DEV\r\n  - target dir (c:/pspsdk)\r\n\r\n0.6\r\n* Removed the dependency for the env var PSPSDK\r\n* Fixed psp-config\r\n* Better vsmake.bat\r\n* Better man.bat\r\n* Fixed issue that some installations would end up without env vars due to\r\n  delayed hdd writes.\r\n* No need to hack SDK makefiles anymore\r\n* GNU tools (cp, rm, mkdir, sed) called with the original names no need to\r\n  append a \"2\"\r\n\r\n0.5\r\n* First good release\r\n* Started the concept of DEVPAKs\r\n\r\n\r\n===============================================================================\r\n What's different?\r\n===============================================================================\r\n \r\nThe main difference is that this is a native cross compiler for Microsoft\r\nWindows Operating Systems.\r\n  \r\nSecond, you can run it directly from a DOS Command Prompt BOX or from your\r\nfavorite IDE (Eclipse and Visual Studio Express tested)\r\n  \r\n===============================================================================\r\n Where do I go from here?\r\n===============================================================================\r\n\r\nVisit the following sites to learn more:\r\n\r\nhttp://www.ps2dev.org\r\nhttp://forums.ps2dev.org\r\n\r\nMy MINGW specific stuff:\r\nhttp://www.jetdrone.com\r\n\r\n===============================================================================\r\n How to build it myself (new way) ?\r\n===============================================================================\r\n\r\nDownload mingw-get tool from sourceforge.net/projects/mingw\r\n\r\nOnce you have it install it to: C:\\MinGW\\bin, open a DOS box and run:\r\n\r\n# update the current reppo info\r\nmingw-get update\r\n# install the base system\r\nmingw-get install gcc g++ msys-base msys-wget msys-unzip \\\r\n  mingw-developer-toolkit mingw32-libiconv mingw32-pthreads-w32 \\\r\n  mingw32-gmp mingw32-mpfr msys-texinfo\r\n  \r\nat this point you can start msys console (C:\\MinGW\\msys\\1.0\\msys.bat)\r\n\r\nUnfortunately not all dependencies are on mingw-get so you need to install\r\nby hand:\r\n\r\n  - doxygen 1.7.3\r\n    http://ftp.stack.nl/pub/users/dimitri/doxygen-1.7.3.windows.bin.zip\r\n  - The following are in the wports folder\r\n    * dot 1.16\r\n\t* unrar\r\n  - svn 1.6.15\r\n    http://subversion.apache.org\r\n\r\nCMake get it from:\r\n http://www.cmake.org/files/v2.8/cmake-2.8.3-win32-x86.zip\r\n  install to /local\r\n\r\nFor pkg-config checks to work with autotools you need to copy:\r\n  cp mingw/pkg.m4 /mingw/share/aclocal\r\n\r\n===============================================================================\r\n How to build it myself (Old way) ?\r\n===============================================================================\r\n\r\nInitial builds were made in a custom Msys/MinGW environment. Keeping this env\r\nup to date was a terrible task since there were conflicts constantly between\r\nupdated dlls and tools.\r\n\r\n1st Download latest MinGW version and install it:\r\n\r\nMaintaining a working native toolchain is hard, so I have decided to go with\r\nthe old stable builds instead of bleeding edge test releases. To start\r\ndownload the mingw installer. At the time of writting of this mini howto it is\r\nversion 5.1.6 and install the current mingw into C:\\msys\\mingw. The\r\ninstallation should consist of C and C++ compiler, do not include the make\r\ntool. You can install other compilers if you want but they are not required for\r\nbuilding the cross compiler.\r\n\r\nDownload and unzip over c:\\msys\\mingw.\r\n\r\nOptionally install GDB\r\nhttp://downloads.sourceforge.net/mingw/gdb-7.0-2-mingw32-bin.tar.gz\r\n\r\n2nd Download and install MSYS Developer Toolkit executable:\r\nhttp://downloads.sourceforge.net/mingw/msysDTK-1.0.1.exe\r\nInstall to c:\\msys.\r\n\r\n3rd Download latest MSYS and install it:\r\nhttp://prdownloads.sourceforge.net/mingw/MSYS-1.0.11.exe\r\nChose c:\\msys as installation directory. Leave all other options unchanged.\r\nDuring the postinstall script, please carefully answer all questions. \r\nImportant: Do not skip questions with enter.\r\n\r\nNote: Users of 64-bit Windows variants have to change the startmenu shortcut.\r\nChange it to c:\\WINDOWS\\SysWOW64\\cmd.exe /C c:\\dev\\msys\\msys.bat (adjust path\r\nto Windows directory as needed)\r\n\r\nAt this moment you have a working bash shell with the basic tools, however\r\nto make it more convenient we need some extra libs and tools.\r\n\r\n4th Download wget:\r\nhttp://prdownloads.sourceforge.net/gnuwin32/wget-1.11.4-1-bin.zip\r\nhttp://prdownloads.sourceforge.net/gnuwin32/wget-1.11.4-1-dep.zip\r\nUnzip to C:\\msys\\local\r\n\r\n5th Download the following files to your local home, open the MSys shell and\r\nexecute:\r\nwget http://downloads.sourceforge.net/mingw/m4-1.4.13-1-msys-1.0.11-bin.tar.lzma\r\nwget ftp://ftp.gnu.org/gnu/libtool/libtool-2.2.6a.tar.gz \r\nwget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.64.tar.bz2\r\nwget ftp://ftp.gnu.org/gnu/automake/automake-1.10.2.tar.bz2\r\n\r\n6th install the download software:\r\ncd /\r\nm4-1.4.13-1-msys-1.0.11-bin.tar.lzma\r\n\r\ncd ~\r\ntar -xvzf libtool-2.2.6a.tar.gz\r\ncd libtool-2.2.6\r\n./configure --prefix=/usr\r\nmake\r\nmake install\r\n\r\ncd ~\r\ntar -xvjf autoconf-2.64.tar.bz2\r\ncd autoconf-2.64\r\n./configure --prefix=/usr\r\nmake\r\nmake install\r\n\r\ncd ~\r\ntar -xvjf automake-1.10.2.tar.bz2\r\ncd automake-1.10.2\r\n./configure --prefix=/usr\r\nmake\r\nmake install\r\n\r\n7th Install other packages we need (into C:\\msys\\local)\r\n  - doxygen 1.5.7.1\r\n    http://ftp.stack.nl/pub/users/dimitri/doxygen-1.5.7.1.windows.bin.zip\r\n  - The following are in the wports folder\r\n    * pod2man\r\n    * dot 1.16\r\n\t* unrar\r\n\t* unzip\r\n  - svn 1.6.5\r\n    http://subversion.tigris.org\r\n\r\n8th Install Python 2.5.4 (later may work but not tested)\r\n  http://python.org/ftp/python/2.6.5/python-2.6.5.msi\r\n  - Python 2.6.5 (Use the windows installer) Then add to the PATH\r\n  - Add it to the MSys PATH by adding the line:\r\n     SET PATH=%PATH%;C:\\Python25\r\n    In the beginning of the MSYS.BAT file\r\n\r\n9th Some dev packs need bison since I've to patch some yy files,\r\nget them from the mingw msys project:\r\n  -flex-2.5.35-1-msys-1.0.11-bin.tar.lzma\r\n    * Extract \"over\" the MSYS installation.\r\n  - bison-2.4.1-1-msys-1.0.11-bin.tar.lzma\r\n    * Extract \"over\" the MSYS installation.\r\n  - libregex-0.12-1-msys-1.0.11-dll-0.tar.lzma\r\n    * Extract \"over\" the MSYS installation.\r\n\t* Then rename to msys-regex-1.dll\r\n\r\n10th CMake get it from:\r\n http://www.cmake.org/files/v2.8/cmake-2.8.1-win32-x86.zip\r\n  install to /local\r\n\r\n11th Aparently the current bash causes bugs with autotools during SDL_mixer\r\nbuild, for this we need to update the following packages into /msys/bin\r\n  - bash-3.1.17-3-msys-1.0.13-bin.tar.lzma\r\n  - libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma\r\n  - libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma\r\n\r\nTo build run the toolchain script:\r\n\r\n./toolchain.sh\r\n\r\n===============================================================================\r\n How to build it myself (Ubuntu)?\r\n===============================================================================\r\n\r\n## Install the required packages.\r\n sudo apt-get install build-essential autoconf automake bison flex \\\r\n  libncurses5-dev libreadline-dev libusb-dev texinfo subversion doxygen \\\r\n  graphviz libtool unrar unzip cmake wget pkg-config xz-lzma alien\r\n\r\n## it is required to use the static mpfr and gmp otherwise ubuntu 10.04 LTS\r\n binaries are not compatible with 10.10 or above and maybe with other distros.\r\n \r\n This means that the toolchain script now builds this 2 dependencies too.\r\n \r\n## Build and install the toolchain + sdk.\r\n ./toolchain.sh\r\n\r\n\r\n===============================================================================\r\n How to build it myself (Ubuntu 64bit)?\r\n===============================================================================\r\n\r\nIt just works as with 32bit Ubuntu.\r\n\r\n===============================================================================\r\n How to build it myself (Ubuntu 64bit targetting 32bit Ubuntu)?\r\n===============================================================================\r\n\r\nIf you really need this, say you only have a 64bit machine but want to make a\r\n32bit sdk say to run on your netbook.\r\n\r\n1st install required packages:\r\n sudo apt-get install dchroot debootstrap\r\n\r\n2nd create the environment config\r\n sudo nano /etc/schroot/schroot.conf and add:\r\n\r\n  [maverick32]\r\n  type=directory\r\n  description=Ubuntu Maverick 32bit\r\n  directory=/chroot/maverick32\r\n  priority=3\r\n  users=\u003cyour user\u003e\r\n  groups=\u003cyour user\u003e\r\n  root-groups=root\r\n  personality=linux32\r\n\r\n3rd create the chroot directory\r\n mkdir -p /chroot/maverick32\r\n\r\n4th bootstrap the chroot environment\r\n sudo debootstrap --variant=buildd --arch=i386 maverick \\\r\n  /chroot/maverick32 http://\u003cyour closest ubuntu mirror\u003e/ubuntu/\r\n\r\n5th If you are using an encrypted home you need to change\r\n /etc/schroot/mount-defaults and add:\r\n  /home/\u003cusername\u003e\t/home/\u003cusername\u003e\tnone\trw,bind\t0\t0\r\n\r\n6th enter the chroot environment and install add the software as described\r\n above\r\n  sudo schroot -c maverick32\r\n  sudo apt-get install ...\r\n  ./toolchain.sh\r\n\r\n7th If you use the encrypted home, you need to build from outside your home\r\n because for some unknown reason to me, it does not build from encryptfs\r\n home's.\r\n\r\n===============================================================================\r\n How to build it myself (OpenSolaris)?\r\n===============================================================================\r\n\r\nInstall required packages:\r\npfexec pkg install gcc-dev-4 gcc-432 SUNWbison SUNWaconf SUNWgnu-automake-110 \\\r\n    SUNWlibtool\r\nYou also need unrar from rarlabs for solaris to build OSlib and readline for\r\nthe pspsh, usbhostfs_pc and remotejoy\r\n\r\nI've uploaded a working readline lib to jucr.opensolaris.org so if I get\r\nenough votes it will become available on the contrib repository.\r\n\r\n===============================================================================\r\n How to build it myself (MacOSX)?\r\n===============================================================================\r\n\r\nInstall required packages using macports.org:\r\n * autoconf\r\n * automake\r\n * bison\r\n * flex\r\n * ncurses\r\n * readline\r\n * libusb\r\n * texinfo\r\n * libgmp3\r\n * libmpfr\r\n * subversion\r\n * doxygen\r\n * graphviz\r\n * libtool\r\n * unrar\r\n * unzip\r\n * cmake\r\n * wget\r\n * SDL\r\n\r\nOnce you have all these dependencies installed just run the toolchain script.\r\n\r\nNote: I don't own a Mac or have access to one, so all this info is provided\r\n\"as is\". The script has been tested by the community and updated with the\r\ncommunity feedback. A special thanks for Diogo Autilio the tester of these\r\nchanges.\r\n\r\n===============================================================================\r\n Utils commands\r\n===============================================================================\r\n\r\nawk '{ sub(\"\\r$\", \"\"); print }' dosfile.txt \u003e unixfile.txt\r\nawk 'sub(\"$\", \"\\r\")' unixfile.txt \u003e dosfile.txt\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmlopes%2Fminpsp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmlopes%2Fminpsp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmlopes%2Fminpsp/lists"}