giovedì 11 maggio 2023

OT: GoodMerged 7z ROMs prioritization tool to use with emulators gameex and others

Problem:

If we load directly a 7z goodmerged rom package in a console emulator, it will play the 1st rom inside the archive in alphabetical order. We don't want to unzip them all to save space.

Example:

we have banjo-kazooie.7z that contais the following nintendo64 roms:

Banjo to Kazooie no Daibouken (J) [!].z64
Banjo to Kazooie no Daibouken (J) [f1].z64
Banjo to Kazooie no Daibouken (J) [f2].z64
Banjo to Kazooie no Daibouken (J) [f3].z64
Banjo-Kazooie (E) (M3) [!].z64
Banjo-Kazooie (E) (M3) [f1].z64
Banjo-Kazooie (E) (M3) [f2].z64
Banjo-Kazooie (U) (V1.0) [!].z64
Banjo-Kazooie (U) (V1.0) [b1].z64
Banjo-Kazooie (U) (V1.0) [b2].z64
Banjo-Kazooie (U) (V1.0) [b3].z64
Banjo-Kazooie (U) (V1.0) [b4].z64
Banjo-Kazooie (U) (V1.0) [b5].z64
Banjo-Kazooie (U) (V1.0) [b6].z64
Banjo-Kazooie (U) (V1.0) [b7].z64
Banjo-Kazooie (U) (V1.0) [f1].z64
Banjo-Kazooie (U) (V1.0) [t1].z64
Banjo-Kazooie (U) (V1.1) [!].z64
   

if we try to load the 7z package directly in "Project64" (the nintendo 64 emulator) it will play the Jap version: Banjo to Kazooie no Daibouken (J) [!].z64

Solution:

We have to unzip, mark the rom which we want to be the 1st in alphabetical order, 7zip the roms again.

I wrote the following software that it will do this for us recursively for all roms found in a source folder:



Here you have to specify the source directory, the temp directory where the 7z package will be temporary unzipped, the 7za executable downloadable from 7zip website, the destination directory where "fixed" packages will go (should be different from source), flag if you want to remove the original package from source directory.

Then specify the priority order, in this example the software will pick up: (I) [!] as 1st, if not found will try (E) [!] then (U)[!] then (I), (E),(U), then any [!] and will rename the rom chosen prepending "001." in the filename.

In this example we don't have any italian version but EU, so, after clickin FIX! button, Banjo-Kazooie (E) (M3) [!].z64 will became 001.Banjo-Kazooie (E) (M3) [!].z64 and then, with other roms, 7zipped again in banjo-kazooie.7z

This way if we load the package in project64 it will play the EU version.

while running you will see the progress window:








Tested with gb gbc gba sms smg gg nes snes n64 romsets.

Do not use folders with spaces in the name.

Download here

 

 

OT: GoodMerged 7z ROMs prioritization tool: unzip to chd function

Problem:

We have a set of roms in bin + cue file format and zipped (or 7zipped).

Emulator won't play them directly in a zip format but want that you unzip them all; but you want to save hard disk space.

Example:

we have Chicken Run (UK).zip that contains the following files:

Chicken Run (UK) (Track 1).bin
Chicken Run (UK) (Track 2).bin
Chicken Run (UK) (Track 3).bin
Chicken Run (UK) (Track 4).bin
Chicken Run (UK) (Track 5).bin
Chicken Run (UK).cue 

if we try to load the zip package directly in a dreamcast emulator it will not play.

Solution:

Unzip the package and compress it using chdman from Mame32 suite

Chd file format is a compressed format containing all files needed in a single one.

But chdman tool accept only one cue file at a time.

So, we can use my software, RomPrioTool, similarly as described in the previous post.

We have to set source directory, temp directory, point to the chdman.exe executable file previously downloaded, destination directory and if we want to remove the zip from the source directory.

Then we click on "unzip to chd" button, zip package will be unzipped on temp directory, then passed into chdman, for every zip present in the source directory.

