Switch 和 PS1 模拟器:3000+ 游戏随心玩 | 开源日报 No.174

news/2024/4/29 8:14:48

picture

Ryujinx/Ryujinx

Stars: 26.1k License: MIT

picture

Ryujinx 是用 C# 编写的实验性任天堂 Switch 模拟器。
该项目旨在提供出色的准确性和性能、用户友好的界面以及稳定的构建。它已经通过了大约 4050 个测试,其中超过 4000 个可以启动并进入游戏,其中大约 3400 个被认为是可玩的。主要功能和优势包括:

  • 兼容性高:支持多种语言翻译
  • 音频输出完全支持
  • CPU 仿真器支持 ARMv8 指令集,并具有三种内存管理选项
  • GPU 仿真器使用 OpenGL、Vulkan 或 Metal API,并提供六种图形增强功能
  • 支持键盘、鼠标、触摸输入以及 JoyCon 输入等多种控制方式

stenzek/duckstation

Stars: 5.8k License: GPL-3.0

picture

duckstation 是一款快速的 PlayStation 1 模拟器,支持 x86-64/AArch32/AArch64/RV64 平台。
该项目是一个 PlayStation 1 的模拟器,旨在提供可玩性、速度和长期可维护性。它力求尽可能准确,并保持适用于低端设备的性能。不鼓励使用 “Hack” 选项,默认配置应支持所有可玩游戏,只有部分增强功能存在兼容性问题。

  • 支持多种硬件渲染方式(D3D11、D3D12、OpenGL、Vulkan 和 Metal)以及软件渲染。
  • 提供升频、纹理过滤和真彩色(24 位)等硬件渲染功能。
  • 支持 PGXP 进行几何精度校正、纹理修复和深度缓冲区仿真。
  • 自适应降采样滤镜以及后处理着色器链(GLSL 和实验中的 Reshade FX)等特点。

系统要求:x86_64, AArch32/armv7, AArch64/ARMv8 或 RISC-V/RV6 CPU;OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level10.0 (或 Vulkan 1.0) 及以上版本的 GPU;SDL, XInput 或 DInput 兼容游戏控制器。

Asabeneh/30-Days-Of-Python

Stars: 28.7k License: NOASSERTION

picture

30-Days-Of-Python 是一个逐步指南,帮助在 30 天内学习 Python 编程语言。
该项目的主要功能、关键特性、核心优势包括:

  • 逐步指南:按照每日主题进行学习
  • 多种资源:提供视频教程和练习
  • 面向初学者和专业人士

marimo-team/marimo

Stars: 3.1k License: Apache-2.0

picture

marimo 是一个用于 Python 的响应式笔记本,可以运行可重复的实验、作为脚本执行、部署为应用程序等。
marimo 是一个响应式的 Python 笔记本,具有可重复性、与 git 兼容以及可以作为脚本或应用程序部署的特点。它允许您快速进行数据和模型实验,在笔记本正确性方面具有自信,并将笔记本产品化为流水线或交互式 Web 应用程序。主要功能和核心优势包括:

  • 响应式:运行单元格时,marimo 自动更新所有受影响的单元格和输出。
  • 交互式:将滑块、表格、图形等绑定到 Python 上,无需回调函数。
  • 可重复性:没有隐藏状态,确定性执行顺序。
  • 可执行:作为 Python 脚本执行。
  • 可共享:部署成应用程序并分享给他人使用。
  • 与 git 兼容:存储为 .py 文件。

该项目提供了丰富而完整的功能集合,并通过解决传统笔记书写工具(如 Jupyter)存在问题来改进编程环境。

jetpack-io/typeid

Stars: 1.5k License: Apache-2.0

TypeID 是一个类型安全、可排序的全局唯一标识符,灵感来自于 Stripe 的 ID。TypeIDs 作为 UUIDv7 的现代化、类型安全扩展而存在,并受到了 Stripe API 中前缀使用方式的启发。

