Jump to content



0

GPLHOW2


40 replies to this topic

#1 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Thu Apr 14, 2011 8:33 PM

Ok so this is a thread of packages and Videos on GPL HOW 2 and each package is going to have a letter behind it to indicate the version.
i.e. GPLHOW2A, GPLHOW2B, GPLHOW2C and so on….

This is GPLHOW2A and a Video.

Attached Files


Edited by RXB, Thu Apr 14, 2011 8:39 PM.


#2 retroclouds ONLINE  

retroclouds

    Stargunner

  • 1,095 posts
  • Location:Germany

Posted Thu Apr 14, 2011 11:17 PM

View PostRXB, on Thu Apr 14, 2011 8:33 PM, said:

Ok so this is a thread of packages and Videos on GPL HOW 2 and each package is going to have a letter behind it to indicate the version.
i.e. GPLHOW2A, GPLHOW2B, GPLHOW2C and so on….

This is GPLHOW2A and a Video.



Excellent stuff! Thanks for doing the video. This is the first time I ever saw a GPL development cycle.
This stuff doesn't stop to amaze me, even in 2011. Very cool :thumbsup:

#3 lucien2 OFFLINE  

lucien2

    Chopper Commander

  • 160 posts
  • Location:Switzerland

Posted Fri Apr 15, 2011 2:11 AM

Thanks again :)

Just a question: The code is located at >C000 with the GROM directive, but what is located at >0000 with the AORG directive ?

#4 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Fri Apr 15, 2011 6:57 AM

View Postlucien2, on Fri Apr 15, 2011 2:11 AM, said:

Thanks again :)

Just a question: The code is located at >C000 with the GROM directive, but what is located at >0000 with the AORG directive ?


AORG >0000 does nothing at all. If you look at my RXB source code I use AORG alot to keep the code byte per byte where it is supposed to be.

An example would be say I want the code to be on a even address, then I would put in AORG >0010 to jump foward from say a odd address like >0007

GPL does not care if it is even or not but will anounce it in the LIST file that the address is not even.

So I just used the AORG out of habit, sorry. By the way you will get a kick out of the next Demo and video.

#5 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Fri Apr 15, 2011 8:44 AM

Here is the next package: GPLHOW2B

And the Video:

Attached Files



#6 Vorticon OFFLINE  

Vorticon

    Moonsweeper

  • 494 posts
  • Location:St. Paul, MN, USA

Posted Fri Apr 15, 2011 10:16 AM

Thanks! This is very helpful.

#7 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Fri Apr 15, 2011 10:18 PM

GPLHOW2C so this one is a bit more useful. How to make a Screen Editor like TI Writer or Editor Assembler.



Attached Files


Edited by RXB, Fri Apr 15, 2011 10:20 PM.


#8 retroclouds ONLINE  

retroclouds

    Stargunner

  • 1,095 posts
  • Location:Germany

Posted Sat Apr 16, 2011 1:21 AM

Excellent stuff! :cool:

About the GPLHOW2B sprite demo.

Just took a quick glance at the source code. It seems you are using the sprite motion routine that's in the ISR.
Wonder how fast sprite motion would be if not using ISR sprite motion.

hhhmm.. makes we wonder how they did this in Car Wars. If I'm not mistaking it was discussed a while ago that's a GPL game.
And you really can't say that's a slow game. It's fast and difficult as hell :D

#9 Vorticon OFFLINE  

Vorticon

    Moonsweeper

  • 494 posts
  • Location:St. Paul, MN, USA

Posted Sat Apr 16, 2011 2:35 AM

It looks like I may have to write my own AMS based text editor eventually... This GPL thing is really fascinating! Thanks for the demo's.

#10 lucien2 OFFLINE  

lucien2

    Chopper Commander

  • 160 posts
  • Location:Switzerland

Posted Sun Apr 17, 2011 6:03 AM

I did this as a small exercise: Roll a dice and count the occurences of each number.