Based on our example, as a result we will have "Chicken Run (UK).chd" file in the destination directory that we can directly load on the emulator. And we start from a 1GB zip to a 870MB chd.

Tested with dreamcast, ps1, sega saturn, pilips cdi, panasonic 3do, amiga cd32, nec pcfx.

Do not use folders with spaces in the name.

martedì 24 maggio 2022

Enigma2 OpenATV tv sat decoder does not remember motor last position

Found this problem on enigma2 tv decoder with motorized dish.

My main channel list is a mix of sat channels on different positions like 13E 19.2E and 39E.

Issue appears when:

  1. tune on 13E channel
  2. tune on 19.2E channel (dish moves)
  3. put decoder in standby (dish power off)
  4. wake up decoder
  5. tune on 13E channel
    dish doesn't move, still on 19.2E and clearly channel is not tuned.

You have to remember that dish last position was 19.2E, tune on a channel on that satellite and then move to the desired channel. That way dish will move.

Or you can do the following workaround:

  1. tune on your preferred channel on your preferred satellite, probably the 1st in list.
  2. note the ip address of your decoder, for example 192.168.0.123
  3. from your pc go to http://192.168.0.123/api/statusinfo
  4. note the value of  "currservice_serviceref" , for example
    1:0:19:4337:300C:13E:820000:0:0:0:

OpenATV ( and maybe other enigma2 graphical interfaces ) runs
https://github.com/openatv/enigma2/blob/7.0/lib/python/Screens/Standby.py
when you put your decoder in standby and back.
There you can see that when you put your box in standby it will run /usr/script/StandbyEnter.sh
and when you wake up the box will run /usr/script/StandbyLeave.sh

So, ssh or telnet your box and put the following lines on both files: StandbyEnter.sh and StandbyLeave.sh on /usr/script folder

#!/bin/bash
wget -qq -O - "http://127.0.0.1/web/zap?sRef=1:0:19:4337:300C:13E:820000:0:0:0:"
exit 0

Make them executables: chmod +x  /usr/script/Standby*.sh

Now when you put in standby your decoder and wake up, your preferred channel will be tuned and dish will move on that position.

 

giovedì 5 maggio 2022

Shiva2 DX Cluster for SWL / BCL

A new completely rewritten version of the original shiva dx cluster

Shiva2 DX Cluster connects to a “classic” ham radio dx cluster and repeat the dx spot to shiva2 clients while adding other spots based on HFCC data files and Priyom.org number station schedules.

It is intended to use with SDR Console for SWL/BCL so they are able to see broadcasting stations, for example, based on scheduling day and time, spots of ham radio operators, fixed markers about CB or PRM channels, or hf beacons, number stations based on their schedule and so on. Priyom.org number stations are sent for 1 hour since the start of transmission.

 

 
See how it works on SDR Console :
 




Check my github page here:
https://github.com/IU2MEH/shiva2


If you want to access my shiva cluster already running h24,
please contact me commenting below or with contact form here in the right
I will give you user and password if:
- you contribute to this project improving the code
- you contribute in another way like sending me a list or improving documentation or something like 
- you send me little money via paypal to help to cover my server costs

mercoledì 4 maggio 2022

Russian style of spelling words

 Useful for some QSOs

A Anna, Antòn А АННА, АНТОН
B Boris Б БОРИС
C Tsentr, Tsaplia Ц ЦЕНТР, ЦАПЛЯ
D Dmitri Д ДМИТРИЙ
E Elèna Е ЕЛЕНА
F Fedor Ф ФЕДОР
G Galina Г ГАЛИНА
H Hariton (aspirated h) Х ХАРИТОН
I Ivàn И ИВАН
J Ivàn-kratki, Iot Й ИВАН-КРАТКИЙ, ЙОТ
K Kilovatt, Constantìn К КИЛОВАТТ, КОНСТАНТИН
L Leonid Л ЛЕОНИД
M Mihail (aspirated h), Maria М МИХАИЛ, МАРИЯ
N Nicolai Н НИКОЛАЙ
O Olga О ОЛЬГА
P Pavel П ПАВЕЛ
Q Shchtuka Щ ЩУКА
R Romàn, Radio Р РОМАН, РАДИО
S Serghei С СЕРГЕЙ
T Tamara, Tatiana Т ТАМАРА, ТАТЬЯНА
U Uliana У УЛЬЯНА
V Giuk Ж ЖУК
W Vasilii В ВАСИЛИЙ
X Znak, Ics Ь ЗНАК, ИКС
Y I grek ы ИГРЕК
Z Zinaìda, Zoia З ЗИНАИДА, ЗОЯ




