diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
index fd7bae8be..e21cb37a7 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
@@ -60,7 +60,7 @@ This document describes all available systems emulators and cores available for
|NEC|TurboGrafx-16 (tg16)|1989|`tg16`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
|
-|Nintendo|DS (nds)|2005|`nds`|.nds .zip .7z|**drastic:** drastic-sa (default)
**retroarch:** melonds
**retroarch:** desmume
|
+|Nintendo|DS (nds)|2005|`nds`|.nds .zip .7z|**drastic:** drastic-sa
**retroarch:** melonds (default)
**melonds:** melonds-sa
**retroarch:** desmume
|
|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
|
|Nintendo|Game and Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
|
diff --git a/packages/emulators/standalone/drastic-sa/config/RK3588/drastic.cfg b/packages/emulators/standalone/drastic-sa/config/RK3588/drastic.cfg
new file mode 100644
index 000000000..b101b8db8
--- /dev/null
+++ b/packages/emulators/standalone/drastic-sa/config/RK3588/drastic.cfg
@@ -0,0 +1,111 @@
+frameskip_type = 0
+frameskip_value = 4
+safe_frameskip = 0
+show_frame_counter = 0
+screen_orientation = 0
+screen_swap = 0
+savestate_number = 0
+fast_forward = 0
+enable_sound = 1
+clock_speed = 0
+threaded_3d = 0
+mirror_touch = 0
+compress_savestates = 1
+savestate_snapshot = 1
+unzip_roms = 0
+preload_roms = 0
+backup_in_savestates = 1
+ignore_gamecard_limit = 0
+frame_interval = 0
+trim_roms = 0
+fix_main_2d_screen = 0
+disable_edge_marking = 0
+interframe_blend = 0
+hires_3d = 1
+use_rtc_custom_time = 0
+rtc_custom_time = 0
+rtc_system_time = 0
+slot2_device_type = 0
+rumble_frames = 3
+firmware.username = Jelos
+firmware.language = 1
+firmware.favorite_color = 0
+firmware.birthday_month = 1
+firmware.birthday_day = 1
+enable_cheats = 1
+controls_a[CONTROL_INDEX_UP] = 1217
+controls_a[CONTROL_INDEX_DOWN] = 1153
+controls_a[CONTROL_INDEX_LEFT] = 1216
+controls_a[CONTROL_INDEX_RIGHT] = 1152
+controls_a[CONTROL_INDEX_A] = 65535
+controls_a[CONTROL_INDEX_B] = 65535
+controls_a[CONTROL_INDEX_X] = 65535
+controls_a[CONTROL_INDEX_Y] = 65535
+controls_a[CONTROL_INDEX_L] = 65535
+controls_a[CONTROL_INDEX_R] = 65535
+controls_a[CONTROL_INDEX_START] = 65535
+controls_a[CONTROL_INDEX_SELECT] = 65535
+controls_a[CONTROL_INDEX_HINGE] = 65535
+controls_a[CONTROL_INDEX_TOUCH_CURSOR_UP] = 65535
+controls_a[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 65535
+controls_a[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 65535
+controls_a[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 65535
+controls_a[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 65535
+controls_a[CONTROL_INDEX_MENU] = 65535
+controls_a[CONTROL_INDEX_SAVE_STATE] = 65535
+controls_a[CONTROL_INDEX_LOAD_STATE] = 65535
+controls_a[CONTROL_INDEX_FAST_FORWARD] = 65535
+controls_a[CONTROL_INDEX_SWAP_SCREENS] = 65535
+controls_a[CONTROL_INDEX_SWAP_ORIENTATION_A] = 65535
+controls_a[CONTROL_INDEX_SWAP_ORIENTATION_B] = 65535
+controls_a[CONTROL_INDEX_LOAD_GAME] = 65535
+controls_a[CONTROL_INDEX_QUIT] = 65535
+controls_a[CONTROL_INDEX_FAKE_MICROPHONE] = 65535
+controls_a[CONTROL_INDEX_UI_UP] = 1217
+controls_a[CONTROL_INDEX_UI_DOWN] = 1153
+controls_a[CONTROL_INDEX_UI_LEFT] = 1216
+controls_a[CONTROL_INDEX_UI_RIGHT] = 1152
+controls_a[CONTROL_INDEX_UI_SELECT] = 65535
+controls_a[CONTROL_INDEX_UI_BACK] = 65535
+controls_a[CONTROL_INDEX_UI_EXIT] = 65535
+controls_a[CONTROL_INDEX_UI_PAGE_UP] = 65535
+controls_a[CONTROL_INDEX_UI_PAGE_DOWN] = 65535
+controls_a[CONTROL_INDEX_UI_SWITCH] = 65535
+controls_b[CONTROL_INDEX_UP] = 1037
+controls_b[CONTROL_INDEX_DOWN] = 1038
+controls_b[CONTROL_INDEX_LEFT] = 1039
+controls_b[CONTROL_INDEX_RIGHT] = 1040
+controls_b[CONTROL_INDEX_A] = 1025
+controls_b[CONTROL_INDEX_B] = 1024
+controls_b[CONTROL_INDEX_X] = 1026
+controls_b[CONTROL_INDEX_Y] = 1027
+controls_b[CONTROL_INDEX_L] = 1028
+controls_b[CONTROL_INDEX_R] = 1029
+controls_b[CONTROL_INDEX_START] = 1033
+controls_b[CONTROL_INDEX_SELECT] = 1032
+controls_b[CONTROL_INDEX_HINGE] = 65535
+controls_b[CONTROL_INDEX_TOUCH_CURSOR_UP] = 1219
+controls_b[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 1155
+controls_b[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 1218
+controls_b[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 1154
+controls_b[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 1036
+controls_b[CONTROL_INDEX_MENU] = 1035
+controls_b[CONTROL_INDEX_SAVE_STATE] = 65535
+controls_b[CONTROL_INDEX_LOAD_STATE] = 65535
+controls_b[CONTROL_INDEX_FAST_FORWARD] = 65535
+controls_b[CONTROL_INDEX_SWAP_SCREENS] = 65535
+controls_b[CONTROL_INDEX_SWAP_ORIENTATION_A] = 1030
+controls_b[CONTROL_INDEX_SWAP_ORIENTATION_B] = 1031
+controls_b[CONTROL_INDEX_LOAD_GAME] = 65535
+controls_b[CONTROL_INDEX_QUIT] = 65535
+controls_b[CONTROL_INDEX_FAKE_MICROPHONE] = 65535
+controls_b[CONTROL_INDEX_UI_UP] = 1037
+controls_b[CONTROL_INDEX_UI_DOWN] = 1038
+controls_b[CONTROL_INDEX_UI_LEFT] = 1039
+controls_b[CONTROL_INDEX_UI_RIGHT] = 1040
+controls_b[CONTROL_INDEX_UI_SELECT] = 1025
+controls_b[CONTROL_INDEX_UI_BACK] = 65535
+controls_b[CONTROL_INDEX_UI_EXIT] = 1024
+controls_b[CONTROL_INDEX_UI_PAGE_UP] = 65535
+controls_b[CONTROL_INDEX_UI_PAGE_DOWN] = 65535
+controls_b[CONTROL_INDEX_UI_SWITCH] = 65535
diff --git a/packages/emulators/standalone/melonds-sa/config/RK3588/melonDS.ini b/packages/emulators/standalone/melonds-sa/config/RK3588/melonDS.ini
new file mode 100644
index 000000000..c8af253d4
--- /dev/null
+++ b/packages/emulators/standalone/melonds-sa/config/RK3588/melonDS.ini
@@ -0,0 +1,147 @@
+Key_A=-1
+Key_B=-1
+Key_Select=-1
+Key_Start=-1
+Key_Right=-1
+Key_Left=-1
+Key_Up=-1
+Key_Down=-1
+Key_R=-1
+Key_L=-1
+Key_X=-1
+Key_Y=-1
+Joy_A=1
+Joy_B=0
+Joy_Select=6
+Joy_Start=7
+Joy_Right=65794
+Joy_Left=1114376
+Joy_Up=17891585
+Joy_Down=16843012
+Joy_R=86114303
+Joy_L=35782655
+Joy_X=3
+Joy_Y=2
+HKKey_Lid=-1
+HKKey_Mic=-1
+HKKey_Pause=-1
+HKKey_Reset=-1
+HKKey_FastForward=-1
+HKKey_FastForwardToggle=-1
+HKKey_FullscreenToggle=-1
+HKKey_SwapScreens=-1
+HKKey_SolarSensorDecrease=-1
+HKKey_SolarSensorIncrease=-1
+HKKey_FrameStep=-1
+HKKey_SaveState=-1
+HKKey_LoadState=-1
+HKJoy_Lid=-1
+HKJoy_Mic=10
+HKJoy_Pause=-1
+HKJoy_Reset=-1
+HKJoy_FastForward=-1
+HKJoy_FastForwardToggle=-1
+HKJoy_FullscreenToggle=-1
+HKJoy_SwapScreens=9
+HKJoy_SolarSensorDecrease=-1
+HKJoy_SolarSensorIncrease=-1
+HKJoy_FrameStep=-1
+HKJoy_SaveState=5
+HKJoy_LoadState=4
+JoystickID=0
+WindowWidth=1920
+WindowHeight=1080
+WindowMax=0
+ScreenRotation=0
+ScreenGap=0
+ScreenLayout=2
+ScreenSwap=0
+ScreenSizing=3
+IntegerScaling=0
+ScreenAspectTop=0
+ScreenAspectBot=0
+ScreenFilter=1
+ScreenUseGL=0
+ScreenVSync=0
+ScreenVSyncInterval=1
+3DRenderer=0
+Threaded3D=1
+GL_ScaleFactor=1
+GL_BetterPolygons=0
+LimitFPS=1
+AudioSync=0
+ShowOSD=1
+ConsoleType=0
+DirectBoot=1
+JIT_Enable=0
+JIT_MaxBlockSize=32
+JIT_BranchOptimisations=1
+JIT_LiteralOptimisations=1
+JIT_FastMemory=1
+ExternalBIOSEnable=0
+BIOS9Path=
+BIOS7Path=
+FirmwarePath=
+DSiBIOS9Path=
+DSiBIOS7Path=
+DSiFirmwarePath=
+DSiNANDPath=
+DLDIEnable=0
+DLDISDPath=dldi.bin
+DLDISize=0
+DLDIReadOnly=0
+DLDIFolderSync=0
+DLDIFolderPath=
+DSiSDEnable=0
+DSiSDPath=dsisd.bin
+DSiSDSize=0
+DSiSDReadOnly=0
+DSiSDFolderSync=0
+DSiSDFolderPath=
+FirmwareOverrideSettings=0
+FirmwareUsername=melonDS
+FirmwareLanguage=1
+FirmwareBirthdayMonth=1
+FirmwareBirthdayDay=1
+FirmwareFavouriteColour=0
+FirmwareMessage=
+FirmwareMAC=
+MPAudioMode=1
+MPRecvTimeout=25
+LANDevice=
+DirectLAN=0
+SavStaRelocSRAM=0
+AudioInterp=0
+AudioBitrate=0
+AudioVolume=256
+MicInputType=0
+MicWavPath=
+LastROMFolder=
+RecentROM_0=
+RecentROM_1=
+RecentROM_2=
+RecentROM_3=
+RecentROM_4=
+RecentROM_5=
+RecentROM_6=
+RecentROM_7=
+RecentROM_8=
+RecentROM_9=
+SaveFilePath=/storage/roms/nds
+SavestatePath=/storage/roms/savestates/nds
+CheatFilePath=
+EnableCheats=0
+MouseHide=0
+MouseHideSeconds=5
+PauseLostFocus=0
+DSBatteryLevelOkay=1
+DSiBatteryLevel=15
+DSiBatteryCharging=1
+Camera0_InputType=0
+Camera0_ImagePath=
+Camera0_CamDeviceName=
+Camera0_XFlip=0
+Camera1_InputType=0
+Camera1_ImagePath=
+Camera1_CamDeviceName=
+Camera1_XFlip=0
diff --git a/packages/virtual/emulators/package.mk b/packages/virtual/emulators/package.mk
index 8a437aea9..6695da37c 100644
--- a/packages/virtual/emulators/package.mk
+++ b/packages/virtual/emulators/package.mk
@@ -39,7 +39,8 @@ case "${DEVICE}" in
;;
RK358*)
[ "${ENABLE_32BIT}" == "true" ] && EMUS_32BIT="box86 desmume-lr flycast-lr gpsp-lr pcsx_rearmed-lr"
- PKG_EMUS+=" amiberry aethersx2-sa dolphin-sa duckstation-sa nanoboyadvance-sa box64 scummvmsa yabasanshiro-sa portmaster"
+ PKG_EMUS+=" amiberry aethersx2-sa dolphin-sa drastic-sa duckstation-sa melonds-sa nanoboyadvance-sa box64 scummvmsa \
+ yabasanshiro-sa portmaster"
LIBRETRO_CORES+=" uae4arm beetle-psx-lr bsnes-hd-lr citra-lr dolphin-lr mame-lr pcsx_rearmed-lr"
PKG_RETROARCH+=" retropie-shaders"
;;
@@ -624,6 +625,12 @@ makeinstall_target() {
add_emu_core nds melonds melonds-sa false
add_emu_core nds retroarch desmume false
;;
+ RK3588)
+ add_emu_core nds drastic drastic-sa false
+ add_emu_core nds retroarch melonds true
+ add_emu_core nds melonds melonds-sa false
+ add_emu_core nds retroarch desmume false
+ ;;
RK3*)
add_emu_core nds drastic drastic-sa true
add_emu_core nds retroarch melonds false