APPLE ii /E 的内存体系结构和游戏杆控制IO表。
PC电脑 74LS138组成的游戏杆 I/O 端口是 读201h写201h
apple ii /e 游戏杆端口开关(三态输出数据选择器74LS251)
十六进制地址 游戏口选通脉冲 STB $c04X 49216~49231 AN0 关 $c058 49240 AN0 开 $c059 49241 AN1 关 $c05a 49242 AN1 开 $c05b 49243 AN2 关 $c05c 49244 AN2 开 $c05d 49245 AN3 关 $c05e 49246 AN3 开 $c05f 49247 按钮开关 SW0 $c061(or $c069) 49249 SW1 $c062(or $c06a) 49250 SW2 $c063(or $c06b) 49251 游戏杆 PDL0 $c064(or $c06c) [A] PDL1 $c065(or $c06d) [B] PDL2 $c066(or $c06e) [C] PDL3 $c067(or $c06f) [D]
apple ii /e 系统内存结构分配表(简)
零页用法: 零页用法: 0~5 跳指令到applesoft A~C USR()函数跳转地址 D~17 applesoft的常规国家标识 20~4F apple ii 系统的保留地址 50~61 applesoft 常规指针 62~66 上次的乘法/除法结果 67~68 程序开始点,由ROM的$801设置,或由RAM的$3001设置(磁带) 69~6A 简单变量的开始点,每次由程序加5,不能在LOMEM中手动改变结构 6B~6C 数组开始空间 6D~6E 数字记录结束点 6F~70 字串记录点。 71~72 常规指针 73~74 在applesoft里设置高内存可用,初始化是起点,完成后是结束点 75~76 当前执行行号 77~78 以前的行号,被control-C中断过的或执行中断的行号 79~7A 以前的文本指针,方便下次使用 7B~7C 当前开始读DATA的行号 7D~7E 当前读入DATA进内存的绝对地址 7F~80 当前输入口指针,由$201 INPUT 和 DATA READ使用 81~82 获得过去的使用变量名 83~84 过去使用的变量值指针 85~9C 常规说明 9D~A3 主要的浮点加法器 A4 常规的使用浮点数学环 A5~AB 第二个浮点加法器 AC~B0 常规的说明标志指针组 B1~C8 CHRGET 环,applesoft 调用后是另外字符。 B8~B9 通过CHRGET环反映的过去的字符指针 C9~CD 随机数 D0~D5 高分辨图形指针 D8~DF ONERR 指针组/搜索组 E0~E2 高分辨图形X,Y坐标 E4 高分辨图形颜色属性字节 E5~E7 常规使用高分辨图形模式 E8~E9 链表指针开始 EA 高分辨率图形的页面模式 F0-F3 常规标志 F4~F8 ONERR 指针 (00-FF 意思相近,请纠错) 0100~01FF 系统堆栈 0200~02FF 输入缓冲区(字符不能超过256) 03FE~03FF 中断向量 0400~07FF 文本/低分辨率第一页缓冲区 0800-0BFF 第二页缓冲区 2000-3FFF 高分辨率作图第一页缓冲区 4000-5FFF 高分辨率第二页缓冲区 0C00~BFFF RAM用户区 C030 喇叭 C070 计时器(558象限时间器) C0-CF为接口区 C0 为板上接口 C1~C7为扩展插槽 C8~CF为扩展ROM C080~C0FF 平均分给每个槽(256+16+8) C090~C09F 为一号槽 C0A0~C0AF 为二号槽
补全保留地址部分和在applewin 调试器中的助记符号
自动启动监控程序注释
自动启动监控程序注释 loc0 $00 ;磁盘 I/O 口向量低位暂存单元 loc1 $01 ;磁盘 I/O 口向量高位暂存单元 wndlft $20 ;屏幕窗口左极限列存贮单元 wndwdth $21 ;屏幕窗口总列数存贮单元 wndtop $22 ;屏幕窗口最高行数存贮单元 wndbtm $23 ;屏幕窗口最低行数存贮单元 ch $24 ;光标水平位置指针(列计数) cv $25 ;光标高度指针(屏幕字符行计数) gbasl $26 ;低分辨图形象元位置基值向量低字节 gbash $27 ;低分辨图形象元位置基值向量高字节 basl $28 ;光标位置基值向量低字节 bash $29 ;光标位置基值向量高字节 bas2l $2a ;光标基值向量低字节暂存单元 bash $2b ;光标基值向量高字节暂存单元 h2 $2c ;低分辨图形列极限暂存单元 lmmem $2c ;反汇编左助记符代码暂存单元 v2 $2d ;低分辨图形行极限暂存单元 rmnem $2d ;反汇编右助记符代码暂存单元 mask $2e ;图象元颜色屏幕字暂存单元 chksum $2e ;写,读磁带时“检查和”存贮单元 format $2e ;反汇编寻址方式代码存贮单元 lastin $2f ;检查读磁带,信号单元,平时D7=0 length $2f ;反汇编操作数字节计数存贮单元 sign $2f ; color $30 ;低分辨图形象元颜色代码存贮单元 mode $31 ;监控键盘命令中“:",".","-","x"方式存贮单元 invflg $32 ;屏幕显示方式代码存贮单元 prompt $33 ;操作状态提示符存贮单元 ysav $34 ;变址寄存器Y暂存单元 ysav1 $35 ;变址寄存器Y暂存单元 cswl $36 ;字符输出软开关低字节,通常存$f0 cswh $37 ;字符输出软开关高字节,高常存$fd kswl $38 ;字符输入子程序低字节,通常存$1b kswh $39 ;字符输入处理子程序高字节,通常存$fd pcl $3a ;指令计数器PC低字节暂存单元 pch $3b ;指令计数器PC高字节暂存单元 a1l $3c ;操作数地址缓冲区a1低字节存贮单元 a1h $3d ;a1高字节存贮单元 a2l $3e ;操作地址缓冲区,a2低字节存贮单元 a2h $3f ;a2高字节存贮单元 a3l $40 ;操作数地址缓冲区a3 a3h $41 ;a3高字节存贮单元 a4l $42 ;操作数地址缓冲区a4 a4h $43 ;a4高字节存贮单元 a5l $44 ;操作数地址缓冲区a5 a5h $45 ;a5高字节存贮单元 acc $45 ;累加器内容暂存单元 xreg $46 ;变址寄存器X内容暂存单元 yreg $47 ;变址寄存器Y内容暂存单元 status $48 ;状态寄存器P内容暂存单元 spnt $49 ;堆栈指针S内容暂存单元 pndl $4e ;随机数产生器低字节 pndh $4f ;随机数产生器高字节 pick $95 ;ctrl/u字符代码 in $200 ;键盘输入字符缓冲区首址 brkv $3f0 ;新断点向量,在磁盘启动后置入 softev $3f2 ;“软进入向量”暖起动低位存贮单元,软向量一般为$e003 pwredup $3f4 ;建立“电源合上”标志字节,一般存$45 amperv $3f5 ;applesoft,入口向量 usradr $3f8 ;用户子程序向量 nmi $3fb ;不可屏蔽中断向量 irgloc $3fe ;用户设置的处理断点程序向量 line1 $400 ;屏幕显示器缓冲区首址(显示缓冲区第一页) mslot $7f8 ;磁盘 I/O向量高字节暂存单元 oadr $c000 ;I/O设备码存贮区首址 kbd $c000 ;键盘输入I/O地址 kbdstrb $c010 ;清键盘选通I/O地址 tapeout $c020 ;磁带输出 I/O 地址 spkr $c030 ;扬声器输出 I/O 地址 txtclr $c050 ;设置屏幕为显示图形工作方式地址 txtset $c051 ;设置屏幕为显示文本工作方式地址 mixclr $c052 ;设置屏幕为显示完整图形式文本方式地址 mixset $c053 ;设置屏幕为显示文本 lowscr $c054 ;显示缓冲区第一页地址 hiscr $c055 ;显示缓冲区第二页地址 lores $c056 ;显示低分辨率图形方式设备码 hires $c057 ;显示高分辨率图形方式设备码 setan0 $c058 ;开游戏软开关an0设备码 clran0 $c059 ;关游戏软开关an0设备码 setan1 $c05a ;开游戏软开关an1设备码 clran1 $c05b ;关游戏软开关an1设备码 setan2 $c05c ;开游戏软开关an2设备码 clran2 $c05d ;关游戏软开关an2设备码 setan3 $c05e ;开游戏软开关an3设备码 clran3 $c05f ;关游戏软开关an3设备码 tapein $c060 ;7位磁带数据输入地址 paddl0 $c064 ;游戏接口电位器PDL0输入设备码 ptrig $c070 ;清除游戏电位器模拟量输入设备码 clrrom $cfff ;扩展PROM选通设备码 basic $e000 ;BASIC状态入口 basic2 $e003 ;BASIC状态入口
Apple II /e 模拟软件 APPLEWIN 的新表: A2C.VMODE $4FB [M] DOS33.MODE A2C.ROMSTAATE $478 [M] TEXT.HOLE.1 A2C.TEMP1 $4F8 [M] TEXT.HOLE.2 A2C.TEMPA $578 [M] TEXT.HOLE.3 A2C.DEVN0 $778 [M] TEXT.HOLE.7 MSLOT $7F8 [M] TEXT.HOLE.8 basic 表 [别名.数值.系统:B=BASIC,M=主系统,称谓] DSCTMP $9D [B] FAC DATAFLG $13 [B] GARFLG LOC0 $00 [M] GOWARM ARYPNT $94 [B] HIGHDS Warn: INCREMENT.FAC.MANTISSA (22>20) BUF/IN $200 [M] INPUT.BUFFER KBD/CLR80STORE $C000 [M] KEYBOARD DPFLG $9B [B] LOWTR A1H $3D [M] MON.A1H A1L $3C [M] MON.A1L A2H $3F [M] MON.A2H A2L $3E [M] MON.A2L CH $24 [M] MON.CH Warn: MOVE.HIGHEST.STRING.TO.TOP (26>20) EOL.PNTR $0F [B] NUMDIM OLDTEXT $79 [B] P.ADD LINNUM $50 [B] P.AND DATLIN $7B [B] P.MUL INPTR $7F [B] P.NEQ XREG $46 [M] P.OR DATPTR $7D [B] P.PWR L $E8FD [B] SHIFT.RIGHT.3 CPRMASK $16 [B] SIGNFLG DECTBL.END $EE8D [B] SQR Warn: STA.IN.FAC.SIGN.AND.EXP(23>20) Warn: STORE.FAC.AT.YX.ROUNDED(23>20) Warn: STORE.FAC.IN.TEMP1.ROUNDED(26>20) Warn: STORE.FAC.IN.TEMP2.ROUNDED(26>20) SGNCPR $AB [B] STRNG1 SERPNT $AD [B] STRNG2 HIRES $C057 [M] SW.HIRES HISCR $C055 [M] SW.HISCR LORES $C056 [M] SW.LORES LOWSCR $C054 [M] SW.LOWSCR MIXCLR $C052 [M] SW.MIXCLR MIXSET $C053 [M] SW.MIXSET TXTCLR $C050 [M] SW.TXTCLR FNCNAM $8A [B] A.TEMP3 NUMDIM $0F [B] TKN.CNTR INDX $99 [B] TMPEXP LASTOP $87 [B] TXPSV TXTPTR $B8 [B] TXTPTRL HIGHDS $94 [B] HIGHDSL
其它的可以看 applewin模拟器软件目录下的A2_basic.sym和apple2e.sym这两个文件