|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
树莓派Pico采用他自己的处理器RP2040,双核M0,133MHz。3 O( e' H7 C( [% e1 j; L1 t# O
为了体验它的双核编程环境和性能,我用它来实现一个AppleII* K( F4 d" {9 ]( [& V! p3 t0 l/ Z( U
仿真,当然是在AppleWin代码基础上移植改造的。* [- ~7 q5 Q' `5 b1 m
# [! T0 C1 E# u0 S2 `Core0用作管理、外设仿真,Core1用作CPU6502/Z80仿真。
/ |- y, E* i; a7 h, g: U采用SIO/FIFO实现两个核的数据交换。4 {% s4 G: ]* }' |& t5 Z
自旋锁用于需要共同操作的UART操作权管理。; v! D9 Q' S- P* R( \
. I: x+ w" T! s7 ]% UROM和磁盘数据放在FlashMemory中。
0 R M, \3 ]9 j4 V* t J1 F
) L- O& N$ w' r& Y/ L6 q# I在RP2040仿真AppleII,可以达到真机速度的1.6倍。, }; @5 o1 C7 p* |
RPi Pico当然只能串口屏。
. m6 }' g+ G4 E( u* p. N! D: h4 E4 w W- ]+ T8 Q4 H
__Pico板__(RP2040)_______ili9341串口屏___________
- ^% r4 Q; D7 I2 A+ p Pin-16 GP12/SPI1-RX SDO(MISO) [非必须]
: c0 @5 R, {- e Pin-14 GP10/SPI1-SCK SCK时钟3 @4 B' I1 j" b: `4 |
Pin-15 GP11/SPI1-TX SDI(MOSI)
$ p6 [: b! ]; }* G: `, ? Pin-17 GP13/SPI1-CSn CS
1 n- r; r g/ T3 K, w) M# S, b% R4 ? Pin-19 GP14 DC数据/命令选择
- ^' I$ ~( S4 g! {' z: P8 J$ z8 q Pin-20 GP15 RST复位 [非必须]# E9 D1 o7 ~/ ? H( [& Y- h
. [' O& H5 e0 e& p! K__Pico板__(RP2040)_______SD卡接口_____
1 c o* Q# C* T% Z6 k: G7 H. W Pin-1 GP0/SPI0-RX MISO# T) e& G# W' o- I, U: }
Pin-2 GP1/SPI0-CSn CS
8 o3 _# v3 _) N! M, q2 q% X. f; I" \- E Pin-4 GP2/SPI0-SCK SCK时钟& p! z% v/ Y R2 o4 ~4 n9 \/ t
Pin-5 GP3/SPI0-TX MOSI: O: w. q, J) p% N
' N( l: b, B" J4 Y) J. _ D
__Pico板__(RP2040)_______UART串行通讯接口_____
7 `2 i, K0 ~6 w# r1 g Pin-6 GP4/UART1-TX RS-232-RX
- [+ L5 M8 A# S% |. \! S Pin-7 GP5/UART1-RX RS-232-TX
# [4 h& M# @! \6 w+ d
2 [& K8 b% Z3 \# @) n__Pico板__(RP2040)____AppleII必备的外设信号___; D' d, D( X% |2 F4 o8 B
Pin-9 GP6 摇杆[上]
/ o( q( z3 G( } Pin-10 GP7 摇杆[下]1 W! r5 n$ v( o/ g: R
Pin-11 GP8 摇杆[左]" u7 ?! i& ^9 Z8 L+ x
Pin-12 GP9 摇杆[右]4 B6 u$ z7 A& b4 x. F
Pin-21 GP16 摇杆[按钮A]& H! k* `) j+ j8 x
Pin-22 GP17 摇杆[按钮B]- L/ m/ _% L/ Y( ]3 W
Pin-34 GP28 扬声器输出
( B D% @+ u y* M3 D/ _" G: z7 P# c+ g( k, U( b# q! W" |7 Z
板上LED灯用于模拟磁盘访问指示灯。8 R2 B1 X( q+ H0 Q2 e- [
, B, B3 N* P) }4 Y- k9 J
UART串口实现一个简单的调试控制,有如下命令:, }& x$ g. x5 p" E% [2 Q
T:单步执行* [: O3 _2 F0 r. [
R:查看6502/Z80寄存器
/ K6 f0 z/ f/ \4 g& n4 L O G:开始运行(上电处于运行状态)" Z b) ^ h$ i0 Y
P:停止运行
* I# L; v" _( k, Y0 C5 U& l @:复位6502/Z80
9 c9 ]) {3 }$ @# D" J" U V: Y /:后续字符串作为键盘输入给AppleII# K2 p. `6 N# w8 H j6 H
% q- x5 X& H. B, X
Project仍在完善中。; J" b f( W5 Q$ r5 n+ H5 O/ R
暂时先提供一个uf2固件代码,供大家把玩。
. N5 V0 P# S- w& M# [这个固件是经典的LodeRunner(警察抓小偷)游戏。9 \6 m' H3 e* m' U4 c$ Y
用六个按钮就可以玩起来。
' Q- Y- F1 i# b0 Q3 u |
|