0 Nol
ноль
1 Adìn
один  
2 Dva
два   
3 Tri
три
4 Ceteri
четыре
5 Piat
пять
6 Scest
шесть
7 Sem
семь
8 Vosem
восемь
9 Dievet
девять

You can hear the sound of letters here, and numbers here.

martedì 2 febbraio 2021

Firefox portable with flash player

Since Adobe no longer supports Flash Player after December 31, 2020 and blocked Flash content from running in Flash Player beginning January 12, 2021,and since Mozilla blocked flash plugin from running in Firefox with the last update (85.0) I can not use anymore the interface of my damned wifi access point.

How to check if some hyenas is using my connection???

After finding some info on internet I have prepared the ready to run firefox below.

Here you can download a copy of Mozilla Firefox portable edition (italian lang)
with flash player enabled and working.

It runs indipendently of your already installed firefox that you don't have to uninstall.

Tested on 64bit os should work on 32bit too.
Do NOT update it!

mercoledì 3 giugno 2020

Shiva DX Cluster for SWL / BCL

Check new version here:
 
 
connects to a ham radio dx cluster and repeat the dx spot to shiva clients,
download priyom.org number station schedules
and adds spots based on list files.
It doesn't send to ham radio dx cluster any spot nor it can receive any spot.
It is intended to use with SDR Console for SWL/BCL
so they are able to see broadcasting stations (for example) based on scheduling day and time.
Ham radio dx cluster spots are repeated to shiva clients immediately,
broadcasting stations and other lists are sent to shiva clients every 10 minutes (default,configurable).
Number stations are spotted for one hour since start of transmission.

See how it works on SDR Console :



Check my GitHub page:
https://github.com/IU2MEH/shiva

Check new version here:
https://github.com/IU2MEH/shiva2

If you want to access my shiva cluster already running h24,
please contact me commenting below or with contact form here in the right
I will give you user and password if:

- you contribute to this project improving the code
- you contribute in another way like sending me a list or improving documentation or something like 
- you send me little money via paypal to help to cover my server costs





giovedì 30 aprile 2020

Learning CW - straight key usb interface

 

I'm starting to learn CW with my father old straigth key,
to do so I have taken an usb mouse and soldered the electrical contacts of the Morse key to the mouse left button switch:



then connect our "usb morse key" to a pc and download Morse Learner or any similar software you like and configure it to take as input left mouse clicks:







venerdì 24 gennaio 2020

Kenwood TS-480 SAT panadapter interface - part 2


We will see how to configure sdr-console ( but the same can be done with other similar softwares ) to create a panadapter interface.
First follow this article : Kenwood TS-480 SAT panadapter interface - part 1 .
Then we have to take a USB CAT cable that connect the rig serial port to an usb port of out pc.
Search for a non chinese cable, for a cable that use the prolific PL2303 driver.
Once cable is connected and driver installed you will see under device manager of windows a ( new ) COM port as below. Take note of the assigned number, in this case 8 , COM8.

Connect also the SDR dongle as described in "part 1" and open sdr-console.
Add your SDR to the "Definitions", you will find how on the software manual or google, it is very simple.
Then under label "view" click "select" on the right side. Then flag "External radio".

And restart sdr-console as asked.
You will see on the left a new item:

 Click on the question mark, settings will appear, click Omnirig and configure it as below, changing the COM port accordingly with what you have seen in Windows device manager:

