aimeio: Implement full aime reader function in aimeio (#94)

This PR implements the missing NFC, FeliCa, and Mifare command handlers in `aimeio`. This expands the reader's capability to support games and tools that utilize these specific radio functions.

**Changes:**
* Implemented NFC radio control functions.
* Added MIFARE and FeliCa command handling.
* Updated `aimeio` DLL exports and hook definitions.

**Testing Status:**
* I have verified the implementation using a virtual `aimeio` test environment, and the command handling works as expected.
   But I currently do not have access to a physical card reader, so haven't been able to verify the behavior on actual hardware yet.

Reviewed-on: https://gitea.tendokyu.moe/TeamTofuShop/segatools/pulls/94
Co-authored-by: グローランプ <130208311+Gl0w1amp@users.noreply.github.com>
Co-committed-by: グローランプ <130208311+Gl0w1amp@users.noreply.github.com>
This commit is contained in:
グローランプ
2026-02-08 11:01:01 +00:00
committed by Dniel97
parent 966eeeeb87
commit 21e5238b0a
23 changed files with 1103 additions and 17 deletions
+10
View File
@@ -9,6 +9,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -9,6 +9,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -10,6 +10,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -10,6 +10,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -9,6 +9,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -10,6 +10,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -9,6 +9,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -9,6 +9,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -9,6 +9,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -14,6 +14,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -9,6 +9,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -9,6 +9,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -9,6 +9,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -15,6 +15,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -9,6 +9,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1
+10
View File
@@ -9,6 +9,16 @@ EXPORTS
aime_io_nfc_get_aime_id
aime_io_nfc_get_felica_id
aime_io_nfc_poll
aime_io_nfc_get_mifare_uid
aime_io_nfc_mifare_select
aime_io_nfc_mifare_set_key
aime_io_nfc_mifare_authenticate
aime_io_nfc_mifare_read_block
aime_io_nfc_felica_transact
aime_io_nfc_radio_on
aime_io_nfc_radio_off
aime_io_nfc_to_update_mode
aime_io_nfc_send_hex_data
amDllVideoClose @2
amDllVideoGetVBiosVersion @4
amDllVideoOpen @1