Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 02:18 22 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Maximite wish

Author Message
Nick

Guru

Joined: 09/06/2011
Location: Australia
Posts: 512
Posted: 08:08pm 08 Jun 2011
Copy link to clipboard 
Print this post

The Maximite is a great project and thank you to Geoff for giving us this device.

Still, it can always do with improvements and here is my No. 1 wish of what I would like to see to make a great product even greater.

An EDITOR! I'm sick of retyping entire lines to change or fix a line! :)

An editor modelled on the Commodore 64 where you move the cursor to a line on the screen, edit it, and press ENTER to register the line as if it was typed complete.

Nick

P.S. Oh and 4096 colours, sprites, bit blitter, multi-planar graphics and maybe 3D processing! :)

No pressure Geoff... :)


 
Gizmo

Admin Group

Joined: 05/06/2004
Location: Australia
Posts: 5078
Posted: 10:40pm 08 Jun 2011
Copy link to clipboard 
Print this post

I think the way the Maximite generates its VGA will limit the full screen editing we would like to see. Where a old computer has lines of characters stored in memory, it apears the Maximite has lines of pixels. There's no way for the Maximite to know if a place on the screen is a pixel os the start of a character. It does mean you can position characters on the screen by pixel instead of character position, so you have better control of the screen layout. But it also means a full screen editor is near inpossible.
Maybe a line editor, like "EDIT 123" could be possible, cause it knows its in a editing mode and could keep track of what characters it placed on the screen at what position.

I ended up using the USB terminal function and notepad ( notepadd++ actually, heaps better ) on my PC attached to the Maximite to edit the code, it works good enough.

Glenn
The best time to plant a tree was twenty years ago, the second best time is right now.
JAQ
 
Nick

Guru

Joined: 09/06/2011
Location: Australia
Posts: 512
Posted: 08:20am 09 Jun 2011
Copy link to clipboard 
Print this post

That is correct. Maximite is totally bit mapped so C64 editing would not be so simple.

I would suggest a new command in BASIC like, EDIT.

"EDIT line-number" would list out the line and store the line as byte data in a edit text area of RAM. Then, the cursor can me moved back and forth, editing the text and pressing ENTER would register/set the line as newly typed.

Nick
 
donmck

Guru

Joined: 09/06/2011
Location: Australia
Posts: 1313
Posted: 08:52am 09 Jun 2011
Copy link to clipboard 
Print this post

TRS-80 Model 1 Level 2 BASIC

==============================

EDIT L

Enters edit mode for a particular line L. In edit mode, the following keystroke commands are available:

SPACE moves the cursor one character to the right.
BACKSPACE moves the cursor one character to the left.
D deletes the character at the current position.
ID deletes I characters.
I enters insert mode. In insert mode, characters are inserted as they are typed.
SHIFT-[ leaves insert mode.

That is how ye old TRS-80 did it.

Cheers Don...

https://www.dontronics.com
 
BobDevries

Senior Member

Joined: 08/06/2011
Location: Australia
Posts: 266
Posted: 12:22am 10 Jun 2011
Copy link to clipboard 
Print this post

  donmck said   TRS-80 Model 1 Level 2 BASIC

==============================

EDIT L

Enters edit mode for a particular line L. In edit mode, the following keystroke commands are available:

SPACE moves the cursor one character to the right.
BACKSPACE moves the cursor one character to the left.
D deletes the character at the current position.
ID deletes I characters.
I enters insert mode. In insert mode, characters are inserted as they are typed.
SHIFT-[ leaves insert mode.

That is how ye old TRS-80 did it.

Cheers Don...


This type of line editing also appears in the Tandy Colour Computer 1, 2 and 3. It's not a full-screen editor, but surely better than re-typing the entire line, especially long ones.


Bob Devries
Dalby, QLD, Australia
 
Nick

Guru

Joined: 09/06/2011
Location: Australia
Posts: 512
Posted: 01:28am 10 Jun 2011
Copy link to clipboard 
Print this post

I still use my Color Computer 3, for hobby purposes. Was raised on the famous TRS-80 Model 1 EDIT command. :)

My suggestion is something that goes half way.

The EDIT command of the TRS-80 but with some of the screen (line in this case) editing abilities of the C64.

Nick
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3194
Posted: 09:51am 11 Jun 2011
Copy link to clipboard 
Print this post

  donmck said   TRS-80 Model 1 Level 2 BASIC

==============================

EDIT L
Enters edit mode for a particular line L. In edit mode, the following keystroke commands are available:

SPACE moves the cursor one character to the right.
BACKSPACE moves the cursor one character to the left.
D deletes the character at the current position.
ID deletes I characters.
I enters insert mode. In insert mode, characters are inserted as they are typed.
SHIFT-[ leaves insert mode.


This method would be really easy to implement. I got stuck on something more complex (multiple lines, using the arrow keys, etc).

Would it be a problem if it refused to edit a line longer than the screen width? This would remove the issue with scrolling or wrapping long lines.

I am thinking that I could implement a simple version (like that described above) and when time permitted expand it to something more complicated.

BTW, someone made the comment that it would be hard to write an editor as the display is bitmapped. It is bitmapped, but you would not edit the line in video memory. It would be edited in a RAM buffer then copied to program memory... very easy.

Geoff

Geoff Graham - http://geoffg.net
 
Nick

Guru

Joined: 09/06/2011
Location: Australia
Posts: 512
Posted: 07:30pm 11 Jun 2011
Copy link to clipboard 
Print this post

> BTW, someone made the comment that it would be hard to write an editor as the
> display is bitmapped. It is bitmapped, but you would not edit the line in video
> memory. It would be edited in a RAM buffer then copied to program memory

I think that he was referring to doing the C64's full screen style editor. Because your display is bit mapped and not text mode based, it would be more complicated to implement.

But, I'm curious, do you keep a text mode version of the screen in memory in order to generate the bitmapped screen version which is displayed?

I notice that you transmit the text only (not bit-mapped gfx) of the screen when the Maximite is connected to a PC via USB/serial and displayed via a terminal program.

This would mean that a full screen C64 editor would be possible.

> Would it be a problem if it refused to edit a line longer than the screen width?

No, I keep all my program lines on the one screen line (VGA).

Nick
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3194
Posted: 10:34pm 11 Jun 2011
Copy link to clipboard 
Print this post

  Nick said  
But, I'm curious, do you keep a text mode version of the screen in memory in order to generate the bitmapped screen version which is displayed?

I notice that you transmit the text only (not bit-mapped gfx) of the screen when the Maximite is connected to a PC via USB/serial and displayed via a terminal program.


No, a text based copy is not kept. When a character is sent to the screen the firmware looks up the bitmapped representation of the character and writes it to the video buffer (which is just a bitmapped representation of the video screen). It also sends it out the USB interface. So, a copy of the character is not stored anywhere.

A full screen editor is possible because when the variable list has been cleared there would be plenty of free memory available to represent a full screen of characters. This means that editing a program would also require that the variables be cleared which is normally the case anyway.

Geoff
Geoff Graham - http://geoffg.net
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024