Jump to content

acadiel's Photo

acadiel

Member Since 13 Mar 2009
OFFLINE Last Active Today, 9:39 AM

Topics I've Started

Corcomp PIO Plus

Mon Feb 4, 2019 7:30 AM

Kudos to them for pretty much using a stock cartridge shell for this.

faab6e9e6ea611cdc9438b956ddffb40.jpg71c953c79f74953e6f4201ca948022d2.jpgcccef6030c66e8b7963dcad3ad1e27ba.jpg17cc9020e7d9058fb0b51426ab2f7479.jpg413e6c61b8a75014ed92229c8dcb9626.jpg9304acd8e1a80244643da04601133f67.jpg

TI-74 vs TI-74 S differences

Tue Sep 25, 2018 6:29 PM

Besides one having the functions not silk screened next to the keys, my foggy memory is telling me there were some hardware differences with the S model. Anyone remember what those were?

Moment of silence for the Great Gazoo

Sat Sep 22, 2018 6:20 AM

He would have been 60 today.  

 


Neat stuff from Falcor4's Hard drive image

Sat Jun 2, 2018 6:42 PM

I'll be putting tidbits from DC's HDD image (mostly BASIC programs or documents) in this thread as we find them.  His whole drive dump, which Ksarul and I have, is 70 disks.

 

For the first one, here's a name that you all should know.  Assembly Object to XB Call Load converter by Paolo Bagnaresi.