Click ok and configure other settings as below:

Click on the "Frequency" label on the left and configure the IF frequency, for TS-480 is 73.095Mhz.
Configure also the offsets, you see below values for the SDR dongle Nooelec Nano3 but I think you have to adjust them in the case you use another dongle.

Click OK.
In my case, under the label "Home" of the main window, AGC is ON and RF Gain is set to 14.4dB, not automatic. If I set more dB or auto mode I see a lot of artifacts and all will become useless.

Now you can see your waterfall plus/minus 100kHz the center frequency, where radio is tuned.
They are also synchronized, when you change frequency or mode on the radio, the same is changed also on sdr-console and vice versa.



Please comment below if there are corrections to be done or something is missed.
Thanks





lunedì 18 novembre 2019

SvxLink Echolink behind natted provider


Hosting a service on your server at home can be a big problem if you have (like me) a dsl/fiber connection with a provider that NAT his network, like Fastweb,TIM and Vodafone in Italy.
You can see technical description about how they make it on wikipedia https://en.wikipedia.org/wiki/Carrier-grade_NAT.
Now, we want to run svxlink software in order to have an echolink node connected to our station.
My setup is Kenwood TS-480 + audio usb key + Tinker board ( ASUS raspberry clone ).
In a previous post you can see how I made the audio cable.
Basic setup of our single board pc should be already done, connecting it to internet through lan cable is preferred over wifi.

Now connect the usb audio key and make it the default device disabling the onboard audio.

Login as root,
edit the following files ( create it if needed )
/etc/modprobe.d/blacklist.conf
and add the line: blacklist snd_bcm2835

edit : /lib/modprobe.d/aliases.conf and comment out "snd-usb-audio index=-2"

create: /etc/modprobe.d/snd_usb_audio.conf and write “options snd_usb_audio index=0”

edit: /etc/modprobe.d/alsa-base.conf and add the following 3 lines:
options snd_usb_audio index=0
options snd_bcm2835 index=1
options snd slots=snd_usb_audio,snd_bcm2835


Then, I force the cpu governor to be in performance mode rather then ondemand
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
and add it to /etc/rc.local to preserve the setting between reboots.

Next install svxlink,
apt-get update; apt-get install svxlink-server

and configure basic features as follow,
for now I have only created an echolink node to listen only in rx.
Edit /etc/svxlink/svxlink.conf
under [SimplexLogic] section edit the lines
CALLSIGN=IU2MEH
under [Rx1] section edit the lines
TYPE=Local
AUDIO_DEV=alsa:plughw:0

under [Tx1] section edit the lines
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
PTT_TYPE=NONE 


