Re: [M100] Subjective poll on M100 "dialob box"

2023-01-10 Thread Ken Pettit

On 1/10/23 6:34 AM, Greg Swallow wrote:

Good Lord, this reminds me of writing a routine for popups under PC-DOS on a 
green display.


Yep, that's basically what this is! :)

In fact, I even wrote a fast BASIC routine to save the LCD character 
contents (won't save any graphics) to a save string (S$) that can be 
restored to the display later via a few simple PRINT@ commands using 
MID$ function.  It saves a region W x H in size at location X,Y (where X 
and Y are zero based character LCD coordinates).  It does this by 
manually pointing a temp string (TP$) to the LCD memory region and 
setting its length to W using pokes, then performing S$=S$+TP$.


10 
DEFINTA,J:TP$="":S$="":B=65024+Y*40+X:A=VARPTR(TP$):POKEA,W:FORJ=YTOY+H-1:POKEA+2,INT(B/256):POKEA+1,B-PEEK(A+2)*256:S$=S$+TP$:B=B+40:NEXT


Ken


Re: [M100] Subjective poll on M100 "dialob box"

2023-01-10 Thread Ken Pettit

On 1/10/23 3:58 AM, Daniel L wrote:

Honestly, I like them both equally.

Yes, I suck.


Hey, at least you didn't say you *dislike* them both equally!  ;-)

And never be sorry for being honest ... it is always the best policy. :)

Ken


Re: [M100] Subjective poll on M100 "dialob box"

2023-01-09 Thread Ken Pettit


On 1/9/23 5:25 PM, Daryl Tester wrote:

On 10/1/23 11:34, Brian K. White wrote:


This.  For me, the left is easier to initially pick out, but the right 
has "spacing"
between the outer box/title and inner text (between the "Options" 
title and the

first "Prog Mode" item).


Okay, how about the attached version?  It insets the left / right 
borders from the outer text by 1/2 character width and adds an extra 
space to the interior content of the box to compensate.  I think this 
one looks better.


Ken


Re: [M100] Subjective poll on M100 "dialob box"

2023-01-09 Thread Ken Pettit

On 1/9/23 4:52 PM, John R. Hogerhuis wrote:
Sorry I meant Option #2, line drawing... not trying to skew the 
results by numbering my favored one #1


On Mon, Jan 9, 2023 at 4:51 PM John R. Hogerhuis > wrote:


I like Option #1 (line drawing chars) since it doesn't get jagged
on right hand side due to bumping into characters.

But if that pixel column was cleared or a shadow knocked out I
might like Option #1.



You mean something like the attached?

Ken


[M100] Subjective poll on M100 "dialob box"

2023-01-09 Thread Ken Pettit

Hey gang,

I'm curious which of the two "dialog box" options people think look 
better between the two shown in the attached diagram.  These were coded 
up in BASIC, but I'm thinking of using it in an ASM program.


Ken


Re: [M100] New user (Hello!). Programming Tandy 102 without Basic?

2023-01-07 Thread Ken Pettit

On 1/7/23 11:43 AM, John R. Hogerhuis wrote:


Maybe I should rename it to CloadT :-)



You mentioned that you might.  It does seem to be a popular / useful 
command in CloudT.  I can't remember the last time I used that command 
otherwise ... surely sometime in the late 80's!  :)


Ken


Re: [M100] One liner submission: base converter

2023-01-07 Thread Ken Pettit

Yep,

Pretty much the same with the one liner I made from John's character 
rasterization program ... just remove the line number "1" in front and 
it will still run from interactive mode.  But I think your infinite loop 
is 2 characters shorter than mine!  I used STEP0 which take 5 bytes 
where you used Z=0 which only takes three!  I'll have to remember that one.


I need to get a quantum computer next ... I hear they can execute an 
infinite loop in three seconds flat.  ;-)


Ken

On 1/7/23 11:46 AM, Stephen Adolph wrote:

thanks Ken,
Not exactly new work, but it always bothered me that I had to use a 
line number before.  so not really a "one liner". The use of a never 
ending for loop solved that!




On Sat, Jan 7, 2023 at 2:19 PM Ken Pettit <mailto:petti...@gmail.com>> wrote:


On 1/7/23 8:30 AM, Stephen Adolph wrote:

Here is my one-liner.

FORZ=0TO1:Z=0:V$="

"+CHR$(13)+CHR$(8)+"0123456789ABCDEF":E=INSTR(V$,INKEY$):IFE=1THENNEXTELSEF=(F-(E=2))MOD3:G=9*F+2-F^2:C=-C*(E=2)-(C*G+E-4)*(E>3ANDE

Hey Steve,

I had seen this submission before but never really tried to run it
or evaluate how it is working until now.  This is an awesome piece
of algorithmic work for switching between and calculating /
formatting output for three different bases in only 254 characters!!

Pretty sweet.

Ken





Re: [M100] One liner submission: base converter

2023-01-07 Thread Ken Pettit

On 1/7/23 8:30 AM, Stephen Adolph wrote:

Here is my one-liner.

FORZ=0TO1:Z=0:V$=" 
"+CHR$(13)+CHR$(8)+"0123456789ABCDEF":E=INSTR(V$,INKEY$):IFE=1THENNEXTELSEF=(F-(E=2))MOD3:G=9*F+2-F^2:C=-C*(E=2)-(C*G+E-4)*(E>3ANDE



Hey Steve,

I had seen this submission before but never really tried to run it or 
evaluate how it is working until now.  This is an awesome piece of 
algorithmic work for switching between and calculating / formatting 
output for three different bases in only 254 characters!!


Pretty sweet.

Ken



Re: [M100] New user (Hello!). Programming Tandy 102 without Basic?

2023-01-07 Thread Ken Pettit

Correction to my instructions below:

The cload "SAMPLE.CO" should be:

  loadm "SAMPLE.CO"

I have been using CloudT too much lately I guess (if there is such a 
thing) and have "cload" drilled into my brain!  ;-)


Ken

On 1/7/23 9:17 AM, Ken Pettit wrote:

Hi Alex,

I have one simple example in my Personal Libraries section at 
club100.org.  It is under "Ken Pettit -> VirtualT IDE -> Sample"


It is a very simple ASM project simply to show the features of the 
VirtualT IDE / Assembler and linker.  The Assembler in VirtualT 
assembles each .ASM file individually into an object file, then links 
them using details in a linker script (*.lkr).  It supports absolute 
code sections, relative code sections and data sections (.aseg, .cseg 
and .dseg respectively).  The sample project shows use of each of 
these features, including using multiple .ASM files with PUBLIC / 
GLOBAL keywords to share variables and code routines between them.


There is a README with the sample project that describes how to build 
it, etc.  You have to launch VirtualT and then choose Tools menu -> 
Assembler IDE.  Note that while the IDE *does* have a syntax 
highlighting editor, it is fairly limited with regards to features.  
For instance, UNDO can only undo the last change and no more.  If I 
could win the CA Lottery $1.1B then I could just sit around all day 
refining my Model T projects including VirtualT updates.  I'll let you 
know when that happens :)


The README describes how to use the sample code, but in general after 
you build it, VirtualT will auto-load the .CO file to the emulation.  
Then just go to BASIC and run it.  Note that each time you change the 
.CO, you have to redo the  cload "SAMPLE.CO" (or whatever your real 
project name is) because VirtualT only updated the actual .CO file, 
but doesn't update the image at 62000 (or wherever you are running 
your .CO).


clear 256,62000
cload "SAMPLE.CO"
call 62000,1
  -> prints "Hello World!'
a$="Good Morning"
call 62000,2,varptr(a$)
  -> prints "Good Morning"
call 62000,3,512
  -> Save 512 in a local variable
call 62000,4
  -> prints "Value = 512"
call 62000
  -> prints usage help

Ken

On 1/7/23 8:34 AM, Alex ... wrote:
Do you have any examples out there for how to build ML apps or option 
ROMs with VirtualT?


On Tue, Jan 3, 2023 at 3:54 PM Ken Pettit <mailto:petti...@gmail.com>> wrote:


Hi,

Willard Goosey (on this list) did some work a while back for
compiling with SmallC-85 and put together an M100 library for the
same:

http://www.sdc.org/~goosey/m100/m100smallc0.0.10.zip
<http://www.sdc.org/%7Egoosey/m100/m100smallc0.0.6.zip>

This file is also available in his Personal Libraries section at
Club100. I have not tried to use SmallC-85 or the library to
build and C applications for the Model 100.  I typically write in
8085 assembly directly or a mix of BASIC and assembly.  There are
various 8085 assemblers out there, though I have only ever used
the one I wrote that lives inside VirtualT.

Ken

On Mon, Jan 2, 2023 at 4:45 PM DJCC mailto:djcouchyco...@icloud.com>> wrote:

Hi there!

I've been dreaming about getting a Tandy 102 for forty years
and I just recently got two (!!!) for a decent price on eBay.

I'm a programmer by trade and like the idea of writing
something for it. What does the toolchain look like nowadays
for building Tandy 100/102 programs in assembly? Or, if I'm
dreaming, in C?

Searching the archives, I've found
http://www.sdc.org/~goosey/
<http://www.sdc.org/%7Egoosey/> with dev resources. Are there
others that might be interesting?

Thanks!
djcc



--
Disclaimer: Any resemblance between the above views and those of my 
employer, my terminal, or the view out my window are purely 
coincidental.  Any resemblance between the above and my own views is 
non-deterministic.  The question of the existence of views in the 
absence of anyone to hold them is left as an exercise for the reader.
The question of the existence of the reader is left as an exercise 
for the second god coefficient.  (A discussion of non-orthogonal, 
non-integral polytheism is beyond the scope of this article.) Thanks 
/usr/games/fortune






Re: [M100] New user (Hello!). Programming Tandy 102 without Basic?

2023-01-07 Thread Ken Pettit

Hi Alex,

I have one simple example in my Personal Libraries section at 
club100.org.  It is under "Ken Pettit -> VirtualT IDE -> Sample"


It is a very simple ASM project simply to show the features of the 
VirtualT IDE / Assembler and linker.  The Assembler in VirtualT 
assembles each .ASM file individually into an object file, then links 
them using details in a linker script (*.lkr).  It supports absolute 
code sections, relative code sections and data sections (.aseg, .cseg 
and .dseg respectively).  The sample project shows use of each of these 
features, including using multiple .ASM files with PUBLIC / GLOBAL 
keywords to share variables and code routines between them.


There is a README with the sample project that describes how to build 
it, etc.  You have to launch VirtualT and then choose Tools menu -> 
Assembler IDE.  Note that while the IDE *does* have a syntax 
highlighting editor, it is fairly limited with regards to features.  For 
instance, UNDO can only undo the last change and no more.  If I could 
win the CA Lottery $1.1B then I could just sit around all day refining 
my Model T projects including VirtualT updates.  I'll let you know when 
that happens :)


The README describes how to use the sample code, but in general after 
you build it, VirtualT will auto-load the .CO file to the emulation.  
Then just go to BASIC and run it.  Note that each time you change the 
.CO, you have to redo the  cload "SAMPLE.CO" (or whatever your real 
project name is) because VirtualT only updated the actual .CO file, but 
doesn't update the image at 62000 (or wherever you are running your .CO).


clear 256,62000
cload "SAMPLE.CO"
call 62000,1
  -> prints "Hello World!'
a$="Good Morning"
call 62000,2,varptr(a$)
  -> prints "Good Morning"
call 62000,3,512
  -> Save 512 in a local variable
call 62000,4
  -> prints "Value = 512"
call 62000
  -> prints usage help

Ken

On 1/7/23 8:34 AM, Alex ... wrote:
Do you have any examples out there for how to build ML apps or option 
ROMs with VirtualT?


On Tue, Jan 3, 2023 at 3:54 PM Ken Pettit <mailto:petti...@gmail.com>> wrote:


Hi,

Willard Goosey (on this list) did some work a while back for
compiling with SmallC-85 and put together an M100 library for the
same:

http://www.sdc.org/~goosey/m100/m100smallc0.0.10.zip
<http://www.sdc.org/%7Egoosey/m100/m100smallc0.0.6.zip>

This file is also available in his Personal Libraries section at
Club100. I have not tried to use SmallC-85 or the library to build
and C applications for the Model 100.  I typically write in 8085
assembly directly or a mix of BASIC and assembly.  There are
various 8085 assemblers out there, though I have only ever used
the one I wrote that lives inside VirtualT.

Ken

On Mon, Jan 2, 2023 at 4:45 PM DJCC mailto:djcouchyco...@icloud.com>> wrote:

Hi there!

I've been dreaming about getting a Tandy 102 for forty years
and I just recently got two (!!!) for a decent price on eBay.

I'm a programmer by trade and like the idea of writing
something for it. What does the toolchain look like nowadays
for building Tandy 100/102 programs in assembly? Or, if I'm
dreaming, in C?

Searching the archives, I've found http://www.sdc.org/~goosey/
<http://www.sdc.org/%7Egoosey/> with dev resources. Are there
others that might be interesting?

Thanks!
djcc



--
Disclaimer: Any resemblance between the above views and those of my 
employer, my terminal, or the view out my window are purely 
coincidental.  Any resemblance between the above and my own views is 
non-deterministic.  The question of the existence of views in the 
absence of anyone to hold them is left as an exercise for the reader.
The question of the existence of the reader is left as an exercise for 
the second god coefficient.  (A discussion of non-orthogonal, 
non-integral polytheism is beyond the scope of this article.) Thanks 
/usr/games/fortune




[M100] Alternate M100 Character Raster program

2023-01-06 Thread Ken Pettit

All,

I have made a variation of John's original M100 Raster Character Data 
routine that uses the M100's block characters along with the M100 ROM 
Character ROM.  This program allows you to enter a string (up to 13 
characters max) and it will render that string using the ROM character 
data, but using block characters CHR$(224) - CHR$(239), thus creating a 
half-LCD-height font (see attached screenshot).


Here is the BIGTXT.DO BASIC program:

1 GOTO100
10 C=ASC(C$):IFC>=128THEND=B+480+(C-128)*6ELSED=B+(C-32)*5
20 FORJ=0TO4+W(C):B(J)=PEEK(D):D=D+1:NEXT
30 
FORJ=0TO3:FORI=0TO2:K=I*2:L=(B(K)AND3)+(B(K+1)AND3)*4:B(K)=B(K)\4:B(K+1)=B(K+1)\4:PRINT@J*40+I+O,CHR$(C(L));:NEXTI,J

40 O=O+3:RETURN
90 DATA0,1,3,9,2,7,6,11,4,5,8,13,10,12,14,15
100 
DEFINTA-Z:DIMC(15):FORJ=0TO15:READC:C(J)=C+224:NEXT:B=30481:A=255:DIMW(A):FORJ=128TOA:W(J)=1:NEXT:O=0

110 CLS:INPUT"String";S$:FORX=1TOLEN(S$):C$=MID$(S$,X,1):GOSUB10:NEXT

Ken


Re: [M100] Model 100 raster character data

2023-01-05 Thread Ken Pettit

On 1/5/23 11:53 AM, Peter Vollan wrote:

I have often wondered about the point of DEFINT A-Z.



DEFINT A-Z tells the BASIC interpreter to treat all variables as 2-byte 
integers unless they specifically have a type extension. Performing 
2-byte integer math is much faster than 8-byte floating point math 
because the number of CPU cycles needed to perform the computations is 
significantly less, thus increasing the program execution speed.


Ken


Re: [M100] Model 100 raster character data

2023-01-05 Thread Ken Pettit



On 1/4/23 11:03 PM, John R. Hogerhuis wrote:

Nice work :-)


Thanks John!

It had been a while since we had a new one-liner, and I thought this 
looked like a good candidate.


And actually, I discovered I was only off by 1 character from fitting in 
the 255 max line length with the "DEFINTA-Z:" included.


This can be fixed in one of two ways (or both):

1.  Make the line number 1 instead of 10, thus saving 1 character
2.  Change the FORX=1TO1 loop at the end to use "NEXT" instead of 
"NEXTX", thus saving one character


I did both, and can now include all of the original program.  So the 
final version is:


1DEFINTA-Z:A=255:DIMW(A):FORJ=128TOA:W(J)=1:NEXT:B=30481:C(0)=A:C(1)=239:FORD=32TOA:CLS:FORJ=1TO7:PRINTJ:NEXT:PRINT8;:FORI=2TO6+W(D):C=PEEK(B):B=B+1:FORJ=0TO7:L=CAND1:C=C\2:PRINT@J*40+I,CHR$(C(L));:NEXTJ,I:FORX=1TO1STEP0:IFINKEY$=""THENNEXTELSEBEEP:NEXTD

Interestingly I also discovered the max line length can be fixed by 
using '?' instead of the word "PRINT", and it will work.  However when 
you EDIT the program, the '?' is expanded back to PRINT again and the 
expansion is larger than 255 characters, creating an incorrect program.  
So I didn't opt for that solution.


Ken


Re: [M100] Model 100 raster character data

2023-01-04 Thread Ken Pettit



On 1/4/23 6:47 PM, Ken Pettit wrote:

On 1/3/23 9:50 PM, John R. Hogerhuis wrote:



On Tue, Jan 3, 2023 at 9:24 PM Ken Pettit <mailto:petti...@gmail.com>> wrote:


Hey John,

Nice!  No way to make that a 1-liner huh?  ;-)

Ken


Oops, I should have said converting this to a one liner is left as an 
exercise for the reader :-)




Okay, challenge accepted!  Here is the one-liner version of John's 
M100 program (minus the BEEP ... I couldn't figure out how to get that 
to fit in the line limit).


10 
DEFINTA-Z:A=255:DIMW(A):FORJ=128TOA:W(J)=1:NEXT:B=30481:C(0)=A:C(1)=239:FORD=32TOA:CLS:FORJ=1TO7:PRINTJ:NEXT:PRINT8;:FORI=2TO6+W(D):C=PEEK(B):B=B+1:FORJ=0TO7:L=CAND1:C=C\2:PRINT@J*40+I,CHR$(C(L));:NEXTJ,I:FORX=1TO1STEP0:IFINKEY$=""THENNEXTXELSENEXTD


Actually, if I remove the "DEFINTA-Z:" at the beginning, then I can get 
the BEEP to fit also, it will just run slightly slower:


10A=255:DIMW(A):FORJ=128TOA:W(J)=1:NEXT:B=30481:C(0)=A:C(1)=239:FORD=32TOA:CLS:FORJ=1TO7:PRINTJ:NEXT:PRINT8;:FORI=2TO6+W(D):C=PEEK(B):B=B+1:FORJ=0TO7:L=CAND1:C=C\2:PRINT@J*40+I,CHR$(C(L));:NEXTJ,I:FORX=1TO1STEP0:IFINKEY$=""THENNEXTXELSEBEEP:NEXTD

Ken


Re: [M100] Model 100 raster character data

2023-01-04 Thread Ken Pettit

On 1/3/23 9:50 PM, John R. Hogerhuis wrote:



On Tue, Jan 3, 2023 at 9:24 PM Ken Pettit <mailto:petti...@gmail.com>> wrote:


Hey John,

Nice!  No way to make that a 1-liner huh?  ;-)

Ken


Oops, I should have said converting this to a one liner is left as an 
exercise for the reader :-)




Okay, challenge accepted!  Here is the one-liner version of John's M100 
program (minus the BEEP ... I couldn't figure out how to get that to fit 
in the line limit).


10 
DEFINTA-Z:A=255:DIMW(A):FORJ=128TOA:W(J)=1:NEXT:B=30481:C(0)=A:C(1)=239:FORD=32TOA:CLS:FORJ=1TO7:PRINTJ:NEXT:PRINT8;:FORI=2TO6+W(D):C=PEEK(B):B=B+1:FORJ=0TO7:L=CAND1:C=C\2:PRINT@J*40+I,CHR$(C(L));:NEXTJ,I:FORX=1TO1STEP0:IFINKEY$=""THENNEXTXELSENEXTD



Ken


Re: [M100] Model 100 raster character data

2023-01-04 Thread Ken Pettit

Hi Georg,

From the VirtualT Disassembler of T200:

; ==
; LCD char generator shape table (20H-7FH)
; ==
9063H  DB   00H,00H,00H,00H,00H,00H,00H,00H

So the starting address would be 36963.  But since John declared all 
variables as INT in line 5 for improved execution speed, the number must 
be represented as negative by subtracting 65536, so the address would be 
-28573.


HOWEVER  The T200 LCD works differently than the M100 display. For 
the M100, each byte in the raster character data ROM table represents a 
COLUMN of 8 LCD pixels.  But for T200, the LCD bytes represent ROWS, not 
columns, where the least significant bit of each byte is the left-most 
pixel of a 6-pixel wide character, and there are 8 bytes for ALL characters.


