Jump to content

sup8pdct

Members
  • Content Count

    935
  • Joined

  • Last visited

Everything posted by sup8pdct

  1. Mega Bump. Still want pics of inside of atr8500 and rom dump. James
  2. From my original disk. book has many more pages that contain things not at all related to atmas, eg: forth and birth control :-o James
  3. Part of book relating to above ATR atmas.pdf
  4. Here is ATmas macro assembler disk image. The menu item run assembler doesn't seam to work. Do load instead. I have no idea how to post it to atarimania. will scan the book/ instructions soon. James ATMAS.ATR
  5. In your idle time, you could program up an archiver or happy clone for the indus with ramcharger installed :-D James
  6. I personally have found that a transistor array chip on the mother board that amplifies both audio and video can pick up noise not only from within itself (video noise in audio) but from other sources. Some chips are better then others. If the computer works, I would be looking at this area. Maybe better power supply filtering. James
  7. Just listened to #17. mention was made od SIO2??? devices. I have a sio2USB http://www.realdos.net/sio2usb.html It works very well. James
  8. I have just heard the interview with bill wilkinson. The time lines he talks about in regards to DOS 3 don't make sense. He said dos 3 was written near the end of oss and last gasp for the 8 bit line which was near 1988. DOS3 came out with the 1050 in 1983. I personally don't think bill wrote DOS3 and it would seam to me that he may be confusing DOS3 and DOSXE. Maybe someone can email him to confirm my thoughts. James
  9. The schematic says an 8050, same as XF551. Schematic also says an extra ram chip 6116. assuming schematic is correct. James
  10. Hi guys. In ep 16?, mention was made of printer numbers that the os could support. Did you know that most atari direct connect printers respond to P as well as a a unique P number? I direct you to an article in compute 073 page 112. Makes for interesting reading. Any one tried the X series printers for unique numbers? James
  11. If you can get a salt cart, plug it in and run ram test. If you cannot get one, I would try another memory card. A long shot is to swap both pia and gtia chips. The processor most likely cannot be swapped over but that depends on how late the 400 was built and if it is PAL or nojames
  12. Only difference between 400 and XL antic is number bits for refresh. I think latter antics will work in early computers, but not other way round due not to refreshing ram properly. I could be wrong tho. James
  13. Looks to me like a faulty ANTIC chip, or maybe ram. That black line towards the bottom should not be there. Dont swap ram chips with 800xl. The 400 std ram chips have 12v on one of the pins that will fry the ones from XL. I would try swaping antic first. James
  14. Digging through the code more, It would appear the format code and sector divide for read/write is fixed at 1280 sectors, 16 sector per track, despite status bits supporting 26 and 18 sector per track and support for 128/256 byte sectors. Wondering if it is work in progress and this is a proof of concept version. James
  15. Below is a small snippet of code from similar locations in each rom. Apart from address difference of the 351 code , It does the same thing. XF351... mov a,#80h nop nop nop nop jf0 X025f nop nop X024c: nop nop nop jf0 X025f nop nop nop nop nop nop nop nop nop nop nop nop nop nop X025f: clr c XF551 1st version, worked for ntsc, not PAL mov a,#80h nop nop nop nop jf0 X0259 nop nop X0246: nop nop nop jf0 X0259 nop nop nop nop nop nop nop nop nop nop nop nop nop nop X0259: clr c XF551 Patched to work on PAL MOV A,#80H NOP NOP NOP NOP JF0 A259 NOP NOP A246 NOP NOP NOP JF0 A259 NOP NOP NOP NOP NOP JMP A2EE NOP ;never gets here A253 NOP NOP NOP NOP NOP NOP A259 CLR C " " A2EE JMP A253 " As you can see, the PAL version (which works on ntsc as well) has a JuMP to end of that pages code then jumps back. The affect is to add one machine cycle to the timing of receiving of each bit. There are 3 locations where one machine cycle had to be added. The above code is 1/2 of what is used to receive data frames. Command frames use very different code but it too has been patched to add in one cycle. James
  16. Its sio code is same as early xf551. It wouldnt work on pal. Atari patched the code to make it work by adding one machine cycle to the timing routines. I can show you if you like. James
  17. The code is very similar with all 8040 pins appearing to have the same function between the 2. My guess is the XF351 was done first then the XF551 was done latter using the code from the 351 as a start point. Many routines are the same, some even in the same location. So i would say yes. BUT, it wont work on PAL computers. James
  18. I found D48 hidden in here. http://cd.textfiles.com/psl/pslv2nv06/PRGMMING/DOS/ASM/ as part of another archive. Where i originally got it from, i cannot remember. attached is D48. run from winblows command prompt or dosbox for PC James d48.zip
  19. Bob. Could you please try to format a disk DS DD 40 tracks, 16 sectors per track. This should get a working format of 1280 odd sectors with the XF351. The single density format you done, does dos think it was successful but it wasn't? Only way to tell is to read beyond sector 720 and see what happens. James
  20. You wont see much with a hex editor. The above listing is from a dissembler called D48. James
  21. Digging a bit more, it appears the full single sided 80 track disk is treated as a double sided 40 track disk. Also the percom block can return either 26, 18 or 16 sectors per track. Need to dig more to see which densitys do what. The percom block aux byte returns $48 (H) if in high speed mode or $41 (A) in normal speed mode. The XF551 returns $41 always. James Edit: It won't work on PAL computers. The sio routines are not patched.
  22. The other 3 commands are R, P, W with high bit set. It doesn't appear that high bit set means anything at this point. The H command appears to set high speed sio, a similar speed to the XF551. All bytes sent/returned after the H command is issued with a $01 in one of the aux bytes will be at high speed except for the command frame. Once high speed is set, Instead of A (ack) returned for command Acknowledge, a H is returned. To turn off, issue a H command with 0 in aux bytes. A custom dos required for this baby. James dissembley below for those interested. Scant comments tho. ; ; D48 V3.4.1 8048 Disassembly of romc7b5.bin ; 2014/11/19 05:14 ; org 0 ; sel mb0 jmp X0175 ; sel rb0 sel mb0 jmp X0038 ; sel mb0 dis tcnti stop tcnt call X0037 X000c: mov r0,#0fbh mov @r0,#2 X0010: mov r7,#0c2h strt t anl p2,#0f8h en i X0016: jtf X001a jmp X0016 ; X001a: djnz r7,X0016 X001c: anl p1,#0dch orl p1,#20h movx a,@r0 cpl a jb7 X0028 anl p2,#0f7h anl p1,#0efh X0028: anl p2,#0efh X002a: jmp X002a ; X002c: en i in a,p1 anl a,#10h jz X0028 mov a,r7 jnz X0016 jmp X001c ; X0037: retr ; X0038: anl p1,#7fh dis tcnti dis i call X0037 in a,p2 anl a,#7 jz X0060 mov r0,#0fbh mov @r0,#4 mov r7,#0c2h strt t anl p2,#0f8h xrl a,#4 jz X0060 xrl a,#3 jz X0060 in a,p1 anl a,#10h jz X0060 anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a X0060: mov r0,#0f9h mov r1,#0 mov r2,#5 X0066: jni X0076 jmp X002c ; X006a: mov @r0,a dec r0 add a,r1 addc a,#0 mov r1,a mov r3,#5 X0072: djnz r3,X0072 jt0 X00bc X0076: jnt0 X0066 mov a,#80h mov r3,#7 X007c: djnz r3,X007c X007e: nop mov r3,#8 X0081: djnz r3,X0081 clr c jt0 X0089 cpl c jmp X008c ; X0089: nop nop nop ; X008c: rrc a jnc X007e djnz r2,X006a xrl a,r1 jnz X00bc nop mov r3,#6 X0097: djnz r3,X0097 jt0 X00bc jni X009f jmp X002c ; X009f: mov r1,#31h in a,p2 anl a,#0c0h xrl a,#0c0h jz X00b3 inc r1 xrl a,#40h jz X00b3 inc r1 xrl a,#0c0h jz X00b3 inc r1 X00b3: mov r0,#0f9h mov a,@r0 xrl a,r1 jnz X00bc sel mb0 jmp X0100 ; X00bc: jni X00bc jmp X002c ; org 100h ; X0100: orl p2,#20h mov r0,#0f8h mov a,@r0 xrl a,#52h ; R read jz X010d xrl a,#20h ; r small r jnz X0112 X010d: orl p2,#1 sel mb1 jmp X0900 ; X0112: xrl a,#22h ; P put jnz X011b X0116: orl p2,#2 sel mb1 jmp X0900 ; X011b: xrl a,#7 ; W write jnz X0124 X011f: orl p2,#3 sel mb1 jmp X0900 ; X0124: xrl a,#4 ; S status jnz X012d orl p2,#7 sel mb0 jmp X03a8 ; X012d: xrl a,#72h ; ! format jnz X0136 orl p2,#5 sel mb0 jmp X0157 ; X0136: xrl a,#6fh ; N percom block jnz X013f orl p2,#7 sel mb0 jmp X0421 ; X013f: xrl a,#1 ; O percom block jnz X0148 orl p2,#4 sel mb0 jmp X048b ; X0148: xrl a,#7 ; H ????? jnz X0151 orl p2,#7 sel mb0 jmp X0400 ; X0151: xrl a,#6ah ; " format jnz X015a orl p2,#5 X0157: sel mb0 jmp X0500 ; X015a: anl p2,#0dfh xrl a,#0f0h ; $d2 R with high bit set jz X010d ; jump to read xrl a,#2 ; $d0 P with high bit set jz X0116 ; jump to put xrl a,#7 ; $d7 W with high bit set jz X011f ; jump to write X0168: mov r0,#0fbh mov a,#1 mov @r0,a mov a,#4eh ; Nak sel mb0 call X020b ; go send nak sel mb0 jmp X002c ; X0175: dis i dis tcnti mov a,#2ch outl p1,a mov a,#0e0h outl p2,a sel rb0 clr f0 clr f1 mov r0,#10h call X01cb mov r0,#0fbh mov @r0,#0 anl p1,#0efh mov r0,#0f9h X018c: djnz r0,X018c orl p1,#10h anl p1,#0dch orl p1,#0 mov a,#0 movx @r0,a call X01b5 mov r1,#0ch X019b: anl p1,#0dch orl p1,#0 mov a,#40h movx @r0,a call X01b5 djnz r1,X019b anl p1,#0dch orl p1,#0 mov a,#0 movx @r0,a call X01b5 mov a,#2ch outl p1,a en i X01b3: jmp X01b3 ; X01b5: mov r0,#95h stop tcnt clr a mov t,a strt t jtf X01bd X01bd: in a,p1 anl a,#4 jz X01c3 ret ; X01c3: jtf X01c7 jmp X01bd ; X01c7: djnz r0,X01bd stop tcnt ret ; X01cb: stop tcnt clr a mov t,a strt t jtf X01d1 X01d1: jtf X01d5 jmp X01d1 ; X01d5: djnz r0,X01d1 stop tcnt ret ; org 200h ; X0200: stop tcnt clr a mov t,a jtf X0205 X0205: mov a,#48h ; H high speed ack return? jf0 X020b mov a,#41h ; Ack X020b: clr f1 X020c: jni X020c jni X020c en i orl p1,#80h clr c cpl c nop nop nop X0218: mov r6,#8 X021a: djnz r6,X021a rrc a jc X0223 orl p1,#80h jmp X0227 ; X0223: anl p1,#7fh jmp X0227 ; X0227: clr c jnz X0218 ret ; X022b: en tcnti strt t X022d: jnt0 X022d clr a clr f1 nop nop jmp X023f ; X0235: jt0 X02b9 X0237: jnt0 X0237 inc r0 mov @r0,a dec r0 add a,r1 addc a,#0 X023f: mov r1,a X0240: clr a mov t,a mov a,#80h nop nop nop nop jf0 X025f nop nop X024c: nop nop nop jf0 X025f nop nop nop nop nop nop nop nop nop nop nop nop nop nop X025f: clr c jt0 X0265 cpl c jmp X0268 ; X0265: nop nop nop ; X0268: rrc a jnc X024c jf0 X027b nop nop nop nop nop nop nop nop nop nop nop nop nop nop ; X027b: jf1 X028a djnz r0,X0235 jt0 X02b9 X0281: jnt0 X0281 xch a,r1 add a,r1 addc a,r0 mov r0,a cpl f1 jmp X0240 ; X028a: clr f1 nop jt0 X02b9 X028e: jnt0 X028e stop tcnt dis tcnti mov t,a add a,r0 addc a,#0 clr c cpl c nop nop nop nop nop ; jf0 X02b4 nop X02a0: nop nop nop nop ; jf0 X02b4 nop nop nop nop nop nop nop nop nop nop nop nop nop nop ; X02b4: rrc a jc X02bc jt0 X02be X02b9: sel mb0 jmp X000c ; X02bc: jt0 X02b9 X02be: clr c jnz X02a0 mov r0,#83h X02c3: djnz r0,X02c3 mov r0,#83h X02c7: djnz r0,X02c7 orl p1,#80h mov a,#41h clr c cpl c nop X02d0: nop nop ; jf0 X02d8 mov r0,#6 X02d6: djnz r0,X02d6 X02d8: rrc a jc X02df orl p1,#80h jmp X02e3 ; X02df: anl p1,#7fh jmp X02e3 ; X02e3: clr c jnz X02d0 in a,p2 anl a,#7 xrl a,#4 jz X02f0 sel mb1 jmp X0959 ; X02f0: sel mb0 jmp X0494 ; org 300h ; X0300: mov a,psw orl a,#1 mov psw,a mov a,#45h jf1 X030e mov a,psw anl a,#0feh mov psw,a mov a,#43h X030e: orl p1,#80h clr c cpl c nop ; org 315h ; X0315: nop ; org 317h ; jf0 X0327 nop ; org 327h ; X0327: rrc a jc X032e orl p1,#80h jmp X0332 ; X032e: anl p1,#7fh jmp X0332 ; X0332: clr c jnz X0315 mov a,r0 jz X039e mov r0,#9eh X033a: djnz r0,X033a mov r0,#9eh X033e: djnz r0,X033e xch a,r0 clr f1 X0342: orl p1,#80h add a,@r0 addc a,#0 xch a,@r0 clr c cpl c jf0 X035f jmp X0353 ; X034e: nop ; org 350h ; jf0 X0360 nop X0353: nop ; org 35fh ; X035f: nop X0360: rrc a jc X0367 orl p1,#80h jmp X036b ; X0367: anl p1,#7fh jmp X036b ; X036b: clr c jnz X034e djnz r0,X037a jf1 X038d mov a,t xch a,r1 inc r0 cpl f1 jf0 X0342 jmp X0384 ; X037a: inc r0 mov a,@r0 dec r0 jf0 X0342 nop ; org 384h ; X0384: nop ; org 38bh ; jmp X0342 ; X038d: mov a,r1 jf0 X030e nop ; org 39ch ; jmp X030e ; X039e: mov a,psw jb0 X03a5 mov r0,#0fbh mov @r0,#0 X03a5: sel mb0 jmp X0010 ; X03a8: sel mb0 call X0200 sel mb0 mov r0,#83h X03ae: djnz r0,X03ae mov r0,#83h X03b2: djnz r0,X03b2 mov r3,#0 in a,p1 anl a,#8 jnz X03c2 mov r3,#80h in a,p2 jb5 X03c2 mov r3,#0a0h X03c2: mov r0,#0fbh mov a,@r0 orl a,r3 mov r3,a mov r2,#0ffh in a,p1 anl a,#10h jz X03db anl p1,#0dch orl p1,#20h movx a,@r0 cpl a mov r2,a jb7 X03db mov a,r3 orl a,#10h mov r3,a X03db: mov r1,#78h mov a,#0 mov t,a mov r0,#3 clr f1 sel mb0 jmp X0300 ; org 400h ; X0400: mov r0,#0f7h mov a,@r0 jz X040d xrl a,#1 jnz X041e clr f0 cpl f0 jmp X040e ; X040d: clr f0 X040e: sel mb0 call X0200 sel mb0 mov r0,#83h X0414: djnz r0,X0414 mov r0,#83h X0418: djnz r0,X0418 clr f1 sel mb0 jmp X0300 ; X041e: sel mb0 jmp X0168 ; ; PERCOM BLOCK ; X0421: sel mb0 call X0200 sel mb0 mov r0,#83h X0427: djnz r0,X0427 mov r0,#83h X042b: djnz r0,X042b mov r0,#0bh mov @r0,#28h dec r0 mov @r0,#0 dec r0 mov @r0,#0 dec r0 in a,p2 anl a,#30h xrl a,#30h mov @r0,#1ah jz X0451 mov @r0,#12h in a,p2 jb5 X0451 dis i orl p2,#20h in a,p2 jb5 X044e mov @r0,#10h X044e: anl p2,#0dfh en i X0451: dec r0 mov @r0,#0 in a,p2 anl a,#30h xrl a,#10h jnz X045d mov @r0,#1 X045d: dec r0 mov @r0,#0 in a,p2 anl a,#30h xrl a,#20h jnz X0469 mov @r0,#4 X0469: dec r0 mov @r0,#0 dec r0 mov @r0,#80h in a,p2 jb5 X0478 inc r0 mov @r0,#1 dec r0 mov @r0,#0 X0478: dec r0 mov @r0,#1 dec r0 mov @r0,#48h jf0 X0482 mov @r0,#41h X0482: clr a mov t,a mov r1,a mov r0,#0bh clr f1 sel mb0 jmp X0300 ; X048b: sel mb0 call X0200 sel mb0 mov r0,#0bh sel mb0 jmp X022b ; X0494: mov r0,#8 dis i in a,p2 orl a,#0cfh mov r1,a orl p2,#30h mov r2,#0efh mov a,r6 jnz X04aa mov a,r7 jnz X04dd in a,p2 jb5 X04d8 jmp X04dd ; X04aa: xrl a,#4 jnz X04dd mov r2,#0dfh mov a,r7 jz X04c2 xrl a,#1 jnz X04dd orl p1,#40h in a,p1 anl p1,#0bfh anl a,#40h jnz X04d8 jmp X04dd ; X04c2: mov r2,#0ffh mov a,@r0 xrl a,#1ah jnz X04d6 mov a,r5 jnz X04d6 mov a,r4 xrl a,#80h jnz X04d6 in a,p2 jb5 X04d8 jmp X04dd ; X04d6: mov r2,#0cfh X04d8: mov a,r2 mov r1,a clr f1 jmp X04e3 ; X04dd: clr f1 cpl f1 mov r0,#0fbh mov @r0,#4 X04e3: in a,p2 anl a,r1 orl a,#0c0h outl p2,a en i mov r0,#83h X04eb: djnz r0,X04eb sel mb0 jmp X0300 ; org 500h ; ; FORMAT ; X0500: anl p1,#0b7h sel mb0 call X0200 sel mb0 anl p2,#0f7h anl p1,#0efh mov r0,#83h X050c: djnz r0,X050c orl p1,#10h mov r0,#83h X0512: djnz r0,X0512 anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33h X051d: djnz r0,X051d clr a mov @r0,a dec r0 mov @r0,a cpl a dec r0 mov @r0,a dec r0 mov @r0,a mov r0,#0fbh mov @r0,#4 clr f1 X052d: anl p2,#0f7h anl p1,#0dch orl p1,#0 mov a,#0 movx @r0,a mov r0,#0c2h clr a mov t,a strt t X053b: jtf X0555 X053d: in a,p1 anl a,#4 jz X053b stop tcnt anl p1,#0dch orl p1,#20h movx a,@r0 anl p1,#0dch orl p1,#1 clr a movx @r0,a mov r2,a mov r0,#83h X0551: djnz r0,X0551 jmp X056b ; X0555: djnz r0,X053d X0557: stop tcnt anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33h X0561: djnz r0,X0561 clr f1 cpl f1 mov a,#0ffh mov r0,a sel mb0 jmp X0300 ; X056b: anl p1,#0dch orl p1,#3 mov a,r2 movx @r0,a anl p2,#0f7h anl p1,#0dch orl p1,#0 mov a,#10h movx @r0,a clr a mov t,a jtf X057e X057e: mov r0,#40h X0580: jtf X058f X0582: in a,p1 anl a,#4 jz X0580 stop tcnt anl p1,#0dch orl p1,#20h movx @r0,a jmp X0593 ; X058f: djnz r0,X0582 jmp X0557 ; X0593: mov r4,#10h mov r5,#0f8h mov a,r4 mov r0,a add a,#7fh mov r6,a mov r1,a X059d: mov @r1,#0 dec r1 mov a,r1 jb7 X059d mov a,r6 jmp X05ab ; X05a6: mov a,r1 add a,r5 X05a8: jb7 X05ab add a,r4 X05ab: mov r1,a mov a,@r1 jz X05b3 dec r1 mov a,r1 jmp X05a8 ; X05b3: mov a,r0 cpl a add a,r4 add a,#2 mov @r1,a djnz r0,X05a6 mov a,r6 mov r1,a jmp X0600 ; org 600h ; X0600: jf1 X0623 mov a,r2 add a,#0d8h mov a,#0f4h jnc X060b mov a,#0f6h X060b: anl p1,#0dch orl p1,#0 movx @r0,a anl p1,#0dch orl p1,#3 clr a mov t,a jtf X0618 X0618: mov a,#40h mov a,#4eh mov r0,#3bh mov r4,#40h strt t jmp X0702 ; X0623: stop tcnt clr a mov t,a mov r0,#0 mov r4,#40h anl p1,#0dch orl p1,#1 mov a,r2 movx @r0,a anl p1,#0dch orl p1,#2 mov a,@r1 dec r1 movx @r0,a anl p1,#0dch orl p1,#0 mov a,#80h movx @r0,a anl p1,#0dch orl p1,#23h strt t X0643: jtf X0666 X0645: jnt1 X0643 jnt1 X0643 X0649: movx a,@r0 djnz r0,X0645 clr a mov t,a jtf X0650 X0650: jtf X066c in a,p1 anl a,#4 jz X0650 stop tcnt anl p1,#0dch orl p1,#20h movx a,@r0 anl a,#3ch jnz X066c mov a,r1 jb7 X0623 jmp X066e ; X0666: jnt1 X066a jt1 X0649 X066a: djnz r4,X0645 X066c: jmp X0557 ; X066e: inc r2 mov a,r2 xrl a,#50h jz X0676 jmp X056b ; X0676: jf1 X067b cpl f1 jmp X052d ; X067b: stop tcnt clr f1 mov a,#7fh mov r0,a mov @r0,#0ffh dec r0 mov @r0,#0ffh inc r0 sel mb0 jmp X0300 ; org 700h ; X0700: jtf X07c4 X0702: jnt1 X0700 jnt1 X0700 X0706: movx @r0,a djnz r0,X0702 mov t,a jtf X070c X070c: jt1 X0712 X070e: jtf X07c2 jnt1 X070e X0712: movx @r0,a X0713: mov r0,#0ch clr a jt1 X071c X0718: jtf X07c2 X071a: jnt1 X0718 X071c: movx @r0,a djnz r0,X071a mov a,#0f5h jt1 X0727 X0723: jtf X07c2 jnt1 X0723 X0727: movx @r0,a mov r0,#2 X072a: jtf X07c2 X072c: jnt1 X072a movx @r0,a djnz r0,X072c mov a,#0feh jt1 X0739 X0735: jtf X07c2 jnt1 X0735 X0739: movx @r0,a mov a,r2 X073b: jtf X07c2 jnt1 X073b movx @r0,a mov a,#1 X0742: jtf X07c2 jnt1 X0742 movx @r0,a mov a,@r1 dec r1 X0749: jtf X07c2 jnt1 X0749 movx @r0,a mov a,#1 X0750: jtf X07c2 jnt1 X0750 movx @r0,a mov a,#0f7h X0757: jtf X07c2 jnt1 X0757 movx @r0,a mov r0,#16h mov a,#4eh X0760: jtf X07c2 X0762: jnt1 X0760 movx @r0,a djnz r0,X0762 mov r0,#0ch clr a mov t,a X076b: jtf X07c2 X076d: jnt1 X076b movx @r0,a djnz r0,X076d mov a,#0f5h jt1 X077a X0776: jtf X07c2 jnt1 X0776 X077a: movx @r0,a mov r0,#2 X077d: jtf X07c2 X077f: jnt1 X077d movx @r0,a djnz r0,X077f mov a,#0fbh jt1 X078c X0788: jtf X07c2 jnt1 X0788 X078c: movx @r0,a mov r0,#0 mov a,#0ffh X0791: jtf X07c2 X0793: jnt1 X0791 movx @r0,a djnz r0,X0793 mov a,#0f7h X079a: jtf X07c2 jnt1 X079a movx @r0,a mov r0,#18h mov a,#4eh X07a3: jtf X07c2 X07a5: jnt1 X07a3 movx @r0,a djnz r0,X07a5 mov a,r1 jb7 X0713 mov r0,#40h X07af: mov a,#4eh jnt1 X07b4 movx @r0,a X07b4: in a,p1 jb2 X07dc mov a,#4eh jnt1 X07bc movx @r0,a X07bc: jtf X07c0 jmp X07af ; X07c0: djnz r0,X07af X07c2: jmp X0557 ; X07c4: jnt1 X07c8 jt1 X0706 X07c8: djnz r4,X0702 in a,p1 cpl a jb2 X07da anl p1,#0dch orl p1,#20h movx a,@r0 cpl a jb6 X07da mov r0,#0fbh mov @r0,#0ch X07da: jmp X0557 ; X07dc: anl p1,#0dch orl p1,#20h movx a,@r0 anl a,#44h jnz X07da jmp X066e ; org 800h ; X0800: mov a,r0 mov r0,#0f5h mov @r0,a dec r0 mov a,r1 mov @r0,a dec r0 mov a,r2 mov @r0,a dec r0 mov a,r3 mov @r0,a dec r0 mov a,r4 mov @r0,a dec r0 mov a,r5 mov @r0,a mov r0,#0f8h mov a,@r0 dec r0 xrl a,#72h jnz X0827 mov a,@r0 mov r0,a add a,#0b0h jc X0857 anl p1,#0bfh mov a,#0f7h jmp X084b ; X0827: mov a,@r0 add a,#0ffh mov r2,a dec r0 mov a,@r0 addc a,#0ffh mov r3,a mov r1,#0f0h mov r4,#0 mov r5,#0fbh mov a,r2 add a,r4 mov a,r3 addc a,r5 jc X0857 mov r0,#0ffh mov a,r2 inc r3 X0840: inc r0 add a,r1 jc X0840 djnz r3,X0840 xch a,r1 cpl a inc a add a,r1 inc a X084b: anl p1,#0dch orl p1,#2 movx @r0,a anl p1,#0dch orl p1,#3 mov a,r0 movx @r0,a clr c X0857: mov r0,#0f0h mov a,@r0 mov r5,a inc r0 mov a,@r0 mov r4,a inc r0 mov a,@r0 mov r3,a inc r0 mov a,@r0 mov r2,a inc r0 mov a,@r0 mov r1,a inc r0 mov a,@r0 mov r0,a mov a,psw jb0 X0875 jb1 X0872 sel mb1 jmp X091d ; X0872: sel mb1 jmp X0ac8 ; X0875: sel mb1 jmp X091d ; org 900h ; X0900: in a,p1 anl a,#10h jnz X0916 orl p1,#10h mov r6,#83h X0909: djnz r6,X0909 anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r6,#33h X0914: djnz r6,X0914 X0916: mov a,psw anl a,#0fch mov psw,a sel mb1 jmp X0800 ; X091d: anl p1,#0f7h jnc X0924 sel mb0 jmp X0168 ; X0924: sel mb0 call X0200 sel mb1 in a,p2 anl a,#7 xrl a,#1 jz X0959 clr a mov r0,#0ffh X0932: mov @r0,a djnz r0,X0932 mov r0,#7fh mov a,psw orl a,#1 mov psw,a in a,p2 jb5 X0956 anl p1,#0dch orl p1,#23h movx a,@r0 jnz X0954 anl p1,#0dch orl p1,#22h movx a,@r0 add a,#0fch jc X0954 mov a,psw anl a,#0feh mov psw,a jmp X0956 ; X0954: mov r0,#0ffh X0956: sel mb0 jmp X022b ; X0959: clr f1 in a,p2 anl a,#8 jz X0961 jmp X0b00 ; X0961: anl p1,#0dch orl p1,#23h X0965: movx a,@r0 mov r0,a mov a,psw xrl a,r0 anl a,#0f8h xrl a,r0 mov psw,a mov a,r0 rl a rl a mov r0,a anl p1,#0dch orl p1,#22h movx a,@r0 xrl a,#0f7h jz X097c xrl a,#0f7h X097c: xrl a,r0 anl a,#1fh xrl a,r0 anl p2,#0f7h anl p1,#0efh mov r0,#83h X0986: djnz r0,X0986 orl p1,#10h mov r0,#83h X098c: djnz r0,X098c mov r0,a mov a,#0d0h movx @r0,a mov a,r0 mov r0,#33h X0995: djnz r0,X0995 mov r0,a anl a,#1fh jnz X099e mov a,#0f7h X099e: anl p1,#0dch orl p1,#2 movx @r0,a mov a,#0 anl p1,#0dch orl p1,#0 movx @r0,a mov a,t xch a,r0 rr a rr a rr a rr a rr a anl a,#7 jmp X0a00 ; org 0a00h ; X0a00: mov t,a strt t X0a02: jtf X0a06 jmp X0a02 ; X0a06: jtf X0a0a jmp X0a06 ; X0a0a: jtf X0a0e jmp X0a0a ; X0a0e: jtf X0a12 jmp X0a0e ; X0a12: jtf X0a16 jmp X0a12 ; X0a16: jtf X0a1a jmp X0a16 ; X0a1a: jtf X0a1e jmp X0a1a ; X0a1e: stop tcnt mov t,a in a,p1 jb2 X0a46 mov a,t add a,#8 jnc X0a00 rl a rl a rl a anl a,#38h xch a,r0 mov t,a mov a,#0d0h anl p1,#0dch orl p1,#0 movx @r0,a mov a,psw xrl a,r0 anl a,#7 xrl a,r0 mov r0,#33h X0a3d: djnz r0,X0a3d anl p1,#0dch orl p1,#1 movx @r0,a jmp X0c99 ; X0a46: anl p1,#0dch orl p1,#20h movx a,@r0 jmp X0acf ; anl p1,#0f7h mov a,r0 mov r0,#83h X0a52: djnz r0,X0a52 mov r0,a mov a,#0c4h anl p1,#0dch orl p1,#0 movx @r0,a clr a mov t,a mov a,#10h jtf X0a62 X0a62: strt t anl p1,#0dch orl p1,#23h X0a67: jtf X0a9e X0a69: jnt1 X0a67 jnt1 X0a67 X0a6d: movx a,@r0 clr a mov t,a jtf X0a72 X0a72: jt1 X0a78 X0a74: jtf X0aa9 jnt1 X0a74 X0a78: movx a,@r0 X0a79: jtf X0aa9 jnt1 X0a79 movx a,@r0 X0a7e: jtf X0aa9 jnt1 X0a7e movx a,@r0 X0a83: jtf X0aa9 jnt1 X0a83 movx a,@r0 X0a88: jtf X0aa9 jnt1 X0a88 movx a,@r0 X0a8d: jtf X0aa9 in a,p1 cpl a jb2 X0a8d anl p1,#0dch orl p1,#20h movx a,@r0 anl a,#1ch jnz X0aa9 jmp X0abc ; X0a9e: jnt1 X0aa2 jt1 X0a6d X0aa2: dec a jnt1 X0aa7 jt1 X0a6d X0aa7: jnz X0a69 X0aa9: mov a,#0d0h anl p1,#0dch orl p1,#0 movx @r0,a mov a,r0 mov r0,#33h X0ab3: djnz r0,X0ab3 orl p1,#8 mov r0,#83h X0ab9: djnz r0,X0ab9 mov r0,a X0abc: stop tcnt mov a,r0 mov t,a mov a,psw anl a,#0fch orl a,#2 mov psw,a sel mb1 jmp X0800 ; X0ac8: en i jnc X0ae1 clr f1 cpl f1 jmp X0c99 ; X0acf: mov a,t rl a rl a rl a anl a,#38h xch a,r0 mov t,a mov a,psw xrl a,r0 anl a,#7 xrl a,r0 anl p1,#0dch orl p1,#3 movx @r0,a X0ae1: clr a anl p1,#0dch orl p1,#1 movx @r0,a jmp X0b00 ; org 0b00h ; X0b00: anl p1,#0dch orl p1,#21h movx a,@r0 mov r0,a anl p1,#0dch orl p1,#23h movx a,@r0 xrl a,r0 jnz X0b12 mov a,t mov r0,a jmp X0b77 ; X0b12: anl p2,#0f7h mov a,#10h anl p1,#0dch orl p1,#0 movx @r0,a mov a,t mov r0,a clr a mov t,a mov a,psw anl a,#3fh orl a,#7 strt t X0b25: mov psw,a X0b26: jtf X0b2d in a,p1 jb2 X0b72 jmp X0b26 ; X0b2d: jtf X0b34 in a,p1 jb2 X0b72 jmp X0b2d ; X0b34: jtf X0b3b in a,p1 jb2 X0b72 jmp X0b34 ; X0b3b: jtf X0b42 in a,p1 jb2 X0b72 jmp X0b3b ; X0b42: jtf X0b49 in a,p1 jb2 X0b72 jmp X0b42 ; X0b49: jtf X0b50 in a,p1 jb2 X0b72 jmp X0b49 ; X0b50: mov a,psw dec a jb3 X0b25 add a,#48h jnc X0b25 stop tcnt mov a,r0 mov t,a mov a,#0d0h anl p1,#0dch orl p1,#0 movx @r0,a mov r0,#33h X0b64: djnz r0,X0b64 anl p1,#0dch orl p1,#23h movx a,@r0 anl p1,#0dch orl p1,#1 movx @r0,a jmp X0c99 ; X0b72: anl p1,#0dch orl p1,#20h movx a,@r0 X0b77: orl p2,#8 mov a,psw anl a,#0f8h orl a,#2 jmp X0c00 ; org 0c00h ; X0c00: mov psw,a stop tcnt jtf X0c04 X0c04: clr a mov t,a in a,p2 anl a,#7 xrl a,#1 jz X0c0f jmp X0d00 ; X0c0f: mov r1,#0ffh mov a,r1 mov r0,a dec r0 mov r2,#95h anl p1,#0dch orl p1,#0 mov a,#80h movx @r0,a anl p1,#0dch orl p1,#23h X0c21: jtf X0c73 X0c23: jnt1 X0c21 jnt1 X0c21 X0c27: movx a,@r0 cpl a mov @r1,a clr a mov t,a jtf X0c2e X0c2e: jt1 X0c34 X0c30: jtf X0c87 X0c32: jnt1 X0c30 X0c34: movx a,@r0 cpl a mov @r0,a djnz r0,X0c32 X0c39: jtf X0c87 jnt1 X0c39 movx a,@r0 cpl a mov r0,a X0c40: jtf X0c87 in a,p1 anl a,#4 jz X0c40 stop tcnt mov a,r0 mov t,a anl p1,#0dch orl p1,#20h movx a,@r0 mov r0,a anl p1,#0dch orl p1,#21h movx a,@r0 jnz X0c64 anl p1,#0dch orl p1,#22h movx a,@r0 add a,#0fch jc X0c64 mov a,r0 anl a,#0fbh mov r0,a X0c64: in a,p2 rl a rl a anl a,#80h dec a xch a,r0 anl a,#3ch jnz X0c93 clr f1 sel mb0 jmp X0300 ; X0c73: jnt1 X0c77 jt1 X0c27 X0c77: djnz r2,X0c23 stop tcnt anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33h X0c83: djnz r0,X0c83 jmp X0c99 ; X0c87: stop tcnt anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33h X0c91: djnz r0,X0c91 X0c93: mov a,t mov r0,a mov a,psw dec a jb3 X0c00 X0c99: jf1 X0ca2 cpl f1 anl p1,#0dch orl p1,#21h jmp X0965 ; X0ca2: mov r0,#0fbh mov @r0,#4 mov r0,#0 in a,p2 anl a,#7 xrl a,#1 jnz X0cb6 in a,p2 rl a rl a anl a,#80h dec a mov r0,a X0cb6: sel mb0 jmp X0300 ; org 0d00h ; X0d00: clr a dec a xch a,r0 xch a,@r0 cpl a mov r0,a anl p1,#0dch orl p1,#0 mov a,#0a2h movx @r0,a anl p1,#0dch orl p1,#3 mov a,r0 mov r0,#95h strt t X0d15: jtf X0d54 X0d17: jnt1 X0d15 jnt1 X0d15 X0d1b: movx @r0,a cpl a xch a,r0 clr a mov t,a jtf X0d22 X0d22: clr a dec a xch a,r0 xch a,@r0 dec r0 X0d27: xch a,@r0 cpl a jt1 X0d2f X0d2b: jtf X0d7f jnt1 X0d2b X0d2f: movx @r0,a cpl a xch a,@r0 djnz r0,X0d27 mov r0,a cpl a jt1 X0d3c X0d38: jtf X0d82 jnt1 X0d38 X0d3c: movx @r0,a X0d3d: jtf X0d82 in a,p1 anl a,#4 jz X0d3d stop tcnt mov a,r0 mov t,a anl p1,#0dch orl p1,#20h movx a,@r0 jb6 X0d9e anl a,#14h jz X0da9 jmp X0c93 ; X0d54: jnt1 X0d58 jt1 X0d1b X0d58: djnz r0,X0d17 stop tcnt cpl a mov r0,a in a,p2 rl a rl a anl a,#80h dec a xch a,r0 xch a,@r0 mov t,a in a,p1 anl a,#4 jz X0d72 anl p1,#0dch orl p1,#20h movx a,@r0 jb6 X0d9e X0d72: anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33h X0d7b: djnz r0,X0d7b jmp X0c99 ; X0d7f: cpl a xch a,@r0 mov r0,a X0d82: stop tcnt mov a,r0 mov t,a in a,p1 anl a,#4 jz X0d91 anl p1,#0dch orl p1,#20h movx a,@r0 jb6 X0d9e X0d91: anl p1,#0dch orl p1,#0 mov a,#0d0h movx @r0,a mov r0,#33h X0d9a: djnz r0,X0d9a jmp X0c93 ; X0d9e: mov r0,#0fbh mov @r0,#0ch mov r0,#0 clr f1 cpl f1 sel mb0 jmp X0300 ; X0da9: jmp X0e00 ; org 0e00h ; X0e00: in a,p2 anl a,#7 xrl a,#3 jnz X0e6d clr a mov r0,a dec r0 rlc a mov a,t cpl a xch a,@r0 cpl a dec r0 X0e10: xch a,@r0 cpl a inc r0 xch a,@r0 dec r0 xch a,@r0 djnz r0,X0e10 mov r0,a stop tcnt jtf X0e1c X0e1c: clr a mov t,a anl p1,#0dch orl p1,#0 mov a,#80h movx @r0,a anl p1,#0dch orl p1,#23h strt t mov a,#40h X0e2c: jtf X0e73 X0e2e: jnt1 X0e2c jnt1 X0e2c X0e32: movx a,@r0 xrl a,r0 jnz X0e7e mov r0,a jt1 X0e40 X0e39: inc a jt1 X0e40 jz X0e7e jnt1 X0e39 X0e40: movx a,@r0 xch a,r0 rrc a dec a xch a,r0 xrl a,@r0 jnz X0e7e dec r0 X0e49: jt1 X0e52 X0e4b: inc a jt1 X0e52 jz X0e7e jnt1 X0e4b X0e52: movx a,@r0 xrl a,@r0 jnz X0e7e djnz r0,X0e49 clr a mov t,a jtf X0e5c X0e5c: jtf X0e7e in a,p1 anl a,#4 jz X0e5c stop tcnt anl p1,#0dch orl p1,#20h movx a,@r0 anl a,#3ch jnz X0e7e X0e6d: clr f1 mov r0,#0 sel mb0 jmp X0300 ; X0e73: jnt1 X0e77 jt1 X0e32 X0e77: dec a jnt1 X0e7c jt1 X0e32 X0e7c: jnz X0e2e X0e7e: stop tcnt mov a,#0d0h anl p1,#0dch orl p1,#0 movx @r0,a mov r0,#33h X0e88: djnz r0,X0e88 clr f1 cpl f1 jmp X0c99 ; end ;
  23. Quick look at the code, it has commands R, r, P, W, S, !, N, O, H, ". There a couple of others but am going to bed as am falling asleep at keyboard. will try and figure out what some do latter. James
  24. I have a couple. one produces a better output then the other. James
  25. Just a thought, maybe it has a single byte format command for different density's like single or enhanced for the 1050. Only a dissembley of the rom will show what is going on. James
×
×
  • Create New...