Is there an easier way to display a variable? I found that routine at >2F7C in the "Art of Assembly" book.



Spoiler


#11 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Sun Apr 17, 2011 3:36 PM

View PostVorticon, on Sat Apr 16, 2011 2:35 AM, said:

It looks like I may have to write my own AMS based text editor eventually... This GPL thing is really fascinating! Thanks for the demo's.

Actually I had considered writing a AMS version of text editor. But wanted to do it with a 80 column card that way I could include graphics.
The idea was to use 80 column bit mapped mode and text mode. It would not be PC standards but for TI it would be a giant leap.

#12 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Sun Apr 17, 2011 4:28 PM

View Postlucien2, on Sun Apr 17, 2011 6:03 AM, said:

I did this as a small exercise: Roll a dice and count the occurences of each number.

Is there an easier way to display a variable? I found that routine at >2F7C in the "Art of Assembly" book.



Spoiler

Actually you have found a very elegant way of doing this. I have a very involved way of doing it in the RXB 2001 source code, but depends on XB and not the Basic routines.
Also as RXB is a cartridge I had to avoid using Basic routines as I had no idea if they would be there, I did this to stay compatible with any configuration.
Take a look at page 3-19 of the GPL manual. Or just load the PDF and use FIND for XPT. It shows using XPT and YPT and CB to write or read the screen.
Or page 4-50 the FMT command might be a better choice.
DST @ARG1,@YPT * YPT and XPT are the standard row and column values built into the TI OS.
FMT * Format command
BIAS >00,5,@ARG3 * BIAS 0 added to characters,5 is the number of characters to put on screen,use characters in ARG3
FEND * End of Format command

Congrats on a very well written GPL program.
Also take a look at address >14B0 in TI Intern GPL GROM 0 for the Cassette routine as it uses FMT also.
You can look at my RXB 2001 Source code and find HPUT and VPUT in how I did those.

Many ways to tackle the problem. The attachment is another way.
By the way I am working on EA BASIC support routines added to TI BASIC in the GROMS and will put out a GPLHOW2 when done.

Edited by RXB, Sun Apr 17, 2011 4:38 PM.


#13 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Sun Apr 17, 2011 4:40 PM

Attachment did not work this is another try at it.

Look at the section of GET A STRING and PUT IT on screen.

GKDSTR I think is the name. Here is the code you might want.

<0228> C7E3 08 FMT * FORMAT
<0229> C7E4 FC,60 SCRO >60 * BIAS for XB or BASIC 96 Decimal
<0230> C7E6 FE,01 ROW 1
<0231> C7E8 FF,0D COL 13
<0232>
<0001> C7EA E9,4C HSTR 10,@FAC+2 * this one uses a string of 10 characters from pointer @FAC+2
<0002> C7EC FB FEND * End of Format

Attached Files


Edited by RXB, Sun Apr 17, 2011 4:46 PM.


#14 lucien2 OFFLINE  

lucien2

    Chopper Commander

  • 160 posts
  • Location:Switzerland

Posted Mon Apr 18, 2011 12:17 AM

Ok thanks. So, there is not an easier way.

The problem with the HSTR instruction is that it needs a constant length, and the >2F7C routine return a variable length at >8361. I will try, but I think it puts something just after the characters stored at >8367.

EDIT:
The routine returns the address of the characters just after them (at >8367), so the last character is always at >8366 but the length is variable.

Edited by lucien2, Mon Apr 18, 2011 4:13 AM.


#15 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Mon Apr 18, 2011 3:59 AM

GPLHOW2D
This one is huge as it is Editor Assembler TI BASIC support.
CALL CHARPAT, CALL LOAD, CALL INIT, CALL LINK, CALL POKEV, CALL PEEKV

The source code has quite a few comments i will update it when I add AMS support. You can not use the GPL LINKER on this one as it is in GROM 1 and 2.

Attached Files