So the program would need some updates to work with T200. I have made 
those updates and also added code to display 10 characters at a time on 
the larger T200 display:


5 DEFINTA-Z:C$(0)=CHR$(255):C$(1)=CHR$(239)
10 B=-28573:D=32:W=5:H=0:O=0
15 CLS
20 FORX=1TO10:FORJ=1TO8
25 P=(J-1)*40+O+H:PRINT@P,CHR$(47+J);
30 C=PEEK(B)
35 B=B+1
40 FORI=1TOW
50 L=CAND1:C=C\2
60 PRINT@P+I,C$(L);
70 NEXTI,J:O=O+8:D=D+1:IFD=128THENW=6
75 IFD=256THENEND
80 IFX=5THENH=40*8:O=0
85 NEXTX:H=0:O=0
90 I$=INKEY$:IFI$=""THEN90
95 BEEP:GOTO15

Ken

On 1/4/23 4:59 AM, Georg Käter wrote:

Hello together,

how to modify the program to run it on T200 using the bigger display?

Address of raster data?

Georg






Re: [M100] Model 100 raster character data

2023-01-03 Thread Ken Pettit

Hey John,

Nice!  No way to make that a 1-liner huh?  ;-)

Ken

On 1/3/23 9:19 PM, John R. Hogerhuis wrote:
The Model 100 does not have a hardware character generator. It paints 
the characters to the display via software. The Model 100 supports one 
font, which is programmed into the ROM.


Characters as rendered to the screen are 6x8. 6 pixels wide by 8 high.

To save space in the ROM, there are two ranges... raster data for 
ASCII 32 to 127 is 5 columns (bytes) wide. 128 to 255 are the full 6 
columns (bytes) wide. Each column of each character is represented by 
a byte. A '1' bit in the byte means black, and a 0 means white (er... 
gray).  The tables start at address $7711 = 30,481.


When characters are actually rendered to the screen by the ROM, it 
renders them 6 pixels wide, with an added blank column for the 
printable ASCII range.


Here is a BASIC program that PEEKs the font data, shifting 1 bit out 
at a time, and paints each character in large format to the screen. It 
waits for you to hit a key before moving on to the next character.


5 DEFINTA-Z
10 B=30481:D=32:W=5
15 CLS
20 FOR I=1 TO W
30 C=PEEK(B)
35 B=B+1
40 FOR J=1TO8
50 L=C AND 1:C=C/2
60 P=(J-1)*40+I:IF I=1 THEN PRINT@P-1,CHR$(47+J);
65 IF L=1 THEN PRINT@P,CHR$(239);:ELSE PRINT@P,CHR$(255);
70 NEXT J:NEXT I:D=D+1:IFD=128THENW=6
90 I$=INKEY$:IF I$="" THEN 90
95 BEEP
96 IF D=256 THEN END
100 GOTO 15

-- John.




Re: [M100] New user (Hello!). Programming Tandy 102 without Basic?

2023-01-03 Thread Ken Pettit
Hi,

Willard Goosey (on this list) did some work a while back for compiling with
SmallC-85 and put together an M100 library for the same:

http://www.sdc.org/~goosey/m100/m100smallc0.0.10.zip


This file is also available in his Personal Libraries section at Club100. I
have not tried to use SmallC-85 or the library to build and C applications
for the Model 100.  I typically write in 8085 assembly directly or a mix of
BASIC and assembly.  There are various 8085 assemblers out there, though I
have only ever used the one I wrote that lives inside VirtualT.

Ken

On Mon, Jan 2, 2023 at 4:45 PM DJCC  wrote:

> Hi there!
>
> I've been dreaming about getting a Tandy 102 for forty years and I just
> recently got two (!!!) for a decent price on eBay.
>
> I'm a programmer by trade and like the idea of writing something for it.
> What does the toolchain look like nowadays for building Tandy 100/102
> programs in assembly? Or, if I'm dreaming, in C?
>
> Searching the archives, I've found http://www.sdc.org/~goosey/ with dev
> resources. Are there others that might be interesting?
>
> Thanks!
> djcc
>


Re: [M100] M100 Audio / music

2022-12-30 Thread Ken Pettit

Thanks!

My next production will run on CloudT also (or a real M100 of course) 
and will (hopefully) be even cooler!


Ken

On 12/30/22 9:25 PM, Jerry Davis wrote:

I would have :)

But running it on CloudT was WAY more convenient.  And very cool!

Jerry

On Fri, Dec 30, 2022, 10:21 PM Mike Stein <mailto:mhs.st...@gmail.com>> wrote:


Convenience; how many people would have dug out a special cable
(if they had one) and speakers to listen to Ken's Xmas card...

m


On Fri, Dec 30, 2022 at 8:21 PM Gregory McGill
mailto:arcadeshop...@gmail.com>> wrote:

I realize that, but since it sounds like a very
small potato why not hook up speakers to the cass out like
my model 3/4 does

On Fri, Dec 30, 2022 at 4:04 PM Mike Stein
mailto:mhs.st...@gmail.com>> wrote:

I think we're trying to use the internal beeper like the
PC, PET etc. do



On Fri, Dec 30, 2022 at 6:23 PM Gregory McGill
mailto:arcadeshop...@gmail.com>>
wrote:

Why don't you play it out the cassette port like the
other trash80s do?

On Thu, Dec 29, 2022, 7:57 PM Ken Pettit
mailto:petti...@gmail.com>> wrote:

On 12/29/22 6:46 PM, MikeS wrote:
> There's quite a bit of 1-bit music out there for
the PC, PET and other systems that only had a
speaker, some of it remarkably good; should be
possible to use similar techniques and even the
same sound files on the M100.

I actually tried playing a 1-bit audio file (that
I recorded) last night
on the M100 using a small ML routine I wrote.  I
could tell it was a
person talking, but couldn't make out any of the
words.  I think the
piezoelectric device the M100 uses as a "speaker"
just doesn't cut it.
At least I believe that is the problem.

Ken