以下是 TypeID 的关键特性和核心优势:

  • 类型安全:在期望使用 post ID 时无法意外地使用 user ID。调试时,通过查看 TypeID 前缀可以立即理解该标识符所指向实体的类型。
  • 与 UUID 兼容:TypeID 是 UUID 的超集。它们基于即将发布的 UUIDv7 标准。如果你解码 TypeID 并移除其包含信息,则得到一个有效的 UUIDv7。
  • K 可排序:使用 TypeIDs 作为数据库中主键能够保证良好本地性 (locality),相比完全随机生成如 UUID v4 等不具备良好本地性 (global ids),这点非常重要
  • 精心编码:base32 编码既 URL 安全且大小写不敏感,避免模糊字符,在复制黏贴过程中更易选取 (只需双击),并且较传统十六进制编码 (UUIDs 所用) 更紧凑 (26 个字符 vs.36 个字符)

目前已有多种语言对此项目进行了官方或社区提供支持,包括 Go、Python、SQL 和 TypeScript。此外还有社区提供的其他语言实现。

TypeID 还附带了一个命令行工具用于生成 TypeID,并且可以将已存在的 TypeID 解码为 UUID 或者将 UUID 编码成 TypeID。


http://www.mrgr.cn/p/55182780

相关文章

分类模型评估:混淆矩阵与ROC曲线

1.混淆矩阵2.ROC曲线 & AUC指标 理解混淆矩阵和ROC曲线之前,先区分几个概念。对于分类问题,不论是多分类还是二分类,对于某个关注类来说,都可以看成是二分类问题,当前的这个关注类为正类,所有其他非关注…

LineageOS刷机教程

一、刷机准备工作 在 https://download.lineageos.org.cn/ 这个网址里找到自己的手机型号,也可以用Ctrl+F搜索手机型号关键字找到后点击下载下载页面左侧找到自己的手机型号(不知道上面点击下载,进来的二级页面还得再找一次)下载好lineageOS的刷机包,boot.img文件,recove…

Linux基础篇:解析Linux命令执行的基本原理

Linux 命令是一组可在 Linux 操作系统中使用的指令,用于执行特定的任务,例如管理文件和目录、安装和配置软件、网络管理等。这些命令通常在终端或控制台中输入,并以文本形式显示输出结果。 Linux 命令通常以一个或多个单词的简短缩写或单词…

C++王牌结构hash:哈希表闭散列的实现与应用

一、哈希概念 顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素 时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(log n),搜索的效率…

Unity AI Navigation自动寻路

目录 前言一、Unity中AI Navigation是什么?二、使用步骤1.安装AI Navigation2.创建模型和材质3.编写向目标移动的脚本4.NavMeshLink桥接组件5.NavMeshObstacle组件6.NavMeshModifler组件 三、效果总结 前言 Unity是一款强大的游戏开发引擎,而人工智能&a…

TCP三次握手、四次挥手出现意外情况时,如何保证稳定可靠?

TCP 作为一个靠谱的协议,在传输数据的前后,需要在双端之间建立连接,并在双端各自维护连接的状态。TCP 并没有什么特别之处,在面对多变的网络情况,也只能通过不断的重传和各种算法来保证可靠性。建立连接前,TCP 会通过三次握手来保证双端状态正确,然后就可以正常传输数据…

八大技术趋势案例(人工智能物联网)

科技巨变,未来已来,八大技术趋势引领数字化时代。信息技术的迅猛发展,深刻改变了我们的生活、工作和生产方式。人工智能、物联网、云计算、大数据、虚拟现实、增强现实、区块链、量子计算等新兴技术在各行各业得到广泛应用,为各个领域带来了新的活力和变革。 为了更好地了解…

手机可以搜索到wifi,但电脑搜索不到WiFi无线网络的解决方法

手机可以搜索到wifi,但电脑搜索不到WiFi无线网络的解决方法:(重点先尝试一下后面的 原因二) 手机可以搜索到wifi,但电脑搜索不到WiFi无线网络的解决方法 一般来说,手机如果可以搜索到路由器Wi-Fi无线信号,并且可以连上上网,说明路由器自身和设置肯定是没有任何问题的,这…

数据可视化-ECharts Html项目实战(7)