#16 Tony Knerr OFFLINE  

Tony Knerr

    Star Raider

  • 73 posts

Posted Tue Apr 19, 2011 4:59 PM

View PostRXB, on Mon Apr 18, 2011 3:59 AM, said:

GPLHOW2D
This one is huge as it is Editor Assembler TI BASIC support.
CALL CHARPAT, CALL LOAD, CALL INIT, CALL LINK, CALL POKEV, CALL PEEKV

The source code has quite a few comments i will update it when I add AMS support. You can not use the GPL LINKER on this one as it is in GROM 1 and 2.




Getting these errors when assembling.
Are there image files available after the successful application of the patches?

Tony

Attached Files


Edited by Tony Knerr, Tue Apr 19, 2011 5:11 PM.


#17 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Tue Apr 19, 2011 6:06 PM

View PostTony Knerr, on Tue Apr 19, 2011 4:59 PM, said:

View PostRXB, on Mon Apr 18, 2011 3:59 AM, said:

GPLHOW2D
This one is huge as it is Editor Assembler TI BASIC support.
CALL CHARPAT, CALL LOAD, CALL INIT, CALL LINK, CALL POKEV, CALL PEEKV

The source code has quite a few comments i will update it when I add AMS support. You can not use the GPL LINKER on this one as it is in GROM 1 and 2.




Getting these errors when assembling.
Are there image files available after the successful application of the patches?

Tony

I see the problem your pic shows ASSEMBLER EXECUTING

The GPL Assembler in the package shows

GPL ASSEMBLER EXECUTING so you are not using my GPL Assembler, you are using something else. Also it states what pass it is on Pass 0 to Pass 3 or more.

Edited by RXB, Tue Apr 19, 2011 6:08 PM.


#18 Tony Knerr OFFLINE  

Tony Knerr

    Star Raider

  • 73 posts

Posted Tue Apr 19, 2011 8:26 PM

View PostRXB, on Tue Apr 19, 2011 6:06 PM, said:

View PostTony Knerr, on Tue Apr 19, 2011 4:59 PM, said:

View PostRXB, on Mon Apr 18, 2011 3:59 AM, said:

GPLHOW2D
This one is huge as it is Editor Assembler TI BASIC support.
CALL CHARPAT, CALL LOAD, CALL INIT, CALL LINK, CALL POKEV, CALL PEEKV

The source code has quite a few comments i will update it when I add AMS support. You can not use the GPL LINKER on this one as it is in GROM 1 and 2.




Getting these errors when assembling.
Are there image files available after the successful application of the patches?

Tony

I see the problem your pic shows ASSEMBLER EXECUTING

The GPL Assembler in the package shows

GPL ASSEMBLER EXECUTING so you are not using my GPL Assembler, you are using something else. Also it states what pass it is on Pass 0 to Pass 3 or more.

Finally got this to work, had to disable the hard drive. As soon as a CALL INIT is done, though, the beep from the power up screen sounds continually (1400 khz tone). Disk is attached with files in GK and HSGPL format. HSGPL files saved from HSGPL LOAD program, GK files saved from CARTSAVE.

Tony

Attached Files



#19 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Tue Apr 19, 2011 8:54 PM

View PostTony Knerr, on Tue Apr 19, 2011 8:26 PM, said:

View PostRXB, on Tue Apr 19, 2011 6:06 PM, said:

View PostTony Knerr, on Tue Apr 19, 2011 4:59 PM, said:

View PostRXB, on Mon Apr 18, 2011 3:59 AM, said:

GPLHOW2D
This one is huge as it is Editor Assembler TI BASIC support.
CALL CHARPAT, CALL LOAD, CALL INIT, CALL LINK, CALL POKEV, CALL PEEKV

The source code has quite a few comments i will update it when I add AMS support. You can not use the GPL LINKER on this one as it is in GROM 1 and 2.




Getting these errors when assembling.
Are there image files available after the successful application of the patches?