> Re MIDI: there was a project years ago to use an
M100 as a MIDI sequencer; IIRC the baud rate was
'close enough'. I cobbled together an interface
for a proof-of-concept and it seemed to work OK;
never went beyond that though ;-(

Yeah, I was kinda wondering / thinking 1.7% error
might be close enough,
but not having any MIDI devices, I have no way to
test it.

Ken





Re: [M100] M100 Audio / music

2022-12-30 Thread Ken Pettit
Yes, this is the nail square on the head.  Anything that requires a 
special [fill in the blank] means the audience is limited to only those 
with that special doohickey.


Ken

On 12/30/22 8:20 PM, Mike Stein wrote:
Convenience; how many people would have dug out a special cable (if 
they had one) and speakers to listen to Ken's Xmas card...


m


On Fri, Dec 30, 2022 at 8:21 PM Gregory McGill 
mailto:arcadeshop...@gmail.com>> wrote:


I realize that, but since it sounds like a very small potato
why not hook up speakers to the cass out like my model 3/4 does

On Fri, Dec 30, 2022 at 4:04 PM Mike Stein mailto:mhs.st...@gmail.com>> wrote:

I think we're trying to use the internal beeper like the PC,
PET etc. do



On Fri, Dec 30, 2022 at 6:23 PM Gregory McGill
mailto:arcadeshop...@gmail.com>> wrote:

Why don't you play it out the cassette port like the other
trash80s do?

On Thu, Dec 29, 2022, 7:57 PM Ken Pettit
mailto:petti...@gmail.com>> wrote:

On 12/29/22 6:46 PM, MikeS wrote:
> There's quite a bit of 1-bit music out there for the
PC, PET and other systems that only had a speaker,
some of it remarkably good; should be possible to use
similar techniques and even the same sound files on
the M100.

I actually tried playing a 1-bit audio file (that I
recorded) last night
on the M100 using a small ML routine I wrote.  I could
tell it was a
person talking, but couldn't make out any of the
words.  I think the
piezoelectric device the M100 uses as a "speaker" just
doesn't cut it.
At least I believe that is the problem.

Ken

> Re MIDI: there was a project years ago to use an
M100 as a MIDI sequencer; IIRC the baud rate was
'close enough'. I cobbled together an interface for a
proof-of-concept and it seemed to work OK; never went
beyond that though ;-(

Yeah, I was kinda wondering / thinking 1.7% error
might be close enough,
but not having any MIDI devices, I have no way to test it.

Ken





Re: [M100] M100 Audio / music

2022-12-29 Thread Ken Pettit

On 12/29/22 6:46 PM, MikeS wrote:

There's quite a bit of 1-bit music out there for the PC, PET and other systems 
that only had a speaker, some of it remarkably good; should be possible to use 
similar techniques and even the same sound files on the M100.


I actually tried playing a 1-bit audio file (that I recorded) last night 
on the M100 using a small ML routine I wrote.  I could tell it was a 
person talking, but couldn't make out any of the words.  I think the 
piezoelectric device the M100 uses as a "speaker" just doesn't cut it.  
At least I believe that is the problem.


Ken


Re MIDI: there was a project years ago to use an M100 as a MIDI sequencer; IIRC 
the baud rate was 'close enough'. I cobbled together an interface for a 
proof-of-concept and it seemed to work OK; never went beyond that though ;-(


Yeah, I was kinda wondering / thinking 1.7% error might be close enough, 
but not having any MIDI devices, I have no way to test it.


Ken



Re: [M100] Merry Christmas

2022-12-29 Thread Ken Pettit

Hi Jason,

Thank you!  I'm glad you liked it.  Sorry for the delayed response, this 
email ended up in my SPAM folder for some reason.


Ken

On 12/25/22 6:46 PM, Jason White wrote:


Thank you for the fine Christmas “Card” Ken. It was very well done.

Merry Christmas to All!

J White

Sent from Yahoo Mail for iPhone 
<https://overview.mail.yahoo.com/?.src=iOS>


On Sunday, December 25, 2022, 3:05 PM, 
m100-requ...@lists.bitchin100.com wrote:


Send M100 mailing list submissions to
m100@lists.bitchin100.com <mailto:m100@lists.bitchin100.com>

To subscribe or unsubscribe via the World Wide Web, visit
http://lists.bitchin100.com/listinfo.cgi/m100-bitchin100.com
or, via email, send a message with subject or body 'help' to
m100-requ...@lists.bitchin100.com
<mailto:m100-requ...@lists.bitchin100.com>

You can reach the person managing the list at
m100-ow...@lists.bitchin100.com
<mailto:m100-ow...@lists.bitchin100.com>

When replying, please edit your Subject line so it is more specific
than "Re: Contents of M100 digest..."


Today's Topics:

  1. Re: Model 200 repair video (Daniel L)
  2. Re: SOAP vs REST (Daryl Tester)
  3. Re: ongoing support for REX#, REXCPM. (Brian White)
  4. Re: Detokenizer source published to Bitbucket (Brian White)
  5. Re: Model 200 repair video (Doug Jackson)
  6. For Today (Charles Hudson)
  7. Re: Model 200 repair video (bir...@soigeneris.com
<mailto:bir...@soigeneris.com>)
  8. Re: SOAP vs REST (Jeff Gonzales)
  9. Re: Model 200 repair video (Spencer)
  10. Re: SOAP vs REST (John R. Hogerhuis)
  11. Merry Christmas, Happy Hanukah, Happy New Year (John R.
Hogerhuis)
  12. Re: Merry Christmas, Happy Hanukah, Happy New Year
  (Brian K. White)
  13. Re: Merry Christmas, Happy Hanukah, Happy New Year (Ken Pettit)
  14. I mortally wounded my Model T (Hiraghm)
  15. Re: I mortally wounded my Model T (Stephen Adolph)
  16. Re: Merry Christmas, Happy Hanukah, Happy New Year
  (Stephen Adolph)
  17. Fwd: A Greeting Card for you M100 / T102 (Stephen Adolph)
  18. Re: Merry Christmas, Happy Hanukah, Happy New Year (Brian
Brindle)
  19. Re: Merry Christmas, Happy Hanukah, Happy New Year (Ken Pettit)
  20. Re: Merry Christmas, Happy Hanukah, Happy New Year (Sean
O?Brien)
  21. Re: SOAP vs REST (Jeff Gonzales)


--

Message: 1
Date: Sat, 24 Dec 2022 15:45:34 -0800
From: Daniel L mailto:m...@scifidan.com>>
To: m...@bitchin100.com <mailto:m...@bitchin100.com>
Subject: Re: [M100] Model 200 repair video
Message-ID: mailto:ccb209f5-5700-4918-866e-992a935f8...@scifidan.com>>
Content-Type: text/plain; charset="utf-8"

Just finished. Great video as usual.

On December 24, 2022 5:07:12 AM PST, bir...@soigeneris.com
<mailto:bir...@soigeneris.com> wrote:
>Hi all,
>
>
>
>In this video we take a look at a Model 200 with an interesting
problem. It
>turns itself on and you can't turn it off. Once off you can't
turn it back
>on again. This was an interesting problem, and I get thrown off
track a bit
>at first. We get there in the end with a very simple solution.
>
>https://youtu.be/66DIgwN0wvM
>
>
>
>Merry Christmas,
>
>Jeff Birt
>
-- next part --
An HTML attachment was scrubbed...
URL:

<http://lists.bitchin100.com/private.cgi/m100-bitchin100.com/attachments/20221224/f0790c17/attachment-0001.htm>

--

Message: 2
Date: Sun, 25 Dec 2022 12:14:38 +1030
From: Daryl Tester mailto:dt-m...@handcraftedcomputers.com.au>>
To: m...@bitchin100.com <mailto:m...@bitchin100.com>
Subject: Re: [M100] SOAP vs REST
Message-ID:
   
<01340435-83a3-c4b9-27b4-43fb043a5...@handcraftedcomputers.com.au

<mailto:01340435-83a3-c4b9-27b4-43fb043a5...@handcraftedcomputers.com.au>>
Content-Type: text/plain; charset=UTF-8; format=flowed

On 25/12/22 04:12, Jeff Gonzales wrote:

> not m100 related but a bit of nostalgia I thought everyone would
enjoy:
>
>

https://www.linkedin.com/pulse/soap-vs-rest-wise-guys-view-jeffrey-gonzales-msc-cissp/

Wot, no XMLRPC?


--

Message: 3
Date: Sat, 24 Dec 2022 22:12:13 -0500
From: Brian White mailto:b.kenyo...@gmail.com>>
To: m...@bitchin100.com <mailto:m...@bitchin100.com>
Subject: Re: [M100] ongoing support for REX#, REXCPM.
Message-ID:
   
mailto:rusohu9zv-dxv...@mail.gmail.com>>

Content-Type: text/plain; charset="utf-8"

Man, I can't even get my bluet

Re: [M100] M100 Audio / music

2022-12-29 Thread Ken Pettit

On 12/29/22 6:56 AM, Alex ... wrote:
I've got a vintage MIDI synthesizer with the exact same CPU as the 
M100. (Korg Poly800)
This is actually the reason I bought the T102 I have, as a platform to 
learn 8085 assembly. It is absolutely fast enough to process MIDI. The 
protocol was designed for and proliferated on computers of this era.


In the Tandy's case, the hitch is really getting the UART to go the 
right speed. Last time I tried, no combination of timer/divider 
settings would get it close enough to 31250 Baud.


Yeah, this was my thought also regarding the baud rate.  The closest you 
can get is the divide by 5 option which gives 30720 baud ... about 1.7% 
error.  Of course even if it would work, it also means you need a MIDI 
synthesizer instead of just the M100.


Ken


Re: [M100] Fixed another bug in CloudT - Google Drive integration

2022-12-28 Thread Ken Pettit

On 12/28/22 2:52 PM, John R. Hogerhuis wrote:


So to facilitate sharing of programs, RAM images possibly bundled with 
config/launch instructions, the bundles need to be published on the 
web. Google Drive supports sharing content via URL. HTTP, HTTPS, FTP 
servers were of course built for that though I think most people don't 
want the hassle of managing their own servers, even with something 
like WebDAV which in my experience can be a pain. Another store might 
be Github links or similar... since then your URL could always provide 
a link to your current hopefully least buggy version.




Another thought would be to (somehow) code up access to files in the 
Club100 Personal Libraries section.  Not sure what that would look like 
at the moment though.


Ken


[M100] M100 Audio / music

2022-12-28 Thread Ken Pettit

Hey gang,

I was trying to use the Linux based tools I wrote to create something a 
little more advanced than WCCARD.BA.  It turns out getting the M100 to 
orchestrate a piece that is a bit more expressive is more challenging 
than just entering the notes from sheet music.  It's pretty amazing how 
much interpretation an artist imparts that isn't on the page when 
actually playing / performing!


Seems like to get a similar affect, I would need to extend my little 
sheet music parser to include expressive components in addition to just 
raw notes.  Makes me wonder how programmers developed music for the M100 
back in the day when the M100 was the only computer they were using.


Ken


Re: [M100] Fixed another bug in CloudT - Google Drive integration

2022-12-28 Thread Ken Pettit
I had never used the Google Drive integration feature of CloudT before, 
but I just tried it and it is pretty nice!


Would be cool to have a feature where you could make snapshots of your 
RAM to your Google Drive (kinda like a REX backup), but don't know if 
that is possible or if so, how difficult.  Of course that would then 
just be *one more* project to work on ;-)


Ken


On 12/27/22 5:55 PM, John R. Hogerhuis wrote:
CloudT offers the ability to pull files from your Google Drive and put 
them in the cassette queue (which you can then CLOAD from within the 
emulation). Once upon a time the Google Drive integration was working, 
but something broke the ability to stage files. I did some research 
and found Google's side broke it... seems Google API is giving 
incorrect downloadURL from the file picker. I devised a workaround and 
now it's working again.


I don't know how much use the Google Drive integration actually gets. 
I think it gives lots of scary warnings when you attempt to use it the 
first time. There are multiple other ways to load files so if you 
don't like the integration you can always just download the file to 
your drive from a separate Drive window, and then use Choose File from 
CloudT to stage it in the cassette queue.


Since Google keeps breaking its API and there are other ways to do it, 
I may eventually remove the Drive integration from CloudT.


-- John.




Re: [M100] Fwd: A Greeting Card for you M100 / T102

2022-12-26 Thread Ken Pettit

Hi Alex,

Thanks!  Was a lot of fun to develop.   Merry Christmas to you as well.

Ken

On 12/26/22 5:51 AM, Alex ... wrote:

Ken, that is excellent.
Merry (belated) Christmas to you and the rest of the list. :)

-Alex




Re: [M100] Merry Christmas, Happy Hanukah, Happy New Year

2022-12-25 Thread Ken Pettit

Thanks Sean!  I'm glad you enjoyed it!

Ken

On 12/25/22 12:38 PM, Sean O’Brien wrote:
Marvelous Christmas card, Ken. Model T is in pieces this week, but 
card looks great on the wireless telephone!


Sean
Sent from my iPhone


On Dec 25, 2022, at 4:52 PM, Brian Brindle  wrote:


I got the forward from Stephen, that was pretty awesome Ken! Thank 
you and happy holidays to all!


I had no idea the M100 could hit notes that high...

Brian


On Sun, Dec 25, 2022 at 2:45 PM Stephen Adolph <mailto:twospru...@gmail.com>> wrote:


I received it!  Very cool Ken, and creative!  Happy holidays, Steve

On Sun, Dec 25, 2022 at 1:46 PM Ken Pettit mailto:petti...@gmail.com>> wrote:

Hmm,  that might explain why John was the only one to
respond!  I wonder
if it was stripped because of a binary tokenized file being
attached.

No worries though, I uploaded it to my Personal Libraries
section at
Club100 under the "Media" folder.

Ken

On 12/25/22 10:39 AM, Brian K. White wrote:
> On 12/25/22 13:28, John R. Hogerhuis wrote:
>> I highly recommend not letting the day go by without
checking out
>> Ken's Christmas card.
>
> I see no message about this. I checked my spam folders and two
> different accounts (though both are gmail)
>





Re: [M100] SOAP vs REST

2022-12-25 Thread Ken Pettit

On 12/25/22 12:59 PM, Jeff Gonzales wrote:
I was really hoping someone would get the "stateless and out of cache" 
joke.




They say money talks.   All mine ever says is "Goodbye!"

Ken


Re: [M100] Merry Christmas, Happy Hanukah, Happy New Year

2022-12-25 Thread Ken Pettit

Thank you Brian!  And you too Steve for the assist.

I'm not actually sure it is even hiting the highest notes.  I didn't 
actually code up all the numbers in the BASIC program and instead wrote 
a C program that generated the BASIC.  I entered the song from sheet 
music into a text file and then fed it into my C program.  The encoded 
sheet music supports both Treble (T) and Bass (B) cleffs, and (w)hole, 
(q)uarter and (e)igh'th notes, 'r'est, plus triplets ( 3[ ... ] ) played 
at 2/3 time and dot '.' notation that extends the note by 1/2 of it's 
period.  Oh and 'G' counts as a quarter rest and allows me to GOSUB to a 
line number (for changing the image).  It looks something like this:


# - - 
-
# I'mdrea-ming of   a   
white
# - - 
-
T w eq f  q e  q r e d# e 
e h. f  G 50
B w c2   h c2  q b2 q 
c2 h. c2 q r


# - - 
-
# Christ-mas just like  the 
ones   I  used   to
#withe -  
veryChris- mascard   I
# - - 
-
T q f#   h. gq r   q a2 q b2  q 
c2 q d2   q c2   q b2   q a2
B h c2   3[ q c2 q g q f# ]  q e   q r  q g   q 
r  q e2   q f2   q gq f2


Happy holidays!

Ken

On 12/25/22 12:22 PM, Brian Brindle wrote:
I got the forward from Stephen, that was pretty awesome Ken! Thank you 
and happy holidays to all!


I had no idea the M100 could hit notes that high...

Brian


On Sun, Dec 25, 2022 at 2:45 PM Stephen Adolph <mailto:twospru...@gmail.com>> wrote:


I received it!  Very cool Ken, and creative! Happy holidays, Steve

On Sun, Dec 25, 2022 at 1:46 PM Ken Pettit mailto:petti...@gmail.com>> wrote:

Hmm,  that might explain why John was the only one to
respond!  I wonder
if it was stripped because of a binary tokenized file being
attached.

No worries though, I uploaded it to my Personal Libraries
section at
Club100 under the "Media" folder.

Ken

On 12/25/22 10:39 AM, Brian K. White wrote:
> On 12/25/22 13:28, John R. Hogerhuis wrote:
>> I highly recommend not letting the day go by without
checking out
>> Ken's Christmas card.
>
> I see no message about this. I checked my spam folders and two
> different accounts (though both are gmail)
>





Re: [M100] Merry Christmas, Happy Hanukah, Happy New Year

2022-12-25 Thread Ken Pettit
Hmm,  that might explain why John was the only one to respond!  I wonder 
if it was stripped because of a binary tokenized file being attached.


No worries though, I uploaded it to my Personal Libraries section at 
Club100 under the "Media" folder.


Ken

On 12/25/22 10:39 AM, Brian K. White wrote:

On 12/25/22 13:28, John R. Hogerhuis wrote:
I highly recommend not letting the day go by without checking out 
Ken's Christmas card.


I see no message about this. I checked my spam folders and two 
different accounts (though both are gmail)






Re: [M100] Pinenut Wifi / BLE

2022-12-17 Thread Ken Pettit

Hi Hiraghm,

Serial/UART baud rate: 115200 bps

That would be an issue in the Model 100 ... the UART can't run that 
fast, and even if it could, the 8085 would never keep up with the data 
rate.  Nice little board though!


Ken

On 12/17/22 6:16 AM, Hiraghm wrote:


I came across this tiny little board on the Pine64 site, and I wonder...

PineNut Wifi/BLE board 



this thing is about 1" by 2/3" (25 x 14mm), and as I understand it 
provides wifi and bluetooth, via serial (TTL or UART, I think).



I think it could be mounted internally to the M100 (dunno about M102). 
Maybe a 200, too.


IF one could connect it to the modem serial connection, one could then 
theoretically use it to connect via wifi/bluetooth, and switch to the 
external rs232 port, keeping its functionality, with a minimum of 
"destruction" to the M100.



Or maybe, connect it to the barcode scanner, which, if possible for 
regular comms with the module, would leave you able to use the rs232 
and the wifi at the same time.



I'm interested in any opinions on this, because imo it could massively 
improve the functionality of the M100 (yes, I know the same essential 
thing is possible with some of the wifi-capable arduino boards, but 
all I've seen of them are much larger than this).







Re: [M100] Help with simple image on M100 screen?

2022-12-15 Thread Ken Pettit
Oh and I just realized, you would have to load a BMP file as a .CO since 
it is raw binary data, and BASIC would have to access by manually 
finding it's address in the MENU directory, then use PEEKs to read the 
data since it is binary.


Ken

On 12/15/22 11:39 AM, Peter Vollan wrote:

so what is the .BA file?


On Thu, 15 Dec 2022 at 11:19, Ken Pettit <mailto:petti...@gmail.com>> wrote:


Feasible?  Yes.  Slow?  ABSOLUTELY!

This is the reason I created AsciiPixels.  It provides two main
features critical to the M100:

   1.  It is machine language graphics routines, so it is
blazingly fast relative to BASIC.
   2.  It provides a level of image compression similar to Linux
'xz' compression in most cases:

Full screen image (i.e. image size is 240 x 64 pixels):

 dragon.do  825 bytes This is the APRAW encoding
 dragon.ap  640 bytes AsciiPixels encoding
 dragon.pbm.xz  628 bytes Linux xz compression
 dragon.bmp2178 bytes
 dragon.pbm1969 bytesOriginal non-compressed 1-BPP bitmap:
240x64 pixels / 8
pixels/byte = 1920 + header

Ken

On 12/15/22 9:20 AM, Cedric Amand wrote:

I remember from my "demoscene era times" that bmp decoding is
actually quite simple.
It might be feasible to decode a BMP in plain basic on a
T100/T200 imho.
Le 2022-12-15 10:12, VANDEN BOSSCHE JAN

<mailto:jan.vandenboss...@vivaqua.be> a écrit :

It might be difficult to code, but would a conversion to BMP
not be possible? Considering the never-changing nature of the
Model T's screen (240x64, monochrome) it shouldn't take too
much place. Even if .BMP is a wastefull standard, it would
give an easy way to interchange screendumps and logos to and
from the Model T.







Re: [M100] Help with simple image on M100 screen?

2022-12-15 Thread Ken Pettit

The DRAGON.BA file is 2098 bytes because it includes:

  - APRAW encoded ML strings
  - PRTSCR (print screen) encoded ML strings
  - BASIC code to load the above 2 ML programs to ALTLCD and LCD memory 
space

  - BASIC progress bar printing to show ML load status
  - BASIC code to validate the ML checksum
  - Keyboard input logic
  - DRAGON.DO encoded image strings

If I remove the printscreen code, keyboard scan logic and progress bar 
logic, the size reduces to 1488 bytes.


Ken

On 12/15/22 11:39 AM, Peter Vollan wrote:

so what is the .BA file?


On Thu, 15 Dec 2022 at 11:19, Ken Pettit <mailto:petti...@gmail.com>> wrote:


Feasible?  Yes.  Slow?  ABSOLUTELY!

This is the reason I created AsciiPixels.  It provides two main
features critical to the M100:

   1.  It is machine language graphics routines, so it is
blazingly fast relative to BASIC.
   2.  It provides a level of image compression similar to Linux
'xz' compression in most cases:

Full screen image (i.e. image size is 240 x 64 pixels):

 dragon.do  825 bytes This is the APRAW encoding
 dragon.ap  640 bytes AsciiPixels encoding
 dragon.pbm.xz  628 bytes Linux xz compression
 dragon.bmp2178 bytes
 dragon.pbm1969 bytesOriginal non-compressed 1-BPP bitmap:
240x64 pixels / 8
pixels/byte = 1920 + header

Ken

On 12/15/22 9:20 AM, Cedric Amand wrote:

I remember from my "demoscene era times" that bmp decoding is
actually quite simple.
It might be feasible to decode a BMP in plain basic on a
T100/T200 imho.
Le 2022-12-15 10:12, VANDEN BOSSCHE JAN

<mailto:jan.vandenboss...@vivaqua.be> a écrit :

It might be difficult to code, but would a conversion to BMP
not be possible? Considering the never-changing nature of the
Model T's screen (240x64, monochrome) it shouldn't take too
much place. Even if .BMP is a wastefull standard, it would
give an easy way to interchange screendumps and logos to and
from the Model T.







Re: [M100] Help with simple image on M100 screen?

2022-12-15 Thread Ken Pettit

Feasible?  Yes.  Slow?  ABSOLUTELY!

This is the reason I created AsciiPixels.  It provides two main features 
critical to the M100:


   1.  It is machine language graphics routines, so it is blazingly 
fast relative to BASIC.
   2.  It provides a level of image compression similar to Linux 'xz' 
compression in most cases:


Full screen image (i.e. image size is 240 x 64 pixels):

 dragon.do  825 bytes This is the APRAW encoding
 dragon.ap  640 bytes AsciiPixels encoding
 dragon.pbm.xz  628 bytes Linux xz compression
 dragon.bmp2178 bytes
 dragon.pbm1969 bytes Original non-compressed 1-BPP bitmap:
240x64 pixels / 8 pixels/byte = 
1920 + header


Ken

On 12/15/22 9:20 AM, Cedric Amand wrote:
I remember from my "demoscene era times" that bmp decoding is actually 
quite simple.

It might be feasible to decode a BMP in plain basic on a T100/T200 imho.
Le 2022-12-15 10:12, VANDEN BOSSCHE JAN  
a écrit :


It might be difficult to code, but would a conversion to BMP not
be possible? Considering the never-changing nature of the Model
T's screen (240x64, monochrome) it shouldn't take too much place.
Even if .BMP is a wastefull standard, it would give an easy way to
interchange screendumps and logos to and from the Model T.





Re: [M100] Help with simple image on M100 screen?

2022-12-15 Thread Ken Pettit
Yes, it would be possible to write a "screendump" ML routine that 
converts to BMP, but it surely wouldn't fit into ALTLCD's 320 byte code 
space and would have to be a .CO file that is loaded somewhere in 
HIMEM.  A screendump could be useful for some applications I suppose.


Of course the BASIC programs we have been talking about are displaying 
an image on the M100 LCD that *originated* from a JPG / PBM file.  So 
why not just convert the JPG / PBM file to BMP directly using your fancy 
i5 or i7?  In fact, and this was purely for testing purposes mind you, 
;-)  I have *other* images I have created for the M100 that can be 
displayed using APRAW which came from JPGs (images you probably wouldn't 
want to display on your portable if you were, I don't know, at work for 
instance).


The idea of actually "printing" the screen to something (anything) like 
an FX80 just seemed retro-cool, and since the only compatible "printer" 
I have is the VirtualT FX80 emulation, that became the natural choice.


Ken

On 12/15/22 1:12 AM, VANDEN BOSSCHE JAN wrote:


It might be difficult to code, but would a conversion to BMP not be 
possible? Considering the never-changing nature of the Model T's 
screen (240x64, monochrome) it shouldn't take too much place. Even if 
.BMP is a wastefull standard, it would give an easy way to interchange 
screendumps and logos to and from the Model T.


Just my 2c.

Greetings from the TyRannoSaurus

Jan-80

 Rejoignez-nous sur Facebook - Volg ons op Facebook


DISCLAIMER

Pensez à l’environnement, n’imprimez cette page et ses annexes que si 
c’est nécessaire. Ce message électronique, y compris ses annexes, est 
confidentiel et réservé à l’attention de son destinataire. Si vous 
n’êtes pas le destinataire de ce message, merci de le détruire et d’en 
informer l’expéditeur. Toute divulgation, copie ou utilisation de ce 
mail est dans ce cas interdite. La sécurité et l’exactitude des 
transmissions de messages électroniques ne peuvent être garanties.


Denk aan het milieu; druk deze pagina en de bijlagen alleen af als het 
nodig is. Dit e-mailbericht (inclusief zijn bijlagen) is vertrouwelijk 
en is uitsluitend bestemd voor de geadresseerde. Als dit bericht niet 
voor u bestemd is, wordt u verzocht het te wissen en de afzender te 
informeren. Het is in dat geval niet toegestaan dit bericht te 
verspreiden, te kopiëren of te gebruiken. We kunnen niet garanderen 
dat de gegevensoverdracht via het internet veilig en nauwkeurig is.


  ­­ 




Re: [M100] Help with simple image on M100 screen?

2022-12-14 Thread Ken Pettit

On 12/14/22 11:16 AM, John R. Hogerhuis wrote:



On Wed, Dec 14, 2022 at 10:52 AM Peter Vollan > wrote:


1 bit?


-Per pixel


Yeah, software engineers have it easy these days ... they get both 0's 
and 1's.  Back in my day we only had 1's.  :)


Ken


Re: [M100] Help with simple image on M100 screen?

2022-12-14 Thread Ken Pettit

All,

Note that the previous DRAGON.BA file has a bug if you actually try to 
print the image.  It doesn't re-enable interrupts after printing, thus 
forcing you to reset the M100 using the reset switch (the keyboard scan 
loop is disabled, so CTRL-BREAK doesn't work).


The attached updated DRAGON.BA fixes this.

Ken

On 12/14/22 6:30 AM, Ken Pettit wrote:

Hi Cedric,

Yes, I can absolutely share this code.  I will have to write a bit of 
documentation for it and post it to my Personal Libraries ... probably 
sometime tomorrow or Friday (I have some commitments prior to that).  
But for now, I have at least enclosed the DRAGON.BA file if you want 
to run it on your M100/102.  This is a tokenized BASIC file which is 
self-contained (i.e. no external .CO file needed, unlike AsciiPixels).


Also note that you press 'q' to quit.  Or *if* you happen to have an 
FX-80 printer on hand (or are running in VirtualT with the Epson FX-80 
printer emulation mode), you can hit 'p' for print. This will load 
different Machine Language code into the main LCD buffer which 
performs a graphic screen dump to the LPT port using Epson FX-80 
low-resolution graphics protocol.  I have attached a Postscript output 
file of the print from VirtualT as well.


There is some documentation for AsciiPixels at Club100 in my Personal 
Libraries section, along with an application "pbm2ap" which will 
convert a RAW (i.e. binary, not ASCII) 1-bit color depth .pbm file 
(output from GIMP) file to an AsciiPixels file. Note that AsciiPixels 
.CO is much larger and more complex than APRAW and must be loaded as a 
.CO.  But the advantage is that once it is loaded, the BASIC program 
doesn't need to spend time loading up ALTLCD with ML code, plus the 
AsciiPixels encoding for images is more compact than APRAW.


Ken

On 12/14/22 2:41 AM, Cedric Amand wrote:

Can you share this code Ken ?
Also where to get information about asciipixels ?
Le 2022-12-14 03:13, Ken Pettit  a écrit :


The code I have is a BASIC only implementation that loads a small
ML program into ALTLCD and then draws a graphic from BASIC
Strings.  It is not as advanced as asciipixels in the following ways:

   1.  Asciipixels can draw an image at any X,Y location. Apraw
can only draw at x*8, y*8 locations.







DRAGON.BA
Description: Binary data


Re: [M100] Help with simple image on M100 screen?

2022-12-14 Thread Ken Pettit

Hi Cedric,

Yes, I can absolutely share this code.  I will have to write a bit of 
documentation for it and post it to my Personal Libraries ... probably 
sometime tomorrow or Friday (I have some commitments prior to that).  
But for now, I have at least enclosed the DRAGON.BA file if you want to 
run it on your M100/102.  This is a tokenized BASIC file which is 
self-contained (i.e. no external .CO file needed, unlike AsciiPixels).


Also note that you press 'q' to quit.  Or *if* you happen to have an 
FX-80 printer on hand (or are running in VirtualT with the Epson FX-80 
printer emulation mode), you can hit 'p' for print.  This will load 
different Machine Language code into the main LCD buffer which performs 
a graphic screen dump to the LPT port using Epson FX-80 low-resolution 
graphics protocol.  I have attached a Postscript output file of the 
print from VirtualT as well.


There is some documentation for AsciiPixels at Club100 in my Personal 
Libraries section, along with an application "pbm2ap" which will convert 
a RAW (i.e. binary, not ASCII) 1-bit color depth .pbm file (output from 
GIMP) file to an AsciiPixels file.  Note that AsciiPixels .CO is much 
larger and more complex than APRAW and must be loaded as a .CO.  But the 
advantage is that once it is loaded, the BASIC program doesn't need to 
spend time loading up ALTLCD with ML code, plus the AsciiPixels encoding 
for images is more compact than APRAW.


Ken

On 12/14/22 2:41 AM, Cedric Amand wrote:

Can you share this code Ken ?
Also where to get information about asciipixels ?
Le 2022-12-14 03:13, Ken Pettit  a écrit :


The code I have is a BASIC only implementation that loads a small
ML program into ALTLCD and then draws a graphic from BASIC
Strings.  It is not as advanced as asciipixels in the following ways:

   1.  Asciipixels can draw an image at any X,Y location. Apraw
can only draw at x*8, y*8 locations.





DRAGON.BA
Description: Binary data


dragon.ps
Description: PostScript document


Re: [M100] Help with simple image on M100 screen?

2022-12-13 Thread Ken Pettit
Or if you want, I can describe to you how *you* can do it if you have 
and know how to use GIMP and a C compiler :)  Either way.


Ken

On 12/13/22 9:00 PM, Ken Pettit wrote:

Huxley,

Send me a graphic file of your company logo and I'll get you a BASIC 
program to display it.  Should be pretty simple (and fun). Oh, and my 
favorite drink is bottled water, so no worries on the "dollar 
amount"!  :)


Ken

On 12/13/22 5:07 PM, Huxley Dunsany wrote:

Hi M100 folks!

Wondering if someone here could potentially help me with a silly / 
pointless / fun little project. I have a sizable collection of 
vintage computers and devices, and once in a while I like to post one 
of them displaying my company logo to my team Slack channel. Totally 
impractical, but it’s a fun way to blur the lines between my work and 
my retrocomputing hobby.


Bearing in mind that I’m *not* a programmer, I’d like to find a way 
to display a simple 1-bit image of my company logo on the screen of 
my Model 100. Is there anyone here with the ability to help cook up 
some BASIC code (or something comparable?) for doing this? Given the 
borderline non-existent graphics capabilities of this machine, I’m 
guessing it would involve some kind of pixel-by-pixel bitmap or 
something, but as noted before, I’m no programmer so I’m just 
guessing here.


Let me know if this sounds like the kind of gag you’d be able to help 
with - there could be a dollar amount roughly equal to a 6-pack of 
your preferred drink in the mix… :-)






Re: [M100] Help with simple image on M100 screen?

2022-12-13 Thread Ken Pettit

Huxley,

Send me a graphic file of your company logo and I'll get you a BASIC 
program to display it.  Should be pretty simple (and fun).  Oh, and my 
favorite drink is bottled water, so no worries on the "dollar amount"!  :)


Ken

On 12/13/22 5:07 PM, Huxley Dunsany wrote:

Hi M100 folks!

Wondering if someone here could potentially help me with a silly / pointless / 
fun little project. I have a sizable collection of vintage computers and 
devices, and once in a while I like to post one of them displaying my company 
logo to my team Slack channel. Totally impractical, but it’s a fun way to blur 
the lines between my work and my retrocomputing hobby.

Bearing in mind that I’m *not* a programmer, I’d like to find a way to display 
a simple 1-bit image of my company logo on the screen of my Model 100. Is there 
anyone here with the ability to help cook up some BASIC code (or something 
comparable?) for doing this? Given the borderline non-existent graphics 
capabilities of this machine, I’m guessing it would involve some kind of 
pixel-by-pixel bitmap or something, but as noted before, I’m no programmer so 
I’m just guessing here.

Let me know if this sounds like the kind of gag you’d be able to help with - 
there could be a dollar amount roughly equal to a 6-pack of your preferred 
drink in the mix… :-)




Re: [M100] Help with simple image on M100 screen?

2022-12-13 Thread Ken Pettit
Funny this topic should come up today ... the past week I have been 
having fun trying to put together a holiday "greeting card" that 
displays some graphics and plays music.  I have the graphics routine 
done (a much simpler code base than asciipixels I call apraw for 
AsciiPixels RAW), but haven't gotten to the music part yet.


The code I have is a BASIC only implementation that loads a small ML 
program into ALTLCD and then draws a graphic from BASIC Strings.  It is 
not as advanced as asciipixels in the following ways:


   1.  Asciipixels can draw an image at any X,Y location.  Apraw can 
only draw at x*8, y*8 locations.
   2.  Asciipixels uses much better image compression than apraw and 
can use only 7-bit ASCII.  Apraw uses 128 bit ASCII (which can sometimes 
cause issues with TEXT I noticed).
   3.  Asciipixels supports "pointers" and image masks.  Apraw is just 
blasing bytes to the M100.
   4.  Asciipixels has both M100/M102 and T200 support.  Apraw currenly 
only supports M100/M102.


Attached is a screenshot of VirtualT running a sample BASIC program at 
2.4MHz emulation speed (i.e. actual speed of the M100).