在之前的文章中,我们学习了如何设置漏斗图、仪表盘。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢 数据可视化-ECharts Html项目实战(6…

学习JavaEE的日子 Day32 线程池

Day32 线程池 1.引入 一个线程完成一项任务所需时间为: 创建线程时间 - Time1线程中执行任务的时间 - Time2销毁线程时间 - Time3 2.为什么需要线程池(重要) 线程池技术正是关注如何缩短或调整Time1和Time3的时间,从而提高程序的性能。项目中可以把Time…

DataX-Oracle新增writeMode支持update

目录 前言 第一步下载源码 第二步修改源码 1、Oraclewriter 2、WriterUtil 2.1、修改getWriteTemplate方法 2.2、新增onMergeIntoDoString与getStrings方法 3、CommonRdbmsWriter 3.1、修改startWriteWithConnection 3.2、修改doBatchInsert 3.3、修改fillPreparedStatem…

Flutter 拦截系统键盘,显示自定义键盘

一、这里记录下在开发过程中,下单的时候输入金额需要使用自定义的数字键盘 参考链接: https://juejin.cn/post/7166046328609308685 效果图 二、屏蔽系统键盘 怎样才能够在输入框获取焦点的时候,不让系统键盘弹出呢?同时又显示我们自定义的…

【SpringBoot从入门到精通】01_SpringBoot概述

一、Spring与SpringBoot 1.1 Spring Spring 是一款目前主流的 Java EE 轻量级开源框架,是 Java 世界最为成功的框架之一。Spring 由“Spring 之父”Rod Johnson(罗宾约翰逊) 提出并创立,其目的是用于简化 Java 企业级应用的开发难度和开发周期。 广义…

新网站收录时间是多久,新建网站多久被百度收录

对于新建的网站而言,被搜索引擎收录是非常重要的一步,它标志着网站的正式上线和对外开放。然而,新网站被搜索引擎收录需要一定的时间,而且时间长短受多种因素影响。本文将探讨新网站收录需要多长时间,以及新建网站多久…

Prometheus +Grafana +node_exporter可视化监控Linux + windows虚机

1、介绍 待补充 2、架构图 Prometheus :主要是负责存储、抓取、聚合、查询方面。 node_exporter :主要是负责采集物理机、中间件的信息。 3、搭建过程 配置要求:1台主服务器 n台从服务器 (被监控的linux或windows虚机&am…

【分布式】——CAPBASE理论

CAP&BASE理论 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/tree-learning-notes ⭐⭐⭐⭐⭐⭐ Spring专栏👉https://blog.csdn.net/weixin_53580595/category_12279588.html Sprin…

数仓 - [04] 数仓分层

数仓分层是一种将数据仓库按照不同的层级进行组织和管理的方法。每个层级具有不同的功能和目的,旨在支持数据分析、报告和决策等不同的业务需求。一、数仓分层的意义和目的数仓分层的主要目的是实现数据的高效访问和分析,提高数据的可用性和性能,同时提供更好的灵活性和可扩…

TheMoon 恶意软件短时间感染 6,000 台华硕路由器以获取代理服务

文章目录 针对华硕路由器Faceless代理服务预防措施 一种名为"TheMoon"的新变种恶意软件僵尸网络已经被发现正在侵入全球88个国家数千台过时的小型办公室与家庭办公室(SOHO)路由器以及物联网设备。 "TheMoon"与“Faceless”代理服务有关联,该服务…

Hybrid-PSC:基于对比学习的混合网络,解决长尾图片分类 | CVPR 2021

论文提出新颖的混合网络用于解决长尾图片分类问题,该网络由用于图像特征学习的对比学习分支和用于分类器学习的交叉熵分支组成,在训练过程逐步将训练权重调整至分类器学习,达到更好的特征得出更好的分类器的思想。另外,为了节省内存消耗,论文提出原型有监督对比学习。从实…

axios发送get请求但参数中有数组导致请求路径多出了“[]“的处理办法

一、情况 使用axios发送get请求携带了数组参数时,请求路径中就会多出[]字符,而在后端也会报错 二、解决办法 1、安装qs 当前项目的命令行中安装 npm install qs2、引入qs库(使用qs库来将参数对象转换为字符串) // 全局 import qs from qs Vue.proto…