Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Friday, 13 February 2015

Its been a long time since my last confession

Well that,s the quote bit out of the way.

I thought I would note down just a few thoughts while I have five minutes to spare.

A hectic first year and moving to a new house has meant many of my previous QL projects have been put on the back burner.

I am still slowly ploughing through my updated CHAR program, but it is slow, I am now in the process of trying to remember why or how I was doing things (software wise) just a year ago! Anyway another couple of months and I will be back up to speed, hopefully.

However in the process of QL'ing I managed to give myself another game writing project, which I haven't started yet as this then gave me the inspiration for another project not yet seen properly in the QL community. I cannot talk details here yet but, the project is too big for me alone so I will be enlisting the help of another, but not yet. Suffice to say it will benefit most if not all of the QL community, at least those who are still interested and it just may be possible to get younger or new people interest too.

My second project I can talk about and that is revisiting and updating to a suitable clean format some QL documents ready for release through iTunes, this again is to engage and get younger or new people interested in the retro feel of programming based around the QL. I am nearly there with the first batch of books/e-books to be published.

My third new project (these are not in any particular order) is mainly hardware based, I think I have seen a gap in the market for this setup and its not going to make me rich but again I am looking to get more people into the QL through emulation. This project may just interest a few. I intend selling the hardware through SellMyRetro and eBay to gain the widest possible buyers base. Time will tell as they say. I have left one clue as to the hardware project in the QUANTA magazine he hee. I hope to have at least one of these hardware devices ready for the AGM later in the year for sale.





Tuesday, 3 June 2014

Currently working on

Amongst the plethora of projects I flick between, including the QUANTA magazine, the QL software preservation etc. I am trying to reboot my programming skills and looking at my older programs for improvements. This is such one project

Char II, the followup to Char (in the QUANTA library and now PD).

Char II hopefully will be a better implementation of Char, although not a demand for such software I suppose, the result might be useful for some.

Screen shot


Friday, 31 January 2014

Well this morning in the QL-Users list I had an email from Marcel Kilgus

"QPC2 v4 FULL version
To celebrate the birth of my daughter, here is finally the full release of QPC2 v4 for all to download and enjoy. It comes with a complete sample "hard disc" file that contains some sample applications and demos."

You can reach the site here http://www.kilgus.net/qpc/downloads.html 

QPC2 has always stated it is the next generation to the BBQL QDOS.

Great news at one level for everyone, sad news is that it means there is unlikely to be any further development of QPC2.

http://www.youtube.com/watch?v=vCSVMW7d4OI


Monday, 20 January 2014

QPC2 v4

For those who didn't get it on the last QL Today disc, shame on you :)

Here is the list of EXTRA commands it has, as generated by my program Extras_BAS, as published in one of last years QUANTA magazines.

A
--------------------
ABS
ACOS
ACOT
ADATE
AJOB
ALARM
ALCHP
ALLOCATION
ALTKEY
ARC
ARC_R
ASIN
AT
ATAN
AUTO

B
--------------------
BASIC_ADR
BASIC_B%
BASIC_F
BASIC_INDEX%
BASIC_L
BASIC_NAME$
BASIC_POINTER
BASIC_TYPE%
BASIC_W%
BAUD
BEEP
BEEPING
BGCOLOUR_24
BGCOLOUR_QL
BGET
BGIMAGE
BIN
BIN$
BLOCK
BORDER
BPUT
BT_EXEC
BT_HOTKEY
BT_SLEEP
BT_WAKE

C
--------------------
CACHE_OFF
CACHE_ON
CALL
CATNAP
CD_ALLTIME
CD_CLOSE
CD_EJECT
CD_FIRSTTRACK
CD_HOUR
CD_HSG2RED
CD_INIT
CD_ISCLOSED
CD_ISINSERTED
CD_ISPAUSED
CD_ISPLAYING
CD_LASTTRACK
CD_LENGTH
CD_MINUTE
CD_PLAY
CD_RED2HSG
CD_RESUME
CD_SECOND
CD_STOP
CD_TRACK
CD_TRACKLENGTH
CD_TRACKSTART
CD_TRACKTIME
CDEC$
CHANNEL_ID
CHAR_DEF
CHAR_INC
CHAR_USE
CHARGE
CHK_HEAP
CHR$
CIRCLE
CIRCLE_R
CKEYOFF
CKEYON
CLCHP
CLEAR
CLOCK
CLOSE
CLS
CODE
COLOUR_24
COLOUR_NATIVE
COLOUR_PAL
COLOUR_QL
COMMAND_LINE
COMPILED
CONNECT
CONTINUE
COPY
COPY_H
COPY_N
COPY_O
COS
COT
CSIZE
CURDIS
CURSEN
CURSOR
CURSOR_OFF
CURSOR_ON
CURSPRLOAD
CURSPROFF
CURSPRON