Let's talk!  :)

Ken

On 12/13/22 5:19 PM, Stephen Adolph wrote:

Sounds like a great use case for... asciipixels!!!
Although Ken might have to repeat his instructions.

On Tuesday, December 13, 2022, Huxley Dunsany > wrote:


Hi M100 folks!

Wondering if someone here could potentially help me with a silly /
pointless / fun little project. I have a sizable collection of
vintage computers and devices, and once in a while I like to post
one of them displaying my company logo to my team Slack channel.
Totally impractical, but it’s a fun way to blur the lines between
my work and my retrocomputing hobby.

Bearing in mind that I’m *not* a programmer, I’d like to find a
way to display a simple 1-bit image of my company logo on the
screen of my Model 100. Is there anyone here with the ability to
help cook up some BASIC code (or something comparable?) for doing
this? Given the borderline non-existent graphics capabilities of
this machine, I’m guessing it would involve some kind of
pixel-by-pixel bitmap or something, but as noted before, I’m no
programmer so I’m just guessing here.

Let me know if this sounds like the kind of gag you’d be able to
help with - there could be a dollar amount roughly equal to a
6-pack of your preferred drink in the mix… :-)





Re: [M100] Club100 Personal Library

2022-11-14 Thread Ken Pettit

Hey Jason,

I just approved your account.  You should get an email and be able to 
use it now.


Ken

On 11/12/22 2:26 PM, Jason White wrote:


Message: 17
Date: Sat, 12 Nov 2022 06:27:39 -0800
From: Ken Pettit mailto:petti...@gmail.com>>
To: m100@lists.bitchin100.com <mailto:m100@lists.bitchin100.com>
Subject: Re: [M100] Club100 Personal Library
Message-ID: <636fad5b.9080...@gmail.com 
<mailto:636fad5b.9080...@gmail.com>>

Content-Type: text/plain; charset="utf-8"; Format="flowed"

>Jason,

>When you try to "Register", do you get an >error message or anything?

>Ken

Ken,

I tried it again this morning and it asked me to activate the account, 
but I don’t recall getting an email and there’s nothing in my spam 
folder either. I searched for Club100 in my emails to no avail. I 
suppose it’s possible I mistyped my email address when registering.


J White




Re: [M100] Club100 Personal Library

2022-11-12 Thread Ken Pettit

Jason,

When you try to "Register", do you get an error message or anything?

Ken

On 11/12/22 6:14 AM, Joshua O'Keefe wrote:

On Nov 12, 2022, at 6:07 AM, Jason White  wrote:
I would like to create a library there and upload some of my programs 
that don't seem to be anywhere.






Re: [M100] CALL subroutines and BC/DE

2022-11-07 Thread Ken Pettit

Hi John,

No, you don't need to preserve them.  After a CALL operation, the "OS" 
does a "RET" operation to an address it PUSHed to the stack. The routine 
at that address does not depend on any partiular value in any of the 
registers.


Ken

On 11/7/22 11:44 AM, John R. Hogerhuis wrote:

Are CALL subroutines required to preserve any registers?

HL and A hold incoming parameters. So presumably they're fair game for 
changing without restoring.


The question is about BC and DE. Can those be modified without 
restoring them?


-- John.




Re: [M100] Compute a 16-bit signed value in BASIC

2022-10-27 Thread Ken Pettit

On 10/26/22 11:50 PM, John R. Hogerhuis wrote:



On Wed, Oct 26, 2022 at 4:57 PM Ken Pettit <mailto:petti...@gmail.com>> wrote:



You have to make it a negative number by subtracting it from 65536:

20 H$="0123456789ABCDEF":

D=VARPTR(H$)+1:IFPEEK(D+1)>127THENC=65536-256*PEEK(D+1)-PEEK(D)ELSEC=PEEK(D)+256*PEEK(D+1)



Thanks! Makes sense.

Pity about the conditional.



Yep.  And actually, that should have been C=256*PEEK(D+1)+PEEK(D) - 
65536, otherwise it is just a different positive value.


Ken


Re: [M100] Compute a 16-bit signed value in BASIC

2022-10-26 Thread Ken Pettit

On 10/26/22 4:33 PM, John R. Hogerhuis wrote:

Anyone know how to compute a 16-bit integer address without overflow?

Trying to get the address of a string H$ into a variable C that I can 
PEEK. The first byte of a string object is the length. It's followed 
by a pointer to the string


10 DEFINTA-F
20 H$="0123456789ABCDEF": D=VARPTR(H$)+1:C=PEEK(D)+256*PEEK(D+1)


You have to make it a negative number by subtracting it from 65536:

20 H$="0123456789ABCDEF": 
D=VARPTR(H$)+1:IFPEEK(D+1)>127THENC=65536-256*PEEK(D+1)-PEEK(D)ELSEC=PEEK(D)+256*PEEK(D+1)





No workey... overflow error.

What is happening is that PEEK(D+1) is 128. 256 * 128 = 32768 which is 
too big to be stored in C% (a 16-bit signed integer)


So given a number 0-65535 is there a good way in BASIC to get the 
16-bit signed value -32768..32767?


FWIW, AND and NOT only work on signed 16-bit values, not > 32767 
positive values.


-- John.




Re: [M100] assembly language first steps

2022-09-26 Thread Ken Pettit

Hi Will,

I think most people on the list prefer tasm, though I use only the 
assembler in VirtualT personally.  Of course I wrote it and so therefore 
know how to use it and all of it's quirks.


Ken

On 9/26/22 5:13 PM, Will Senn wrote:
It will only be a matter of time before I want to program in assembly 
on my m100. I've read up and familiarized myself with the landscape on 
this and find it a bit confusing.


What is the preferred (or most common method) of getting an 
assembly/machine language program to run on the m100. I know that I 
can use basic to run machine code, but that's kludgy. I believe there 
is a basic assembler program in the wild and I've read about Custom 
Software's assembler, are either or both available online?


Thanks!

Will




Re: [M100] Character bitmaps

2022-09-25 Thread Ken Pettit

You can start with VirtualT if you really want.  ;-)

Ken

On 9/25/22 2:15 PM, Will Senn wrote:

Thanks Mike! That's the ticket. Now, I just need my M100 to show up.

Later,

Will

On 9/25/22 2:49 PM, Mike Stein wrote:
30481,  7711H - Start of LCD character generator shape table.  Five 
bytes per char for
 the first 128 characters.  6 bytes per char for characters 
128-255.


On Sun, Sep 25, 2022 at 1:55 PM Will Senn  wrote:

All,

This is my first post, but hopefully not my last.

I originally had an M100 in 1984 that I hocked for $50 bucks at a
local pawn shop for food money in my freshman year. I never went
back (I didn't get the $50 plus interest for ages). Now, it's 38
years later and I'm finally getting it out of hock (so to speak).
I remember writing a basic program that read the character
bitmaps out of ROM (at least that's how I remember it) and used
the bitmap as a basis for a banner in the same font. I think I'd
like my first program on my new/old M100 to be a banner program
and so I'm digging around looking for where, in ROM, the
character bitmaps are stored. I've looked here, there, and
everywhere to no avail. Is there a set of bitmaps stored in ROM,
and if so where?

If I remember correctly, each character was represented as a set
of 8 (maybe 7) 6 (maybe 5) bit binary numbers:

001000
010100
100010
100010
10
100010
100010
00

or somesuch for A...
resulting in something like:

  1
 1 1
1   1
1   1
1
1   1
1   1

being displayed. The zeros on the bottom and right may be on the
top or left, or not there at all, but there are spaces between
and below characters, either in the bitmap or added by the
display functions.

Thanks!

Will








Re: [M100] Club100 Model 200 LCDs available?

2022-09-22 Thread Ken Pettit
I don't have any spare T200 LCDs (or non-functioning T200s).  In fact my 
personal T200 is having screen issues also I believe.


Ken

On 9/22/22 10:24 AM, Hiraghm wrote:

I've been looking on ebay for the possibility of getting a model 200.

It seems that almost every one available on ebay has some kind of 
screen issue or other.


So I was wondering if the replacement LCDs are still available on 
Club100?


It would be worth the cost if I could get an M200, and make it usable 
again.







Re: [M100] inputattach

2022-09-09 Thread Ken Pettit

On 9/9/22 6:06 PM, Daryl Tester wrote:

  That's definitely an exercise
for the reader ...


Umm  ... wouldn't that be an exercise for the *writer* ???  ;-)

Ken


Re: [M100] what's the Right Way to code and assemble on model-t hardware

2022-09-06 Thread Ken Pettit

Hi Charlie,

You need to use BASIC's 'clear' command to set HIMEM.  Clear takes two 
parameters   1) the amount of Variable space to reserve (I believe, 
though I always set this to 256 and have more than 256 bytes of 
variables) and 2) the HIMEM value.  So you should run the command:


   clear 256,56000

To load programs in the 56000 range.  This will tell the Model T "OS" 
not to use RAM above that poiint.


Ken

On 9/6/22 5:51 AM, Charlie Hoey wrote:
Hey all, looks like the search might be broken in the archives, so 
apologies if there's a whole thread on this I missed.


So I've done some 6502 development, and I have recently been enjoying 
learning some basics of 8080 assembly on my 100 and 102 using BYTEIT. 
Very informative to learn a second architecture. So far I'm just 
porting in a few LFSR random number routines and trying to get the lay 
of the land.


I've read a fair bit on club100, and this doc ( 
http://www.club100.org/library/doc/ramabout.html) feels like it should 
have the answers I want, but I'm still a bit lost.


So if I type `?HIMEM` in basic, is that showing me the upper limit of 
what BASIC will attempt to allocate in RAM? Basically like, how do I 
carve out a chunk of RAM that is safe-ish from getting clobbered? 
Right now, I'm setting HIMEM to 5, telling BYTEIT to assemble 
there, and ORGing small routines up in the 56000 range. Seems to work 
for a while, but looks wrong from how memory is described in the doc 
above.


Basically wondering the best way to determine a safe range for 
sandboxing assembly on the machine itself.


Thanks!






Re: [M100] TPDD Server in MS BASIC?

2022-08-29 Thread Ken Pettit
No, but I have it in Microchip PIC18F assembly!!   Not sure that help 
you though.  :)


Also, there is a C++ version in the VirtualT source code.

Ken

On 8/29/22 4:03 PM, Dan Higdon wrote:
Does anyone have source to a LaddieAlpha type TPDD "server" program, 
but written in Microsoft Basic?


I have this idea to have a CP/M machine (in this case, a 
recently built Altair clone) act as a file server for my ModelT. This 
is obviously just a "for the fun of it" project with little practical 
value, but I thought it would be worth asking here if anyone had 
already done something like this.


I suppose a relevant followup question would be, "what com settings 
are necessary to support TPDD?" (baud rate, bits, etc.) I think that 
my target machine can't do serial comms faster than 9600, so maybe 
this project is impossible.


(My *real* "for the fun of it" project would be doing an 8080 CP/M ASM 
program that hosts a TPDD dialog, but I'm afraid that my level of 
commitment to this project is not equal to the difficulty.)


Thanks for indulging my questions,
/hdan




Re: [M100] Building Virtual T For Linux Mint?

2022-08-19 Thread Ken Pettit
I have a machine at home with Linux Mint on it (a very old EeePC) that I 
believe has VirtualT running on it.  I will see if I can check it out 
late tonight after my daughter's school carnival, or possibly tomorrow.


But I agree with John, it should be very similar.

Ken

On 8/19/22 1:17 PM, John R. Hogerhuis wrote:
Should be similar. There are always hitches, let us know if you get 
stuck.


-- John.


On Fri, Aug 19, 2022, 12:01 PM David Szasz > wrote:


Hi:

I'm new to the Virtual T emulator. Can one use the
build procedure for Ubuntu as outlined in "Bitchin100" for Linux
Mint (as it was developed from Ubuntu)? Or are there
alternate steps to build for Linux Mint?

I rarely post to the forum so bear with me.

Thanks
Dave NV3F





Re: [M100] Another slabtop? Or pc screen extension?

2022-08-18 Thread Ken Pettit
I don't see any teardown videos for it, though from the side view, it 
*appears* to have possibility for space.  Though with 5V at 1A current 
draw, it would definately drain some batteries!  :-)


Ken

On 8/18/22 1:52 PM, John R. Hogerhuis wrote:
Yeah you're probably right it's purpose built... though I wonder if 
there's any space in there. I mean a raspberry pi as the computer 
would presumably work.




Re: [M100] Another slabtop? Or pc screen extension?

2022-08-18 Thread Ken Pettit
Looks super cool, but I'm guessing it has no processor in it and has a 
simple ASIC chip that converts USB to Video / keyscan.  This probably 
removes any possibility of hacking to be a full-fledged computer.


Ken

On 8/18/22 1:16 PM, John R. Hogerhuis wrote:

Ain't that pretty?

https://gagadget.com/en/156042-ficihip-mechanical-keyboard-has-an-integrated-126-inch-touchscreen-display/ 



Not sure what it can actually do.

-- John.





Re: [M100] Questions about tokenizing BASIC in UNIX

2022-07-25 Thread Ken Pettit
M100/M102 and T200 all use the same token format, but 8201A/8300 is 
different from the other 3 variants.  You could try using M100 VirtualT 
with 32K to tokenize and save the .BA file, then load it into T200.


Ken

On 7/24/22 11:42 PM, John R. Hogerhuis wrote:
Not as far as I know. I think Robert Pigford's program is it. 
PowerBASIC is a compiler though so I guess its binaries would run 
under a Linux DOS emulator. I've certainly run DOS assemblers like 
TASM as part of a GNU/Linux Makefile.


You would need a tokenizer for each BASIC variant you want to support 
(M100/102, 8201A/8300, and maybe t200?)


The ROM of each machine is of course already capable of doing it 
properly by definition via LOAD/CLOAD. So emulators effectively 
support tokenization as well. VirtualT is fully scriptable over 
telnet/socket.


For myself I just use my laptop or emulator to created tokenized files.

One note... there are valid, specially constructed BA  files that do 
not fully LIST, and are not convertible to ASCII BASIC text and back 
again, with high numbered lines and/or machine language embedded in 
it. To create such files goes beyond simple tokenization, but it may 
be useful and interesting to create advanced special BA binary file 
generators. Most such files require special measures to create.


-- John.




Re: [M100] AsciiPixels Update

2022-07-09 Thread Ken Pettit

Looks like a Space Invaders character or something like that.

I almost have the T200 library working correctly ... just working out 
some minor drawing issues with masked images (e.g. the "pointer") not 
drawing properly with the mask.


Yeah, pbm is pretty simple, though currently my C program only supports 
binary pbm format.  But it would be super easy to extend it to support 
ASCII input also.


Ken

On 7/9/22 4:41 PM, B 9 wrote:
On Fri, Jul 8, 2022 at 5:51 AM Ken Pettit <mailto:petti...@gmail.com>> wrote:


On 7/7/22 10:15 PM, B 9 wrote:

Alright! I am excited to try out the T200 AsciiPixels.  Maybe
I'll do something simple like adding proper ship graphics to TREK.


Yeah, that should be a fairly easy thing to do.  I wrote some
BASIC tools for generating fairly simple graphics, though my flow
for AsciiPixels graphics is really to use GIMP on the Mac, export
as a Pixel Bitmap (.pbm) and then use my C program to convert to
AsciiPixels.


Great! GIMP to pbm is perfect for me. Heck, pbm is so simple, I could 
create the bitmaps in a text editor:


P1
7 14
0 0 *1 1 1* 0 0
0 *1 1 1 1 1* 0
*1 1 1 1 1 1 1 *
*1 1 1* 0 *1 1 1
1 1 1 1 1 1 1 *
0 *1 1 1 1 1* 0
0 0 *1 1 1* 0 0
0 0 0 *1* 0 0 0
*1 *0*1 1 1 *0 *1 *
*1 1* 0 *1* 0 *1 1 *
*1* 0 0 *1* 0 0 *1 *
*1* 0 0 0 0 0 *1 *
*1* 0 0 0 0 0 *1 *
*1* 0 0 0 0 0 *1 *

That's a bitmap I got from the X11 cursors.pcf file. Perhaps you can 
guess what it is.



So TJONG is just a mockup, right?

So far, yes, though it is an actual BASIC program running that is
generating a random board and then displaying the tiles using
AsciiPixels.  I plan to turn it into an actual game.


I look forward to playing it and using it to show off my Tandy  200 as 
I have nothing else anywhere near as cool.


—b9




Re: [M100] AsciiPixels Update

2022-07-08 Thread Ken Pettit

On 7/7/22 10:15 PM, B 9 wrote:
Alright! I am excited to try out the T200 AsciiPixels. Maybe I'll do 
something simple like adding proper ship graphics to TREK.


Yeah, that should be a fairly easy thing to do.  I wrote some BASIC 
tools for generating fairly simple graphics, though my flow for 
AsciiPixels graphics is really to use GIMP on the Mac, export as a Pixel 
Bitmap (.pbm) and then use my C program to convert to AsciiPixels.



So TJONG is just a mockup, right?


So far, yes, though it is an actual BASIC program running that is 
generating a random board and then displaying the tiles using 
AsciiPixels.  I plan to turn it into an actual game.


Ken


--b9







Re: [M100] AsciiPixels Update

2022-07-07 Thread Ken Pettit

Correct, or more accurately Shanghai Mahjong.

Or in this case, TJONG!

Ken

On 7/7/22 6:57 PM, Peter Vollan wrote:

shanghai, right?


On Thu, 7 Jul 2022 at 17:47, Russell Flowers <mailto:rflow...@gmail.com>> wrote:


Wow, that looks fantastic. Good job!

On Thu, Jul 7, 2022 at 6:50 PM Ken Pettit mailto:petti...@gmail.com>> wrote:

Hey Gang,

I spent some time today investigating the status of the T200
AsciiPixels implementation.  I found a couple of bugs in the
T200 version of the code (one of them fixed, the other still
lurking).  Also, after reviewing the code, I remembered why I
didn't release a T200 version of the .CO file ... I was in the
middle of adding the "Mouse pointer" feature.  And it was not
(and still is not) complete.

Also, I have started adding a description of the encoding
format in the ap_doc.do file that I will release when it is
updated fully.

I will continue work on getting that feature completed ...
would be good to write a new game with this library!  Here is
a screenshot of an idea for the T200 I was working on in 2015:



All tiles are drawn from a TILES.DO resource file with the
following content:

