Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Relaunch64 #3 Beta1 released!
2013-01-06 13:23
The Gothicman
Account closed

Registered: Aug 2011
Posts: 40
Relaunch64 #3 Beta1 released!

Relaunch64 #3 Beta1 released!

Now as JAR-file.
Looks promising to me :)

http://www.popelganda.de/
 
... 49 posts hidden. Click here to view all posts....
 
2014-04-29 22:29
soci

Registered: Sep 2003
Posts: 472
It's getting better with every release ;) Even if I mostly just write problems here.

For now:
- fonts are bigger in font selection preview then in editor e.g. size 19 = 24?
- font change does not affect editor window until restart
- different empty line height and line numbers getting cut off is still a problem
- tab size is still independent of font size
- if I use spaces for tabs all tab positions are off by one
- the insert sinus function is still wrong. When using the defaults it'll never reach 255, is rounded down overall and is still asymmetric.
- the insert basic line function is wrong, it should use *=$801, the line link should not be a constant but depends on the length of the number and there should be 3 trailing zeros after.
- couldn't get jump to error work with acme or 64tass
- the compiler log is not with a fixed font size, this makes the caret diagnosis of kick assembler mostly useless
- if the compilation failed the emulator is still started.

Some tips for reproducing the font size problems. Set up some higher DPI than the usual 96. I use 144, that's the correct value for my screen. No, I'm not blind yet ;) Then choose some reasonable font size like 24, this gives me a 160x50 console using 12x24 pixel characters. Unfortunately Relaunch64 does not seem to scale according to the DPI and some of the interface text is really tiny.
2014-04-29 22:30
soci

Registered: Sep 2003
Posts: 472
I tried to come up with something more dynamic for the BASIC start code (after all the sinus stuff was success ;) ). But I can't get rid of the leading zero for kick/acme, unless I assume that start is always 1000-9999. Tips are welcome from more experienced users.

Kick assembler

.pc = $801
.word !+, 2014
.byte $9e, 48 + mod(start / 10000, 10), 48 + mod(start / 1000, 10), 48 + mod(start / 100, 10), 48 + mod(start / 10, 10), 48 + mod(start, 10), 0
!: .word 0

start:

ACME

*= $801
!word +, 2014
!byte $9e, 48 + start / 10000 % 10, 48 + start / 1000 % 10, 48 + start / 100 % 10, 48 + start / 10 % 10, 48 + start % 10, 0
+ !word 0

start

64tass

*= $801
.word +, 2014
.null $9e, ^start
+ .word 0

start
2014-04-30 05:12
TWW

Registered: Jul 2009
Posts: 541
Not sure what you mean but I handled BASIC stuff by using macros in Kickass;



BasicLine10:
    .word BasicLine20 .word 10
    :SYS("65424")
    .byte $00
BasicLine20:
    .word $0000                        // Done


        .macro SYS(statement) {
            .byte $9e, $20 .text statement
        }


You could move the .byte $00 into the macro if you want but I had several commands separated by a colon on the same line so I did it this way.

Made similar macros for other BASIC Commands like REM, POKE, LOAD etc.

Not sure if this is what you meant though so sorry if I¨'m off track :)
2014-04-30 05:38
soci

Registered: Sep 2003
Posts: 472
Quoting TWW

BasicLine10:
    .word BasicLine20 .word 10
    :SYS("65424")
    .byte $00
BasicLine20:
    .word $0000                        // Done


        .macro SYS(statement) {
            .byte $9e, $20 .text statement
        }


Not exactly what I was looking for. I wanted to generate the SYS decimal address dynamically depending on the "start" label's address.

This is for cases where the program entry point is not right immediately after the sys line, but somewhere later. Hardcoding a value like 2061 or 65424 is no problem and certainly works if the address is known in advance and is not moved too often.
2014-04-30 07:48
Testicle
Account closed

Registered: Sep 2002
Posts: 131
Quote: It's getting better with every release ;) Even if I mostly just write problems here.

For now:
- fonts are bigger in font selection preview then in editor e.g. size 19 = 24?
- font change does not affect editor window until restart
- different empty line height and line numbers getting cut off is still a problem
- tab size is still independent of font size
- if I use spaces for tabs all tab positions are off by one
- the insert sinus function is still wrong. When using the defaults it'll never reach 255, is rounded down overall and is still asymmetric.
- the insert basic line function is wrong, it should use *=$801, the line link should not be a constant but depends on the length of the number and there should be 3 trailing zeros after.
- couldn't get jump to error work with acme or 64tass
- the compiler log is not with a fixed font size, this makes the caret diagnosis of kick assembler mostly useless
- if the compilation failed the emulator is still started.

Some tips for reproducing the font size problems. Set up some higher DPI than the usual 96. I use 144, that's the correct value for my screen. No, I'm not blind yet ;) Then choose some reasonable font size like 24, this gives me a 160x50 console using 12x24 pixel characters. Unfortunately Relaunch64 does not seem to scale according to the DPI and some of the interface text is really tiny.


- Restart for font-change is something I can't change at the moment, because the font is loaded before components and classes are initialized.
- General, tab/font stuff is something I have to go deeper in to find some satisfying solutions... I guess I'll keep as TODO for an update, because it's not e real "bug". ;-)
- Insert basic: I use a leading $00, so starting with $0800 is correct in such case. However, I can also directly start with the basic command and start with $0801. Makes no difference? Anyway, I changes it to $0801 and added 3 trailing zero bytes.
- Insert sinus: ok, I'll look at it. What do you mean by asymmetric? The start with $7f?
- Jump to error: it didn't work with user scripts simply because I forgot to include it in that function as well. fixed now.
- changes font in compiler log to monospaced.
- if compilation (or anything of the processes) failed, no further processes are executed now.