D
--------------------
DATA_AREA
DATA_USE
DATAD$
DATASPACE
DATE
DATE$
DAY$
DAY%
DDOWN
DEALLOCATE
DEBUG
DEBUG_LEVEL
DEFAULT_DEVICE
DEG
DEL_DEFB
DELETE
DEST_USE
DESTD$
DEV_LIST
DEV_NEXT
DEV_USE
DEV_USE$
DEV_USEN
DEVICE_SPACE
DEVICE_STATUS
DEVTYPE
DIMN
DIR
DISP_BLANK
DISP_COLOUR
DISP_INVERSE
DISP_RATE
DISP_SIZE
DISP_TYPE
DLINE
DLIST
DMEDIUM_DENSITY
DMEDIUM_DRIVE$
DMEDIUM_FORMAT
DMEDIUM_FREE
DMEDIUM_NAME$
DMEDIUM_RDONLY
DMEDIUM_REMOVE
DMEDIUM_TOTAL
DMEDIUM_TYPE
DNEXT
DO
DOS_DRIVE
DOS_DRIVE$
DOS_USE
DUP

E
--------------------
ED
EDIT
EDIT$
EDIT%
EDITF
ELLIPSE
ELLIPSE_R
END_CMD
END_WHEN
EOF
EOFW
EPROM_LOAD
ERLIN
ERLIN%
ERNUM
ERNUM%
ERR_BL
ERR_BN
ERR_BO
ERR_BP
ERR_DF
ERR_EF
ERR_EX
ERR_FE
ERR_FF
ERR_IU
ERR_NC
ERR_NF
ERR_NI
ERR_NJ
ERR_NO
ERR_OM
ERR_OR
ERR_OV
ERR_RO
ERR_TE
ERR_XP
ERT
ET
EW
EX
EX_M
EXEC
EXEC_W
EXECUTE
EXECUTE_A
EXECUTE_W
EXEP
EXF
EXP
EXTERNAL
EXTRAS

F
--------------------
FBKDT
FDAT
FDEC$
FEP
FET
FEW
FEX
FEXP$
FILL
FILL$
FLASH
FLEN
FLOAT$
FLP_DENSITY
FLP_DRIVE
FLP_DRIVE$
FLP_SEC
FLP_START
FLP_STEP
FLP_TRACK
FLP_USE
FLUSH
FMAKE_DIR
FNAME$
FOP_DIR
FOP_IN
FOP_NEW
FOP_OVER
FOPEN
FORMAT
FPOS
FREE_MEM
FREE_MEMORY
FTEST
FTYP
FUPDT
FVERS
FWINDOW%
FXTRA

G
--------------------
GET
GET$
GET%
GET_MSEC
GETF
GetHEAD
GLOBAL
GMINFO

H
--------------------
HEX
HEX$
HGET
HOME_CSET
HOME_CURR$
HOME_DEF
HOME_DIR$
HOME_FILE$
HOME_SET
HOME_VER$
HOT_CHP
HOT_CHP1
HOT_CMD
HOT_DO
HOT_GETSTUFF$
HOT_GO
HOT_KEY
HOT_LIST
HOT_LOAD
HOT_LOAD1
HOT_NAME$
HOT_OFF
HOT_PICK
HOT_REMV
HOT_RES
HOT_RES1
HOT_SET
HOT_STOP
HOT_STUFF
HOT_THING
HOT_THING1
HOT_TYPE
HOT_WAKE
HPUT

I
--------------------
IDEC$
IMPLICIT$
IMPLICIT%
IMPLICITB
IMPLICITC
IMPLICITD
IMPLICITF
IMPLICITL
IMPLICITV
INK
INKEY$
INPUT
INPUT$
INSTR_CASE
INT
INTEGER$
IO_PRIORITY

J
--------------------
JOB$
JOB_NAME
JOBID
JOBS

K
--------------------
KBD_TABLE
KEYROW