"a1" APf3/1sg$#T*,,H6`A!}`AH6,,T*$#
"a2" APf3/1sg\#($}34313f$1$4$}37C6f
"a3" APf3/1sgD&4'4(4'D&$#\1(4}}'H^'d
"a4" APf3/1sg$#%c%c0/BA0/$#P0q=>%c
"a9" APf3/1sgP0q=>%cP0q=>%cP0q=>%c
"b1" APf3/1sg\*D$D$D$L(\*L(D$D$D$\*$#
"b2" APf3/1sg`#<#<#`#mailto:APf3/1sg@#,%23,%23L&@%21$$@D.$+$+$?$%23>
"b4" APf3/1sg@?,+,+@?$#$#$#@?,+,+@?$#
"b5" APf3/1sg,+,+,+$#~$#$#,+,+,+$#
"b6" APf3/1sg,+,+,+$#,+,+,+$#,+,+,+$#
"b7" APf3/1sg,+,+,+$#~,+$#,+,+,+$#
"b8" APf3/1sg~,,$#,+,+,+$#~,,$#
"b9" APf3/1sg~,,$#~,,$#~,,$#
"c1" APf3/1sgD$D!$T*!,,T*~$!$$#
"c2" APf3/1sgT*$#D%\2L-L-,AL+\,4?4+,#
"c3" APf3/1sg$%$)<14%4%8%\-414%@%$1$#
"c4" APf3/1sgT*L%D%4A$#T*4($4$,\2,+$'
"c5" APf3/1sg`2L-L-\.$#D%D&4'\24+$'
"c6" APf3/1sgD&$#\2$#\*L(L(\*D$\2L+$'
"c7" APf3/1sgT'\24'_\2`2X*(/
"d3" APf3/1sg\**;@Q(K:M&3&4&3.7V6(+\*
"d4" APf3/1sg$/T&<&\$D$L20B@;<;\BT2
"d5" APf3/1sg$#$#$#`#b-p_R`pG3$3A3f
"d6" APf3/1sgD+T*D0$*$)\1HBTBLB$2$%$)
"d7" APf3/1s+E7H7H7H_J%K$S,U$STTDS%KU,
"d8" APf3/1sg$-$?&7*_01\2`2`2\B@;0;(3
"d9" APf3/1s'G%K\V`ZaR%K,U$S2aKE+EKES$

Ken





[M100] AsciiPixels Update

2022-07-07 Thread Ken Pettit

Hey Gang,

I spent some time today investigating the status of the T200 AsciiPixels 
implementation.  I found a couple of bugs in the T200 version of the 
code (one of them fixed, the other still lurking). Also, after reviewing 
the code, I remembered why I didn't release a T200 version of the .CO 
file ... I was in the middle of adding the "Mouse pointer" feature.  And 
it was not (and still is not) complete.


Also, I have started adding a description of the encoding format in the 
ap_doc.do file that I will release when it is updated fully.


I will continue work on getting that feature completed ... would be good 
to write a new game with this library!  Here is a screenshot of an idea 
for the T200 I was working on in 2015:




All tiles are drawn from a TILES.DO resource file with the following 
content:


"a1" APf3/1sg$#T*,,H6`A!}`AH6,,T*$#
"a2" APf3/1sg\#($}34313f$1$4$}37C6f
"a3" APf3/1sgD&4'4(4'D&$#\1(4}}'H^'d
"a4" APf3/1sg$#%c%c0/BA0/$#P0q=>%c
"a9" APf3/1sgP0q=>%cP0q=>%cP0q=>%c
"b1" APf3/1sg\*D$D$D$L(\*L(D$D$D$\*$#
"b2" APf3/1sg`#<#<#`#_\2`2X*(/
"d3" APf3/1sg\**;@Q(K:M&3&4&3.7V6(+\*
"d4" APf3/1sg$/T&<&\$D$L20B@;<;\BT2
"d5" APf3/1sg$#$#$#`#b-p_R`pG3$3A3f
"d6" APf3/1sgD+T*D0$*$)\1HBTBLB$2$%$)
"d7" APf3/1s+E7H7H7H_J%K$S,U$STTDS%KU,
"d8" APf3/1sg$-$?&7*_01\2`2`2\B@;0;(3
"d9" APf3/1s'G%K\V`ZaR%K,U$S2aKE+EKES$

Ken


Re: [M100] M100 LCD repair video and alternative use for unused screen RAM

2022-07-06 Thread Ken Pettit

Hi All,

Sorry, didn't reply to this for quite some time ... the family caught 
Covid-19 last week and I was still recovering (I was taking care of 
everyone and then was the last to get it).


I will look into my T200 AciiPixels implementation to see if I ever (or 
can still) get it to a stand-alone .CO file.


Also, I will document the binary format so it is no longer "Top Secret" :)

Ken

On 6/30/22 10:33 PM, B 9 wrote:
If you would, I'd greatly appreciate it as reverse-engineering it and 
porting it to the T200 is well beyond my abilities.


Also, correct me if I'm wrong, but is the only documentation for the 
graphics format in the source code (e.g., pbm2ap.c)? The docs I found 
on club100 simply say, "TOP SECRET!"  


--b9

On Thu, Jun 30, 2022 at 12:59 PM Ken Pettit <mailto:petti...@gmail.com>> wrote:


Hey b9,

I would have to go back and check the T200 support.  I know I had
ASCPIX working on T200 at one point because I had a few demos of
some full-screen images and even a screen mock-up of Mahjong tiles.

Ken

On 6/30/22 12:33 AM, B 9 wrote:

Thank you, Tom and John! TSWEEP doesn't seem to work on my Tandy
200 when ASCPIX.CO <http://ASCPIX.CO> is loaded. I get a syntax
error in line 16000 which is the first call to ASCPIX that
actually tries to show something: CALL A, 2,  VARPTR(F$)

Ken Petit's member page at club100 has a download for ASCPIX.CO
<http://ASCPIX.CO> that mentions the Model 100/102, but I don't
see a separate version for the Tandy 200. The documentation for
ASCPIX

<http://www.club100.org/memfiles/index.php?action=view=ap_doc.txt=Ken%20Pettit/AsciiPixels;>
says it works for both, but doesn't mention how.

Perhaps I am using it wrong? There are no instructions in the
TSWEEP program, so I'm using the brief instructions Ken Petit
<https://www.mail-archive.com/m100@lists.bitchin100.com/msg03624.html>
posted back in 2017.

CLEAR 256, 58000
LOADM "ASCPIX"
RUN "TSWEEP"

—b9


On Sun, Jun 19, 2022 at 8:32 PM John R. Hogerhuis
mailto:jho...@pobox.com>> wrote:

Here's some files I have in my Google drive For tsweep







Re: [M100] M100 LCD repair video and alternative use for unused screen RAM

2022-06-30 Thread Ken Pettit

Hey b9,

I would have to go back and check the T200 support.  I know I had ASCPIX 
working on T200 at one point because I had a few demos of some 
full-screen images and even a screen mock-up of Mahjong tiles.


Ken

On 6/30/22 12:33 AM, B 9 wrote:
Thank you, Tom and John! TSWEEP doesn't seem to work on my Tandy 200 
when ASCPIX.CO  is loaded. I get a syntax error in 
line 16000 which is the first call to ASCPIX that actually tries to 
show something: CALL A, 2,  VARPTR(F$)


Ken Petit's member page at club100 has a download for ASCPIX.CO 
 that mentions the Model 100/102, but I don't see a 
separate version for the Tandy 200. The documentation for ASCPIX 
 
says it works for both, but doesn't mention how.


Perhaps I am using it wrong? There are no instructions in the TSWEEP 
program, so I'm using the brief instructions Ken Petit 
 
posted back in 2017.


CLEAR 256, 58000
LOADM "ASCPIX"
RUN "TSWEEP"

—b9


On Sun, Jun 19, 2022 at 8:32 PM John R. Hogerhuis > wrote:


Here's some files I have in my Google drive For tsweep





Re: [M100] M100 LCD repair video and alternative use for unused screen RAM

2022-06-16 Thread Ken Pettit
Yeah, I could do more with it if only there were 36 hours in the day ... 
or 9 days in the week.  :)


Ken

On 6/16/22 11:37 AM, John R. Hogerhuis wrote:
Oh yeah, ASCII Pixels... I remember playing a lot of the Minesweeper 
that used ASCII Pixels.


-- John.




Re: [M100] M100 LCD repair video and alternative use for unused screen RAM

2022-06-16 Thread Ken Pettit

On 16/6/22 03:58, bir...@soigeneris.com wrote:


When learning how the screen RAM load save worked it occurred to me 
that the RAM
for the unused segment drivers is also unused. It got me wondering if 
anyone
had ever used these bytes as a hidey hole for data, etc. It would be 
a pretty

sneaky place to hide something.




I actually used those unsed RAM locations in the far right two LCD 
controllers with ASCII Pixels.  I use them when displaying the "cursor" 
to save the LCD contents prior to drawing the cursor, then when the 
cursor moves, I restore the original LCD image (that was destroyed by 
displaying the cursor) from the data stored in those unused RAM hidey 
hole locations.


Ken


Re: [M100] REXCPM for Model 200?

2022-05-16 Thread Ken Pettit

Hey Steve,

This makes sense!  Let me know if you plan to proceed and need help with 
number 6 below.  :)


Ken

On 5/16/22 3:57 PM, Stephen Adolph wrote:
I took a fresh look at the T200 "all ram mode" which would be 
needed for REXCPM to work (nicely).
Summary: it is actually feasible I believe to implement an all RAM 
mode fairly easily, which would support CP/M nicely.


*Issue 1.  The 8k ROM at 8000-9FFF*
* as shown on the schematic, the M15 ROM is only enabled when /BANK1 
is low and A15 is high.

   (also reference the 8k rom datasheet in the tech reference manual)
* also as shown on the schematic, the M13 32k ROM is only enabled when 
/BANK1 is low and A15 is low.


*SO - the 8k range is only active in /BANK1.*

*Issue 2.  Creating an all RAM mode*
* /BANK3 enables the option ROM socket for -7FFF address range
* /BANK6 enables the 2nd option RAM socket for A000- address range.
* a new select signal is needed for when /BANK3 = 0 (option rom 
selected) AND A15=1 (upper addresses) AND /BANK6=0
(so when we are using the option ROM, and address is in range 
8000-9FFF)


* A15 is available in the OPTION ROM socket indirectly; as shown in 
the service manual in Figure 4-3, the AD bus is provided to the option 
ROM socket, as is ALE.  This means that A15 is present on AD7 (D7) on 
the falling edge of ALE.


*SO - by stealing /BANK6 from the 2nd Option RAM socket, REXCPM could 
be programmed to provide an all RAM mode.*

*
*
*What's needed to make REXCPM support T200*

 1. A modified REXCPM that is able to deduce when to enable RAM in the
8000-9FFF range.
 2. an Adapter Board sitting in Option RAM #2, which sends 3 signals
to REXCPM  (1)  Battery voltage  (2) /RD signal and (3) /BANK6 signal.
 3. an updated RXCMGR application
 4. an updated "T200 CP/M"  IE the M100 CP/M modified to use the T200
environment.
 5. updated CP/M uilities
 6. (VirtualT updated to support REXCPM for T200...)




*
*

On Sun, May 15, 2022 at 5:35 PM Stephen Adolph > wrote:


There would have to be a convenient plug and play ideally way to
decode that.
From what is present in the ram module compartment, I dont see a
good solution.
I'll take another look.

On Sunday, May 15, 2022, B 9 mailto:hacke...@gmail.com>> wrote:

I, too, would love to see RexCPM for the Tandy 200.

I apologize for my ignorance, but why is there a hole? For
ROM? Would it be possible to bank out 8000 to 9FFF and replace
it with RAM when running CPM?

—B9


On Sun, May 15, 2022 at 9:44 AM Stephen Adolph
mailto:twospru...@gmail.com>> wrote:

Hi

At this time, no.   It would require some changes due to
the unique memory map in the T200 relative to the M100.

I think the biggest issue is that an all ram mode is not
clearly possible.  There would be a hole fro. 8000 to
9FFF.   That's not great for CPM.

Steve

On Saturday, May 14, 2022, Hiraghm mailto:hira...@hotmail.com>> wrote:

Is there an equivalent to the Model 100 REXCPM rom for
the Model 200?






Re: [M100] hardware scrolling patch

2022-02-23 Thread Ken Pettit

Hey Steve,

Great job!  72 seconds still isn't bad considering you still have to 
update the scroll value on 10 LCD controllers and copy one line from the 
bottom controller to the top controller, plus all the added logic to 
keep track of which line is which.


And it is always satisfying to finish a project that was started years 
earlier.  This was the case with NADSBox ... I released it in 2009 but 
actually started in 2002 and then dropped it for several years.


Ken

On 2/22/22 10:23 PM, Stephen Adolph wrote:
So, as a figure of merit, I decided to use A-DUEL.BA 
 as a listing source.

Under these conditions -  virtualT @ 2.5MHz
Listing took 72 seconds with hardware scroll "on"
Listing took 120 seconds with no hardware scroll.
The speed up is pretty reasonable, but not like 10x faster or anything.

(and I found my bug - fixed - and found another, but that can be a 
something for the next session)


Steve


On Wed, Feb 23, 2022 at 12:44 AM Stephen Adolph > wrote:


Well, I started this little activity in 2006.

I have a pretty good working "hardware scroll patch" now running
in virtual T!

Recall-
* the M100 LCD drivers have a hardware scroll mode
* M100 does not take advantage of it to speed things up.
* I previously made a patch to the M100 rom that frees up 150 bytes.
* I've used most of that free space now to implement a patch that
uses hardware scroll.

The only condition that this patch corrects is the condition when
an entire 8 lines of screen is being scrolled either up or down.

Other speed ups are imaginable but are much more complex to implement.

I have one last bug that I know of to fix, and when I get that
done I will share it so others can give it a try!

Steve





Re: [M100] How to delete then re-install VirtualT 1.6

2022-02-03 Thread Ken Pettit

Hey Bob,

Okay, I think you need to delete your VirtualT preferences file.  I had 
to boot my Windows Virtual Machine (and here I was having such a good 
day up until that point) to figure out where it is saved.


You should have something like C:\Documents and 
Settings\{user_name}\Application Data\virtualt and within should be a 
virtualt.prefs file.  If you delete (or rename) that file, then VirtualT 
will "forget" that you ever had a REX file.


Ken

On 2/3/22 2:22 PM, b...@pigford.org wrote:


Thanks, Steve!

I get the following message:

 “Could not open REX file C:/Program 
Files(x86)/VirtualT/virtual-win32-v1.6/T200/”


VT1.6 will still run, but I get this same message when I close the 
program.


I see that “virtual-win32-v1.6” is on my C:/ root directory, but not 
in the “Program Files(x86)” directory, and there is no “VirtualT” sub 
directory there either.


I created a “VirtualT” directory in the “Program Files(x86)” directory 
and tried to install again.  I get this message next:


“Compressed (zipped) Folders was unable to create the specified 
directory.  Ensure that the directory does not already exist, and that 
the path entered us valid.”


Thanks for your help.

   Bob

*From:* M100  *On Behalf Of 
*Stephen Adolph

*Sent:* Thursday, February 03, 2022 4:01 PM
*To:* m...@bitchin100.com
*Subject:* Re: [M100] How to delete then re-install VirtualT 1.6

Hi Bob,

I think you just unzip it, and a folder structure is created.

you don't really have to install it, you just go into the folders, and 
run the VirtuaT.exe file.


give that a try!

Steve

On Thu, Feb 3, 2022 at 3:58 PM > wrote:


I apologize, but I can not find any instructions on how to get
VirtualT loaded into my 64bit Win10 box after downloading the .zip
file from source forge.

Again, I apologize for my ignorance.  I used to be smarter than this.

Bob





Re: [M100] Model 100 battery cover

2021-09-06 Thread Ken Pettit

Hey Guys,

I was able to make it down to my garage today.  It turns out my "pile of 
plastic" is mostly OptROM compartment covers and a few M102 battery 
covers (I believe.  I didn't dig out my 102 to validate, but I don't 
think it could be anything else).


I didn't find any M100 battery compartment covers yet, but I may have an 
additional box with stuff burried deeper in.  It was a bit too hot in 
there ... I'll check in the morning when it is cooler.


Ken

On 9/4/21 3:08 PM, Robert J. Hutchins wrote:


Ken,

Were you ever able to find them?

Bob

*From:*M100 [mailto:m100-boun...@lists.bitchin100.com] *On Behalf Of 
*Ken Pettit

*Sent:* Thursday, August 19, 2021 9:50 AM
*To:* m100@lists.bitchin100.com
*Subject:* Re: [M100] Model 100 battery cover

I have a whole stack of original M100 battery covers down in the 
garage somewhere.  Give me until the weekend to dig through my stuff 
(the garage has turned into my storage / junk location) and find them.


Ken

On 8/19/21 9:42 AM, Robert J. Hutchins wrote:

This is a link to the one I purchased. The plastic is rather weak
and crumbly.

https://www.thingiverse.com/thing:955567

*From:*M100 [mailto:m100-boun...@lists.bitchin100.com] *On Behalf
Of *Jesse Lafleur
*Sent:* Wednesday, August 18, 2021 9:13 PM
*To:* m...@bitchin100.com <mailto:m...@bitchin100.com>
*Subject:* Re: [M100] Model 100 battery cover

Was it resin printer or filament printed? Any pics? any links from
where you bought it?

I'm positive one that could survive many many openings could be
made with the right technique.

On Wed, Aug 18, 2021 at 10:20 PM Robert J. Hutchins
mailto:robert.hutch...@cox.net>> wrote:





Re: [M100] Model 100 battery cover

2021-09-04 Thread Ken Pettit

Hey Bob,

I wasn't even able to get down to the garage last weekend or anytime 
since because there was a major timing violation in the chip my team and 
I need to tapeout this coming week.  Spent every waking hour since then 
trying to fix it, which we did just hours ago.  So tomorrow morning is 
my chance to go searching.  Will let you know for sure.


Ken

On 9/4/21 3:08 PM, Robert J. Hutchins wrote:


Ken,

Were you ever able to find them?

Bob

*From:*M100 [mailto:m100-boun...@lists.bitchin100.com] *On Behalf Of 
*Ken Pettit

*Sent:* Thursday, August 19, 2021 9:50 AM
*To:* m100@lists.bitchin100.com
*Subject:* Re: [M100] Model 100 battery cover

I have a whole stack of original M100 battery covers down in the 
garage somewhere.  Give me until the weekend to dig through my stuff 
(the garage has turned into my storage / junk location) and find them.


Ken

On 8/19/21 9:42 AM, Robert J. Hutchins wrote:

This is a link to the one I purchased. The plastic is rather weak
and crumbly.

https://www.thingiverse.com/thing:955567

*From:*M100 [mailto:m100-boun...@lists.bitchin100.com] *On Behalf
Of *Jesse Lafleur
*Sent:* Wednesday, August 18, 2021 9:13 PM
*To:* m...@bitchin100.com <mailto:m...@bitchin100.com>
*Subject:* Re: [M100] Model 100 battery cover

Was it resin printer or filament printed? Any pics? any links from
where you bought it?

I'm positive one that could survive many many openings could be
made with the right technique.

On Wed, Aug 18, 2021 at 10:20 PM Robert J. Hutchins
mailto:robert.hutch...@cox.net>> wrote:





Re: [M100] Yet Another Calendar Program...

2021-08-30 Thread Ken Pettit

Hey Peter,

Yeah, BASIC seems to know standard arithmetic precedence.  And now that 
I think about it, I guess I really didn't need to read in ALL of the 
months to M$ array ... I don't recall ever celebrating Easter in December :)


Ken

On 8/30/21 4:52 PM, Peter Noeth wrote:
Thanks Ken for the update. In looking at this I was at first a little 
concerned about the arithmetic precedence on lines 70 to 85, as there 
were not a lot of parentheses to force desired action, but it works !!


Good to have in the 'ole toolbox.

Regards,

Peter

On 8/29/21 09:30 PM, Ken Pettit wrote:
Hey Guys,

Well, the email I sent *wasn't* really a BASIC program but rather
a math
formula.  The M100 BASIC doesn't have a function called "Floor"
... it
is called "INT".  But also I noticed the reference on Wikipedia
that I
was looking at was for Eastern Orthodox Easter date, not modern day
Gregorian.

The formula for modern day Gregorian is actually much more
compilicated
involving 11 intermediate variables.  While writing this equation out
long-hand using only the year variable (Y) would look super
impressive,
it would be quite long and not very efficient in terms of
computations.

So for completeness (being the programmer that I am), I coded and
tested
it in M100 BASIC:

10 DIMM$[12]
15 DATA
"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"
20 FORX=1TO12:READM$[X]:NEXT
25 INPUT"Year (0 to quit)";Y
30 IFY=0THENEND
35 A=YMOD19
40 B=INT(Y/100):C=YMOD100
45 D=INT(B/4)  :E=BMOD4
50 G=INT((8*B+13)/25)
55 H=(19*A+B-D-G+15)MOD30
60 I=INT(C/4)  :K=CMOD4
70 L=(32+2*E+2*I-H-K)MOD7
75 M=INT((A+11*H+19*L)/433)
80 N=INT((H+L-7*M+90)/25)
85 P=(H+L-7*M+33*N+19)MOD32
90 PRINT "Easter day: ";M$[N];P
95 GOTO25

Ken





Re: [M100] Yet Another Calendar Program...

2021-08-29 Thread Ken Pettit

Hey Guys,

Well, the email I sent *wasn't* really a BASIC program but rather a math 
formula.  The M100 BASIC doesn't have a function called "Floor" ... it 
is called "INT".  But also I noticed the reference on Wikipedia that I 
was looking at was for Eastern Orthodox Easter date, not modern day 
Gregorian.


The formula for modern day Gregorian is actually much more compilicated 
involving 11 intermediate variables.  While writing this equation out 
long-hand using only the year variable (Y) would look super impressive, 
it would be quite long and not very efficient in terms of computations.


So for completeness (being the programmer that I am), I coded and tested 
it in M100 BASIC:


10 DIMM$[12]
15 DATA 
"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"

20 FORX=1TO12:READM$[X]:NEXT
25 INPUT"Year (0 to quit)";Y
30 IFY=0THENEND
35 A=YMOD19
40 B=INT(Y/100):C=YMOD100
45 D=INT(B/4)  :E=BMOD4
50 G=INT((8*B+13)/25)
55 H=(19*A+B-D-G+15)MOD30
60 I=INT(C/4)  :K=CMOD4
70 L=(32+2*E+2*I-H-K)MOD7
75 M=INT((A+11*H+19*L)/433)
80 N=INT((H+L-7*M+90)/25)
85 P=(H+L-7*M+33*N+19)MOD32
90 PRINT "Easter day: ";M$[N];P
95 GOTO25

Ken

On 8/29/21 6:25 PM, Joshua O'Keefe wrote:

Ken,

   You have unbalanced parenthesis. Can you please correct?

?SN ERROR
READY





Re: [M100] Yet Another Calendar Program...

2021-08-29 Thread Ken Pettit

Hey Peter,

Yes,  it's missing an open parenthesis just after the subtraction. 
Should be:


D = (19*(Y mod 19) + 15) mod 30 + (2 * (Y mod 4) + 4 * (Y mod 7) - 
((19*(Y mod 19) + 15) mod 30) + 34) mod 7 + 127


Ken

On 8/29/21 5:28 PM, Peter Noeth wrote:

Ken,

  You have unbalanced parenthesis. Can you please correct?

Regards,

Peter


Easter (according to Wikipedia):

Y = Year
D = (19*(Y mod 19) + 15) mod 30 + (2 * (Y mod 4) + 4 * (Y mod 7) -
(19*(Y mod 19) + 15) mod 30) + 34) mod 7 + 127

Month = floor( D / 31)
Day = (D mod 31) + 1

What, that didn't just roll off the top of your head back in the
80's?   :D

Ken





Re: [M100] Yet Another Calendar Program...

2021-08-28 Thread Ken Pettit

On 8/28/21 2:27 PM, Peter Noeth wrote:
A printed wall calendar was one of my first TRS-80 16K Model 1 Level 
II (then a 48K with expansion Interface) programs after I designed an 
interface to the IBM Selectric I/O Writer I purchased as surplus 
where I was working at the time. I could never get the 
bizarre algorithm correct to calculate the religious Easter observance 
date though. The other holidays were no problem.




Easter (according to Wikipedia):

Y = Year
D = (19*(Y mod 19) + 15) mod 30 + (2 * (Y mod 4) + 4 * (Y mod 7) - 
(19*(Y mod 19) + 15) mod 30) + 34) mod 7 + 127


Month = floor( D / 31)
Day = (D mod 31) + 1

What, that didn't just roll off the top of your head back in the 80's?   :D

Ken


Re: [M100] OT: Yet Another Calendar Program ... thanks

2021-08-28 Thread Ken Pettit

On 8/27/21 3:48 PM, Lloyd Johnson wrote:

It sounds like you had/have a very interesting job.   Signal processing was an 
area that I had an interest in when pursuing my masters (which I did not 
receive until 1995 - 20 years after my bachelors).   Shortly after getting my 
MSEE, I transferred from Seattle to Houston to work on a NASA contract as a 
software test engineer for the International Space Station.  I didn't really 
use my electronics background too much at work after that.This was okay 
since I really loved working with NASA on the space station.


We just recently became a sub to a company that won a their 2nd phase 
contract (prototype) with NASA for a communication system on NASA's Moon 
base project.  Their plan is to use our 64GS/s converters, meaning if 
they were to win the final phase contract in late 2023 time-frame, our 
chips could one day end up on far side of the Moon!


Maybe in my production version of that chip I should embed a complete 
Model 100 system to control the frequency hopping or something :)



