6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 4:56 pm

All times are UTC




Post new topic Reply to topic  [ 48 posts ]  Go to page 1, 2, 3, 4  Next
Author Message
PostPosted: Fri Dec 15, 2023 9:06 pm 
Online
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
Anyone going to enter?

https://logiker.com/Vintage-Computing-C ... lenge-2023

I've submitted my entry in my GIBL/TinyBasic just for some retro fun.

Anyone rising to the challenge in 6502 assembler?

Cheers,

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 15, 2023 9:10 pm 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Just to note the rules, which are in the spirit of not spoiling anyone else's fun:

"Do not reveal the code or even the exact size of the code to anyone. This shall be a personal challenge."

So, please don't share your ideas or your guesses or algorithms or approaches, until after the competition deadline.


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 16, 2023 11:22 am 
Offline

Joined: Thu Mar 12, 2020 10:04 pm
Posts: 704
Location: North Tejas
drogon wrote:
Anyone going to enter?

https://logiker.com/Vintage-Computing-C ... lenge-2023

I've submitted my entry in my GIBL/TinyBasic just for some retro fun.

Anyone rising to the challenge in 6502 assembler?

Cheers,

-Gordon


Yes.

I have entered in the past, but did not last year because I found the challenge, shall we say, uninspiring.

As usual, I will begin by coding up a solution in 6800 assembly language. Then go to the 6809 to see if that can improve it. Finally create 6502 and 8080 versions for comparison.

I do not like that the judging criteria are:

The shortest size of the following provided sizes is taken for the final “ordering/ranking”:

* Source code
* File size
* Executed Code (net[to] code size; “real” code)

So I will be submitting both commented and uncommented source code…


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 16, 2023 1:31 pm 
Offline

Joined: Thu Mar 12, 2020 10:04 pm
Posts: 704
Location: North Tejas
I hope this is not out of line, but the preliminary results show the 6502 version is smaller than the 6800 one.


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 16, 2023 1:47 pm 
Online
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
BillG wrote:
I have entered in the past, but did not last year because I found the challenge, shall we say, uninspiring.


I think it's just a fun thing to do - not particularly difficult so rather than try to squeeze every last byte out of it I've tried to be more "interesting".

And building my own computer, writing my own TinyBasic to run on that computer and using that for the entry is, I think, "interesting" :-)

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 16, 2023 2:02 pm 
Online
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
BillG wrote:
I hope this is not out of line, but the preliminary results show the 6502 version is smaller than the 6800 one.


I never did get into the 6800. No real UK systems using it, so not much interest and the 6502 was ... cheaper. Same for the 6809, but it was a bit late to the game there. I do remember using a 6809 system for some industrial control but by then we were into high level languages (early/mid 80's) and C and BCPL were winning the game over the 6809s Pascal...

It was a funny old time.

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 16, 2023 3:14 pm 
Offline

Joined: Thu Mar 12, 2020 10:04 pm
Posts: 704
Location: North Tejas
I decided to look at the results from last year and have some serious concerns.

https://demozoo.org/parties/4578/

The winning entry claims only 27 bytes of code. Looking more deeply into the entry reveals many many bytes of variables and data that are not counted in that 27. Is the scoring system broken such that the total footprint is not important but only the amount of executable code?


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 16, 2023 7:22 pm 
Offline

Joined: Sun Apr 26, 2020 3:08 am
Posts: 357
BillG wrote:
I decided to look at the results from last year and have some serious concerns.

https://demozoo.org/parties/4578/

The winning entry claims only 27 bytes of code. Looking more deeply into the entry reveals many many bytes of variables and data that are not counted in that 27. Is the scoring system broken such that the total footprint is not important but only the amount of executable code?



Why is there even any scoring? Isn't it just enough to see the different programming techniques? It is best to leave any scoring results unposted. And if there is any scoring to be done, let it be for the most interesting technique.


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 19, 2023 8:13 am 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1949
Location: Sacramento, CA, USA
drogon wrote:
Anyone rising to the challenge in 6502 assembler?

Yes, if hand-assembly counts. My WOZMON entry surprised me by working on the first try!

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 19, 2023 8:16 am 
Online
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
barrym95838 wrote:
drogon wrote:
Anyone rising to the challenge in 6502 assembler?

Yes, if hand-assembly counts. My WOZMON entry surprised me by working on the first try!


It absolutely counts!

Now.. Apple II. F666G, was it?

(mini assembler)

Cheers,

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 19, 2023 7:36 pm 
Offline

Joined: Sun Apr 26, 2020 3:08 am
Posts: 357
barrym95838 wrote:
drogon wrote:
Anyone rising to the challenge in 6502 assembler?

Yes, if hand-assembly counts. My WOZMON entry surprised me by working on the first try!


Hey Mike. Are you not the author of VTLC? I will do one in Forth if you do one in VTLC.

I might try my hand at TurtleLogo as well.


Top
 Profile  
Reply with quote  
PostPosted: Tue Dec 19, 2023 10:00 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1949
Location: Sacramento, CA, USA
IamRob wrote:
Hey Mike. Are you not the author of VTLC?

Yeah, I'll take swing at it and see if I can come up with a base hit. VTLC isn't exactly the correct name. The original 6800 and 8080 versions are VTL-2 and my latest NMOS 6502 version is VTL02C. VTLC02 is for the 65c02. Those 65xx interpreters have a few bells and whistles that weren't in the originals, like recognizing the space character as genuine white space, and not a variable name or binary operator. :lol: As for TABs ... er ... not a good idea in any version.

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Last edited by barrym95838 on Thu Dec 21, 2023 12:39 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 20, 2023 10:54 pm 
Offline

Joined: Sat Dec 12, 2015 7:48 pm
Posts: 145
Location: Lake Tahoe
I was going to write one in Vintage-Computing-Christmas-Challenge-2023 Language. It would be one byte long.

Instead I wrote it in PLASMA with twinkling stars. Certainly not going to be the smallest.


Top
 Profile  
Reply with quote  
PostPosted: Thu Dec 21, 2023 12:37 am 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1949
Location: Sacramento, CA, USA
My VTL-2 version is disappointing in a head-to-head comparison with 6502 machine language, at least when using the same algorithm. Kinda makes sense, though ... LDA #50 is two bytes and two CPU cycles, and 100 A=50 is eight bytes and (mumble) CPU cycles. I am also not pleased with the portability issue associated with my rendering technique ... it uses spaces instead of newline chars, which isn't bad for the original WOZMON, but horrible on a generic terminal connected to a typical VTL-2 host, because not many of those terminals wrap lines at 40 columns like the Apple 1 does.

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Top
 Profile  
Reply with quote  
PostPosted: Thu Dec 21, 2023 1:31 am 
Offline

Joined: Sun Apr 26, 2020 3:08 am
Posts: 357
Here's what I came up with Forth - it compiles to 173 bytes

: S spaces 42 emit ;
: one 3 S 5 S 5 S cr ;
: two 2 S 1 S 3 S 1 S 3 S 1 S cr ;
: thre 1 S 3 S 1 S 3 S 1 S 3 S cr ;
: for 42 EMIT 5 S 5 S 5 S cr ;
: G 3 0 do one two thre for thre two loop one ;

I am sure it could be made smaller.

An applesoft one posted elsewhere is 105 bytes.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 48 posts ]  Go to page 1, 2, 3, 4  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 26 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: