| 
 
注册时间2004-9-25最后登录1970-1-1 
 | 
 
| 新华词典下载版说明: 
 下载xh.dat,xh两个文件到LavaData文件夹,将xh当作系统程序运行或者修改nor 03页5c2d的那个路径修改成/LavaData/xh(以00结尾),这样就可以用原来的菜单运行新华词典了。
 提供一下思路:
 首先将由0b3c到0c2f块,也就是 新华数据.bin,xh_to_uni,xh_input,xh_exfont,xh_bs,xh_bh,xh_grap这些文件对应的块保存为一个文件xh.dat,然后写一段程序:
 
 
 .org $9000
 
 ReadAllBlockNum
 ldx #$20
 RABNL1
 lda xhdat-1,x
 sta $088c,x
 dex
 bne RABNL1
 lda #$80
 sta $08c9
 int $0515
 bcc RABNL2
 int $0312
 RABNL2
 ldx #$06
 RABNL3
 lda $08e5,x
 sta $bcff,x   ;xh.dat文件的第一第二第三块写入$bd00
 dex
 bne RABNL3
 lda $08ec
 sta $0888
 lda $08ed
 sta $0889
 LDA #$00
 STA $088A
 STA $088B
 LDA #$06
 STA $F0
 LDA #$bd
 STA $F1
 LDA #$fa
 STA $09D2
 LDA #$01
 STA $09D3
 int $0505   ;由最后一块的块号读出剩余块的块号
 int $0517
 rts
 ReadNandM
 lda $0888
 pha
 lda $0889
 pha
 lda $088a
 pha
 lda $088b
 pha
 sec
 lda $0888
 sbc #$3c
 sta $4e
 lda $0889
 sbc #$0b   ;原块号减去0b3c
 sta $4f
 asl $4e
 rol $4f
 clc
 lda $4e
 adc #$00
 sta $4e
 lda $4f
 adc #$bd
 sta $4f
 ldy #$00
 lda ($4e),y
 sta $0888
 iny
 lda ($4e),y
 sta $0889   ;读得新的块号
 int $0505
 pla
 sta $088b
 pla
 sta $088a
 pla
 sta $0889
 pla
 sta $0888
 rts
 xhdat
 .db "/LavaData/xh.dat",0
 将这段程序写入到xinhua文件偏移$5000,然后将文件原来的全部int $0505修改成jsr ReadNandM。再在文件偏移的$7fe0处写入:
 20 00 90 4c d3 44 20 00 90 4c c1 44 20 00 90 4c ca 44
 再修改一下文件头,也就是将偏移0处改成:
 4c e0 bf 60 60 ea e0 bf e6 bf ec bf
 文件在这里:
 不提供下载了 -__-
 里边的xh.rar就是了(假如看不到文件就按一下文件列表上面的那个刷新按钮)。
 
 郁闷了,发现要改系统中断int $c701(这个是取字模的中断,int $c719用到的)才可以显示那些字。。。很难做到通用啊。。。除非在程序中自己写一个修改版的int $c719,但是那也太郁闷了。。。
 
 
 崩溃。。。越反发现要改的东西越多,竟然bios都要改。。。
 我放弃了,无能为力啊。
 大家当我没发过这帖吧。。。
 | 
 |