The work you do for the Model 100 Users Group is greatly appreciated.  I have 
found the information at www.club100.org to be extremely helpful.


Thanks, though the past couple of years I haven't really had time to do 
all that much except keep the "lights on and sweep the floors" as Rick 
Hanson would have put it.


Ken



Re: [M100] Yet Another Calendar Program... becoming a bit OT though

2021-08-27 Thread Ken Pettit

Hey Lloyd,

For me is was the 4K Model I with Level 1 BASIC that I learned on. Only 
I couldn't afford one only being in the 7th grade, so I rode my bike to 
the Radio Shack in Clarksville, Indiana every day after school and sat 
in front of their display model.  Spent no telling how many countless 
hours doing that.


I work at a small company in San Diego called IQ-Analog Corp.  We 
develop high speed ADC and DAC converters (high speed being 64GS/s) with 
integrated DSP, processors, etc.  For the previous 4 years I was the VP 
of Engineering there and chief digital architect.  But I stepped down as 
VP last summer because of my cardiac issues and the need to reduce my 
stress level, so now I am just a Technical Director an Chief Digital 
Architect.  I actually convinced the CEO to hire my old boss from 
1997-2004 timeframe at Conexant Systems Inc. to be the new VP of 
Engineering, so life is good now. :)


Ken

On 8/27/21 12:26 PM, Lloyd Johnson wrote:

Thanks Ken,

I think back and some of the most fun I ever had programming was with a 16K 
TRS-80 Model 1 with Level 2 BASIC.   I saved everything to cassette in the day 
and had about 60 cassettes.  I even wrote a data base of sorts that kept track 
of what was on each tape.   Unfortunately, I got rid of all the cassettes when 
I got rid of the model 1 and there were many projects that would be fun to 
revisit now that I'm retired.

Out of curiosity, where do you work (if you don't mind sharing)?

Lloyd

-Original Message-
From: M100  On Behalf Of Ken Pettit
Sent: Friday, August 27, 2021 1:09 PM
To: m100@lists.bitchin100.com
Subject: Re: [M100] Yet Another Calendar Program...

Hi Lloyd,

Sweet!  I like the calendar you printed with a picture of yourself! At work 
when designing (well actually simulating) the chips I design, I gobble up 
almost all of 512G bytes of RAM.  Amazing to think we can still get by with 32K 
for some tasks.  :)

Ken

On 8/27/21 9:33 AM, Lloyd Johnson wrote:

Hello Everyone,

I wrote yet another calendar program for the TRS-80 Model 100 and NEC PC-8201A. 
  I call it YACalP.ba.

You can find this program along with a pdf file containing the
documentation I wrote for this program at
https://github.com/LEJ-Projects/Yet-Another-Calendar-Program

I hope some of you will find it either interesting, useful or both.

Lloyd







Re: [M100] Yet Another Calendar Program...

2021-08-27 Thread Ken Pettit

Hi Lloyd,

Sweet!  I like the calendar you printed with a picture of yourself! At 
work when designing (well actually simulating) the chips I design, I 
gobble up almost all of 512G bytes of RAM.  Amazing to think we can 
still get by with 32K for some tasks.  :)


Ken

On 8/27/21 9:33 AM, Lloyd Johnson wrote:

Hello Everyone,

I wrote yet another calendar program for the TRS-80 Model 100 and NEC PC-8201A. 
  I call it YACalP.ba.

You can find this program along with a pdf file containing the documentation I 
wrote for this program at 
https://github.com/LEJ-Projects/Yet-Another-Calendar-Program

I hope some of you will find it either interesting, useful or both.

Lloyd





Re: [M100] TPDD Client in pure bash

2021-08-21 Thread Ken Pettit

On 8/21/21 5:44 PM, John R. Hogerhuis wrote:


The WP-2 works with a real TPDD so that's not an extension :-)



Ahh, good point, I guess I have to admit that you are right.  :)  I 
hadn't thought about it that way.


Ken


Re: [M100] TPDD Client in pure bash

2021-08-21 Thread Ken Pettit

On 8/21/21 3:04 PM, Brian K. White wrote:

One thing I haven't tested yet is WP-2 compatibility. If WP-2 
pads/un-pads it's filenames the same way, then I'll need to adjust 
that to encompass 8.2 or 8.3 or whatever WP-2 does.


Plus WP-2 adds an opcode extension for "Previous Directory Entry" that 
must be supported for it to work correctly.


Ken


Re: [M100] Model 100 battery cover

2021-08-19 Thread Ken Pettit
I have a whole stack of original M100 battery covers down in the garage 
somewhere.  Give me until the weekend to dig through my stuff (the 
garage has turned into my storage / junk location) and find them.


Ken

On 8/19/21 9:42 AM, Robert J. Hutchins wrote:


This is a link to the one I purchased. The plastic is rather weak and 
crumbly.


https://www.thingiverse.com/thing:955567

*From:*M100 [mailto:m100-boun...@lists.bitchin100.com] *On Behalf Of 
*Jesse Lafleur

*Sent:* Wednesday, August 18, 2021 9:13 PM
*To:* m...@bitchin100.com
*Subject:* Re: [M100] Model 100 battery cover

Was it resin printer or filament printed? Any pics? any links from 
where you bought it?


I'm positive one that could survive many many openings could be made 
with the right technique.


On Wed, Aug 18, 2021 at 10:20 PM Robert J. Hutchins 
mailto:robert.hutch...@cox.net>> wrote:







Re: [M100] Speaking of games on the M100

2021-08-03 Thread Ken Pettit
Oh yea!  I forgot about those ... I hadn't played around with 
VirtualVanessa since like 2005 or something.


Since Kurt released the source (thank you Kurt!), we should get those 
games re-assembled as stand-alone applications.


Ken

On 8/3/21 12:33 PM, John R. Hogerhuis wrote:
There's also Kurt Dekker's M100 arcade games that he open sourced a 
long time ago.


Long enough ago that I described his current job as "writing games for 
PDAs and cell phones."


 All assembly language, I think.

http://www.bitchin100.com/m100-oss/archive/

-- John.




Re: [M100] Speaking of games on the M100

2021-08-03 Thread Ken Pettit

Hi Tom,

Yes, that buffer works well for text based programs.  There is also the 
ALTLCD buffer that can be used (carefully) to save data. Unfortunately 
those buffers don't save any graphics content, so that still has to be 
read back from RAM in the LCD controller chips directly.


Ken

On 8/3/21 11:48 AM, Tom Wilson wrote:


 now, that I'm working on a new game, I'm looking to read directly
from the screen with the input port.


The good news is that there IS a character buffer, so you can read 
back text data from the screen.On a 32K T102, the buffer starts at 
65024. It's likely going to be different on other machines and memory 
configurations, though.






[M100] Speaking of games on the M100

2021-08-02 Thread Ken Pettit
I have been thinking about writing a game called MagBall for the M100 
just for the fun of the exercise.  It would look something like this:




This is just a mockup screen done in BASIC mind you to get an idea how 
it would look with "Mag Hooks" sprinkled here an there and spring boards 
to rebound the ball.  A real game would have to actually add some logic.


The real question in my mind is if I could animate the ball fast enough 
even in ASM code given nearest neighbor detection, springboard collision 
detection, gravity acceleration equations and sin/cosine approximation 
when "hooked" by a MagHook.  Oh, plus detecting if you cross the 
black-and white checker finish line of course.


Certainly I don't think I could animate with the line drawn between the 
ball and hook for every "frame", but my idea was when you hit the space 
bar, the nearest MagHook grabs the ball, changes "color" and draws the 
initial line showing the connection.  Then after that the ball would 
just rotate around that hook until the space bar is released with no 
line drawn.  With the core logic written for how the ball moves, 
multiple levels could then be created with different placement of hooks 
and spring boards.


Lot's to consider for actual game play here, but thought I would throw 
the idea out there.  Anyone ever seen a game similar to this for the M100?


Ken


Re: [M100] Dungeon Warrior - Game...

2021-08-01 Thread Ken Pettit
Thanks Philip!  Yeah, with only 10-lines and 80 characters per line, 
there's a limit to the features that can be added, which as you said, 
also limits the number of decision and branch points.  The Unix / Linux 
version of Moon Buggy are a tad bit more forgiving on the precision, but 
then those are running on a faster processor, written in "C", and have a 
few more than 10 lines of code :)


One other thing about those 10 lines of code that probably isn't obvious 
is that for the randomization of the crater locations, I had to be sure 
there is always enough "land" inbetween craters.  So that logic is in 
there too.  And it took a bit of trial and error to get the buggy jump 
speed and hover time correct to be able to jump those doube-wide craters.


Ken

On 8/1/21 1:09 AM, Philip Avery wrote:
Pretty amazing for 10-lines, I say. Perhaps that's the secret - by 
limiting decisions & branching, the game-play is remarkably fast. I 
was also impressed by the precision required to successfully jump, not 
too soon, not too late.


Thanks Ken, that was enlightening.

Philip




Re: [M100] Dungeon Warrior - Game...

2021-07-31 Thread Ken Pettit
Hmm, okay.  Must be something on Scott's end.  Anyway, the version at 
Club100 is slightly better ... I fixed a minor issue where the animation 
of the buggy wheels spinning wasn't quite right.


Ken

On 7/31/21 4:00 PM, John R. Hogerhuis wrote:
Actually both attachments came through for me on the list. And a 
screenshot displayed inline.


-- John.





Re: [M100] Dungeon Warrior - Game...

2021-07-31 Thread Ken Pettit

Okay, just uploaded to my Personal Libraries on Club100.

Thanks, but I can't really take credit for the idea ... ASCII "Moon 
buggy" has existed on Linux systems since probably the 70's.  :)


Ken

On 7/31/21 3:43 PM, Scott McDonnell wrote:


Awesome. Also, this game is very creative using text and the way you 
described that the “scrolling” works. Great job!


*From: *Ken Pettit <mailto:petti...@gmail.com>
*Sent: *Saturday, July 31, 2021 6:40 PM
*To: *m100@lists.bitchin100.com <mailto:m100@lists.bitchin100.com>
*Subject: *Re: [M100] Dungeon Warrior - Game...

H





Re: [M100] Dungeon Warrior - Game...

2021-07-31 Thread Ken Pettit

Hey Scott,

Yeah, could be ... might be Google didn't like the tokenized binary.  
Okay, I just noticed the .DO file didn't match the .BA file anyway.  I 
will "resave" the de-tokenized .DO file and post to my Personal 
Libraries section.  Should only take a few minutes.


Ken

On 7/31/21 3:38 PM, Scott McDonnell wrote:


No attachments :(

Maybe the list removes attachments?






Re: [M100] Dungeon Warrior - Game...

2021-07-31 Thread Ken Pettit

Hey Scott,

While I didn't mention the M100, it was *definitely* written for the 
M100.  I just found the working copy and it is attached in both 
tokenized .BA and .DO formats.  Press the space bar to jump.  I also 
have a screenshot of the "moon buggy" mid jump over a crater.  :)


Philip, the "scrolling" is somewhat decent speed in BASIC.  But it 
doesn't actually scroll anything ... the "moon craters" are created in a 
BASIC string variable that just get's printed over and over on line 7 of 
the LCD.  The location of the moon craters in the string is what is 
changing.



Ken

On 7/31/21 3:09 PM, Scott McDonnell wrote:


I didn’t assume Ken was talking about the Model 100 because he did not 
specifically mention that. Sounded like one of those 10-liner 
competitions.


But yeah, if this was on the Model 100, I am definitely interested, too!

Release it! Release it!

*From: *Philip Avery <mailto:pav...@xtra.co.nz>
*Sent: *Saturday, July 31, 2021 5:56 PM
*To: *m...@bitchin100.com <mailto:m...@bitchin100.com>
*Subject: *Re: [M100] Dungeon Warrior - Game...

Ken, in BASIC did the graphics really have the necessary speed? I 
would have thought you'd need the scrolling to be in assembly language 
and then maybe direct lcd-driver programming.


I'd sure be interested in seeing Moon Buggy.

Philip

On 1/08/2021 5:22 am, Ken Pettit wrote:

I actually wrote a BASIC 10-liner game similar to this in 2018
that I never released.  It is called Moon Buggy, and you basically
have a mood buggy that says in one place while the "moon terrain"
scrolls underneath.  The goal is to jump as many moon craters as
possible.  If expanded to be more than 10 lines, it could even be
extended to add moon rocks that need to be shot with the forward
lasers.

The only thing really missing from the game is every so often it
should pop up one of those annoying commercials you have to watch
with web based games.  Guess I could add that and then release it :)

Ken





MBUGG1.BA
Description: Binary data
0 CLS:PRINT"Moon Buggy":DEFSTRG-M:FORX=0TO39:G=G+"#":NEXT:PRINT@240,G;G;:R=5
1 S=4:D=2:W=0:T=R:W=0:L="�-\-/":M="�":A=1:J="#":H="#":V=0.27'KenPettit2018
2 K=INKEY$:PRINT@240,G;:IFK=" "ANDR=5THENO=V:T=RELSEIFR=5ANDH<>"#"THEN9
3 W=W+1:M=MID$(L,WMOD5+1,1):GOSUB7:T=T-O:R=INT(T+O):S=R-1:U=U+1:IFT<3THENZ=Z+1
4 A=RND(1)*2+1:H=MID$(G,31,5):IFO<0THEND=R-2ELSED=R+1:IFD=73THEND=2
5 U=UMOD2:IFU=0THENG=LEFT$(J,1)+LEFT$(G,38):J=RIGHT$(J,LEN(J)-1):IFJ=""THEN8
6 D=D*40:IFO>0ANDT>2.3THEN2ELSEIFO>0THENO=-O:GOTO2ELSEIFR=5THENO=0:GOTO2ELSE2
7 PRINT@R*40+30,"("M")("M")";:PRINT@S*40+30,"  Omm ";:PRINT@D+30,"  ":RETURN
8 B=RND(1)*4+8:J="":FORC=1TOA:J=J+" ":NEXT:FORC=1TOB:J=J+"#":NEXT:GOTO6
9 GOSUB7:PRINT@230,"cnOMMnb";:PRINT@190,"  -- ":PRINT@80,"Score:";Z*10


Re: [M100] quoting length in this list

2021-07-31 Thread Ken Pettit

Hey John,

Oops, was that me that prompted this?  I think I forgot to clear the 
history with my last post ... sorry about that :)


Ken

On 7/31/21 1:15 PM, John R. Hogerhuis wrote:

I don't have any scripts running on the list to modify posts.

Most of the big posts are when someone replies to the digest with no 
editing.


So etiquette for the list is:

Avoid replying to the digest. You certainly can, but if you do, or if 
you're replying to an epic stemwinder, please trim unnecessary context 
to the essentials of communication. At most just include the last 
member's content.


Most of us rely on a threaded mailreader that we can dig into for more 
context if we missed something.


Cheers,
-- John.

-= Model T's Forever =-




Re: [M100] Dungeon Warrior - Game...

2021-07-31 Thread Ken Pettit
I actually wrote a BASIC 10-liner game similar to this in 2018 that I 
never released.  It is called Moon Buggy, and you basically have a mood 
buggy that says in one place while the "moon terrain" scrolls 
underneath.  The goal is to jump as many moon craters as possible. If 
expanded to be more than 10 lines, it could even be extended to add moon 
rocks that need to be shot with the forward lasers.


The only thing really missing from the game is every so often it should 
pop up one of those annoying commercials you have to watch with web 
based games.  Guess I could add that and then release it :)


Ken

On 7/30/21 8:10 AM, Scott McDonnell wrote:


For a side scroller, a good place to start would probably be the 
simple game that google had made (need to find a link) that ran in a 
web browser. Your character is just running and you jump over hurdles. 
Technically your character is just in one place while the hurdles 
scroll right to left. That would get some of the mechanics down and 
only needs a couple of keys to operate and only a jump key while 
playing. Once the mechanics are nailed down, lots of things could be 
derived from it.


For an adventure game, I was thinking about the function keys working 
as the verbs that could maybe change from room to room, or maybe even 
context to context. Like you choose Open and then the menu changes to 
things that can be opened in the scene. It would need to be designed 
carefully to make good use of the limited screen. The screen would 
lend itself well to a panoramic type scene (but very simple, of 
course.) I haven’t really worked this out yet beyond my imagination. 
One day!


Only 240x64 of screen real estate, so it would need require a lot of 
creativity.


*From: *lloydel...@comcast.net 
*Sent: *Friday, July 30, 2021 8:23 AM
*To: *m...@bitchin100.com 
*Subject: *Re: [M100] Dungeon Warrior - Game...

There was an interesting article on writing adventure games written by 
Greg Hassett for Creative Computing.I did a search and found it at 
http://archive.retro.co.za/archive/adventure/CreativeComputing-HowToWriteAnAdventure.pdf.


The text adventure games by him, Scott Adams and later Infocom are a 
game category by themselves.   I always looked upon these more as a 
puzzle then as a game per se in that once you solve them they are 
solved and there is not much point of playing them anymore.  That has 
never been much of a problem for me since I was not that successful at 
solving the darn things.   I still enjoyed playing them.   I have yet 
to attempt writing one.


The games I worked with tended to be more strategy games where a 
random number generator algorithm replaces the dice toss of similar 
board games.


It is fun to get back into BASIC programming again.   An adventure 
game with some animation sounds like fun.  I’m having trouble 
envisioning the side scroller.   I’d be interested in how that would 
be implemented.   It’s given me an idea or two that I might 
investigate further.


Lloyd

*From:* M100  *On Behalf Of *Scott 
McDonnell

*Sent:* Thursday, July 29, 2021 8:27 PM
*To:* m...@bitchin100.com
*Subject:* Re: [M100] Dungeon Warrior - Game...

I am definitely interested in checking this out. I have been wanting 
to understand game programming on the M100.