1 ! ACE : Assembly Object to   Extended Basic CALL LOADs    Converter      8/3/1984
2 !           By                   Paolo Bagnaresi            Tel.(02)-514.202      Address:
3 !  Via J.F. Kennedy 17      20097 San Donato Milanese        (Milan)- Italy
10 GOTO 40 :: DIM STDEF$(100) :: D$,N$,F$,DEF$,PB$,SC$,RI$,CT$,L$,HEX$,H$,DSC$,DECC$,PROG$
20 CALL LOAD :: CALL INIT :: CALL LINK :: CALL PEEK :: CALL CHAR :: CALL HCHAR :: CALL KEY
30 AUT,N,A,B,C,D,E,F,G,H,I,L,M,N,CT,MS,LS,DBM,DBL,FINELOC,LOC,INIZLOC,INDEF,NDEF,NLINK,NL,NLINE,NST,KY,ST,DEC,PO,Z
40 CALL CLEAR :: CALL SCREEN(16) :: FOR T=0 TO 14 :: CALL COLOR(T,13,16) :: NEXT T :: !@P-
50 CALL CHAR(128,"00282828",131,"000000FF") :: L$=RPT$(CHR$(131),28) :: H$="0123456789ABCDEF" :: CALL CLEAR
60 PB$="By Paolo Bagnaresi             Via J..F.. Kennedy 17         20097 San Donato Milanese   (Milan)- ITALY"
70 DISPLAY AT(1,1):L$:L$: : TAB (13);"ACE": : TAB (14);"by": TAB (7);"Paolo Bagnaresi": TAB (7);"Tel(02)-514..202":"San Donato Milanese-ITALY":L$
80 DISPLAY AT(11,1): TAB (10);"Assembly": TAB (10);"Converter to": TAB (10);"Extended":L$
90 DISPLAY AT(14,1):L$:"ACE converts the Object":"of an Assembly Program into":"an Extended Basic Program..":"The Assembly Program MUST be"
100 DISPLAY AT(19,1):"suitable for Extended Basic":"environment and MUST NOT":"contain any AORG..":L$
110 DISPLAY AT(24,6) BEEP :"Press any key"
120 CALL KEY(0,KY,ST) :: IF ST=0 THEN 120 ELSE CALL CLEAR
130 DISPLAY AT(1,1):L$: TAB (5);"Are the Assembly":"Objects already loaded ?": :"  Answer: (Y/N) N":L$
140 ACCEPT AT(5,17) SIZE(-1) VALIDATE ("YN") BEEP :RI$ :: IF RI$="" THEN 50 ELSE IF RI$="Y" THEN CALL CLEAR :: GOTO 370 ELSE N$="1" :: CT$="Y" :: GOSUB 900
150 DISPLAY AT(6,1):L$:"Insert the diskette with the":"assembly object and enter":"the object progr.. name": :"Name :  ";PROG$:L$
160 DISPLAY AT(22,1):L$:"erase and press ENTER if you": TAB (9);"are through"
170 ACCEPT AT(11,9) SIZE(-10) BEEP :PROG$ :: IF PROG$="" THEN CALL CLEAR :: GOTO 320
180 DISPLAY AT(13,1):"Disk Drive ? (1-3) ";N$:L$ :: ACCEPT AT(13,20) SIZE(-1) VALIDATE ("123") BEEP :N$ :: IF N$="" THEN 130
190 ON ERROR 360 :: CALL LOAD("DSK"&N$&".."&PROG$) :: ON ERROR STOP
200 DISPLAY AT(15,1):"Do you want to check the":"loaded program ? (Y/N) ";CT$:L$ :: ACCEPT AT(16,24) SIZE(-1) VALIDATE ("YN") BEEP :CT$ :: IF CT$="N" THEN 150
210 DISPLAY AT(18,1):"Does the program come back":"to Extended Basic ? (Y/N) Y":L$ :: ACCEPT AT(19,27) SIZE(-1) VALIDATE ("YN") BEEP :SC$
220 IF SC$="Y" THEN 240 ELSE FOR T=1 TO 10 :: DISPLAY AT(21,1) BEEP :"In this case no check":"is possible ":L$:L$
230 FOR I=1 TO 100 :: NEXT I :: CALL HCHAR(21,1,32,96) :: NEXT T :: GOTO 150
240 CALL PEEK(8196,A,B) :: NST=0 :: INDEF=A*256+B :: FOR T=16376 TO INDEF STEP -8 :: NL=T :: GOSUB 870 :: NST=NST+1 :: STDEF$(NST)=DEF$ :: NEXT T
250 CALL CLEAR :: A=0 :: D$="1"
260 DISPLAY AT(1,1):L$:"List of DEFS to choose from":"for checking pourposes":L$
270 FOR T=5 TO 20 STEP 2 :: FOR Z=1 TO 19 STEP 9 :: A=A+1 :: DISPLAY AT(T,Z) BEEP :A;STDEF$(A) :: IF A>=NST THEN 280 ELSE NEXT Z :: NEXT T
280 DISPLAY AT(T+1,1):L$ :: DISPLAY AT(20,1):L$:"DEF No.. ? (1 -";NST;") ":L$:"Press ENTER when finished":L$ :: ACCEPT AT(21,21) VALIDATE (DIGIT) SIZE(-2) BEEP :D$ :: IF D$<>"" THEN 340
290 CALL CLEAR :: DISPLAY AT(1,1):L$:"Are the programs loaded": :"so far OK.. ? (Y/N) Y":L$ :: ACCEPT AT(4,20) VALIDATE ("YN") SIZE(-1) BEEP :SC$ :: IF SC$="Y" THEN 320
300 DISPLAY AT(6,1):L$:"Unfortunately in this case": :"it's not possible to": :"eliminate just one program": :"but it's necessary to load"
310 DISPLAY AT(15,1):"all the program(s) all ": :"over again..": :"OK? (Y) Y":L$ :: ACCEPT AT(19,9) VALIDATE ("Y") SIZE(-1) BEEP :SC$ :: CALL INIT :: CALL CLEAR :: GOTO 150
320 DISPLAY AT(6,1):L$:"Are all the programs": :"loaded already ? (Y/N) Y":L$ :: ACCEPT AT(9,24) VALIDATE ("YN") SIZE(-1) BEEP :SC$
330 IF SC$="N" OR SC$="" THEN CALL CLEAR :: GOTO 150 ELSE 370
340 A=VAL(D$) :: IF A>NST THEN 280 ELSE CALL LINK(STDEF$(A)) :: GOTO 250
350 ! Error handling
360 FOR T=1 TO 8 :: DISPLAY AT(20,1) BEEP :L$: TAB (6);"Drive error or": TAB (6);"Program name error":L$:L$ :: FOR I=1 TO 100 :: NEXT I :: CALL HCHAR(20,1,32,128) :: NEXT T :: RETURN 150
370 CALL CLEAR
380 ON ERROR 400 :: CALL PEEK(8194,A,B,C,D) :: FINELOC=A*256+B :: NL,INDEF=C*256+D :: GOSUB 870 :: IF ASC(DEF$)=255 THEN 400 ELSE INIZLOC=DBM*256+DBL
390 ON ERROR STOP :: GOTO 430
400 CALL CLEAR :: FOR I=1 TO 10 :: DISPLAY AT(10,1) BEEP :L$:L$:"  The Assembly Programs": :"   have not been loaded": : TAB (10);"LOAD THEM!":L$:L$
410 FOR T=1 TO 100 :: NEXT T :: CALL HCHAR(12,1,32,160) :: NEXT I :: GOSUB 900 :: GOTO 150
420 !Disk-printing routine
430 CALL CLEAR :: GOSUB 790 :: IF F$="" OR N$="" THEN 32767 :: ON ERROR 840 :: GOSUB 920 :: OPEN #2:"DSK"&N$&".."&F$,VARIABLE 163 :: ON ERROR STOP :: N=0
440 !Address of the programmer
450 PRINT #2:CHR$(0)&CHR$(N)&CHR$(131)&CHR$(199)&CHR$(LEN(PB$))&PB$&CHR$(0) :: N=1 :: GOSUB 940
460 !Insert CALL INIT
470 PRINT #2:CHR$(0)&CHR$(N)&CHR$(157)&CHR$(200)&CHR$(4)&"INIT"&CHR$(0) :: N=2 :: LOC=INDEF :: GOSUB 940
480 ! DEFs name printing
490 FOR NDEF=INDEF TO 16376 STEP 8
500 PRINT #2:CHR$(0)&CHR$(N)&CHR$(157)&CHR$(200)&CHR$(4)&"LOAD"&CHR$(183)&CHR$(200)&CHR$(LEN(STR$(NDEF)))&STR$(NDEF);
510 FOR LOC=NDEF TO NDEF+6 STEP 2
520 CALL PEEK(LOC,MS,LS) :: PRINT #2:CHR$(179)&CHR$(200)&CHR$(LEN(STR$(MS)))&STR$(MS)&CHR$(179)&CHR$(200)&CHR$(LEN(STR$(LS)))&STR$(LS);
530 NEXT LOC
540 PRINT #2:CHR$(182)&CHR$(0) :: GOSUB 940 :: N=N+1 :: NEXT NDEF
550 !Print DEF pointer and FFALM
560 PRINT #2:CHR$(0)&CHR$(N)&CHR$(157)&CHR$(200)&CHR$(4)&"LOAD"&CHR$(183)&CHR$(200)&CHR$(LEN(STR$(8194)))&STR$(8194);
570 FOR LOC=8194 TO 8196 STEP 2
580 CALL PEEK(LOC,MS,LS) :: PRINT #2:CHR$(179)&CHR$(200)&CHR$(LEN(STR$(MS)))&STR$(MS)&CHR$(179)&CHR$(200)&CHR$(LEN(STR$(LS)))&STR$(LS);
590 NEXT LOC
600 PRINT #2:CHR$(182)&CHR$(0) :: GOSUB 940 :: N=N+1 :: LOC=9460
610 ! Main program printing
620 PRINT #2:CHR$(0)&CHR$(N)&CHR$(157)&CHR$(200)&CHR$(4)&"LOAD"&CHR$(183)&CHR$(200)&CHR$(LEN(STR$(LOC)))&STR$(LOC);
630 FOR LOC=LOC TO LOC+20 STEP 2
640 IF LOC>FINELOC THEN 670 :: CALL PEEK(LOC,MS,LS) :: PRINT #2:CHR$(179)&CHR$(200)&CHR$(LEN(STR$(MS)))&STR$(MS)&CHR$(179)&CHR$(200)&CHR$(LEN(STR$(LS)))&STR$(LS);
650 NEXT LOC
660 PRINT #2:CHR$(182)&CHR$(0) :: GOSUB 940 :: N=N+1 :: IF LOC<=FINELOC THEN 620 ELSE 680
670 PRINT #2:CHR$(182)&CHR$(0) :: GOSUB 940
680 N=N+1
690 ! CALL LINK printing
700 FOR NLINK=INDEF TO 16376 STEP 8 :: NL=NLINK :: GOSUB 870
710 PRINT #2:CHR$(0)&CHR$(N)&CHR$(157)&CHR$(200)&CHR$(4)&"LINK"&CHR$(183)&CHR$(199)&CHR$(LEN(DEF$))&DEF$&CHR$(182)&CHR$(0) :: GOSUB 940
720 N=N+1 :: NEXT NLINK
730 PRINT #2:CHR$(255)&CHR$(255) :: CLOSE #2
740 CALL CLEAR :: DISPLAY AT(5,1) BEEP :L$:"The assembly program ";DEF$: :"has been recorded as a": :"DIS/VAR 163 file.. The name": :"of this file is ";F$:L$
750 DISPLAY AT(14,1):"You can MERGE this file": :"and obtain an Ext..B..Program":L$:"Execute now in command mode:": :">NEW":">MERGE DSK";N$;"..";F$
760 FOR T=1 TO 70 :: DISPLAY AT(23,1) BEEP :">SAVE DSK";N$;"..";SEG$(F$,1,LEN(F$)-3)&"EXT":L$ :: CALL KEY(0,KY,ST) :: IF ST<>0 THEN STOP
770 NEXT T :: END
780 ! Open file: disk drive & name selection
790 DISPLAY AT(1,1):L$:"Name of the last DEF":"of the  assembly programs": :"loaded in memory : ";DEF$:L$
800 F$=DEF$&"MRG" :: DISPLAY AT(8,1):L$:"proposed name for the file": :"Max 10 characters ";F$: :L$ :: ACCEPT AT(11,19) SIZE(-10) BEEP :F$
810 IF F$="" THEN RETURN ELSE IF POS(F$," ",1)>0 OR POS(F$,"..",1)>0 THEN 800
820 DISPLAY AT(14,1):L$:"Disk Drive? (1-3) ";N$:L$ :: ACCEPT AT(15,19) VALIDATE ("123") SIZE(-1) BEEP :N$ :: RETURN
830 ! Sub file error
840 ON ERROR 850 :: CLOSE #2
850 RETURN 430
860 ! call peek DEF names
870 CALL PEEK(NL,E,F,G,H,I,L,DBM,DBL) :: DEF$=CHR$(E)&CHR$(F)&CHR$(G)&CHR$(H)&CHR$(I)&CHR$(L)
880 PO=POS(DEF$," ",1) :: IF PO>0 THEN DEF$=SEG$(DEF$,1,PO-1) :: RETURN ELSE RETURN
890 ! Sub CALL INIT once only
900 IF CT=1 THEN RETURN ELSE CALL INIT :: CT=1 :: RETURN
910 ! Sub # of necessary printings
920 NLINE=ABS(INT(-((FINELOC-9460)/22+(16384-INDEF)/4+3))) :: DISPLAY AT(17,1) BEEP :"The necessary Printing":"operations with Disk Drive": :"(max 172) will be";NLINE:L$
930 IF NLINE>172 THEN FOR T=1 TO 10 :: FOR I=1 TO 90 :: NEXT I :: CALL HCHAR(23,1,32,32) :: DISPLAY AT(22,1) BEEP :L$:"OBJECT SIZE IS TOO  LARGE":L$ :: NEXT T :: STOP ELSE RETURN
940 NLINE=NLINE-1 :: DISPLAY AT(21,1):L$:"# of printings yet to be":"executed will be";NLINE:L$ :: RETURN


Someone decapped a Disk Manager II GROM

Sat May 26, 2018 7:18 PM

And the pictures are pretty amazing to look at.

 

http://seanriddledec.../blog-post.html

 

The "giant" ones are insanely large.  You've been warned. :)

 

More decaps: http://seanriddle.com/decap.html