Tony

I see the problem your pic shows ASSEMBLER EXECUTING

The GPL Assembler in the package shows

GPL ASSEMBLER EXECUTING so you are not using my GPL Assembler, you are using something else. Also it states what pass it is on Pass 0 to Pass 3 or more.

Finally got this to work, had to disable the hard drive. As soon as a CALL INIT is done, though, the beep from the power up screen sounds continually (1400 khz tone). Disk is attached with files in GK and HSGPL format. HSGPL files saved from HSGPL LOAD program, GK files saved from CARTSAVE.

Tony

Cool are you saying what I said and that CALL INIT is not the bug of (1400 khz tone) from my GPL code but some other bug? I have no way to test GPL other then PC99 and Classic99 so I was trying to find a bug in my code.

Edited by RXB, Tue Apr 19, 2011 8:55 PM.


#20 Tony Knerr OFFLINE  

Tony Knerr

    Star Raider

  • 73 posts

Posted Wed Apr 20, 2011 3:30 AM

View PostRXB, on Tue Apr 19, 2011 8:54 PM, said:


Cool are you saying what I said and that CALL INIT is not the bug of (1400 khz tone) from my GPL code but some other bug? I have no way to test GPL other then PC99 and Classic99 so I was trying to find a bug in my code.

Apparently the bug is in your CALL INIT, as the tone starts once enter is pressed after that text is entered. I've done all the compiling, testing, and dumping of the TI Groms for this exercise using the MESS Emulator, which has HSGPL emulation. It keeps me from having to walk down the basement for my TI or Geneve. It would be an excellent tool for what you're doing now, but there's a learning curve involved as the HSGPL is more complicated and less forgiving than other Gram devices.

Tony

#21 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Wed Apr 20, 2011 6:20 AM

View PostTony Knerr, on Wed Apr 20, 2011 3:30 AM, said:

View PostRXB, on Tue Apr 19, 2011 8:54 PM, said:

Cool are you saying what I said and that CALL INIT is not the bug of (1400 khz tone) from my GPL code but some other bug? I have no way to test GPL other then PC99 and Classic99 so I was trying to find a bug in my code.

Apparently the bug is in your CALL INIT, as the tone starts once enter is pressed after that text is entered. I've done all the compiling, testing, and dumping of the TI Groms for this exercise using the MESS Emulator, which has HSGPL emulation. It keeps me from having to walk down the basement for my TI or Geneve. It would be an excellent tool for what you're doing now, but there's a learning curve involved as the HSGPL is more complicated and less forgiving than other Gram devices.

Tony

OK i just finished GPLHOW2E and will put that out there. It is the DMII cartridge Source code and how to make your own.

I will keep looking at the code for GPLHOW2D but the only thing that talks to scratch pad that I can see so far is >8300 as that is used by Basic as a counter of some kind, will have to trace it back. If that is the case then a Basic AMS support is just dead.

XB does not use >8300 to >8364 so I only have to save a few bytes to use Scratch pad most is free, but Basic uses scratch pad just all over the place and is very badly written. Basic looks like it was written by a committee that never met.

Edited by RXB, Wed Apr 20, 2011 6:21 AM.


#22 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Wed Apr 20, 2011 6:36 AM

GPLHOW2E


This one is the DMII cartridge upgrades slightly and is 340 sectors of DV80 source code. This has much more data on how GPL works and how to do things.
I used up to 16 characters for Symbol table names so less comments on the side have to be used. Also included a VDP DV80 file showing all the VDP
address used and what they do. This one will be a good one to look over if you want to learn GPL. Also here is a video.

Attached Files



#23 Tony Knerr OFFLINE  

Tony Knerr

    Star Raider

  • 73 posts

Posted Wed Apr 20, 2011 3:24 PM

View PostRXB, on Wed Apr 20, 2011 6:20 AM, said:

View PostTony Knerr, on Wed Apr 20, 2011 3:30 AM, said:

View PostRXB, on Tue Apr 19, 2011 8:54 PM, said:

Cool are you saying what I said and that CALL INIT is not the bug of (1400 khz tone) from my GPL code but some other bug? I have no way to test GPL other then PC99 and Classic99 so I was trying to find a bug in my code.

Apparently the bug is in your CALL INIT, as the tone starts once enter is pressed after that text is entered. I've done all the compiling, testing, and dumping of the TI Groms for this exercise using the MESS Emulator, which has HSGPL emulation. It keeps me from having to walk down the basement for my TI or Geneve. It would be an excellent tool for what you're doing now, but there's a learning curve involved as the HSGPL is more complicated and less forgiving than other Gram devices.

Tony

OK i just finished GPLHOW2E and will put that out there. It is the DMII cartridge Source code and how to make your own.

I will keep looking at the code for GPLHOW2D but the only thing that talks to scratch pad that I can see so far is >8300 as that is used by Basic as a counter of some kind, will have to trace it back. If that is the case then a Basic AMS support is just dead.

XB does not use >8300 to >8364 so I only have to save a few bytes to use Scratch pad most is free, but Basic uses scratch pad just all over the place and is very badly written. Basic looks like it was written by a committee that never met.

Is there room for code to kill the sound generators at the end of the CALL INIT code? That way, CALL INIT will produce a short beep to let you know it has executed. :) Alternately, do you change the interrupt level anywhere in the routine? That may be the cause of the tone.

Tony

#24 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Thu Apr 21, 2011 6:23 AM

View PostTony Knerr, on Wed Apr 20, 2011 3:24 PM, said:

View PostRXB, on Wed Apr 20, 2011 6:20 AM, said:

View PostTony Knerr, on Wed Apr 20, 2011 3:30 AM, said:

View PostRXB, on Tue Apr 19, 2011 8:54 PM, said:

Cool are you saying what I said and that CALL INIT is not the bug of (1400 khz tone) from my GPL code but some other bug? I have no way to test GPL other then PC99 and Classic99 so I was trying to find a bug in my code.

Apparently the bug is in your CALL INIT, as the tone starts once enter is pressed after that text is entered. I've done all the compiling, testing, and dumping of the TI Groms for this exercise using the MESS Emulator, which has HSGPL emulation. It keeps me from having to walk down the basement for my TI or Geneve. It would be an excellent tool for what you're doing now, but there's a learning curve involved as the HSGPL is more complicated and less forgiving than other Gram devices.

Tony

OK i just finished GPLHOW2E and will put that out there. It is the DMII cartridge Source code and how to make your own.

I will keep looking at the code for GPLHOW2D but the only thing that talks to scratch pad that I can see so far is >8300 as that is used by Basic as a counter of some kind, will have to trace it back. If that is the case then a Basic AMS support is just dead.

XB does not use >8300 to >8364 so I only have to save a few bytes to use Scratch pad most is free, but Basic uses scratch pad just all over the place and is very badly written. Basic looks like it was written by a committee that never met.

Is there room for code to kill the sound generators at the end of the CALL INIT code? That way, CALL INIT will produce a short beep to let you know it has executed. :) Alternately, do you change the interrupt level anywhere in the routine? That may be the cause of the tone.

Tony

Good news got it fixed. And as a bonus the AMS BASIC support also will be in the same package. So Basic will have EA Cart support and AMS support, and memory left over.

#25 RXB OFFLINE  

RXB

    Dragonstomper

  • 539 posts
  • Location:Vancouver, Washington, USA

Posted Fri May 6, 2011 5:38 PM

GPLHOW2F
This package and video is on TI BASIC to GPL HOW2.
Took ANIMATION in TI Basic from 99er Mag and converted it to GPL.
Some step by step on how it is done and fully commented source code also.
( I also included TXT files to for quick viewing of source files)


Attached Files






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users