Unfortunately I have not had the time to try it yet so I had no 
comments to give except thank you for sharing it with us!


Someday, I want to attempt an adventure game with some animation for 
the small screen of the M100. A side scroller would also fit well with 
the screen layout.


 Original message 

From: lloydel...@comcast.net 

Date: 7/29/21 4:56 PM (GMT-05:00)

To: m...@bitchin100.com 

Subject: [M100] Dungeon Warrior - Game...

I had tried sending this out last week but there was no comments.   I 
shared it separately with another member of this group and he said he 
did not receive it.   So, maybe it did not go out.  Here it is again 
but without the screenshot.


I rehosted another game to the TRS-80 Model 100 and NEC PC-8201.  
This is another game I had written some 40 years ago.   It is

called Dungeon Warrior.

I spent some time documenting this game, its history and it’s
features in the pdf file.Even if you don’t play the game, you
might find the pdf document interesting in that it references
another game (Wizard War)  I developed with Fred Saberhagen (a
prolific science fiction/fantasy writer).

The files can be found at

https://github.com/LEJ-Projects/Dungeon-Warrior-for-NEC-PC-8201-or-TRS-80-Model-100/tree/main

Besides testing it on both the TRS-80 and NEC, I also tested it on
the emulator at https://bitchin100.com/CloudT.

To run it on the emulator, do the following:

Copy the  text from DNGWAR,ba.txt and paste into the Add Plain
Text input area.
Click Add 

Re: [M100] Virtual T Question

2021-07-09 Thread Ken Pettit

Hey Bill,

No, REX emulation really shouldn't cause a performance degradation as 
far as I know.  I'm assuming a "modern Dell laptop" means you are 
running Windows?  I haven't really used Microsoft Windows the past 12 
years or so ... could be something going on with it I guess.


What versions of Windows and VirtualT are you running?

Ken

On 7/9/21 6:54 AM, Bill Miranda wrote:
I enabled the REX emulation on Virtual T because I wanted to see what 
it is like.  Now the emulator is reacting very slowly.  I'm running it 
on a modern Dell laptop with i7 processor and 16GB Ram so I don't 
think it was my computer.  Is this expected behavior or did I mess 
something up in trying to configure the REX emulator?


Thanks!

Bill




Re: [M100] FPGA Model 100

2021-05-24 Thread Ken Pettit

Hey Rob,

Understood on the price point.  I was digging into that LCD a bit more 
to find documentation and I found a different site that has this same 
module but with a SPI or parallel interface (instead of MIPI).  Probably 
a parallel 8080 interface version would be the way to go, with or 
without the touch screen (with would be cool):


https://www.buydisplay.com/spi-1280x400-7-84-ips-tft-lcd-module-with-ra8876-capacitive-touch-panel

Ken

On 5/24/21 4:37 AM, Rob Messer wrote:

Ken,

That all sounds really promising. I will order one or two of those 
screens for a mockup. I will meet with the engineer who will help with 
the housing. I will draw it today or tomorrow in CAD and work with him 
to refine it. I might as well dimension it for that screen. The only 
question is about ports. We can fix that later as there will be 
several iterations. When I have the drawing done we can discuss your 
thoughts. I will need to know what board we will use or at least some 
dimensions. A cool thing with the FPGA would be that they could addany sy


I am not an FPGA guy but I guess the idea would be to put it on a less 
expensive board. Remember Ken that I have not touched an FPGA since 
2007 and that was brief. I think the less expensive the better on the 
board so the COGs are low on the design and this will make it as 
accessible as possible.


BR

/RGM

On Mon, May 24, 2021 at 7:30 AM Ken Pettit <mailto:petti...@gmail.com>> wrote:


Rob,

Also, finding a large format 240x64 LCD is near impossible. I
found some that are 5" diagonal, but compared to the 8" diagonal
on the Model 100, this is still pretty small.  For a modern update
(i.e. Model 401), you would probably want to to with something
like this full color LCD and take care of the protocol difference
in an RTL module in the FPGA:


https://www.ebay.com/itm/292910561674?chn=ps=1=1=711-117182-37290-0=2=292910561674=1264366839729=c=pla=9061205==11616981724=123084477340=pla-1264366839729=9300455=102019429=CjwKCAjw-qeFBhAsEiwA2G7Nl9j3Z7bUDPWfr_bR3zQ2FELXd8BEcvVFlTCh1q_JiMbD7aQ5DUdDYxoCyS4QAvD_BwE

Ken

On 5/22/21 2:18 PM, Rob Messer wrote:

Ken,

That is awesome! I am admittedly a mechanical engineer and I took
one semester of computer engineering and VHDL programming and
changed majors (I was more of a beer drinker than D guy). In
any event I will rope in some colleagues and badger them with
questions. Another question is whether there are LCD screens
close to what the Model 100 had still available (240X64) with
similar dimensions. It think backlit would be great.

I have been really saddened to see fewer and fewer Model 100s on
Ebay. I also think the machine could be very useful still. I am
thinking about people who want to work without distraction of the
internet and have some basic capabilities. Imagine adding some
minor features like bluetooth file transfer and an SD card slot,
that would make this a very useful device. It will be the model
104 :)

If you want to share this on Github that would be great! I will
be sure to update you on the progress!

BR

/RGM

On Sat, May 22, 2021 at 9:44 PM Ken Pettit mailto:petti...@gmail.com>> wrote:

Hey Rob,

I have an RTL design I worked on YEARS ago where I was trying
to get the
Model 100 in an FPGA along with some extensions.  It was back
when there
was a lot of talk on the list about a Model 401. For those
who weren't
around then or don't recall, the Model 401 was something that
was
discussed around April Fools day (thus the number 401) about
an updated
Model 100.

I actually had this running somewhat on an Actel Igloo FPGA
at that
time, though not fully.  I believe I had extended the 8085
instruction
set to add relative jump and branch opcodes using the "MOV
A,A", "MOV
B,B" etc. opcodes which are basically useless and not used in
the M100
ROM.  I was also planning at that time to have a 2-processor
system
where the LCD and Keyboard would be shared by both the
extended 8085 and
an ARM core.  The keyboard controller I wrote detects a
hotkey escape
sequence to connect the LCD and keyboard to either the ARM
interface or
the 8085 interface.

I just re-ran my RTL simulation and I see that it is at least
running
and generating an output on the RTL testbench LCD monitor
that I wrote.
This LCD monitor in the testbench monitors all LCD writes and
outputs
"pixels" as X'x to a Linux /dev/pty device.  Then with
minicom connected
using Linux socat, I can see what the emulation is sending to
the LCD.
I have attached a sna

Re: [M100] FPGA Model 100

2021-05-23 Thread Ken Pettit

Rob,

Also, finding a large format 240x64 LCD is near impossible.  I found 
some that are 5" diagonal, but compared to the 8" diagonal on the Model 
100, this is still pretty small.  For a modern update (i.e. Model 401), 
you would probably want to to with something like this full color LCD 
and take care of the protocol difference in an RTL module in the FPGA:


https://www.ebay.com/itm/292910561674?chn=ps=1=1=711-117182-37290-0=2=292910561674=1264366839729=c=pla=9061205==11616981724=123084477340=pla-1264366839729=9300455=102019429=CjwKCAjw-qeFBhAsEiwA2G7Nl9j3Z7bUDPWfr_bR3zQ2FELXd8BEcvVFlTCh1q_JiMbD7aQ5DUdDYxoCyS4QAvD_BwE

Ken

On 5/22/21 2:18 PM, Rob Messer wrote:

Ken,

That is awesome! I am admittedly a mechanical engineer and I took one 
semester of computer engineering and VHDL programming and changed 
majors (I was more of a beer drinker than D guy). In any event I 
will rope in some colleagues and badger them with questions. Another 
question is whether there are LCD screens close to what the Model 100 
had still available (240X64) with similar dimensions. It think backlit 
would be great.


I have been really saddened to see fewer and fewer Model 100s on Ebay. 
I also think the machine could be very useful still. I am thinking 
about people who want to work without distraction of the internet and 
have some basic capabilities. Imagine adding some minor features like 
bluetooth file transfer and an SD card slot, that would make this a 
very useful device. It will be the model 104 :)


If you want to share this on Github that would be great! I will be 
sure to update you on the progress!


BR

/RGM

On Sat, May 22, 2021 at 9:44 PM Ken Pettit <mailto:petti...@gmail.com>> wrote:


Hey Rob,

I have an RTL design I worked on YEARS ago where I was trying to
get the
Model 100 in an FPGA along with some extensions.  It was back when
there
was a lot of talk on the list about a Model 401.  For those who
weren't
around then or don't recall, the Model 401 was something that was
discussed around April Fools day (thus the number 401) about an
updated
Model 100.

I actually had this running somewhat on an Actel Igloo FPGA at that
time, though not fully.  I believe I had extended the 8085
instruction
set to add relative jump and branch opcodes using the "MOV A,A", "MOV
B,B" etc. opcodes which are basically useless and not used in the
M100
ROM.  I was also planning at that time to have a 2-processor system
where the LCD and Keyboard would be shared by both the extended
8085 and
an ARM core.  The keyboard controller I wrote detects a hotkey escape
sequence to connect the LCD and keyboard to either the ARM
interface or
the 8085 interface.

I just re-ran my RTL simulation and I see that it is at least running
and generating an output on the RTL testbench LCD monitor that I
wrote.
This LCD monitor in the testbench monitors all LCD writes and outputs
"pixels" as X'x to a Linux /dev/pty device.  Then with minicom
connected
using Linux socat, I can see what the emulation is sending to the
LCD.
I have attached a snapshot of the output of the simulation (the
dots are
actually very small X's, just zoomed out so it's like a 3-point
font on
minicom or something). You can see the minicom status line at the
bottom
in a very small font.  I can see the time isn't advancing, so maybe
something not quite right with the clock chip RTL (uPD1990.v).

If you would like to use this RTL as a starting point, I'm happy
to post
it to github and give you a link.  The files in this design are:

-rw-rw-r-- 1 kpettit users  4108 Apr 16  2012 armspi.v
-rw-rw-r-- 1 kpettit users 97936 Apr 12  2012 cpu8085.v
-rw-rw-r-- 1 kpettit users  2468 May  8  2016 fifo1kx13sram.v
-rw-r--r-- 1 kpettit users  1531 May  9  2016 hvsync_generator.v
-rw-rw-r-- 1 kpettit users 19422 Mar 31  2012 im6402.v
-rw-rw-r-- 1 kpettit users  8344 May  6  2016 keymap.v
-rw-rw-r-- 1 kpettit users 12032 May  5  2016 keyscan.v
-rw-rw-r-- 1 kpettit users 40316 May  7  2016 lcd.v
-rw-rw-r-- 1 kpettit users   687 May  9  2016 m100rom.v
-rw-rw-r-- 1 kpettit users  6383 Apr 13  2012 mapper.v
-rw-rw-r-- 1 kpettit users 16475 May  7  2016 model401.v
-rw-r--r-- 1 kpettit users  7842 May  5  2016 nr5_tx8n.vhd
-rw-rw-r-- 1 kpettit users  6161 May  4  2016 nr5_uart.v
-rw-rw-r-- 1 kpettit users  5947 Apr  7  2012 pio8155.v
-rw-rw-r-- 1 kpettit users  1825 Mar 23  2012 ramCore512.v
-rw-rw-r-- 1 kpettit users  1836 Apr 11  2012 ramCore512x9.v
-rw-rw-r-- 1 kpettit users  9971 Apr 15  2012 socTop.v
-rw-rw-r-- 1 kpettit users  1036 May  9  2016 sram32k.v
-rw-rw-r-- 1 kpettit users  1114 May  7  2016 sram512.v
-rw-rw-r-- 1 kpettit users  1116 May  8  2016 sram512x9.v
-rw-r--r-- 1 kpettit users 

Re: [M100] FPGA Model 100

2021-05-23 Thread Ken Pettit

Hi Britt,

Thanks!

The other idea besides putting this into an FPGA would be to make a real 
live ASIC!!!  There is an old 130nm process that Skywater and Google 
have made open-source and Google has funded several multi-project-wafer 
(MPW) shuttle runs in conjunction with a company called Efabless.  I 
tried getting a design on the first shuttle, but ended up spending a 
couple of weeks in the hospital and recovery during the time leading up 
to the submission deadline.  Would be really cool to get a Model 401 
ASIC on one of those free Google Shuttles!!  :)


Ken

On 5/22/21 2:26 PM, Britt Dodd wrote:

I really wish I could figure out FPGAs! I’d love to run this and make some 
hybrid M100/internet thing. Have an app that would be like the TRS-80 Prodigy 
or something. PCB layouts and FPGAs are way out of my wheelhouse at the moment.

Awesome work!

Sent from my iPhone


On May 22, 2021, at 4:22 PM, Ken Pettit  wrote:

Hey Rob,

Actually, the time did finally advance.  I forgot that this is a simulation, so 
it takes quite a bit of real-time for even one second to pass in the simulated 
design.  It is up to 5 seconds now in my simulation after about 5-6 minutes of 
real time.

Ken


On 5/22/21 12:44 PM, Ken Pettit wrote:
Hey Rob,

I have an RTL design I worked on YEARS ago where I was trying to get the Model 
100 in an FPGA along with some extensions.  It was back when there was a lot of 
talk on the list about a Model 401. For those who weren't around then or don't 
recall, the Model 401 was something that was discussed around April Fools day 
(thus the number 401) about an updated Model 100.

I actually had this running somewhat on an Actel Igloo FPGA at that time, though not fully.  I 
believe I had extended the 8085 instruction set to add relative jump and branch opcodes using the 
"MOV A,A", "MOV B,B" etc. opcodes which are basically useless and not used in 
the M100 ROM.  I was also planning at that time to have a 2-processor system where the LCD and 
Keyboard would be shared by both the extended 8085 and an ARM core.  The keyboard controller I 
wrote detects a hotkey escape sequence to connect the LCD and keyboard to either the ARM interface 
or the 8085 interface.

I just re-ran my RTL simulation and I see that it is at least running and generating an 
output on the RTL testbench LCD monitor that I wrote.  This LCD monitor in the testbench 
monitors all LCD writes and outputs "pixels" as X'x to a Linux /dev/pty device. 
Then with minicom connected using Linux socat, I can see what the emulation is sending to 
the LCD.  I have attached a snapshot of the output of the simulation (the dots are 
actually very small X's, just zoomed out so it's like a 3-point font on minicom or 
something). You can see the minicom status line at the bottom in a very small font.  I 
can see the time isn't advancing, so maybe something not quite right with the clock chip 
RTL (uPD1990.v).

If you would like to use this RTL as a starting point, I'm happy to post it to 
github and give you a link.  The files in this design are:

-rw-rw-r-- 1 kpettit users  4108 Apr 16  2012 armspi.v
-rw-rw-r-- 1 kpettit users 97936 Apr 12  2012 cpu8085.v
-rw-rw-r-- 1 kpettit users  2468 May  8  2016 fifo1kx13sram.v
-rw-r--r-- 1 kpettit users  1531 May  9  2016 hvsync_generator.v
-rw-rw-r-- 1 kpettit users 19422 Mar 31  2012 im6402.v
-rw-rw-r-- 1 kpettit users  8344 May  6  2016 keymap.v
-rw-rw-r-- 1 kpettit users 12032 May  5  2016 keyscan.v
-rw-rw-r-- 1 kpettit users 40316 May  7  2016 lcd.v
-rw-rw-r-- 1 kpettit users   687 May  9  2016 m100rom.v
-rw-rw-r-- 1 kpettit users  6383 Apr 13  2012 mapper.v
-rw-rw-r-- 1 kpettit users 16475 May  7  2016 model401.v
-rw-r--r-- 1 kpettit users  7842 May  5  2016 nr5_tx8n.vhd
-rw-rw-r-- 1 kpettit users  6161 May  4  2016 nr5_uart.v
-rw-rw-r-- 1 kpettit users  5947 Apr  7  2012 pio8155.v
-rw-rw-r-- 1 kpettit users  1825 Mar 23  2012 ramCore512.v
-rw-rw-r-- 1 kpettit users  1836 Apr 11  2012 ramCore512x9.v
-rw-rw-r-- 1 kpettit users  9971 Apr 15  2012 socTop.v
-rw-rw-r-- 1 kpettit users  1036 May  9  2016 sram32k.v
-rw-rw-r-- 1 kpettit users  1114 May  7  2016 sram512.v
-rw-rw-r-- 1 kpettit users  1116 May  8  2016 sram512x9.v
-rw-r--r-- 1 kpettit users  9053 May  5  2016 uart_rx8n.vhd
-rw-rw-r-- 1 kpettit users 10794 Apr  7  2012 uPD1990.v

Ken


On 5/22/21 11:22 AM, Rob Messer wrote:
I have followed this email list for a years and I have never asked a 
question...but here goes! I am sitting here with my model 100 and I had an idea 
to 3D print a replica case and get my hands on an LCD and mechanical keyboard 
and try to faithfully reproduce the Model 100 with simple additions. I have 
enlisted a few friends (we are all engineers)... I was wondering of anyone 
knows of an FPGA implementation of the Model 100 hardware? I want to make a 
fairly faithful reproduction short of using an 80C85.

Thanks!

--
Robert Messer
BARA Sweden






Re: [M100] FPGA Model 100

2021-05-23 Thread Ken Pettit

Hey Rob,

Sorry for the delayed response ... your message ended up in my SPAM 
folder for some reason, along with the other responses on this thread.  
I must have hit the wrong key and marked the thread as SPAM accidentally 
or something.


After running my simulation yesterday and sending the email, I dug into 
the design I had done to remind myself.  Turns out I had done QUITE A 
BIT of work back in 2012.  I had extended the 8085 CPU with not only 
relative branch opcode, but also extended it's memory range to 16MB.  
This was done by:


  a.  Adding an 8-bit "page" register for each of the 16-bit register 
pairs (BC, DE, HL and PC).
  b.  Added an opcode to set the "page" register for those 16-bit reg 
pairs.

  c.  Adding opcodes for long jump operations:  LJMP,  LCALL, LRET
  d.  Changing the INT sources to perform LONG jump back to page zero 
of the ROM.

  e.  Patching the main M100 SYSTEM ROM to support LRET from the ISRs.
  f.  Adding a memory map peripheral that allows memory from the 16-meg 
space to be mapped to the base 64K space in 8K chunks (or maybe it was 
4K chunks).
  g.  Wrote assembly code to test all of the extended OPCODES, then 
setup the memory mapper with the main PATCHED ROM located at physical 
address 0x3 (mapped to the lower 64K) just to test it out.
  h.  Wrote an LCD handler that can accept standard M100 LCD signals 
from both 8085Ext CPU  *and* an ARM/RISC-V CPU at the same time. This 
module has memory for both interfaces and saves the state in that memory 
if the other CPU has control of the physical LCD.  Then when a Keyboard 
hotkey is pressed (CTRL-SHIFT-GRAPH 1  or CTRL-SHIFT-GRAPH-2), the 
module will updated the physical LCD from the saved up SRAM image using 
an internal state machine.


So the screenshot output from the simulation I posted yesterday was all 
of that running!


And actually, I would really like to join your "group of engineers" and 
help with this!  I have a whole collection of FPGA boards at my disposal 
here at home:


   Arty-35T   (Xilinx Artix-7 FPGA)
   CMOD-A7  (Xilinx Artix-7 FPGA)
   Mercury   (Xilinx Spartan-6 FPGA)
   Digilent NEXYS-3   (Xilinx Spartan-6 FPGA)
   miniSpartan-6+   (Xilinx Spartan-6 FPGA)
   DE0-NANO  (Altera Cyclone IV FPGA)
   Brevia2(Lattice XP2-5E FPGA)

Currently my favorite is the CMOD-A7 because it is small and has easy to 
use 512K Byte SRAM, is a breadboard form factor and is readily 
available.  But it is not 5V compliant, so that would need to be addressed.


The Arty-35T has more memory, but is DDR3 and a bit more difficult to 
work with.  But the board has Ethernet and other peripherals that the 
CMOD-A7 doesn't.


I also see there is a Mercury-2 board now with an Artix-7 FPGA, on-board 
SRAM and on-board 5V I/O translators.  But I think this company is a 
one-man shop and he just makes them based on sales, so I don't know 
about consistency of availability.  But I really like the Mercury-1 
boards I have.


I will put stuff together on a github site and also create a block 
diagram of what I have.


Ken

On 5/22/21 2:18 PM, Rob Messer wrote:

Ken,

That is awesome! I am admittedly a mechanical engineer and I took one 
semester of computer engineering and VHDL programming and changed 
majors (I was more of a beer drinker than D guy). In any event I 
will rope in some colleagues and badger them with questions. Another 
question is whether there are LCD screens close to what the Model 100 
had still available (240X64) with similar dimensions. It think backlit 
would be great.