To know which AUDIO_DEV you have to put in config you can run "aplay -l" and you will get an output like this:
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Device [USB Audio Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

as you see, our usb audio key is the number 0.

Next step is to configure echolink module of svxlink,
edit the file /etc/svxlink/svxlink.d/ModuleEcholink.conf
and change the lines :
CALLSIGN=MyCall-L
PASSWORD=MyPass
SYSOPNAME=MyName
LOCATION=[Svx] …


Then run svxlink as root, if it is the first time you use callsign-L you should get a message that ask you to validate the callsign, you have to visit echolink website and follow the instructions.

SvxLink uses the TCP port 5200 and UDP 5198 and 5199, these ports have to be reacheable from internet cause echolink is a p2p protocol, but if we have a natted provider this is "impossible".
To resolve this issue we can use an external server with a vpn,
in my case a VPS bought from https://contabo.com/ where we have a linux system with full access as root and the server can be reached from internet without any issue.


On the external server side install openvpn:
apt-get install openvpn (assuming that your server is debian based)

Generate certification authority and keys:
cd /etc/openvpn/easy-rsa/
. ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh

then generate they key for our svxlink server:
./build-key svxlink 

under keys directory you should find all the generated files, move them on /etc/openvpn/ directory
cd keys
mv ca.crt /etc/openvpn/ 

mv ca.key /etc/openvpn/
mv dh2048.pem /etc/openvpn/
mv server.crt /etc/openvpn/
mv server.key /etc/openvpn/


create and edit /etc/openvpn/server.conf , write the following lines:
port 5050
proto udp
dev tun0 ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh2048.pem
server 10.8.0.0 255.255.255.128
persist-key
persist-tun
tun-mtu 1500
script-security 2
log /var/log/openvpn.log
sndbuf 393216 rcvbuf 393216
push "sndbuf 393216"
push "rcvbuf 393216"
ifconfig-pool-persist /etc/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"

client-to-client
keepalive 10 120
verb 2

edit /etc/default/openvpn , find the line AUTOSTART and set it as:
AUTOSTART="server" # this is the same name of the conf file

reboot openvpn service:
/etc/init.d/openvpn restart

if all is ok you should see a new network interface named tun0 with address 10.8.0.1:

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.8.0.1  netmask 255.255.255.255  destination 10.8.0.2
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)
        RX packets 86819  bytes 92236228 (87.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 70603  bytes 14042290 (13.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enable ip forward:
edit /etc/sysctl.conf and uncomment the line
net.ipv4.ip_forward=1
then run:
sysctl -p /etc/sysctl.conf

sabato 10 agosto 2019

AOR AR8000 Panadapter Interface

The following post will describe how to take the IF from the radio scanner AR8000 by AOR and feed it to an SDR, this is useful to see the spectrum around the tuned frequency and/or use sdr sharp and its plugins to decode, for example, TETRA signals.

First you have to open the back of our radio removing the screws marked in the pics below:






Open and find a stripe of 16 pins, you are on the back of the board, see the red circle on the pic below:


Now, the IF output is the 10th pin from the left, the 6th from the right.
Solder a 100pf capacitor to decouple the radio from the sdr and to prevent sdr with bias tee to inject some current.
Add a cable taking the earth from the negative pin of the battery or from other place you like,
and a panel female connector, I choose to use a 2,5mm mono jack, and fix it on one side



You can close the radio now and make a cable to connect the IF out to an SDR, in my case a 2,5mm mono jack male to SMA.
Connect SDR to your PC and open SDR# or other sdr software you like.
According to AOR manuals you have to tune the following IFs, depending on the frequency sintonized:
from 100kHz to 450MHz and from 1500 to 1950MHz IF is at 736,250MHz
from 450 to 1500MHz IF is at 275,450MHz

Below are two examples:

Broadcast FM signals, radio set on 88MHz SDR# on 736,250MHz

TETRA signal, radio set on 463MHz and SDR# on 275,450MHz








sabato 1 giugno 2019

Kenwood TS-480 SAT panadapter interface

A panadapter is a device that connects to a standard hardware radio and allows you to visually see the RF signals on a waterfall. Since SDR’s run on the PC, they naturally have the ability to display a panadapter screen, and most software like SDR#, HDSDR and SDR-Console already provide this. The RTL-SDR can also be used to add panadapter capabilities to a regular hardware radio.

First of all you have to find the IF out pin named CN152 on our rig, opening the case bottom side, near the front.

kenwood ts-480 if pin

kenwood ts-480 if pin

I have found that connector on an old radio, something related to audio/music cassette deck, however they are very common.

Coax cable go out of the rig through the grid on the front panel

Even if with the signal coming out the IF stage we can already feed an sdr, it is strongly recommended to use an adapter to:
  • match impedence
  • don't load the rig uselessly
  • isolate the couple rig-pc
Personally i have bought this Panoramic Adapter Tap (PAT70M)  and put it in a Mentos box




adding a female jack to feed it with the required power, 13,8V , taken from the same power supply of the rtx.
It is not necessary to power off or isolate this board during tx.
On the other side of the box comes out the signal on a coax cable with MCX male plug that will feed our sdr, a NooElec Nano 3

Check here Kenwood TS-480 SAT panadapter interface - part 2 to see how to configure sdr-console.