L
--------------------
LANG_USE
LANGUAGE
LANGUAGE$
LBYTES
LEN
LGET
LINE
LINE_R
LINK_LOAD
LINK_LOAD_A
LINK_LOAD_W
LIST
LIST_TASKS
LN
LOAD
LOG10
LONGINTEGER
LONGINTEGER$
LPUT
LRESPR
LRUN

M
--------------------
MACHINE
MAKE_DIR
MANIFEST
MERGE
MODE
MONTH%
MOUSE_SPEED
MOUSE_STUFF
MOVE
MOVE_MEMORY
MRUN

N
--------------------
NET
NEW
NXJOB

O
--------------------
OJOB
OPEN
OPEN_DIR
OPEN_IN
OPEN_NEW
OPEN_OVER
OPTION_CMD$
OUTLN
OVER

P
--------------------
PALETTE_8
PALETTE_QL
PAN
PAPER
PAR_ABORT
PAR_BUFF
PAR_CLEAR
PAR_DEFAULTPRINT
PAR_GETFILTER
PAR_GETPRINTER$
PAR_PRINTERCOUNT
PAR_PRINTERNAME$
PAR_PULSE
PAR_SETFILTER
PAR_SETPRINTER
PAR_USE
PAR_WAIT
PARNAM$
PARSTR$
PARTYP
PARUSE
PAUSE
PC_FREEMEM
PE_BGOFF
PE_BGON
PEEK
PEEK$
PEEK_F
PEEK_L
PEEK_W
PEEKS
PEEKS$
PEEKS_F
PEEKS_L
PEEKS_W
PENDOWN
PENUP
PI
PJOB
POINT
POINT_R
POKE
POKE$
POKE_F
POKE_L
POKE_W
POKES
POKES$
POKES_F
POKES_L
POKES_W
POSITION
PRINT
PRINT_USING
PROCESSOR
PROG_USE
PROGD$
PROT_DATE
PROT_MEM
PRT_ABORT
PRT_BUFF
PRT_CLEAR
PRT_USE
PRT_USE$
PUT
PUT_MSEC

Q
--------------------
QLOAD
QLRUN
QMERGE
QMRUN
QPC_CMDLINE$
QPC_EXEC
QPC_EXIT
QPC_HOSTOS
QPC_MAXIMIZE
QPC_MINIMIZE
QPC_MSPEED
QPC_NETNAME$
QPC_QLSCREMU
QPC_RESTORE
QPC_SYNCSCRAP
QPC_VER$
QPC_WINDOWSIZE
QPC_WINDOWTITLE
QSAVE
QSAVE_O
QUIT

R
--------------------
RAD
RAM_USE
RANDOMISE
READ
RECHP
RECOL
REFERENCE
RELEASE_TASK
REMOVE_TASK
RENAME
RENUM
REPORT
RESET
RESPR
RETRY
RETRY_HERE
RJOB
RND
RUN

S
--------------------
SAVE
SAVE_O
SBASIC
SBYTES
SBYTES_O
SCALE
SCR_BASE
SCR_LLEN
SCR_XLIM
SCR_YLIM
SCROLL
SDATE
SEARCH_MEMORY
SEND_EVENT
SER_ABORT
SER_BUFF
SER_CDEOF
SER_CLEAR
SER_FLOW
SER_GETPORT$
SER_PAUSE
SER_ROOM
SER_SETPORT
SER_USE
SET_CHANNEL
SET_FBKDT
SET_FONT
SET_FUPDT
SET_FVERS
SET_POSITION
SET_PRIORITY
SEXEC
SEXEC_O
SetHEAD
SIN
SLUG
SNOOZE
SP_GET
SP_GETCOUNT
SP_JOBOWNPAL
SP_JOBPAL
SP_RESET
SP_SET
SPJOB
SPL
SPL_USE
SPLF
SQRT
STAT
STOP
STRING$
STRING%
STRINGF
STRIP
SUSPEND_TASK
SYS_VARS
SYSSPRLOAD

T
--------------------
TAN
TH_FIX
THROW_AWAY
TK_VER$
TK2_EXT
TRA
TRUNCATE
TURBO_buffersz
TURBO_DUMMY$
TURBO_DUMMY%
TURBO_DUMMYF
TURBO_DUMMYP
TURBO_diags
TURBO_F
TURBO_locstr
TURBO_model
TURBO_objdat
TURBO_objfil
TURBO_optim
TURBO_P
TURBO_repfil
TURBO_struct
TURBO_taskn
TURBO_V
TURBO_windo
TURN
TURNTO
TYPE_IN

U
--------------------
UNDER
UPUT

V
--------------------
VER$
VIEW

W
--------------------
WAIT_EVENT
WCOPY
WDEL
WDIR
WEEKDAY%
WGET
WHEN_ERROR
WIDTH
WIN_DRIVE
WIN_DRIVE$
WIN_FORMAT
WIN_REMV
WIN_SLUG
WIN_START
WIN_STOP
WIN_USE
WIN_WP
WINDOW
WM_BLOCK
WM_BORDER
WM_INK
WM_MOVEALPHA
WM_MOVEMODE
WM_PAPER
WM_STRIP
WMON
WPUT
WREN
WSTAT
WTV

Y
--------------------
YEAR%

Saturday, 25 February 2012

Y VIVA ESPAÑA


There is a Spanish QL game which can be downloaded from:
http://programandala.net/es.programa.as ... castigo.ql
 it is in Spanish obviously and I thought I would try converting it without having any knowledge of the Spanish language and using the web to do the job for me. I tried a sample of the programme and run it through a variety of websites Babel Fish, Yahoo etc. before settling on Google translate, the result is shown below. Unfortunately some Spanish words are used as English words and won't convert and will need a search and replace method such as Narrate and Print. Some REM statements get reversed and some meanings get lost in translation, see below and you will understand. Other than that it looks a doable project, I may do this in time for the AGM.



sample original


  490 rem --------------------------------------------
  500 rem Argumento
  510 rem Plot
  520 defproc plot
  530   rem Comprueba las condiciones de la trama.
  540   rem Check the plot conditions.
  550   if current_location=8 and location_exit(8,north)
  560     let location_exit(8,north)=false
  570     let saxons_follow=1
  580     narrate "Una partida sajona aparece por el este. Para cuando te vuelves al norte, ya no te queda ninguna duda: era una trampa."
  590     short_pause
  600     narrate "En el estrecho paso es posible resistir, aunque por desgracia sus efectivos son muy superiores a los tuyos."
  610     end_of_scene:clear_screen
  620     narrate "Tus oficiales te conminan a huir."
  630     speak "Capturando a un general britano, ganan doblemente."
  640     narrate "Sabes que es cierto, y te duele."
  650     ret
  660   endif
  670   if saxons_follow and current_location<12
  680     let saxons_follow=saxons_follow+1
  690     narrate "No sabes cu·nto tiempo te queda..."
  700     if saxons_follow>10 
  710       narrate "Los sajones te capturan. Su general, sonriendo ampliamente, dice:"
  720       speak "Bien, bien... Del gran Ulfius podremos sacar una buena ventaja."
  730       end_of_scene:clear_screen
  740       action_end
  750     endif
  760     if current_location<10 
  770       narrate "Tus hombres luchan con denuedo contra los sajones."
  780     endif
  790     ret
  800   endif


conversion


-------------------------------------------- 490 rem
   500 rem Argument
   Plot 510 rem
   520 defproc plot
   530 rem Check the condition of the weft.
   540 rem Check the plot conditions.
   550 if current_location = 8 and location_exit (8, north)
   Let location_exit 560 (8, north) = false
   570 saxons_follow let = 1
   580 narrate "A game Saxon appears in the east. By the time you turn north, you no longer can be no doubt: it was a trap."
   590 short_pause
   600 narrate "In the narrow passage is possible to resist, but unfortunately their numbers are much higher than yours."
   610 end_of_scene: clear_screen
   620 narrate "Your official enjoin you to flee."
   630 speak "Capturing a general Briton, winning twice."
   640 narrate "You know it's true, and it hurts."
   650 ret
   660 endif
   670 if saxons_follow and current_location <12
   Let saxons_follow 680 +1 = saxons_follow
   690 narrate "Do you know · cu much time you have left ..."
   If saxons_follow 700> 10
   710 narrate "The Saxons captured you. His general, smiling widely, said:"
   720 speak "Well, well ... From the great Ulfius we can get a good lead."
   730 end_of_scene: clear_screen
   740 action_end
   750 endif
   760 if current_location <10
   770 narrate "Your men fight bravely against the Saxons."
   780 endif
   790 ret
   800 endif