I have been really saddened to see fewer and fewer Model 100s on Ebay. 
I also think the machine could be very useful still. I am thinking 
about people who want to work without distraction of the internet and 
have some basic capabilities. Imagine adding some minor features like 
bluetooth file transfer and an SD card slot, that would make this a 
very useful device. It will be the model 104 :)


If you want to share this on Github that would be great! I will be 
sure to update you on the progress!


BR

/RGM

On Sat, May 22, 2021 at 9:44 PM Ken Pettit <mailto:petti...@gmail.com>> wrote:


Hey Rob,

I have an RTL design I worked on YEARS ago where I was trying to
get the
Model 100 in an FPGA along with some extensions.  It was back when
there
was a lot of talk on the list about a Model 401.  For those who
weren't
around then or don't recall, the Model 401 was something that was
discussed around April Fools day (thus the number 401) about an
updated
Model 100.

I actually had this running somewhat on an Actel Igloo FPGA at that
time, though not fully.  I believe I had extended the 8085
instruction
set to add relative jump and branch opcodes using the "MOV A,A", "MOV
B,B" etc. opcodes which are basically useless and not used in the
M100
ROM.  I was also planning at that time to have a 2-processor sy

Re: [M100] FPGA Model 100

2021-05-22 Thread Ken Pettit

Hey Rob,

Actually, the time did finally advance.  I forgot that this is a 
simulation, so it takes quite a bit of real-time for even one second to 
pass in the simulated design.  It is up to 5 seconds now in my 
simulation after about 5-6 minutes of real time.


Ken

On 5/22/21 12:44 PM, Ken Pettit wrote:

Hey Rob,

I have an RTL design I worked on YEARS ago where I was trying to get 
the Model 100 in an FPGA along with some extensions.  It was back when 
there was a lot of talk on the list about a Model 401. For those who 
weren't around then or don't recall, the Model 401 was something that 
was discussed around April Fools day (thus the number 401) about an 
updated Model 100.


I actually had this running somewhat on an Actel Igloo FPGA at that 
time, though not fully.  I believe I had extended the 8085 instruction 
set to add relative jump and branch opcodes using the "MOV A,A", "MOV 
B,B" etc. opcodes which are basically useless and not used in the M100 
ROM.  I was also planning at that time to have a 2-processor system 
where the LCD and Keyboard would be shared by both the extended 8085 
and an ARM core.  The keyboard controller I wrote detects a hotkey 
escape sequence to connect the LCD and keyboard to either the ARM 
interface or the 8085 interface.


I just re-ran my RTL simulation and I see that it is at least running 
and generating an output on the RTL testbench LCD monitor that I 
wrote.  This LCD monitor in the testbench monitors all LCD writes and 
outputs "pixels" as X'x to a Linux /dev/pty device. Then with minicom 
connected using Linux socat, I can see what the emulation is sending 
to the LCD.  I have attached a snapshot of the output of the 
simulation (the dots are actually very small X's, just zoomed out so 
it's like a 3-point font on minicom or something). You can see the 
minicom status line at the bottom in a very small font.  I can see the 
time isn't advancing, so maybe something not quite right with the 
clock chip RTL (uPD1990.v).


If you would like to use this RTL as a starting point, I'm happy to 
post it to github and give you a link.  The files in this design are:


-rw-rw-r-- 1 kpettit users  4108 Apr 16  2012 armspi.v
-rw-rw-r-- 1 kpettit users 97936 Apr 12  2012 cpu8085.v
-rw-rw-r-- 1 kpettit users  2468 May  8  2016 fifo1kx13sram.v
-rw-r--r-- 1 kpettit users  1531 May  9  2016 hvsync_generator.v
-rw-rw-r-- 1 kpettit users 19422 Mar 31  2012 im6402.v
-rw-rw-r-- 1 kpettit users  8344 May  6  2016 keymap.v
-rw-rw-r-- 1 kpettit users 12032 May  5  2016 keyscan.v
-rw-rw-r-- 1 kpettit users 40316 May  7  2016 lcd.v
-rw-rw-r-- 1 kpettit users   687 May  9  2016 m100rom.v
-rw-rw-r-- 1 kpettit users  6383 Apr 13  2012 mapper.v
-rw-rw-r-- 1 kpettit users 16475 May  7  2016 model401.v
-rw-r--r-- 1 kpettit users  7842 May  5  2016 nr5_tx8n.vhd
-rw-rw-r-- 1 kpettit users  6161 May  4  2016 nr5_uart.v
-rw-rw-r-- 1 kpettit users  5947 Apr  7  2012 pio8155.v
-rw-rw-r-- 1 kpettit users  1825 Mar 23  2012 ramCore512.v
-rw-rw-r-- 1 kpettit users  1836 Apr 11  2012 ramCore512x9.v
-rw-rw-r-- 1 kpettit users  9971 Apr 15  2012 socTop.v
-rw-rw-r-- 1 kpettit users  1036 May  9  2016 sram32k.v
-rw-rw-r-- 1 kpettit users  1114 May  7  2016 sram512.v
-rw-rw-r-- 1 kpettit users  1116 May  8  2016 sram512x9.v
-rw-r--r-- 1 kpettit users  9053 May  5  2016 uart_rx8n.vhd
-rw-rw-r-- 1 kpettit users 10794 Apr  7  2012 uPD1990.v

Ken

On 5/22/21 11:22 AM, Rob Messer wrote:
I have followed this email list for a years and I have never asked a 
question...but here goes! I am sitting here with my model 100 and I 
had an idea to 3D print a replica case and get my hands on an LCD and 
mechanical keyboard and try to faithfully reproduce the Model 100 
with simple additions. I have enlisted a few friends (we are all 
engineers)... I was wondering of anyone knows of an FPGA 
implementation of the Model 100 hardware? I want to make a fairly 
faithful reproduction short of using an 80C85.


Thanks!

--
Robert Messer
BARA Sweden








Re: [M100] FPGA Model 100

2021-05-22 Thread Ken Pettit

Hey Rob,

I have an RTL design I worked on YEARS ago where I was trying to get the 
Model 100 in an FPGA along with some extensions.  It was back when there 
was a lot of talk on the list about a Model 401.  For those who weren't 
around then or don't recall, the Model 401 was something that was 
discussed around April Fools day (thus the number 401) about an updated 
Model 100.


I actually had this running somewhat on an Actel Igloo FPGA at that 
time, though not fully.  I believe I had extended the 8085 instruction 
set to add relative jump and branch opcodes using the "MOV A,A", "MOV 
B,B" etc. opcodes which are basically useless and not used in the M100 
ROM.  I was also planning at that time to have a 2-processor system 
where the LCD and Keyboard would be shared by both the extended 8085 and 
an ARM core.  The keyboard controller I wrote detects a hotkey escape 
sequence to connect the LCD and keyboard to either the ARM interface or 
the 8085 interface.


I just re-ran my RTL simulation and I see that it is at least running 
and generating an output on the RTL testbench LCD monitor that I wrote.  
This LCD monitor in the testbench monitors all LCD writes and outputs 
"pixels" as X'x to a Linux /dev/pty device.  Then with minicom connected 
using Linux socat, I can see what the emulation is sending to the LCD.  
I have attached a snapshot of the output of the simulation (the dots are 
actually very small X's, just zoomed out so it's like a 3-point font on 
minicom or something). You can see the minicom status line at the bottom 
in a very small font.  I can see the time isn't advancing, so maybe 
something not quite right with the clock chip RTL (uPD1990.v).


If you would like to use this RTL as a starting point, I'm happy to post 
it to github and give you a link.  The files in this design are:


-rw-rw-r-- 1 kpettit users  4108 Apr 16  2012 armspi.v
-rw-rw-r-- 1 kpettit users 97936 Apr 12  2012 cpu8085.v
-rw-rw-r-- 1 kpettit users  2468 May  8  2016 fifo1kx13sram.v
-rw-r--r-- 1 kpettit users  1531 May  9  2016 hvsync_generator.v
-rw-rw-r-- 1 kpettit users 19422 Mar 31  2012 im6402.v
-rw-rw-r-- 1 kpettit users  8344 May  6  2016 keymap.v
-rw-rw-r-- 1 kpettit users 12032 May  5  2016 keyscan.v
-rw-rw-r-- 1 kpettit users 40316 May  7  2016 lcd.v
-rw-rw-r-- 1 kpettit users   687 May  9  2016 m100rom.v
-rw-rw-r-- 1 kpettit users  6383 Apr 13  2012 mapper.v
-rw-rw-r-- 1 kpettit users 16475 May  7  2016 model401.v
-rw-r--r-- 1 kpettit users  7842 May  5  2016 nr5_tx8n.vhd
-rw-rw-r-- 1 kpettit users  6161 May  4  2016 nr5_uart.v
-rw-rw-r-- 1 kpettit users  5947 Apr  7  2012 pio8155.v
-rw-rw-r-- 1 kpettit users  1825 Mar 23  2012 ramCore512.v
-rw-rw-r-- 1 kpettit users  1836 Apr 11  2012 ramCore512x9.v
-rw-rw-r-- 1 kpettit users  9971 Apr 15  2012 socTop.v
-rw-rw-r-- 1 kpettit users  1036 May  9  2016 sram32k.v
-rw-rw-r-- 1 kpettit users  1114 May  7  2016 sram512.v
-rw-rw-r-- 1 kpettit users  1116 May  8  2016 sram512x9.v
-rw-r--r-- 1 kpettit users  9053 May  5  2016 uart_rx8n.vhd
-rw-rw-r-- 1 kpettit users 10794 Apr  7  2012 uPD1990.v

Ken

On 5/22/21 11:22 AM, Rob Messer wrote:
I have followed this email list for a years and I have never asked a 
question...but here goes! I am sitting here with my model 100 and I 
had an idea to 3D print a replica case and get my hands on an LCD and 
mechanical keyboard and try to faithfully reproduce the Model 100 with 
simple additions. I have enlisted a few friends (we are all 
engineers)... I was wondering of anyone knows of an FPGA 
implementation of the Model 100 hardware? I want to make a fairly 
faithful reproduction short of using an 80C85.


Thanks!

--
Robert Messer
BARA Sweden






Re: [M100] TPDD Emulator in VirtualT - 20k save limit?

2021-05-21 Thread Ken Pettit
Well, it seems I can *save* a tokenized .BA from VirutalT "File" menu, 
it's just the load doesn't work.  But I can then load it from TS-DOS.


I can see in the VirtualT "TPDD Server Log" monitor window that TS-DOS 
is in fact sending a CLOSE file opcode, and the C printf statement I 
added in VirtualT says it is closing the file.


Now I would need a large .BA file for the NEC to be able to test with.

Ken

On 5/21/21 9:49 PM, Gary Weber wrote:
Wow Ken, it's kind of you to jump on these.  If you fix these, I owe 
you dinner.  Three or four dinners, even.

Gary.


On Fri, May 21, 2021 at 9:46 PM Ken Pettit <mailto:petti...@gmail.com>> wrote:


Yeah, I just tried it.  There must be some issue with the
addresses of the system pointers or something.

I'm looking into this now, along with why NADSBox doesn't close
the file.

Ken

On 5/21/21 9:42 PM, Gary Weber wrote:

Correct.  Here's the results of both scenarios, using NEC
emulation mode in VirtualT:

* When you attempt to load an ASCII BASIC program that is
"improperly" named as a ".BA" file, the NEC emulation mode just
hangs, and upon a Reset, you get a cold start.  But this all
makes sense; due to lack of an NEC tokenizer, who knows what
VirtualT is trying to do.
* When you attempt to load a tokenized BASIC program that is
properly named as a .BA file, you get "Ill formed BASIC file". 
This hasn't ever made sense to me as it could be treated as a

binary file.

Gary.


On Fri, May 21, 2021 at 9:16 PM Ken Pettit mailto:petti...@gmail.com>> wrote:

Umm.  Good point.  I'm not sure why you couldn't actually. 
Have you tried it and it doesn't work?


Ken

On 5/21/21 9:14 PM, Gary Weber wrote:

By the way, I actually have always been puzzled by why I
can't directly load a tokenized .BA file.   It makes sense
that a lack of an NEC tokenizer would prevent the loading of
an ASCII version of a BASIC file which erroneously has the
".BA" extension, but I would have thought that loading a
tokenized .BA file wouldn't be much different than loading a
.CO file -- just a direct copy into memory.

Please enlighten me!  :-)

Gary



On Fri, May 21, 2021 at 8:50 PM Gary Weber mailto:g...@web8201.com>> wrote:

I can use the intrinsic Load & Save functions in the
menu for .DO and .CO files, but I can't use the Load
option for .BA files due to the dreaded "Ill formed
BASIC file". (Lack of an NEC tokenizer, methinks.)

The Save to HD option does work for .BA files, but since
I have to jump into TS-DOS in order to load a .BA
properly, I'm just accustomed to using one interface
(TS-DOS) for file operations just as a matter of practice.

Gary.

On Fri, May 21, 2021 at 7:56 PM Ken Pettit
mailto:petti...@gmail.com>> wrote:

Of course I need to ask the question that hasn't
been asked yet:

Why go to all the trouble of trying to save off a
file from VirtualT to the host using TS-DOS and the
virtual NADSBox emulation?  Why not just use the
"File -> Save to HD" menu option?

Ken

On 5/21/21 6:28 PM, Stephen Adolph wrote:

I cant test this.  It is entirely internal.

From what I read you have

Virtual T NEC, with TSDOS
Chatting with
Virtual Nadsbox
Using internal connection.

If you could show that real NEC has this issue then
I am all set to snoop it.
You could use laddieAlpha as a client for example.



On Friday, May 21, 2021, Stephen Adolph
mailto:twospru...@gmail.com>> wrote:

I think I just made a testbed for that.
Happy to set up and capture traces

On Friday, May 21, 2021, Gary Weber
mailto:g...@web8201.com>> wrote:

Yeah, that's interesting. Suppose we could
"sniff" what TS-DOS is doing, as this is
100% repeatable.  In my case, every test
I've done results in the file handle not
being closed, so it must never be sending
the opcode. That just seems very weird to
me, though.

On Fri, May 21, 2021 at 4:39 PM John R.
Hogerhuis mailto:jho...@pobox.com>> wrote:

Which would be a bug in

Re: [M100] TPDD Emulator in VirtualT - 20k save limit?

2021-05-21 Thread Ken Pettit
Yeah, I just tried it.  There must be some issue with the addresses of 
the system pointers or something.


I'm looking into this now, along with why NADSBox doesn't close the file.

Ken

On 5/21/21 9:42 PM, Gary Weber wrote:
Correct.  Here's the results of both scenarios, using NEC emulation 
mode in VirtualT:


* When you attempt to load an ASCII BASIC program that is "improperly" 
named as a ".BA" file, the NEC emulation mode just hangs, and upon a 
Reset, you get a cold start.  But this all makes sense; due to lack of 
an NEC tokenizer, who knows what VirtualT is trying to do.
* When you attempt to load a tokenized BASIC program that is properly 
named as a .BA file, you get "Ill formed BASIC file".  This hasn't 
ever made sense to me as it could be treated as a binary file.


Gary.


On Fri, May 21, 2021 at 9:16 PM Ken Pettit <mailto:petti...@gmail.com>> wrote:


Umm.  Good point.  I'm not sure why you couldn't actually.  Have
you tried it and it doesn't work?

Ken

On 5/21/21 9:14 PM, Gary Weber wrote:

By the way, I actually have always been puzzled by why I can't
directly load a tokenized .BA file.  It makes sense that a lack
of an NEC tokenizer would prevent the loading of an ASCII version
of a BASIC file which erroneously has the ".BA" extension, but I
would have thought that loading a tokenized .BA file wouldn't be
much different than loading a .CO file -- just a direct copy into
memory.

Please enlighten me!  :-)

Gary



On Fri, May 21, 2021 at 8:50 PM Gary Weber mailto:g...@web8201.com>> wrote:

I can use the intrinsic Load & Save functions in the menu for
.DO and .CO files, but I can't use the Load option for .BA
files due to the dreaded "Ill formed BASIC file".  (Lack of
an NEC tokenizer, methinks.)

The Save to HD option does work for .BA files, but since I
have to jump into TS-DOS in order to load a .BA properly, I'm
just accustomed to using one interface (TS-DOS) for file
operations just as a matter of practice.

Gary.

On Fri, May 21, 2021 at 7:56 PM Ken Pettit
mailto:petti...@gmail.com>> wrote:

Of course I need to ask the question that hasn't been
asked yet:

Why go to all the trouble of trying to save off a file
from VirtualT to the host using TS-DOS and the virtual
NADSBox emulation? Why not just use the "File -> Save to
HD" menu option?

Ken

On 5/21/21 6:28 PM, Stephen Adolph wrote:

I cant test this. It is entirely internal.

From what I read you have

Virtual T NEC, with TSDOS
Chatting with
Virtual Nadsbox
Using internal connection.

If you could show that real NEC has this issue then I am
all set to snoop it.
You could use laddieAlpha as a client for example.



On Friday, May 21, 2021, Stephen Adolph
mailto:twospru...@gmail.com>> wrote:

I think I just made a testbed for that.
Happy to set up and capture traces

On Friday, May 21, 2021, Gary Weber
mailto:g...@web8201.com>> wrote:

Yeah, that's interesting.  Suppose we could
"sniff" what TS-DOS is doing, as this is 100%
repeatable. In my case, every test I've done
results in the file handle not being closed, so
it must never be sending the opcode.  That just
seems very weird to me, though.

On Fri, May 21, 2021 at 4:39 PM John R.
Hogerhuis mailto:jho...@pobox.com>> wrote:

Which would be a bug in TSDOS. Which either
would have to be fixed there or we close the
file after a timeout or some other TPDD
command can be used as an indication the
file is no longer being written. Like if the
directory starts being enumerated.

-- John.









Re: [M100] TPDD Emulator in VirtualT - 20k save limit?

2021-05-21 Thread Ken Pettit
Umm.  Good point.  I'm not sure why you couldn't actually.  Have you 
tried it and it doesn't work?


Ken

On 5/21/21 9:14 PM, Gary Weber wrote:
By the way, I actually have always been puzzled by why I can't 
directly load a tokenized .BA file.   It makes sense that a lack of an 
NEC tokenizer would prevent the loading of an ASCII version of a BASIC 
file which erroneously has the ".BA" extension, but I would have 
thought that loading a tokenized .BA file wouldn't be much different 
than loading a .CO file -- just a direct copy into memory.


Please enlighten me!  :-)

Gary



On Fri, May 21, 2021 at 8:50 PM Gary Weber <mailto:g...@web8201.com>> wrote:


I can use the intrinsic Load & Save functions in the menu for .DO
and .CO files, but I can't use the Load option for .BA files due
to the dreaded "Ill formed BASIC file".  (Lack of an NEC
tokenizer, methinks.)

The Save to HD option does work for .BA files, but since I have to
jump into TS-DOS in order to load a .BA properly, I'm just
accustomed to using one interface (TS-DOS) for file operations
just as a matter of practice.

Gary.

    On Fri, May 21, 2021 at 7:56 PM Ken Pettit mailto:petti...@gmail.com>> wrote:

Of course I need to ask the question that hasn't been asked yet:

Why go to all the trouble of trying to save off a file from
VirtualT to the host using TS-DOS and the virtual NADSBox
emulation?  Why not just use the "File -> Save to HD" menu option?

Ken

On 5/21/21 6:28 PM, Stephen Adolph wrote:

I cant test this.  It is entirely internal.

From what I read you have

Virtual T NEC, with TSDOS
Chatting with
Virtual Nadsbox
Using internal connection.

If you could show that real NEC has this issue then I am all
set to snoop it.
You could use laddieAlpha as a client for example.



On Friday, May 21, 2021, Stephen Adolph mailto:twospru...@gmail.com>> wrote:

I think I just made a testbed for that.
Happy to set up and capture traces

On Friday, May 21, 2021, Gary Weber mailto:g...@web8201.com>> wrote:

Yeah, that's interesting. Suppose we could "sniff"
what TS-DOS is doing, as this is 100% repeatable.  In
my case, every test I've done results in the file
handle not being closed, so it must never be sending
the opcode.  That just seems very weird to me, though.

On Fri, May 21, 2021 at 4:39 PM John R. Hogerhuis
mailto:jho...@pobox.com>> wrote:

Which would be a bug in TSDOS. Which either would
have to be fixed there or we close the file after
a timeout or some other TPDD command can be used
as an indication the file is no longer being
written. Like if the directory starts being
enumerated.

-- John.







  1   2   3   4   5   6   >