|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
树莓派Pico采用他自己的处理器RP2040,双核M0,133MHz。
" g, ]1 V; a, H! ~/ _; T' k为了体验它的双核编程环境和性能,我用它来实现一个AppleII
; O+ o! g, |2 p仿真,当然是在AppleWin代码基础上移植改造的。1 a7 w, Y* t0 h4 w5 \
( ?2 Y) u) ~ k( ?6 I4 L/ kCore0用作管理、外设仿真,Core1用作CPU6502/Z80仿真。* b. D6 {' Y" e6 t$ \$ ^
采用SIO/FIFO实现两个核的数据交换。! i' i) @1 U0 s1 y: c
自旋锁用于需要共同操作的UART操作权管理。
0 n2 R( t% E7 \3 D* x1 Q; n( i' Q1 W9 M) K* L1 {
ROM和磁盘数据放在FlashMemory中。) N! \" ] i! b; H" \
7 a2 ]9 \; v b2 T( d( q! C在RP2040仿真AppleII,可以达到真机速度的1.6倍。
9 m% J+ F) U7 b( l/ O1 BRPi Pico当然只能串口屏。
8 j/ a; P" c; ]8 N- n% ^ V$ o6 M
__Pico板__(RP2040)_______ili9341串口屏___________
0 M* u, D3 \8 P- ~' G; E# U8 u' I+ g Pin-16 GP12/SPI1-RX SDO(MISO) [非必须]# u0 P7 `" D% x1 X: R
Pin-14 GP10/SPI1-SCK SCK时钟
4 A5 i9 |6 O6 O$ {, u) B Pin-15 GP11/SPI1-TX SDI(MOSI)
+ T M, {4 s, r G/ h8 f Pin-17 GP13/SPI1-CSn CS
6 K/ `% u1 a" B' C. | Pin-19 GP14 DC数据/命令选择, g! f4 R- ]# p) H @7 s$ W. k! k
Pin-20 GP15 RST复位 [非必须]
. w3 \# I& U' ^- A( V
% Y5 ~1 q& D! T! Z1 k__Pico板__(RP2040)_______SD卡接口_____
# P9 @3 X+ |9 m% n7 ~0 A5 L' r Pin-1 GP0/SPI0-RX MISO
8 `# u {# |( h) ?+ l. u Pin-2 GP1/SPI0-CSn CS
& v2 v9 `9 ?# F: ~5 W5 w1 S F Pin-4 GP2/SPI0-SCK SCK时钟" c, y( N; R: y8 [& m, X0 }4 i& f
Pin-5 GP3/SPI0-TX MOSI
& e% J$ C$ Z6 F$ B# }% V) b1 g4 \7 Y6 E: s6 v
__Pico板__(RP2040)_______UART串行通讯接口_____ c- a+ w7 a% G/ ?
Pin-6 GP4/UART1-TX RS-232-RX8 @- k$ r# Y$ Q' O/ L. [+ y
Pin-7 GP5/UART1-RX RS-232-TX; S5 y7 X; ~7 h
9 G' h9 T2 n% h6 v; `
__Pico板__(RP2040)____AppleII必备的外设信号___* Q o7 C/ u# Z* L7 Q
Pin-9 GP6 摇杆[上]
& X) B" h, F. E! T% p Pin-10 GP7 摇杆[下]
1 C f" I' K. T; P5 X- W Pin-11 GP8 摇杆[左]! d3 s& }8 `- a" l9 O( Q# C
Pin-12 GP9 摇杆[右]
! M0 d; I2 R+ k Pin-21 GP16 摇杆[按钮A]
" v/ w9 s' ^& W* X" C Pin-22 GP17 摇杆[按钮B]$ E, F7 U! @& _1 b' w4 [9 m& }
Pin-34 GP28 扬声器输出
( N- [' P" q4 |# J1 \" L/ F/ Y& h: k" a( j m' o! v2 Z
板上LED灯用于模拟磁盘访问指示灯。
' W a' C S5 @$ P2 A- n; T
0 q( V7 m9 D4 H! JUART串口实现一个简单的调试控制,有如下命令:
7 F1 k" `" _( h e T:单步执行
( H8 ?7 I! ~* u( g R:查看6502/Z80寄存器8 S7 R8 x$ @4 y9 X
G:开始运行(上电处于运行状态)
8 w1 z: z0 n& j8 V8 @ P:停止运行
; g/ [# i( {) ~, ^1 c- v @:复位6502/Z80
, B1 t0 @: k1 U /:后续字符串作为键盘输入给AppleII
6 }. k, W( r7 b- ^7 I( n/ w9 {3 T) w+ ~# U0 r
Project仍在完善中。: @7 l9 V3 R+ a ~ L; P
暂时先提供一个uf2固件代码,供大家把玩。
2 C0 }; X% p9 c3 n- R! |这个固件是经典的LodeRunner(警察抓小偷)游戏。
8 t; X& ~ T9 T6 c' p3 T% g用六个按钮就可以玩起来。
* m7 }7 m3 n/ W7 h% m$ [' j: s |
|