易码技术论坛

 找回密码
 加入易码
搜索
查看: 343308|回复: 9

[源码] NC3K 关与 INT $C021

[复制链接]
发表于 2007-6-13 19:34:24 | 显示全部楼层
即时设置?
 楼主| 发表于 2007-6-13 19:37:49 | 显示全部楼层
是啊~
系统设置里有哦
不用关机的~~
发表于 2007-6-13 20:52:48 | 显示全部楼层
貌似我写的3000文书浏览加强版就有调节屏幕亮度的功能!!!
 楼主| 发表于 2007-6-14 08:12:10 | 显示全部楼层
引用第3楼Isword2007-06-13 20:52发表的“”:
貌似我写的3000文书浏览加强版就有调节屏幕亮度的功能!!!
那你那个是怎么写的啊?
发表于 2007-6-14 13:07:27 | 显示全部楼层
你是怎么写的啊,用debug还是汇编编译器?
编译为应用程序时怎么没有文件头呢……
 楼主| 发表于 2007-6-14 13:11:46 | 显示全部楼层
引用第5楼dragon_2007-06-14 13:07发表的“”:
你是怎么写的啊,用debug还是汇编编译器?
编译为应用程序时怎么没有文件头呢……
用ZHAOFEIXXX或GSMAKER都可以的啊!
发表于 2007-6-14 15:11:08 | 显示全部楼层
文件头啊啊啊……
把你想要写的程序的入口定义为START,然后在前面加这样一段:
.ORG $4000
.DB $AA,$A5,$5A
.DW $2000,$2000
JMP START
.DW $03E8,$0310,$FFFF
后面跟你的程序段,就行了。
 楼主| 发表于 2007-6-14 15:17:55 | 显示全部楼层
弄懂了.多谢!
发表于 2007-6-28 19:19:18 | 显示全部楼层
.ORG $4000
.DB $AA,$A5,$5A
.DW $2000,$2000
JMP START
.DW $03E8,$0310,$FFFF
START
INT $C006
CMP #$63  ;'C'屏幕亮度+1
BEQ screenbrightC
CMP #$78  ;'X'屏幕亮度-1
BEQ screenbrightX
CMP #$1B
BEQ quit
JMP START
quit
INT $0312
RTS
screenbrightC
     LDA $03E8
     CMP #$0F
     BNE screenbrightCloop
     JMP START
screenbrightCloop
     TAX
     INX
     TXA
     STA $03E8
     INT $C004
     JMP START
screenbrightX
     LDA $03E8
     CMP #$00
     BNE screenbrightXloop
     JMP START
screenbrightXloop
     TAX
     DEX
     TXA
     STA $03E8
     INT $C004
     JMP START
调屏幕亮度,程序不一定对,只是提供思路.
 楼主| 发表于 2007-6-13 18:43:44 | 显示全部楼层 |阅读模式
这个中断我是在反汇编NOR中时发现的
跟踪亮度调节的那里
是用来刷新屏幕亮度的
可是这个中断我感觉很奇怪
是这样的:
比如我直接这样写:
.ORG $4000
LDA #$01
STA $03E8 //$03E8是屏幕亮度的地址
INT $C021
RTS
结果屏幕亮度没有刷新,而且有时会死机
但我这样写
.ORG $4000
LDA #$01
STA $XXXX //任意一个不会破坏的地址
///再写
LDA #$01
STA $03E8
INT $C021
RTS
结果屏幕亮度被刷新了
看到了吧!
一个貌似无用的参数影响了 INT$C021这个中断
为什么?
有人研究过这个中断?
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-3-28 22:44 , Processed in 0.009805 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表