Jump to content

NoPS - NotPsxSerial 1.0.0

¿Quieres enterarte al momento de las nuevas descargas? Síguenos en Twitter o Mastodon!
Ayúdanos con el mantenimiento de la web con una donación vía Paypal.

"NoPS" -- Serial/TTY suite for Unirom 8 featuring kernel-resident debugging, cart/EEPROM flasher, .exe upload, memcard tools, peeks, pokes, dumps and bugs! GDB TCP/UART bridge in progress.


  • Kernel-resident debugging: Debug running games on a retail console
  • Cart/EEPROM flasher: Back up and reflash cheat carts
  • .EXE or raw binary upload: Run homebrew utilities or upload assets for development
  • Memorycard tools: Backup or rewrite whole memory cards to raw (emulator) format
  • Peeks n Pokes: Peek or poke running games/homebrew (incl cheat codes)
  • Mem dumps: Grab a copy of RAM, cart EEPROM, BIOS, etc
  • TCP->SIO Bridge: Raw communication via TCP
  • In progress: GDB TCP->SIO bridge!: Step through your code in the editor, etc


Supported configs:


  • Basic 3 wire TX/RX/GND (e.g. a 3 quid dongle off amazon and a couple of wires)
  • Sharklink with handshake
  • Yaroze cables
  • Switchable cables


  • Windows via .NET or Mono
  • OSX / Linux via Mono

Basic Usage

The hello world test executable was written by Shadow of PSXDev.net. To run it:

  • nops /exe psx_helloworld.exe COM8

Where COMPORT might be COM3, COM14, etc under windows and /dev/ttyWhatever under *nix with mono. win: Find it by opening devmgmt.msc from the run box. mac + linux: run ./nops for some example device names


  • nops /rom unirom_s.rom COM14
  • ./nops /rom unirom_s.rom /dev/ttyUSB01

Once you've specified a com port in this directory, it will be saved to COMPORT.TXT

so next time around you just need to:

  • nops /rom unirom_s.rom

Uploading Stuff

Your basic "Upload to the PSX" features are:

  • nops /exe whatever.exe
  • nops /rom whatever.rom
  • nops /bin 0x8000ADDR somefile.whatever

Where /exe executs a file from the header information, /rom will attempt to identify the JEDEC chip and flash it, and /bin will just upload a binary file to a specific address.

Flow Control

To jump to an address

  • nops /jump 0x80??????

To call an address (and return)

  • nops /call 0x80??????

To poke an 8, 16 or 32 bit value

  • nops /poke8 0x80100000 0x01
  • nops /poke16 0x801F0012 0xFFEE
  • nops /poke32 0xA000C000 0x00112233

Reading data

And to get the information back:

  • nops /dump 0x80???? 0xSIZE

Or watch it oncreen:

  • nops /watch 0x80030000 0xSIZE


returns PONG!

  • nops /ping

Restart the machine

  • nops /reset

Other operators:

/m Use in conjunction with anything else to keep the serial connection open and view printf/TTY logs: E.g.

  • nops /exe whatever.exe /m
  • nops /rom whatever.rom /m

or simply nops /m if you just want to listen.

/fast and /slow

Every command also supports /fast This will send a low speed ping to the PSX tell it to bump from 115200 to 518400

Note: Once in /fast mode, the next time you run nops, it has no way to tell So remember to include /fast in every command till you restart!

A big thanks:

  While NoPS has been re-written from the ground up for Unirom 8, before that it was a decompiled version of Shadow's PSXSerial with the header changed to reflect that. (Or more specifically to deny that). In keeping with what I've just decided is tradition, we're going with the same motif.

by JonathanDotCel.

No te pierdas nada, síguenos en Twitter o Mastodon!
Preguntas, aportes y peticiones en el foro.
Si te sirve lo que hacemos, ayúdanos con el mantenimiento de la web con una donación vía Paypal.

  • Crear nuevo...