--- src/memory.cpp.orig	2022-11-29 08:09:34.000000000 +0800
+++ src/memory.cpp	2023-05-18 22:34:23.000000000 +0800
@@ -48,15 +48,26 @@
 		vm_size_t page_size;
 		mach_port_t mach_port;
 		mach_msg_type_number_t count;
+	#if defined(__ppc__) || defined(__i368__)
+		vm_statistics_data_t vm_stats;
+	#else
 		vm_statistics64_data_t vm_stats;
-
+	#endif
 		mach_port = mach_host_self();
 		count = sizeof(vm_stats) / sizeof(natural_t);
+	#if defined(__ppc__) || defined(__i368__)
+		if (KERN_SUCCESS == host_page_size(mach_port, &page_size) &&
+			KERN_SUCCESS == host_statistics(mach_port, HOST_VM_INFO,
+											(host_info_t)&vm_stats, &count)) {
+			long long free_memory = ((int32_t)vm_stats.free_count +
+                               (int32_t)vm_stats.inactive_count) * (int32_t)page_size;
+    #else
 		if (KERN_SUCCESS == host_page_size(mach_port, &page_size) &&
 			KERN_SUCCESS == host_statistics64(mach_port, HOST_VM_INFO,
 											(host_info64_t)&vm_stats, &count)) {
 			long long free_memory = ((int64_t)vm_stats.free_count +
                                (int64_t)vm_stats.inactive_count) * (int64_t)page_size;
+    #endif
 			ram = free_memory;
 		//https://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-inside-a-process
 		}