The Payday User Interface Experience Group (PUIEG) did some research on the GUI of Relaunch64 and I finally decided that both user scripts and predefined settings is too much. I did some major changes and completely removed the Compiler and Emulator settings and only left user scripts. The potential users of Relaunch64 would prefer customized scripts anyway, and I guess everybody knows how to setup a user script. It's more confusing and less intuitive having to "compile and run" sections in the GUI, while only one is responsible for syntax highlighting, which is at the same also the compiler setting and so on...

I added the latest Beta 13 to source forge:
https://sourceforge.net/projects/relaunch64/files/Beta-Releases/
2014-04-30 07:52
Testicle
Account closed

Registered: Sep 2002
Posts: 131
btw, is there any valid option to get the start address of the source if you want to crunch a compiled prg-file? I mean, the lowest offset of the prg is not necessarily the start of the code, but also might be a font or whatever...
2014-05-03 12:01
soci

Registered: Sep 2003
Posts: 472
Quoting Testicle
- Insert basic: I use a leading $00, so starting with $0800 is correct in such case. However, I can also directly start with the basic command and start with $0801. Makes no difference? Anyway, I changes it to $0801 and added 3 trailing zero bytes.


It makes a big difference, it'll be wrong if loaded with load"x",8 if it does not start at $801. Not everything gets compressed.

Quoting Testicle
- Insert sinus: ok, I'll look at it. What do you mean by asymmetric? The start with $7f?


I see it's partly fixed in RC1 (symmetric now). But if I select minimum 16 and maximum 240 then I'd expect to get a curve like that. Right now this results in a curve with minimum 0 and maximum 240. Also if I enter for example 88 min and 100 max with 256 values I only get 168 values instead of 256. By checking the source it's clear that the realized function is completely different from what one would expect from this dialog window.

Quoting Testicle
- Jump to error: it didn't work with user scripts simply because I forgot to include it in that function as well. fixed now.


I don't think it works, especially after checking the source. You look for lines containing the text error/warning. But then when error lines with colons are evaluated it makes sure that it contains neither error nor warning. That looks to me as an empty set of processable error lines. (except for kickass)

Quoting Testicle
The Payday User Interface Experience Group (PUIEG) did some research on the GUI of Relaunch64 and I finally decided that both user scripts and predefined settings is too much.


Yes, and probably most user scripts will only contain these 4 characters: "make" ;)

Quoting Testicle
I added the latest Beta 13 to source forge:


Had no time for it, but I'll check RC1 soon.
2014-05-03 17:25
TWW

Registered: Jul 2009
Posts: 541
Quote: Quoting TWW

BasicLine10:
    .word BasicLine20 .word 10
    :SYS("65424")
    .byte $00
BasicLine20:
    .word $0000                        // Done


        .macro SYS(statement) {
            .byte $9e, $20 .text statement
        }


Not exactly what I was looking for. I wanted to generate the SYS decimal address dynamically depending on the "start" label's address.

This is for cases where the program entry point is not right immediately after the sys line, but somewhere later. Hardcoding a value like 2061 or 65424 is no problem and certainly works if the address is known in advance and is not moved too often.


How about this one:

    .var Temp = List()

    .pc = $2000 "Code somewhere else"
    .eval Temp = Temp.add(*)
CodeStart:
    lda #$00
    sta $d020
    rts

    .pc = $0801 "BASIC Code"

BasicLine10:
    .word BasicLine20 .word 10
    :SYS(Temp.get(0))
BasicLine20:
    .word $0000


        .macro SYS(statement) {
            .byte $9e, $20
            .text statement
            .byte $00
        }
2014-05-03 18:00
soci

Registered: Sep 2003
Posts: 472
Yes, I've overlooked the obvious solution ;) It does not have to be the first thing in the file.

Kick:
.pc = $2000
start: nop

.pc = $801
.word !+, 2014
.byte $9e
.text toIntString(start)
.byte 0
!: .word 0

ACME:
*= $2000
start nop

*= $801
!word +, 2014
!byte $9e
!if (start > 9999) {!byte 48 + start / 10000}
!byte 48 + start / 1000 % 10, 48 + start / 100 % 10, 48 + start / 10 % 10, 48 + start % 10, 0
+ !word 0
2014-05-05 14:22
TWW

Registered: Jul 2009
Posts: 541
Your code gave me an idea for a cleaner syntax in rgds. to BASIC entered directly into an assembler:

Not sure if it's worth a dam though ;D


    .pc = $2000 "Start Code"
Start:
    lda #$00
    sta $d020
    rts


    .pc = $0801 "BASIC"
    :BASIC(10) :SYS(Start)
!:  :BASIC(20) :SYS(8192)
!:  .word 0



    { // Macros for BASIC

        .macro BASIC(argument) {
            .word !+, argument
        }
        .macro SYS(argument) {
            .byte $9e, $20
            .text toIntString(argument)
            .byte $00
        }
    }
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
hedning/G★P
Fred/Channel 4
iAN CooG/HVSC
AMB/Level 64
Mason/Unicess
Guests online: 298
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 No Bounds  (9.6)
6 Comaland 100%  (9.6)
7 Uncensored  (9.6)
8 The Ghost  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 Party Elk 2  (9.7)
2 Cubic Dream  (9.6)
3 Copper Booze  (9.5)
4 Rainbow Connection  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Onscreen 5k  (9.5)
7 Dawnfall V1.1  (9.5)
8 Quadrants  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Birth of a Flower  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Nostalgia  (9.3)
3 Oxyron  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Webmasters
1 Slaygon  (9.7)
2 Perff  (9.6)
3 Morpheus  (9.5)
4 Sabbi  (9.5)
5 CreaMD  (9.1)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.093 sec.